You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by he...@apache.org on 2011/06/17 06:38:06 UTC

svn commit: r1136760 - in /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: config/xml/MultiXMLConfigurationBuilder.java deployers/TemplateDeployer.java

Author: heshan
Date: Fri Jun 17 04:38:06 2011
New Revision: 1136760

URL: http://svn.apache.org/viewvc?rev=1136760&view=rev
Log:
Applying the fix for SYNAPSE-769
Thanks Udayanga for the contribution.

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java?rev=1136760&r1=1136759&r2=1136760&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java Fri Jun 17 04:38:06 2011
@@ -309,7 +309,7 @@ public class MultiXMLConfigurationBuilde
                         if (endpointTemplate != null) {
                             endpointTemplate.setFileName(file.getName());
                             synapseConfig.getArtifactDeploymentStore().addArtifact(
-                                    file.getAbsolutePath(), endpointTemplate.getFileName());
+                                    file.getAbsolutePath(), endpointTemplate.getName());
                         }
                         return;
                     }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java?rev=1136760&r1=1136759&r2=1136760&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TemplateDeployer.java Fri Jun 17 04:38:06 2011
@@ -25,6 +25,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.Mediator;
 import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.SynapseException;
 import org.apache.synapse.config.xml.MediatorFactoryFinder;
 import org.apache.synapse.config.xml.MultiXMLConfigurationBuilder;
 import org.apache.synapse.config.xml.TemplateMediatorSerializer;
@@ -56,9 +57,9 @@ public class TemplateDeployer extends Ab
 
                 Template tm = templateFactory.createEndpointTemplate(artifactConfig, properties);
 
-                tm.setName(new File(fileName).getName());
+                tm.setFileName(new File(fileName).getName());
                 if (log.isDebugEnabled()) {
-                    log.debug("Sequence Template named '" + tm.getName()
+                    log.debug("Endpoint Template named '" + tm.getName()
                             + "' has been built from the file " + fileName);
                 }
 
@@ -66,7 +67,7 @@ public class TemplateDeployer extends Ab
                 if (log.isDebugEnabled()) {
                     log.debug("Template Deployment from file : " + fileName + " : Completed");
                 }
-                log.info("Template named '" + tm.getName()
+                log.info("Endpoint Template named '" + tm.getName()
                         + "' has been deployed from file : " + fileName);
 
                 return tm.getName();
@@ -127,9 +128,9 @@ public class TemplateDeployer extends Ab
 
                 Template tm = templateFactory.createEndpointTemplate(artifactConfig, properties);
 
-                tm.setName(new File(fileName).getName());
+                tm.setFileName(new File(fileName).getName());
                 if (log.isDebugEnabled()) {
-                    log.debug("Sequence Template named '" + tm.getName()
+                    log.debug("Endpoint Template named '" + tm.getName()
                             + "' has been built from the file " + fileName);
                 }
 
@@ -201,7 +202,23 @@ public class TemplateDeployer extends Ab
         }
 
         try {
-            Template st = getSynapseConfiguration().getEndpointTemplate(artifactName);
+            Template st = null;
+            try {
+                st = getSynapseConfiguration().getEndpointTemplate(artifactName);
+            } catch (SynapseException e) {
+                //could not locate an endpoint template for this particular un-delpoyment. This name refers
+                //probably to a sequence tempalte. Thus if  throws a Synapse exception with following message
+                //catch n log that and continue this process for undeployment of a sequence template
+                if (e.getMessage().indexOf("Cannot locate an either local or remote enrty for key") != -1) {
+                    if (log.isDebugEnabled()) {
+                        log.debug("Undeploying template is not of endpoint type. Undeployer will now check " +
+                                  "for sequence template for the key: " + artifactName);
+                    }
+                } else {
+                    //different error hence stop undeployment/report failure
+                    throw e;
+                }
+            }
             if (st != null) {
                 getSynapseConfiguration().removeEndpointTemplate(artifactName);
                 if (log.isDebugEnabled()) {
@@ -224,7 +241,7 @@ public class TemplateDeployer extends Ab
                         log.debug("Template Undeployment of the template named : "
                                 + artifactName + " : Completed");
                     }
-                    log.info("Template named '" + st.getName() + "' has been undeployed");
+                    log.info("Template named '" + tm.getName() + "' has been undeployed");
                 } else {
                     log.debug("Template task " + artifactName + " has already been undeployed");
                 }