Author: indika
Date: Mon Feb 23 06:24:17 2009
New Revision: 746897
URL: http://svn.apache.org/viewvc?rev=746897&view=rev
Log:
minor improvements
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ResourceMap.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMustUnderstandHandler.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractMediator.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/ClassMediator.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/POJOCommandMediator.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/SwitchMediator.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
Mon Feb 23 06:24:17 2009
@@ -50,7 +50,7 @@
private static final Log log = LogFactory.getLog(ServerManager.class);
/** The singleton server manager instance */
- private static ServerManager instance = new ServerManager();
+ private final static ServerManager instance = new ServerManager();
/** The Axis2 repository location */
private String axis2Repolocation;
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java
Mon Feb 23 06:24:17 2009
@@ -30,7 +30,7 @@
public class AsyncCallback implements AxisCallback {
/** The corresponding Synapse outgoing message context this instance is
holding onto */
- MessageContext synapseOutMsgCtx = null;
+ private MessageContext synapseOutMsgCtx = null;
/** Time to timeout this callback */
private long timeOutOn;
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
Mon Feb 23 06:24:17 2009
@@ -34,13 +34,10 @@
import org.apache.synapse.Mediator;
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseConstants;
-import org.apache.synapse.audit.AuditConfiguration;
import org.apache.synapse.config.Entry;
import org.apache.synapse.config.SynapseConfiguration;
-import org.apache.synapse.config.xml.XMLConfigConstants;
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.endpoints.Endpoint;
-import org.apache.synapse.mediators.MediatorFaultHandler;
import java.util.*;
@@ -57,16 +54,16 @@
private SynapseEnvironment synEnv = null;
/** Synapse Message Context properties */
- private Map<String, Object> properties = new HashMap<String, Object>();
+ private final Map<String, Object> properties = new HashMap<String,
Object>();
/**
* Local entries fetched from the configuration or from the registry for
the transactional
* resource access
*/
- private Map<String, Object> localEntries = new HashMap<String, Object>();
+ private final Map<String, Object> localEntries = new HashMap<String,
Object>();
/** Fault Handler stack which will be popped and called the handleFault in
error states */
- private Stack<FaultHandler> faultStack = new Stack<FaultHandler>();
+ private final Stack<FaultHandler> faultStack = new Stack<FaultHandler>();
/** The Axis2 MessageContext reference */
private org.apache.axis2.context.MessageContext axis2MessageContext = null;
@@ -104,7 +101,7 @@
}
public void setContextEntries(Map<String, Object> entries) {
- this.localEntries = entries;
+ this.localEntries.putAll(entries);
}
public Mediator getMainSequence() {
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
Mon Feb 23 06:24:17 2009
@@ -133,7 +133,7 @@
/**
* A list of any service parameters (e.g. JMS parameters etc)
*/
- private Map<String, Object> parameters = new HashMap<String, Object>();
+ private final Map<String, Object> parameters = new HashMap<String,
Object>();
/**
* The key for the base WSDL
*/
@@ -159,7 +159,7 @@
/**
* The keys for any supplied policies that would apply at the service level
*/
- private List<String> serviceLevelPolicies = new ArrayList<String>();
+ private final List<String> serviceLevelPolicies = new ArrayList<String>();
/**
* The keys for any supplied policies that would apply at the in message
level
*/
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ResourceMap.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ResourceMap.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ResourceMap.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ResourceMap.java
Mon Feb 23 06:24:17 2009
@@ -75,7 +75,7 @@
* @return an <code>InputSource</code> object for the referenced resource
*/
public InputSource resolve(SynapseConfiguration synCfg, String location) {
- String key = (String)resources.get(location);
+ String key = resources.get(location);
if (key == null) {
if (log.isDebugEnabled()) {
log.debug("No resource mapping is defined for location '" +
location + "'");
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
Mon Feb 23 06:24:17 2009
@@ -59,7 +59,7 @@
private static final Log log =
LogFactory.getLog(SynapseCallbackReceiver.class);
/** This is the synchronized callbackStore that maps outgoing messageID's
to callback objects */
- private Map<String, AxisCallback> callbackStore; // will made thread safe
in the constructor
+ private final Map<String, AxisCallback> callbackStore; // will made
thread safe in the constructor
/**
* Create the *single* instance of this class that would be used by all
anonymous services
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMustUnderstandHandler.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMustUnderstandHandler.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMustUnderstandHandler.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMustUnderstandHandler.java
Mon Feb 23 06:24:17 2009
@@ -41,7 +41,7 @@
if (envelope.getHeader() != null) {
Iterator headerBlocks =
envelope.getHeader().getHeadersToProcess(null);
- ArrayList markedHeaderBlocks = new ArrayList();
+ ArrayList<SOAPHeaderBlock> markedHeaderBlocks = new
ArrayList<SOAPHeaderBlock>();
while (headerBlocks.hasNext()) {
SOAPHeaderBlock headerBlock = (SOAPHeaderBlock)
headerBlocks.next();
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java
Mon Feb 23 06:24:17 2009
@@ -42,8 +42,8 @@
private static final String ALREADY_INITED = "synapseAlreadyInited";
public void init() throws ServletException {
- ServletConfig servletConfig = getServletConfig();
- ServletContext servletContext = servletConfig.getServletContext();
+ ServletConfig servletConfig = getServletConfig();
+ ServletContext servletContext = servletConfig.getServletContext();
if (Boolean.TRUE.equals(servletContext.getAttribute(ALREADY_INITED))) {
return;
}
@@ -57,20 +57,24 @@
if (webinfPath == null || !webinfPath.endsWith("WEB-INF")) {
handleException("Unable to determine web application root
directory");
} else {
- synHome = webinfPath.substring(0, webinfPath.length()-7);
+ synHome = webinfPath.substring(0, webinfPath.length() - 7);
log.info("Setting synapse.home to : " + synHome);
}
}
serverManager.setSynapseHome(synHome);
-
- serverManager.setSynapseXMLPath(loadParameter(servletConfig,
SynapseConstants.SYNAPSE_XML, true));
+
+ serverManager.setSynapseXMLPath(loadParameter(servletConfig,
+ SynapseConstants.SYNAPSE_XML, true));
String resolveRoot = loadParameter(servletConfig,
SynapseConstants.RESOLVE_ROOT, false);
if (resolveRoot != null) {
serverManager.setResolveRoot(resolveRoot);
}
- serverManager.setAxis2Repolocation(loadParameter(servletConfig,
org.apache.axis2.Constants.AXIS2_REPO, true));
- serverManager.setAxis2Xml(loadParameter(servletConfig,
org.apache.axis2.Constants.AXIS2_CONF, true));
- serverManager.setServerName(loadParameter(servletConfig,
SynapseConstants.SERVER_NAME, false));
+ serverManager.setAxis2Repolocation(loadParameter(servletConfig,
+ org.apache.axis2.Constants.AXIS2_REPO, true));
+ serverManager.setAxis2Xml(loadParameter(servletConfig,
+ org.apache.axis2.Constants.AXIS2_CONF, true));
+ serverManager.setServerName(loadParameter(servletConfig,
+ SynapseConstants.SERVER_NAME, false));
serverManager.start();
servletContext.setAttribute(ALREADY_INITED, Boolean.TRUE);
@@ -96,7 +100,7 @@
}
private String loadParameter(ServletConfig servletConfig, String name,
boolean required)
- throws ServletException {
+ throws ServletException {
if (System.getProperty(name) == null) {
@@ -104,7 +108,8 @@
log.debug("Init parameter '" + name + "' : " + value);
if ((value == null || value.trim().length() == 0) && required) {
- handleException("A valid system property or init parameter '"
+ name + "' is required");
+ handleException("A valid system property or init parameter '" +
+ name + "' is required");
} else {
return value;
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java
Mon Feb 23 06:24:17 2009
@@ -49,19 +49,17 @@
private static final Log log = LogFactory.getLog(TimeoutHandler.class);
/** The callback map - already a Collections.synchronized() hash map */
- private Map callbackStore = null;
+ private final Map callbackStore;
/** a lock to prevent concurrent execution while ensuring least overhead */
- private Object lock = new Object();
+ private final Object lock = new Object();
private boolean alreadyExecuting = false;
- /**
- * this is the timeout for otherwise non-expiring callbacks
- * to ensure system stability over time
- */
+ /*This is the timeout for otherwise non-expiring callbacks to ensure
system stability over time */
private long globalTimeout = SynapseConstants.DEFAULT_GLOBAL_TIMEOUT;
+ private static final String SEND_TIMEOUT_MESSAGE = "Send timeout";
public TimeoutHandler(Map callbacks) {
this.callbackStore = callbacks;
- globalTimeout = ServerManager.getInstance().getGlobalTimeoutInterval();
+ this.globalTimeout =
ServerManager.getInstance().getGlobalTimeoutInterval();
log.info("This engine will expire all callbacks after : " +
(globalTimeout /1000) +
" seconds, irrespective of the timeout action, after the specified
or optional timeout");
}
@@ -97,13 +95,16 @@
if (callbackStore.size() > 0) {
long currentTime = currentTime();
- Iterator i = callbackStore.keySet().iterator();
- while (i.hasNext()) {
+ for (Object key : callbackStore.keySet()) {
- Object key = i.next();
AsyncCallback callback = (AsyncCallback)
callbackStore.get(key);
-
+ if (callback == null) {
+ if (log.isDebugEnabled()) {
+ log.debug("There is no callback for key :" + key);
+ }
+ continue;
+ }
if (callback.getTimeOutAction() != SynapseConstants.NONE) {
if (callback.getTimeOutOn() <= currentTime) {
@@ -116,8 +117,10 @@
// add an error code to the message context,
so that error sequences
// can identify the cause of error
-
msgContext.setProperty(SynapseConstants.ERROR_CODE,
SynapseConstants.HANDLER_TIME_OUT);
-
msgContext.setProperty(SynapseConstants.ERROR_MESSAGE, "Send timeout");
+
msgContext.setProperty(SynapseConstants.ERROR_CODE,
+ SynapseConstants.HANDLER_TIME_OUT);
+
msgContext.setProperty(SynapseConstants.ERROR_MESSAGE,
+ SEND_TIMEOUT_MESSAGE);
Stack faultStack = msgContext.getFaultStack();
@@ -133,7 +136,7 @@
} else if (currentTime > globalTimeout +
callback.getTimeOutOn()) {
log.warn("Expiring message ID : " + key + "; dropping
message after " +
- "global timeout of : " + (globalTimeout/1000) + "
seconds");
+ "global timeout of : " + (globalTimeout /
1000) + " seconds");
callbackStore.remove(key);
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractMediator.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractMediator.java
Mon Feb 23 06:24:17 2009
@@ -47,7 +47,8 @@
*/
protected int traceState = SynapseConstants.TRACING_UNSET;
- private final AuditConfigurable auditConfigurable = new
AuditConfiguration(SynapseConstants.ANONYMOUS_SEQUENCE);
+ private final AuditConfigurable auditConfigurable = new AuditConfiguration(
+ SynapseConstants.ANONYMOUS_SEQUENCE);
/**
* A constructor that makes subclasses pick up the correct logger
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
Mon Feb 23 06:24:17 2009
@@ -70,7 +70,7 @@
/**
* A Map containing features to be passed to the actual validator (Xerces)
*/
- private List<MediatorProperty> explicityFeatures = new
ArrayList<MediatorProperty>();
+ private final List<MediatorProperty> explicityFeatures = new
ArrayList<MediatorProperty>();
/**
* This is the actual schema instance used to create a new schema
@@ -86,7 +86,8 @@
/**
* The SchemaFactory used to create new schema instances.
*/
- private SchemaFactory factory =
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+ private final SchemaFactory factory = SchemaFactory.newInstance(
+ XMLConstants.W3C_XML_SCHEMA_NS_URI);
public boolean mediate(MessageContext synCtx) {
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java
Mon Feb 23 06:24:17 2009
@@ -43,7 +43,7 @@
public abstract class AbstractDBMediator extends AbstractMediator implements
ManagedLifecycle {
/** Hold JDBC properties */
- protected Map dataSourceProps = new HashMap();
+ protected final Map dataSourceProps = new HashMap();
/** The DataSource to get DB connections */
private DataSource dataSource = null;
/**
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/ClassMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/ClassMediator.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/ClassMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/ClassMediator.java
Mon Feb 23 06:24:17 2009
@@ -46,7 +46,7 @@
/** The reference to the actual class that implments the Mediator
interface */
private Mediator mediator = null;
/** A list of simple properties that would be set on the class before
being used */
- private Map<String, Object> properties = new HashMap<String, Object>();
+ private final Map<String, Object> properties = new HashMap<String,
Object>();
/**
* Don't use a new instance... do one instance of the object per
instance of
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/POJOCommandMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/POJOCommandMediator.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/POJOCommandMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/POJOCommandMediator.java
Mon Feb 23 06:24:17 2009
@@ -55,31 +55,31 @@
* 'static' properties whose values are constant and does not depend
* on the current message (i.e. and XPath over it)
*/
- private Map<String, Object> staticSetterProperties = new HashMap<String,
Object>();
+ private final Map<String, Object> staticSetterProperties = new
HashMap<String, Object>();
/**
* 'dynamic' properties whose values are dynamically evaluated before each
* invocation of the command, by evaluating an XPath against the current
message
*/
- private Map<String, SynapseXPath> messageSetterProperties = new
HashMap<String, SynapseXPath>();
+ private final Map<String, SynapseXPath> messageSetterProperties = new
HashMap<String, SynapseXPath>();
/**
* 'dynamic' properties whose values are dynamically evaluated before each
* invocation of the command, by getting a property from the message
context
*/
- private Map<String, String> contextSetterProperties = new HashMap<String,
String>();
+ private final Map<String, String> contextSetterProperties = new
HashMap<String, String>();
/**
* 'context' properties whose values are set back to the message context
as message
* context properties
*/
- private Map<String, String> contextGetterProperties = new HashMap<String,
String>();
+ private final Map<String, String> contextGetterProperties = new
HashMap<String, String>();
/**
* 'messsage' properties whose values are set back to the current message,
from the command
* and as specified by the XPATH
*/
- private Map<String, SynapseXPath> messageGetterProperties = new
HashMap<String, SynapseXPath>();
+ private final Map<String, SynapseXPath> messageGetterProperties = new
HashMap<String, SynapseXPath>();
/**
* Implements the mediate method of the Mediator interface. This method
will instantiate
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/SwitchMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/SwitchMediator.java?rev=746897&r1=746896&r2=746897&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/SwitchMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/SwitchMediator.java
Mon Feb 23 06:24:17 2009
@@ -43,7 +43,7 @@
/** The XPath expression specifying the source element to apply the switch
case expressions against */
private SynapseXPath source = null;
/** The list of switch cases */
- private List<SwitchCase> cases = new ArrayList<SwitchCase>();
+ private final List<SwitchCase> cases = new ArrayList<SwitchCase>();
/** The default switch case, if any */
private SwitchCase defaultCase = null;