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

Reply via email to