On Mon, Sep 27, 2010 at 10:49 AM, Sumedha Rubasinghe <[email protected]>wrote:
> > > On Mon, Sep 27, 2010 at 1:15 AM, Milinda Pathirage <[email protected]>wrote: > >> Ran the FindBugs, no bugs were found on latest modifications. > > > Milinda, > Can there be bugs in your code that FindBugs cannot find? > Yes, there can be bugs that FindBugs can't find. :) Milinda > > /sumedha > >> >> Thanks >> Milinda >> >> >> On Mon, Sep 27, 2010 at 10:39 AM, Afkham Azeez <[email protected]> wrote: >> >>> Milinda, >>> Did you run FindBugs on the modified code before committing? >>> >>> Azeez >>> >>> >>> >>> On Mon, Sep 27, 2010 at 9:07 AM, <[email protected]> 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 >>>> [email protected] >>>> 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: **[email protected]* <[email protected]>* 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* >>> >>> >> >> >> -- >> Milinda Pathirage >> Technical Lead and Product Manager, Business Process Server - WSO2 Inc; >> http://wso2.com >> Blog: http://blog.mpathirage.com >> >> Lean Enterprise Middleware >> >> _______________________________________________ >> Carbon-dev mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >> >> > > _______________________________________________ > Carbon-dev mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > > -- Milinda Pathirage Technical Lead and Product Manager, Business Process Server - WSO2 Inc; http://wso2.com Blog: http://blog.mpathirage.com Lean Enterprise Middleware
_______________________________________________ Carbon-dev mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
