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

Reply via email to