[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