AppMappingHandlerPO.java :  » Workflow-Engines » shark » org » enhydra » shark » webclient » presentation » Java Open Source

Java Open Source » Workflow Engines » shark 
shark » org » enhydra » shark » webclient » presentation » AppMappingHandlerPO.java
package org.enhydra.shark.webclient.presentation;

import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

import org.enhydra.shark.api.admin.ApplicationMappingManagerAdmin;
import org.enhydra.shark.api.internal.appmappersistence.ApplicationMap;
import org.enhydra.shark.client.utilities.SharkInterfaceWrapper;
import org.enhydra.shark.webclient.business.SharkUtils;
import org.enhydra.shark.webclient.business.XMLAppMappingBuilder;
import org.enhydra.shark.webclient.presentation.utils.NavigConsts;
import org.enhydra.shark.webclient.spec.utils.ParamConsts;
import org.w3c.dom.Node;

import com.lutris.appserver.server.httpPresentation.ClientPageRedirectException;
import com.lutris.appserver.server.httpPresentation.HttpPresentationException;

public class AppMappingHandlerPO extends BasePO {

   private static Map demoMap = new HashMap();
   
   public Node handleDefault() throws HttpPresentationException {

      return showPage();
   }

   public Node handleCreate() throws HttpPresentationException {

      String from_element = myComms.request.getParameter("from");
      String sortCriterion = myComms.request.getParameter("sortCriterion");
      String sortOrder = myComms.request.getParameter("sortAsc");
      String application = myComms.request.getParameter("application");
      String tool_agent = myComms.request.getParameter("tool_agent");
      String username = myComms.request.getParameter("username");
      String password = myComms.request.getParameter("password");
      String app_name = myComms.request.getParameter("app_name");
      String app_mode = myComms.request.getParameter("app_mode");

      if (sortCriterion == null) {
         sortCriterion = "";
      }
      String sortAsc = "true";
      if (sortOrder != null
          && (sortOrder.equalsIgnoreCase("true") || sortOrder.equalsIgnoreCase("false"))) {
         sortAsc = sortOrder;
      }
      if (SharkUtils.sharkEdition.equalsIgnoreCase("demo")) {
         if (demoMap.containsKey("create")) {
            Integer count = (Integer) demoMap.get("create");
            int i = count.intValue();
            if (i == 3) {
               throw new ClientPageRedirectException(NavigConsts.LIMIT_HANDLER);

            }
            i++;
            demoMap.put("create", new Integer(i));
         } else {
            demoMap.put("create", new Integer(1));
         }

      }
      if (application != null && tool_agent != null && app_name != null) {

         StringTokenizer st = new StringTokenizer(application, ";");

         String id = st.nextToken().trim();

         String pkgId = st.nextToken().trim();

         String pkgVer = st.nextToken().trim();

         String wpId = st.nextToken().trim();

         ApplicationMappingManagerAdmin aam = SharkInterfaceWrapper.getApplicationMappingsAdmin();
         if (aam != null) {
            ApplicationMap am = null;
            try {
               am=aam.createApplicationMap();
            } catch (Exception ex) {               
            }
            am.setPackageId(pkgId);
            am.setApplicationDefinitionId(id);
            am.setProcessDefinitionId(wpId);
            am.setPackageVersion(pkgVer);
            am.setToolAgentClassName(tool_agent);
            
            am.setUsername(username);

            am.setPassword(password);

            am.setApplicationName(app_name);

            Integer i = null;
            try {
               i = new Integer(app_mode);

            } catch (Exception e) {
               i = null;
            }
            am.setApplicationMode(i);

            try {
               aam.deleteApplicationMappingByMap(am);
               aam.saveApplicationMapping(am);

            } catch (Exception ex) {

            }

         } else {
            // aam is null
         }
         throw new ClientPageRedirectException(NavigConsts.APP_MAPPING_HANDLER
                                               + "?from=" + from_element
                                               + "&sortCriterion=" + sortCriterion
                                               + "&sortAsc=" + sortAsc);
      }
      throw new ClientPageRedirectException(NavigConsts.APPLICATION_MAPPING_HANDLER
                                            + "?from=" + from_element + "&sortCriterion="
                                            + sortCriterion + "&sortAsc=" + sortAsc);

   }

   public Node handleCancel() throws HttpPresentationException {

      String from_element = myComms.request.getParameter("from");
      String sortCriterion = myComms.request.getParameter("sortCriterion");
      String sortOrder = myComms.request.getParameter("sortAsc");

      if (sortCriterion == null) {
         sortCriterion = "";
      }
      String sortAsc = "true";
      if (sortOrder != null
          && (sortOrder.equalsIgnoreCase("true") || sortOrder.equalsIgnoreCase("false"))) {
         sortAsc = sortOrder;
      }
      throw new ClientPageRedirectException(NavigConsts.APPLICATION_MAPPING_HANDLER
                                            + "?from=" + from_element + "&sortCriterion="
                                            + sortCriterion + "&sortAsc=" + sortAsc);

   }

   protected Node showPage() throws HttpPresentationException {

      try {

         String pagingFrom = myComms.request.getParameter("from");
         String sortCriterion = myComms.request.getParameter("sortCriterion");
         String sortOrder = myComms.request.getParameter("sortAsc");
         String message = myComms.request.getParameter("message");

         if (sortCriterion == null) {
            sortCriterion = "";
         }
         String sortAsc = "true";
         if (sortOrder != null
             && (sortOrder.equalsIgnoreCase("true") || sortOrder.equalsIgnoreCase("false"))) {
            sortAsc = sortOrder;
         }

         XMLAppMappingBuilder xmlImp = new XMLAppMappingBuilder(getUsername(),
                                                                myComms.application.getConfig(),
                                                                pagingFrom,
                                                                sortCriterion,
                                                                sortAsc);
         if (message == null) {
            message = "";
         }
         
         Node resn=xmlImp.getResult(xsltParamMap);
         xsltParamMap.put("message", message);
         return resn;
      } catch (Exception ex) {
         ex.printStackTrace();
         throw new PresentationException("Can't show page", ex);
      }
   }

   public String getXSLTransformation () throws Exception {
      return getXSLTTransformation(ParamConsts.PROPERTY_PREFIX_APPMAPPING);
   }

}
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.