Milinda, Did you run FindBugs on the modified code before committing? Azeez
On Mon, Sep 27, 2010 at 9:07 AM, <mili...@wso2.com> wrote: > Author: milinda > Date: Sun Sep 26 20:37:43 2010 > New Revision: 74208 > URL: http://wso2.org/svn/browse/wso2?view=rev&revision=74208 > > Log: > Some minor refactorings to TenantProcesStoreImpl > > Modified: > > trunk/carbon/components/bpel/org.wso2.carbon.bpel/src/main/java/org/wso2/carbon/bpel/ode/integration/store/TenantProcessStoreImpl.java > > Modified: > trunk/carbon/components/bpel/org.wso2.carbon.bpel/src/main/java/org/wso2/carbon/bpel/ode/integration/store/TenantProcessStoreImpl.java > URL: > http://wso2.org/svn/browse/wso2/trunk/carbon/components/bpel/org.wso2.carbon.bpel/src/main/java/org/wso2/carbon/bpel/ode/integration/store/TenantProcessStoreImpl.java?rev=74208&r1=74207&r2=74208&view=diff > > ============================================================================== > --- > trunk/carbon/components/bpel/org.wso2.carbon.bpel/src/main/java/org/wso2/carbon/bpel/ode/integration/store/TenantProcessStoreImpl.java > (original) > +++ > trunk/carbon/components/bpel/org.wso2.carbon.bpel/src/main/java/org/wso2/carbon/bpel/ode/integration/store/TenantProcessStoreImpl.java > Sun Sep 26 20:37:43 2010 > @@ -114,39 +114,30 @@ > > parentProcessStore.getLocalProcessStoreRootDirectory(), > deploymentUnit, > versionForThisDeployment); > + boolean isExistingPackage = > repository.isExistingBPELPackage(deploymentContext); > > - if (repository.isExistingBPELPackage(deploymentContext)) { > + if (isExistingPackage) { > if (repository.isBPELPackageReload(deploymentContext)) { > - BPELPackageInfo bpelPackage = > repository.getBPELPackageInfo(deploymentContext); > - for (String packageName : > bpelPackage.getAvailableVersions()) { > - loadExistingBPELPackage(packageName); > - } > - return; // Once we finish reloading exit from this > deployment > + reloadAllVersionsOfBPELPackage(deploymentContext); > + return; // Once we finish reloading exit from the normal > flow. > } // Else this is a update of existing BPEL package > } > > try { > Utils.extractBPELArchive(deploymentContext); > } catch (Exception e) { > - String logMessage = "Error extracting BPEL archive " + > deploymentUnit + "."; > - deploymentContext.setDeploymentFailureCause(logMessage); > - > repository.handleBPELPackageDeploymentError(deploymentContext); > - log.error(logMessage, e); > - return; > + onBPELArchiveExtractionError(deploymentContext, e); > + return; // Exist from the normal flow on extration error. > } > > if > (!validateBPELPackage(deploymentContext.getBpelPackageLocationInFileSystem())) > { > - String logMessage = "BPEL Package format issue. Cannot find > deploy.xml in BPEL archive " > - + deploymentContext.getArchiveName() + "."; > - deploymentContext.setDeploymentFailureCause(logMessage); > - > repository.handleBPELPackageDeploymentError(deploymentContext); > - log.error(logMessage); > - return; > + onBPELPackageValidationError(deploymentContext); > + return; // Exist from the normal flow on BPEL package > validation error. > } > > deployBPELPackageInODE(deploymentContext); > > - if (repository.isExistingBPELPackage(deploymentContext)) { > + if (isExistingPackage) { > repository.handleBPELPackageUpdate(deploymentContext); > } else { > repository.handleNewBPELPackageAddition(deploymentContext); > @@ -154,6 +145,127 @@ > > } > > + public void undeploy(String bpelPackageName) { > + parentProcessStore.preBPELPackageUndeployment(bpelPackageName); > + > + String locationInRegistry = Constants.REG_PATH_OF_BPEL_PACKAGES + > "/" + bpelPackageName; > + try { > + if (tenantConfigRegistry.resourceExists(locationInRegistry)) { > + tenantConfigRegistry.delete(locationInRegistry); > + } else { > + log.warn("BPEL Package " + bpelPackageName + " does not > exist in the registry."); > + } > + } catch (RegistryException e) { > + //String logMessage = "" > + log.error("Error occurred while removing BPEL package " + > bpelPackageName > + + " from registry."); > + } > + > + Collection<QName> undeployed = Collections.emptyList(); > + > + DeploymentUnitDir du = deploymentUnits.remove(bpelPackageName); > + if (du != null) { > + long version = du.getVersion(); > + for (QName name : du.getProcessNames()) { > + undeployed.add(Utils.toPid(name, version)); > + } > + } > + > + parentProcessStore.postBPELPackageUndeployment(tenantId, > bpelPackageName, undeployed); > + > + } > + > + public void dehydrate() { > + } > + > + public void hydrate() { > + } > + > + public ProcessConf getProcessConfiguration(QName pid) { > + return processes.get(pid); > + } > + > + public void setState(QName pid, ProcessState processState) { > + if (!processes.containsKey(pid)) { > + String errMsg = "Process " + pid + " not found."; > + log.error(errMsg); > + throw new ContextException(errMsg); > + } > + > + if (processState == null) { > + String errMessage = "Process State cannot be null."; > + log.error(errMessage); > + throw new ContextException(errMessage); > + } > + > + parentProcessStore.setState(pid, processState); > + } > + > + public ConfigurationContext getTenantConfigContext() { > + return tenantConfigContext; > + } > + > + public Integer getTenantId() { > + return tenantId; > + } > + > + public Map<QName, ProcessConfigurationImpl> getProcesses() { > + return processes; > + } > + > + public List<QName> getProcessesInPackage(String packageName) { > + return processesInDeploymentUnit.get(packageName); > + } > + > + /** > + * Log and store the information to registry on BPEL archive > extraction error. > + * @param deploymentContext information about current deployment > + * @param e exception thrown by extraction utility > + * @throws RegistryException on error accessing registry for > persisting information. > + */ > + private void onBPELArchiveExtractionError(BPELDeploymentContext > deploymentContext, Exception e) > + throws RegistryException { > + String logMessage = "Error extracting BPEL archive " + > deploymentContext.getBpelArchive() > + + "."; > + deploymentContext.setDeploymentFailureCause(logMessage); > + repository.handleBPELPackageDeploymentError(deploymentContext); > + log.error(logMessage, e); > + } > + > + /** > + * Log and store the information to registry on BPEL package > validation error. > + * @param deploymentContext information about current deployment > + * @throws RegistryException on error accessing registry for > persisting information. > + */ > + private void onBPELPackageValidationError(BPELDeploymentContext > deploymentContext) > + throws RegistryException { > + String logMessage = "BPEL Package format issue. Cannot find > deploy.xml in BPEL archive " > + + deploymentContext.getArchiveName() + "."; > + deploymentContext.setDeploymentFailureCause(logMessage); > + repository.handleBPELPackageDeploymentError(deploymentContext); > + log.error(logMessage); > + } > + > + /** > + * Reload old versions of BPEL package. This is used to handle restart > of BPEL server. > + * At restart based on the last modifed time of the BPEL archives > we'll reload all the versions > + * of that BPEL archive. > + * @param deploymentContext information about current deployment > + * @throws RegistryException on error loading resources from registry. > + */ > + private void reloadAllVersionsOfBPELPackage(BPELDeploymentContext > deploymentContext) > + throws RegistryException { > + BPELPackageInfo bpelPackage = > repository.getBPELPackageInfo(deploymentContext); > + for (String packageName : bpelPackage.getAvailableVersions()) { > + loadExistingBPELPackage(packageName); > + } > + } > + > + /** > + * Deploy BPEL package in ODE and add process configuration objects to > necessary maps in process > + * store. > + * @param deploymentData information about current deployment > + */ > private void deployBPELPackageInODE(BPELDeploymentContext > deploymentData) { > File bpelPackage = new > File(deploymentData.getBpelPackageLocationInFileSystem()); > log.info("Strating deployment of processes from directory " > @@ -344,6 +456,8 @@ > * there's already version 2 than regexp > * "AbsenceRequest([-\\.](\d)+)?/AbsenceRequest.ode" will be matched > against > * "AbsenceRequest-2/AbsenceRequest.ode" and setRetirePackage() will be > called accordingly. > + * > + * @param du DeploymentUnitDir object containing in-memory > representation of BPEL package.Ê > */ > private void retirePreviousPackageVersions(DeploymentUnitDir du) { > //retire all the other versions of the same DU > @@ -378,94 +492,4 @@ > } > > > - /** > - * Return Registry resource if it exists and null if doesn't. > - * > - * @param bpelArchiveResourceLocation Location of the BPEL archive > resource in registry > - * @return Resource or null > - */ > - private Resource getExistingBPELArchiveResource(String > bpelArchiveResourceLocation) { > - > - try { > - if > (tenantConfigRegistry.resourceExists(bpelArchiveResourceLocation)) { > - return > tenantConfigRegistry.get(bpelArchiveResourceLocation); > - } > - } catch (RegistryException e) { > - log.error("Error accessing registry to check for existing BPEL > archives.", e); > - } > - return null; > - } > - > - public void undeploy(String bpelPackageName) { > - parentProcessStore.preBPELPackageUndeployment(bpelPackageName); > - > - String locationInRegistry = Constants.REG_PATH_OF_BPEL_PACKAGES + > "/" + bpelPackageName; > - try { > - if (tenantConfigRegistry.resourceExists(locationInRegistry)) { > - tenantConfigRegistry.delete(locationInRegistry); > - } else { > - log.warn("BPEL Package " + bpelPackageName + " does not > exist in the registry."); > - } > - } catch (RegistryException e) { > - //String logMessage = "" > - log.error("Error occurred while removing BPEL package " + > bpelPackageName > - + " from registry."); > - } > - > - Collection<QName> undeployed = Collections.emptyList(); > - > - DeploymentUnitDir du = deploymentUnits.remove(bpelPackageName); > - if (du != null) { > - long version = du.getVersion(); > - for (QName name : du.getProcessNames()) { > - undeployed.add(Utils.toPid(name, version)); > - } > - } > - > - parentProcessStore.postBPELPackageUndeployment(tenantId, > bpelPackageName, undeployed); > - > - } > - > - public void dehydrate() { > - } > - > - public void hydrate() { > - } > - > - public ProcessConf getProcessConfiguration(QName pid) { > - return processes.get(pid); > - } > - > - public void setState(QName pid, ProcessState processState) { > - if (!processes.containsKey(pid)) { > - String errMsg = "Process " + pid + " not found."; > - log.error(errMsg); > - throw new ContextException(errMsg); > - } > - > - if (processState == null) { > - String errMessage = "Process State cannot be null."; > - log.error(errMessage); > - throw new ContextException(errMessage); > - } > - > - parentProcessStore.setState(pid, processState); > - } > - > - public ConfigurationContext getTenantConfigContext() { > - return tenantConfigContext; > - } > - > - public Integer getTenantId() { > - return tenantId; > - } > - > - public Map<QName, ProcessConfigurationImpl> getProcesses() { > - return processes; > - } > - > - public List<QName> getProcessesInPackage(String packageName) { > - return processesInDeploymentUnit.get(packageName); > - } > - > } > > > _______________________________________________ > Carbon-commits mailing list > carbon-comm...@wso2.org > https://wso2.org/cgi-bin/mailman/listinfo/carbon-commits > > -- *Afkham Azeez* Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com, * * *Member; Apache Software Foundation; **http://www.apache.org/*<http://www.apache.org/> * email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware*
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev