Search in sources :

Example 1 with MCStage

use of org.compiere.model.MCStage 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 2 with MCStage

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

the class CStageValidate method doIt.

//	prepare
/**
	 * 	Process
	 *	@return info
	 *	@throws Exception
	 */
protected String doIt() throws Exception {
    log.info("CM_CStage_ID=" + p_CM_CStage_ID);
    MCStage stage = new MCStage(getCtx(), p_CM_CStage_ID, get_TrxName());
    return stage.validate();
}
Also used : MCStage(org.compiere.model.MCStage)

Example 3 with MCStage

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

the class WebProjectDeploy method copyStage.

//	doIt
/**
	 * 	Copy Stage
	 *	@param node node 
	 *	@param path path
	 */
private void copyStage(MTreeNode node, String path) {
    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());
    Integer ID = new Integer(node.getNode_ID());
    MCStage stage = m_map.get(ID);
    //	
    int size = node.getChildCount();
    for (int i = 0; i < size; i++) {
        MTreeNode child = (MTreeNode) node.getChildAt(i);
        ID = new Integer(child.getNode_ID());
        stage = m_map.get(ID);
        if (stage == null) {
            log.warning("Not Found ID=" + ID);
            continue;
        }
        if (!stage.isActive())
            continue;
        //
        if (stage != null && stage.isModified()) {
            MContainer cc = MContainer.copy(m_project, stage, path);
            if (cc != null) {
                addLog(0, null, null, "@Copied@: " + cc.getName());
                m_idList.add(ID);
            }
            // Remove Container from cache
            thisHandler.cleanContainer(cc.get_ID());
            // Reset Modified flag...
            stage.setIsModified(false);
            stage.save(stage.get_TrxName());
        }
        if (child.isSummary())
            copyStage(child, path + stage.getRelativeURL() + "/");
    }
}
Also used : MTreeNode(org.compiere.model.MTreeNode) MCStage(org.compiere.model.MCStage) MContainer(org.compiere.model.MContainer)

Aggregations

MCStage (org.compiere.model.MCStage)3 MContainer (org.compiere.model.MContainer)2 MTreeNode (org.compiere.model.MTreeNode)2 MMedia (org.compiere.model.MMedia)1 MMediaServer (org.compiere.model.MMediaServer)1 MTree (org.compiere.model.MTree)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