Search in sources :

Example 6 with MTree

use of org.compiere.model.MTree in project adempiere by adempiere.

the class WebProjectDeploy method doIt.

//	prepare
/**
	 * 	Process
	 *	@return info
	 *	@throws Exception
	 */
protected String doIt() throws Exception {
    org.compiere.cm.CacheHandler thisHandler = new org.compiere.cm.CacheHandler(org.compiere.cm.CacheHandler.convertJNPURLToCacheURL(getCtx().getProperty("java.naming.provider.url")), log, getCtx(), get_TrxName());
    log.info("CM_WebProject_ID=" + p_CM_WebProject_ID);
    m_project = new MWebProject(getCtx(), p_CM_WebProject_ID, get_TrxName());
    if (m_project.get_ID() != p_CM_WebProject_ID)
        throw new AdempiereUserError("@NotFound@ @CM_WebProject_ID@ " + p_CM_WebProject_ID);
    //	Deploy Media
    MMedia[] media = MMedia.getMedia(m_project);
    MMediaServer[] mserver = MMediaServer.getMediaServer(m_project);
    for (int i = 0; i < mserver.length; i++) mserver[i].deploy(media);
    //	Stage
    MCStage[] stages = MCStage.getStages(m_project);
    for (int i = 0; i < stages.length; i++) m_map.put(new Integer(stages[i].getCM_CStage_ID()), stages[i]);
    //	Copy Stage Tree
    MTree treeS = new MTree(getCtx(), m_project.getAD_TreeCMS_ID(), false, false, get_TrxName());
    MTreeNode root = treeS.getRoot();
    copyStage(root, "/");
    //	Delete Inactive Containers
    MContainer[] containers = MContainer.getContainers(m_project);
    for (int i = 0; i < containers.length; i++) {
        MContainer container = containers[i];
        if (!m_idList.contains(new Integer(container.getCM_Container_ID()))) {
            String name = container.getName();
            if (container.delete(true))
                log.fine("Deleted: " + name);
            else //	e.g. was referenced
            {
                log.warning("Failed Delete: " + name);
                addLog(0, null, null, "@Error@ @Delete@: " + name);
            }
        }
        // Remove Container from cache
        thisHandler.cleanContainer(container.get_ID());
    }
    //	Delete Inactive
    //	Sync Stage & Container Tree
    MTree_NodeCMS[] nodesCMS = MTree_NodeCMS.getTree(getCtx(), m_project.getAD_TreeCMS_ID(), get_TrxName());
    MTree_NodeCMC[] nodesCMC = MTree_NodeCMC.getTree(getCtx(), m_project.getAD_TreeCMC_ID(), get_TrxName());
    for (int s = 0; s < nodesCMS.length; s++) {
        MTree_NodeCMS nodeCMS = nodesCMS[s];
        int Node_ID = nodeCMS.getNode_ID();
        for (int c = 0; c < nodesCMC.length; c++) {
            MTree_NodeCMC nodeCMC = nodesCMC[c];
            if (nodeCMC.getNode_ID() == Node_ID) {
                //if (nodeCMS.getParent_ID()!=0) 
                nodeCMC.setParent_ID(nodeCMS.getParent_ID());
                nodeCMC.setSeqNo(nodeCMS.getSeqNo());
                nodeCMC.saveEx();
                break;
            }
        }
    }
    //	for all stage nodes
    // Clean ContainerTree Cache
    thisHandler.cleanContainerTree(p_CM_WebProject_ID);
    return "@Copied@ @CM_Container_ID@ #" + m_idList.size();
}
Also used : MTree_NodeCMS(org.compiere.model.MTree_NodeCMS) MTreeNode(org.compiere.model.MTreeNode) AdempiereUserError(org.compiere.util.AdempiereUserError) MMedia(org.compiere.model.MMedia) MWebProject(org.compiere.model.MWebProject) MTree(org.compiere.model.MTree) MTree_NodeCMC(org.compiere.model.MTree_NodeCMC) MCStage(org.compiere.model.MCStage) MMediaServer(org.compiere.model.MMediaServer) MContainer(org.compiere.model.MContainer)

