Как поместить Oracle OutsideIn Java API в GUI - PullRequest
0 голосов
/ 24 января 2020

Я хотел бы поместить Oracle OutsideIn Java Viewer API (https://docs.oracle.com/outsidein/851/oit/OIJVD/index.html) в правую часть моего Java swing GUI. Есть идеи, как я мог это сделать? Пожалуйста, смотрите мой код приложения ниже.

Спасибо за помощь заранее.

package SB_Admin;

import java.awt.EventQueue;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JToolBar;
import java.awt.BorderLayout;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.JTabbedPane;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.HashMap;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.DefaultMutableTreeNode;
import java.lang.*;

//import src.SBJ_Objects.*;

public class SB_Administrator {

    /*
     *  This is the root of the objects created or fetched.
     */
//  SB_Session sess = null;
//  SB_Context ctx = null;

    /*
     *  We are performing an administration service (-looks like a Navigator, but rooted in 
     *      the Schema and object store for administration objects).)
     */
    // SB_Service adminSvc = null;

    private JFrame frame;

    /**
     * Launch the application Duh.
     */
    public static void main(String[] args) {

        /*
         *  ??? Load startup parameters from the args[] or from a file. (Load the file
         *      first and override with any command line args.
         */
        String defStartParams = "AdminStart.xml";

        /*
         *      ??? Need to create an XML parser to load attributes for constructors but we're cheating for now
         */
        String adminParams = parseXML(defStartParams);



        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    SB_Administrator window = new SB_Administrator();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    private static String parseXML(String defStartParams) {
        // We're cheating for now
        String params = "sb_ContName='com.staorbase.service.SB_AdminSvc'";
        params += ";";

        return params;
    }

    /**
     * Create the application.
     */
    public SB_Administrator() {

        /*
         * HashMap<String, Object> attrHM = new HashMap<String, Object>();
         * 
         * // let's start with the creation of a test Context
         * 
         * attrHM.clear(); attrHM.put("sb_CtxInfoSvc.sb_SvcName", "STAORbase-Homebase");
         * attrHM.put("sb_CtxIsCreds.sb_CrduAccnt","TestUser1");
         * attrHM.put("sb_CtxIsCreds.sb_CrduPswd","Testing1234");
         * 
         * try { ctx = new SB_Context(attrHM, null); } catch (Exception e) { // //
         * Complain...
         * System.out.println("??? EXCEPTIONS encountered creating the Context!");
         * e.printStackTrace(); }
         * 
         * // If we successfully created the Context, there should be a SB_Session sess
         * sess = SB_Session.SB_Sess_GetSession();
         * 
         */       // Now we can use the Session as the root to our Tree!

        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
            }
        });
        frame.setBounds(100, 100, 840, 545);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JMenuBar menuBar = new JMenuBar();
        frame.setJMenuBar(menuBar);

        JMenu mnFile = new JMenu("File");
        menuBar.add(mnFile);

        JMenuItem mntmConnect = new JMenuItem("Connect ...");
        mntmConnect.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    SB_AdmLogin sb_Login_dlg = new SB_AdmLogin();
                    sb_Login_dlg.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                    sb_Login_dlg.setVisible(true);
                } catch (Exception elogin) {
                    elogin.printStackTrace();
                }
            }
        });

        mnFile.add(mntmConnect);

        JMenuItem mntmDisconnect = new JMenuItem("Disconnect");
        mntmDisconnect.setEnabled(false);
        mnFile.add(mntmDisconnect);

        JMenu mnEdit = new JMenu("Edit");
        menuBar.add(mnEdit);

        JMenu mnView = new JMenu("View");
        menuBar.add(mnView);

        JToolBar toolBar = new JToolBar();
        frame.getContentPane().add(toolBar, BorderLayout.NORTH);

        JSplitPane splitPane = new JSplitPane();
        frame.getContentPane().add(splitPane, BorderLayout.CENTER);

        JTree tree = new JTree();
        tree.setModel(new DefaultTreeModel(
                new DefaultMutableTreeNode("Session Object") {
//                  new DefaultMutableTreeNode(sess.sb_getSessId()) {
                {
                    DefaultMutableTreeNode node_1;
                    DefaultMutableTreeNode node_2;
                    DefaultMutableTreeNode node_3;
                    DefaultMutableTreeNode node_4;
                    node_1 = new DefaultMutableTreeNode("Context:: Bob/SOFDL");
                        node_1.add(new DefaultMutableTreeNode("sb_CtxId"));
                        node_1.add(new DefaultMutableTreeNode("sb_CtxInfoSvc"));
                        node_2 = new DefaultMutableTreeNode("sb_CtxSchema");
                            node_3 = new DefaultMutableTreeNode("SB_Object");
                                node_3.add(new DefaultMutableTreeNode("sb_ObjParent"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjRefCnt"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjSISID"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjSOID"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjClass"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjAvail"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjState"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjCtx"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjIcon"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjHelp"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjUserInt"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjUserObj"));
                                node_3.add(new DefaultMutableTreeNode("sb_ObjRndrLst"));
                                node_4 = new DefaultMutableTreeNode("SB_Secure");
                                    node_4.add(new DefaultMutableTreeNode("sb_SecOwnerId"));
                                    node_4.add(new DefaultMutableTreeNode("sb_SecGroupId"));
                                    node_4.add(new DefaultMutableTreeNode("sb_SecAccCode"));
                                    node_4.add(new DefaultMutableTreeNode("sb_SecACL"));
                                    node_4.add(new DefaultMutableTreeNode("SB_Registered"));
                                node_3.add(node_4);
                            node_2.add(node_3);
                        node_1.add(node_2);
                        node_1.add(new DefaultMutableTreeNode("sb_CtxIsCreds"));
                        node_1.add(new DefaultMutableTreeNode("sb_CtxUserProfile"));
                        node_1.add(new DefaultMutableTreeNode("sb_CtxISId"));
                        node_1.add(new DefaultMutableTreeNode("sb_CtxServices"));
                        node_1.add(new DefaultMutableTreeNode("sb_CtxFlags"));
                    add(node_1);
                    node_1 = new DefaultMutableTreeNode("Context:: Mary");
                        node_1.add(new DefaultMutableTreeNode("SchemaDb"));
                        node_1.add(new DefaultMutableTreeNode("Credentials"));
                        node_1.add(new DefaultMutableTreeNode("UserProfile"));
                        node_1.add(new DefaultMutableTreeNode("Services"));
                    add(node_1);
                    node_1 = new DefaultMutableTreeNode("Context::Admin");
                        node_1.add(new DefaultMutableTreeNode("SchemaDb"));
                        node_1.add(new DefaultMutableTreeNode("Credentials"));
                        node_1.add(new DefaultMutableTreeNode("UserProfile"));
                        node_1.add(new DefaultMutableTreeNode("Services"));
                    add(node_1);
                }
            }
        ));

        // Get the root node of the tree
        DefaultMutableTreeNode rootSess = (DefaultMutableTreeNode) tree.getModel().getRoot();
        //rootSess.setUserObject(sess);     // remember the Session in it


        splitPane.setLeftComponent(tree);

        JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
        splitPane.setRightComponent(tabbedPane);
    }

}

..................... .................................................. .................................................. .................................................. ..................

...