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?

/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

Reply via email to