Example 7 with MTree

use of org.compiere.model.MTree in project adempiere by adempiere.

the class VTreePanel method initTree.

/**
	 *  Tree initialization.
	 * 	May be called several times
	 *	@param	AD_Tree_ID	tree to load
	 *  @return true if loaded ok
	 */
public boolean initTree(int AD_Tree_ID, String whereClause) {
    log.config("AD_Tree_ID=" + AD_Tree_ID);
    //
    m_AD_Tree_ID = AD_Tree_ID;
    //	Yamel Senih [ 9223372036854775807 ]
    //	Add Where Clause
    //  Get Tree
    //		MTree vTree = new MTree (Env.getCtx(), AD_Tree_ID, m_editable, true, null);
    MTree vTree = new MTree(Env.getCtx(), AD_Tree_ID, m_editable, true, null);
    //	End Yamel Senih
    m_root = vTree.getRoot();
    // translate name of menu.
    m_root.setName(Msg.getMsg(Env.getCtx(), vTree.getName()));
    // m_root.setName(Msg.getMsg(Env.getCtx(), "Menu") ); // @Trifon; this is the hardcoded way.
    log.config("root=" + m_root);
    m_nodeTableName = vTree.getNodeTableName();
    treeModel = new AdempiereTreeModel(m_root, true);
    treeModel.setMTree(vTree);
    tree.setModel(treeModel);
    //  Shortcut Bar
    if (m_hasBar) {
        for (JToolBar jt : toolbar) jt.removeAll();
        toolbarMap = new HashMap<Integer, JToolBar>();
        Enumeration<?> enTop = m_root.children();
        JToolBar jt = null;
        Map<JToolBar, String> titleMap = new HashMap<JToolBar, String>();
        while (enTop.hasMoreElements()) {
            MTreeNode ndTop = (MTreeNode) enTop.nextElement();
            Enumeration<?> en = ndTop.preorderEnumeration();
            boolean labelDrawn = false;
            while (en.hasMoreElements()) {
                MTreeNode nd = (MTreeNode) en.nextElement();
                if (nd.isOnBar()) {
                    if (!labelDrawn) {
                        jt = new JToolBar(JToolBar.VERTICAL);
                        titleMap.put(jt, ndTop.toString().trim());
                        labelDrawn = true;
                        toolbarMap.put(ndTop.getNode_ID(), jt);
                    }
                    addToBar(nd, jt, false);
                }
            }
            if (jt != null)
                toolbar.add(jt);
            jt = null;
        }
        //jbInit();
        for (JToolBar jt2 : toolbar) {
            jt2.setOpaque(false);
            //jt2.setLayout(new GridBagLayout());
            jt2.setFloatable(false);
            jt2.setRollover(true);
            jt2.setBorder(BorderFactory.createEmptyBorder());
            JXTaskPane barPart = new JXTaskPane();
            //Begin - [FR 1953769]
            barPart.setUI(new AdempiereTaskPaneUI());
            barPart.getContentPane().setBackground(AdempierePLAF.getFormBackground());
            //End - [FR 1953769]
            barPart.setAnimated(true);
            barPart.setLayout(new BorderLayout());
            barPart.add(jt2, BorderLayout.NORTH);
            barPart.setTitle(titleMap.get(jt2));
            bar.add(barPart);
            //Begin - [FR 1953769]
            bar.setBackground(AdempierePLAF.getFormBackground());
        //End - [FR 1953769]
        }
    }
    return true;
}
Also used : MTreeNode(org.compiere.model.MTreeNode) AdempiereTaskPaneUI(org.adempiere.plaf.AdempiereTaskPaneUI) HashMap(java.util.HashMap) JToolBar(javax.swing.JToolBar) MTree(org.compiere.model.MTree) BorderLayout(java.awt.BorderLayout) JXTaskPane(org.jdesktop.swingx.JXTaskPane)

