DevelopWorkflowTemplateServlet.java :  » Workflow-Engines » JFolder » org » jfolder » console » web » develop » workflow » template » Java Open Source

Java Open Source » Workflow Engines » JFolder 
JFolder » org » jfolder » console » web » develop » workflow » template » DevelopWorkflowTemplateServlet.java
/*
 * JFolder, Copyright 2001-2006 Gary Steinmetz
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */

package org.jfolder.console.web.develop.workflow.template;

//base classes
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

//project specific classes
import org.jfolder.common.UnexpectedSystemException;
import org.jfolder.common.tagging.ConceptTag;
import org.jfolder.common.tagging.ConceptTagCharacteristicHolder;
import org.jfolder.common.tagging.ConceptTagConstraintHolder;
import org.jfolder.common.tagging.RootConceptTagHolder;
import org.jfolder.common.utils.web.ParameterSet;
import org.jfolder.common.utils.xml.XMLHelper;
import org.jfolder.common.web.template.SubmitActionContext;
import org.jfolder.common.web.template.SubmitActionParameters;
import org.jfolder.console.base.BaseStudioFrameServlet;
import org.jfolder.console.base.ConsolePageContext;
import org.jfolder.console.base.ConsoleSession;
import org.jfolder.project.model.ProjectSystem;
import org.jfolder.security.model.UserHolder;
import org.jfolder.workflow.model.template.WorkflowTemplateTagHelper;
import org.jfolder.workflow.model.template.v1.core.StartWorkflowTemplateTag;
import org.jfolder.workflow.model.template.v1.core.StateWorkflowTemplateTag;
import org.jfolder.workflow.model.template.v1.core.StopWorkflowTemplateTag;

//other classes

public class DevelopWorkflowTemplateServlet extends BaseStudioFrameServlet {
    
    public DevelopWorkflowTemplateServlet() {
    }
    
    //protected boolean checkAccess(UserHolder inUser) {
    //    
    //    boolean outValue = false;
    //    
    //    UserAuthorizationAndAccessControl uaaac =
    //        UserHelper.getUserAuthorizationAndAccessControl();
    //    
    //    outValue = isDeveloper(uaaac, inUser);
    //    
    //    return outValue;
    //}
    
    public ConsolePageContext process(ConsoleSession inCs, UserHolder inUser,
        ParameterSet inPs, SubmitActionContext inSac) throws IOException {
        
        //try {
            ConsolePageContext outValue = null;
            
            //MiscHelper.println(
            //    "ScriptStudioFrameServlet-Action = " + inSac.getAction());
            //MiscHelper.println(
            //    "ScriptStudioFrameServlet-2Action = " + inSac.getSubAction());
            
            if (commonActions(inCs, inUser, inPs, inSac)) {
                //MiscHelper.println("common actions executed");
            }
            else if (inSac.isAction(SubmitActionParameters.DO_NOTHING)) {
            }
            else if (inSac.isAction(SubmitActionParameters.OPEN)) {
                
                inCs.setStudioFrameState(
                    BaseStudioFrameServlet.HIGH_LEVEL_MODE);
                
                String appName = inSac.getFirstParameter();
                inCs.setOpenApplication(appName);
                
                //ProjectApplicationSet was = inCs.getProjectApplicationSet();
                ProjectSystem wa = inCs.getUserProjectSystem(appName);
                //ProjectScript ws = wa.getScript();
                ////MiscHelper.println();
                //String content = ws.getContent();
                ////MiscHelper.println("CONTENT = " + content);
                //Document doc = XMLHelper.loadDocument(content);
                //RootConceptTagHolder rsth =
                //    WorkflowTemplateTagHelper.getRootConceptTagHolder(
                //        doc, null, null, ws.getName());
                //
                ////MiscHelper.println("ValueLength = "
                ////    + rsth.getConceptTagCharacteristic().getValueLength());
                ////MiscHelper.println("Frame,rsth = " + rsth);
                //inCs.setRootHolder(rsth);
                
                //MiscHelper.println("WebStudioFrame Remove following statement"
                //    + (new java.util.Date()));
                //for (int i = 0; i < 100; i++) {
                //    rsth.revalidate();
                //}
                //MiscHelper.println("WebStudioFrame Remove previous statement"
                //    + (new java.util.Date()));
            }
            else if (inSac.isAction(SubmitActionParameters.UPDATE,
                SubmitActionParameters.COORDINATES)) {
                
                //MiscHelper.println("PARAMETER1 = "
                //    + inSac.getFirstParameter());
                //MiscHelper.println("PARAMETER2 = "
                //    + inSac.getSecondParameter());
                //MiscHelper.println("PARAMETER3 = "
                //+ inSac.getThirdParameter());
                
                processDeltaCoorAction(
                    inCs.getRootHolder(), inSac.getFirstParameter(),
                    Integer.parseInt(inSac.getSecondParameter()),
                    Integer.parseInt(inSac.getThirdParameter()));
            }
            else {
                inSac.unknownAction();
            }
            
            outValue = DevelopWorkflowTemplateContext.newInstance(inCs);
            
            return outValue;
        //}
        //catch (ParserConfigurationException pce) {
        //    throw new UnexpectedSystemException(pce);
        //}
        //catch (SAXException saxe) {
        //    throw new UnexpectedSystemException(saxe);
        //}
        //catch (IOException ioe) {
        //    throw new UnexpectedSystemException(ioe);
        //}
    }
    
    private final static void processDeltaCoorAction(
        RootConceptTagHolder inRsth, String inCode, int inDeltaX,
        int inDeltaY) {
        
        ConceptTagConstraintHolder ctconh =
            WorkflowTemplateTagHelper.getNearestConceptTag(
                inRsth, inCode, new StringBuffer());
        
        ConceptTag tag = ctconh.getCharacteristicHolder().getConceptTag();
        if (tag instanceof StartWorkflowTemplateTag) {
            StartWorkflowTemplateTag startTag = (StartWorkflowTemplateTag)tag;
            startTag.setXCord((startTag.getXCord() + inDeltaX) + "");
            startTag.setYCord((startTag.getYCord() + inDeltaY) + "");
        }
        else if (tag instanceof StateWorkflowTemplateTag) {
            StateWorkflowTemplateTag stateTag = (StateWorkflowTemplateTag)tag;
            stateTag.setXCord((stateTag.getXCord() + inDeltaX) + "");
            stateTag.setYCord((stateTag.getYCord() + inDeltaY) + "");
        }
        else if (tag instanceof StopWorkflowTemplateTag) {
            StopWorkflowTemplateTag stopTag = (StopWorkflowTemplateTag)tag;
            stopTag.setXCord((stopTag.getXCord() + inDeltaX) + "");
            stopTag.setYCord((stopTag.getYCord() + inDeltaY) + "");
        }
            
    }
    protected void saveChanges(ConsoleSession inCs, UserHolder inUser,
        ParameterSet inPs, SubmitActionContext inSac) {
        
        //
        RootConceptTagHolder rcth = inCs.getRootHolder();
        String saveText = rcth.getXMLRepresentation();
        //
        String appName = inCs.getOpenApplication();
        //String webPage = inCs.getOpenWebPage();
        //
        //ProjectApplicationSet was = inCs.getProjectApplicationSet();
        //ProjectApplication wa = was.getApplication(appName);
        //ProjectScript ps = wa.getScript();
        ////ProjectWebPage wwp = wa.getWebPage(webPage);
        ////
        //ps.setContent(saveText);
        ////
        //inCs.saveProjectApplicationSet();
        throw UnexpectedSystemException.notImplemented();
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.