On Mon, Sep 27, 2010 at 11:11 AM, Sumedha Rubasinghe <[email protected]> wrote:
>
>
> On Mon, Sep 27, 2010 at 1:34 AM, Milinda Pathirage <[email protected]> wrote:
>>
>>
>> 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. :)
>
> Apart from those bugs & the bugs that FindBugs can find, can there be any
> other bugs?

Yes there are bugs. But they are not in the code :)

Thanks,
Supun..

> /sumedha
>
>>
>> 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/
>>>>> email: [email protected] cell: +94 77 3320919
>>>>> blog: http://blog.afkham.org
>>>>> twitter: 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
>>
>
>
> _______________________________________________
> Carbon-dev mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>



-- 
Supun Kamburugamuva
Technical Lead
WSO2 Inc.;  http://wso2.org
E-mail: [email protected];  Mobile: +94 77 431 3585
Blog: http://supunk.blogspot.com

_______________________________________________
Carbon-dev mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to