[Carbon-dev] svn commit r43046 - branches/carbon-platform/2.0.1/carbon-components/bpel/org.wso2.carbon.bpel.ode.integration/src/main/java/org/wso2/carbon/bpel/ode/integration/management

milinda at wso2.com milinda at wso2.com
Mon Aug 10 22:03:23 PDT 2009


Author: milinda
Date: Mon Aug 10 22:03:22 2009
New Revision: 43046
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=43046

Log:
BPELPackageManagementService partial implementation.


Modified:
   branches/carbon-platform/2.0.1/carbon-components/bpel/org.wso2.carbon.bpel.ode.integration/src/main/java/org/wso2/carbon/bpel/ode/integration/management/BPELPackageManagementServiceSkeleton.java

Modified: branches/carbon-platform/2.0.1/carbon-components/bpel/org.wso2.carbon.bpel.ode.integration/src/main/java/org/wso2/carbon/bpel/ode/integration/management/BPELPackageManagementServiceSkeleton.java
URL: http://wso2.org/svn/browse/wso2/branches/carbon-platform/2.0.1/carbon-components/bpel/org.wso2.carbon.bpel.ode.integration/src/main/java/org/wso2/carbon/bpel/ode/integration/management/BPELPackageManagementServiceSkeleton.java?rev=43046&r1=43045&r2=43046&view=diff
==============================================================================
--- branches/carbon-platform/2.0.1/carbon-components/bpel/org.wso2.carbon.bpel.ode.integration/src/main/java/org/wso2/carbon/bpel/ode/integration/management/BPELPackageManagementServiceSkeleton.java	(original)
+++ branches/carbon-platform/2.0.1/carbon-components/bpel/org.wso2.carbon.bpel.ode.integration/src/main/java/org/wso2/carbon/bpel/ode/integration/management/BPELPackageManagementServiceSkeleton.java	Mon Aug 10 22:03:22 2009
@@ -18,44 +18,118 @@
 
 import org.wso2.carbon.registry.core.Registry;
 import org.wso2.carbon.bpel.ode.integration.store.RegistryBasedProcessStoreImpl;
+import org.wso2.carbon.bpel.ode.integration.management.types.UndeployStatus_type0;
+import org.wso2.carbon.utils.WSO2Constants;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.Parameter;
+import org.apache.ode.bpel.engine.BpelServerImpl;
+import org.apache.ode.bpel.iapi.ProcessStore;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
+import org.apache.commons.lang.StringUtils;
+
+import java.net.URL;
+import java.io.File;
 
 public class BPELPackageManagementServiceSkeleton {
 
+    private static Log log = LogFactory.getLog(BPELPackageManagementServiceSkeleton.class);
+
     private static String BPEL_PACKAGE_ARCHIVE_BASE_PATH = "/wso2/bps/bpel/archives/";
 
+    private static String BPEL_REPO_NAME = "bpel";
+
     /* Registry instance use to store bpel package information including bpel archive.*/
     private Registry embeddedRegistry;
 
     /* BPEL local repository location */
-    String bpelRepoLocation;
+    File bpelRepo;
 
     /* BPEL Process store instance */
     RegistryBasedProcessStoreImpl processStore;
 
 
     public org.wso2.carbon.bpel.ode.integration.management.types.RedeployStatus_type0 redeployBPELPackage(java.lang.String _package) {
+        loadRuntime();
         throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName() + "#redeployBPELPackage");
     }
 
 
-    public org.wso2.carbon.bpel.ode.integration.management.types.UndeployStatus_type0 undeployBPELPackage(java.lang.String _package1) {
-        throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName() + "#undeployBPELPackage");
+    public org.wso2.carbon.bpel.ode.integration.management.types.UndeployStatus_type0 undeployBPELPackage(java.lang.String packageName) {
+        loadRuntime();
+        if(!isValidPackageName(packageName)){
+            throw new BPELPackageManagementException("Invalid bundle name, only non empty alpha-numerics and _ strings are allowed");
+        }
+
+        
+
+        return UndeployStatus_type0.FAILED;
     }
 
 
     public org.wso2.carbon.bpel.ode.integration.management.types.DeployedPackagesPaginated listDeployedPackagesPaginated(int page) {
+        loadRuntime();
         throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName() + "#listDeployedPackagesPaginated");
     }
 
     public org.wso2.carbon.bpel.ode.integration.management.types.DeleteStatus_type0 deleteBPELPackage(java.lang.String _package4) {
+        loadRuntime();
         throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName() + "#deleteBPELPackage");
     }
 
     public org.wso2.carbon.bpel.ode.integration.management.types.ProcessesInPackage listProcessesInPackage(java.lang.String _package6) {
+        loadRuntime();
         throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName() + "#listProcessesInPackage");
     }
 
     private void loadRuntime(){
-        
+        AxisConfiguration axisconfig = MessageContext.getCurrentMessageContext().getConfigurationContext().getAxisConfiguration();
+        Parameter paramProcessStore = axisconfig.getParameter("BPEL_PROCESS_STORE");
+        embeddedRegistry = (Registry)axisconfig.getParameterValue(WSO2Constants.REGISTRY_INSTANCE);
+        if(embeddedRegistry == null){
+            String msg = "Failed to get embedded registry instance from axisconfig.";
+            log.error(msg);
+            throw new BPELPackageManagementException(msg);
+        }
+        if (processStore == null) {
+            processStore = (RegistryBasedProcessStoreImpl) paramProcessStore.getValue();
+        }
+
+        if (processStore == null) {
+            String msg = "Failed to get BPEL process store from axisconfig.";
+            log.error(msg);
+            throw new BPELPackageManagementException(msg);
+        }
+
+        URL repo = axisconfig.getRepository();
+        String axisRepo = repo.getFile();
+        bpelRepo = new File(axisRepo, BPEL_REPO_NAME);
+
+        if(!bpelRepo.exists()){
+            String msg = "BPEL Repo doesn't exist.";
+            log.error(msg);
+            throw new BPELPackageManagementException(msg);
+        }
+
+    }
+
+    public static boolean  isValidPackageName(String packageName){
+        if(StringUtils.isBlank(packageName)) {return false;}
+        return packageName.matches("[\\p{L}0-9_\\-]*");
+    }
+
+    class BPELPackageManagementException extends RuntimeException{
+        public BPELPackageManagementException() {
+            super();
+        }
+
+        public BPELPackageManagementException(String message) {
+            super(message);
+        }
+
+        public BPELPackageManagementException(String message, Throwable cause) {
+            super(message, cause);
+        }
     }
 }



More information about the Carbon-dev mailing list