Example 8 with MTree

use of org.compiere.model.MTree in project adempiere by adempiere.

the class MenuPanel method init.

private void init() {
    ctx = Env.getCtx();
    int adRoleId = Env.getAD_Role_ID(ctx);
    int adTreeId = getTreeId(ctx, adRoleId);
    MTree mTree = new MTree(ctx, adTreeId, false, true, null);
    MTreeNode rootNode = mTree.getRoot();
    initComponents();
    initMenu(rootNode);
    pnlSearch.initialise();
}
Also used : MTreeNode(org.compiere.model.MTreeNode) MTree(org.compiere.model.MTree)

Example 9 with MTree

use of org.compiere.model.MTree in project adempiere by adempiere.

the class ASPGenerateLevel method doIt.

//	prepare
/**
	 * 	Process
	 *	@return info
	 *	@throws Exception
	 */
protected String doIt() throws Exception {
    log.info("ASP_Status=" + p_ASP_Status + ", AD_Menu_ID=" + p_AD_Menu_ID + ", IsGenerateFields=" + p_IsGenerateFields);
    MClientInfo clientInfo = MClientInfo.get(getCtx(), getAD_Client_ID(), get_TrxName());
    int AD_Tree_ID = clientInfo.getAD_Tree_Menu_ID();
    //	Yamel Senih [ 9223372036854775807 ]
    //	Change Constructor
    MTree thisTree = new MTree(getCtx(), AD_Tree_ID, true, true, true, null, get_TrxName());
    //	End Yamel Senih
    MTreeNode node;
    if (p_AD_Menu_ID > 0)
        node = thisTree.getRoot().findNode(p_AD_Menu_ID);
    else
        node = thisTree.getRoot();
    // Navigate the menu and add every non-summary node
    if (node != null && node.isSummary()) {
        Enumeration<?> en = node.preorderEnumeration();
        while (en.hasMoreElements()) {
            MTreeNode nn = (MTreeNode) en.nextElement();
            if (!nn.isSummary())
                addNodeToLevel(nn);
        }
    }
    if (noWindows > 0)
        addLog("Window " + noWindows);
    if (noTabs > 0)
        addLog("Tab " + noTabs);
    if (noFields > 0)
        addLog("Field " + noFields);
    if (noProcesses > 0)
        addLog("Process " + noProcesses);
    if (noParameters > 0)
        addLog("Process Parameter " + noParameters);
    if (noForms > 0)
        addLog("Form " + noForms);
    if (noBrowses > 0)
        addLog("noBrowses " + noBrowses);
    if (noTasks > 0)
        addLog("Task " + noTasks);
    if (noWorkflows > 0)
        addLog("Workflow " + noWorkflows);
    return "@OK@";
}
Also used : MTreeNode(org.compiere.model.MTreeNode) MClientInfo(org.compiere.model.MClientInfo) MTree(org.compiere.model.MTree)

Example 10 with MTree

use of org.compiere.model.MTree in project adempiere by adempiere.

the class ADServiceImpl method getADMenu.

