Search in sources :

Example 1 with MTree_NodeCMS

use of org.compiere.model.MTree_NodeCMS 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)

Aggregations

MCStage (org.compiere.model.MCStage)1 MContainer (org.compiere.model.MContainer)1 MMedia (org.compiere.model.MMedia)1 MMediaServer (org.compiere.model.MMediaServer)1 MTree (org.compiere.model.MTree)1 MTreeNode (org.compiere.model.MTreeNode)1 MTree_NodeCMC (org.compiere.model.MTree_NodeCMC)1 MTree_NodeCMS (org.compiere.model.MTree_NodeCMS)1 MWebProject (org.compiere.model.MWebProject)1 AdempiereUserError (org.compiere.util.AdempiereUserError)1