public ADMenuDocument getADMenu(int AD_Role_ID) throws XFireFault {
    authenticate(webServiceName, "getADMenu");
    ADMenuDocument res = ADMenuDocument.Factory.newInstance();
    ADMenuItem menu = res.addNewADMenu();
    menu.setName("Menu");
    menu.setType("Summary");
    AD_Role_ID = Integer.parseInt(m_cs.getM_ctx().getProperty("#AD_Role_ID"));
    //  Load Menu Structure     ----------------------
    int AD_Tree_ID = DB.getSQLValue(null, "SELECT COALESCE(r.AD_Tree_Menu_ID, ci.AD_Tree_Menu_ID)" + "FROM AD_ClientInfo ci" + " INNER JOIN AD_Role r ON (ci.AD_Client_ID=r.AD_Client_ID) " + "WHERE AD_Role_ID=?", AD_Role_ID);
    if (AD_Tree_ID <= 0)
        //	Menu
        AD_Tree_ID = 10;
    //log.fine("doPost - AD_Tree_ID=" + AD_Tree_ID + " - " + Env.getAD_Language(wsc.ctx));
    // Language set in WLogin
    MTree tree = new MTree(m_cs.getM_ctx(), AD_Tree_ID, false, false, null);
    //	Trim tree
    MTreeNode root = tree.getRoot();
    Enumeration en = root.preorderEnumeration();
    // menu.addNewItems();
    ADMenuItemList itl = null;
    //, it_last = null;
    ADMenuItem it = menu;
    Stack stack = new Stack();
    while (en.hasMoreElements()) {
        MTreeNode nd = (MTreeNode) en.nextElement();
        if (nd.isTask() || nd.isWorkbench() || nd.isWorkFlow() || //	Reset Cache - kills the server
        nd.getNode_ID() == 383) {
            MTreeNode parent = (MTreeNode) nd.getParent();
            parent.remove(nd);
        }
    }
    tree.trimTree();
    //	Print tree
    StringBuffer buf = new StringBuffer();
    StringBuffer barbuf = new StringBuffer();
    en = root.preorderEnumeration();
    int oldLevel = 0;
    while (en.hasMoreElements()) {
        MTreeNode nd = (MTreeNode) en.nextElement();
        //  Level
        //	0 == root
        int level = nd.getLevel();
        if (level == 0)
            continue;
        //
        while (oldLevel < level) {
            if (itl != null)
                stack.push(itl);
            itl = it.addNewItems();
            oldLevel++;
        }
        while (oldLevel > level) {
            oldLevel--;
            itl = (ADMenuItemList) stack.pop();
        }
        //	Print Node
        ADMenuItem it_last = printNode(nd, m_cs.getM_ctx(), itl);
        if (nd.isSummary())
            it = it_last;
    //if(nd.isOnBar() && !nd.isSummary())
    //barbuf.append(printNode(nd, m_cs.getM_ctx() ));
    }
    return res;
}
Also used : MTreeNode(org.compiere.model.MTreeNode) ADMenuItemList(pl.x3E.adInterface.ADMenuItemList) Enumeration(java.util.Enumeration) ADMenuDocument(pl.x3E.adInterface.ADMenuDocument) ADMenuItem(pl.x3E.adInterface.ADMenuItem) MTree(org.compiere.model.MTree) Stack(java.util.Stack)

Aggregations

MTree (org.compiere.model.MTree)13 MTreeNode (org.compiere.model.MTreeNode)9 Enumeration (java.util.Enumeration)3 org.apache.ecs.xhtml.a (org.apache.ecs.xhtml.a)2 org.apache.ecs.xhtml.body (org.apache.ecs.xhtml.body)2 org.apache.ecs.xhtml.head (org.apache.ecs.xhtml.head)2 org.apache.ecs.xhtml.link (org.apache.ecs.xhtml.link)2 KeyNamePair (org.compiere.util.KeyNamePair)2 BorderLayout (java.awt.BorderLayout)1 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 ResultSetMetaData (java.sql.ResultSetMetaData)1 HashMap (java.util.HashMap)1 Stack (java.util.Stack)1 DefaultListModel (javax.swing.DefaultListModel)1 JToolBar (javax.swing.JToolBar)1 AdempiereTaskPaneUI (org.adempiere.plaf.AdempiereTaskPaneUI)1 Button (org.adempiere.webui.component.Button)1 SimpleListModel (org.adempiere.webui.component.SimpleListModel)1 Element (org.apache.ecs.Element)1