Author: hiranya
Date: Fri Feb 19 06:05:18 2010
New Revision: 911705
URL: http://svn.apache.org/viewvc?rev=911705&view=rev
Log:
Making service group configurable for proxy services. (SYNAPSE-610)
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java?rev=911705&r1=911704&r2=911705&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java
Fri Feb 19 06:05:18 2010
@@ -142,6 +142,12 @@
proxy.setStartOnLoad(true);
}
+ OMAttribute serviceGroup = elem.getAttribute(
+ new QName(XMLConfigConstants.NULL_NAMESPACE, "serviceGroup"));
+ if (serviceGroup != null) {
+ proxy.setServiceGroup(serviceGroup.getAttributeValue());
+ }
+
// setting the description of the proxy service
OMElement descriptionElement = elem.getFirstChildWithName(
new QName(XMLConfigConstants.SYNAPSE_NAMESPACE,
"description"));
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java?rev=911705&r1=911704&r2=911705&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java
Fri Feb 19 06:05:18 2010
@@ -72,6 +72,11 @@
proxy.addAttribute(fac.createOMAttribute("transports", nullNS,
transportStr));
}
+ if (service.getServiceGroup() != null) {
+ proxy.addAttribute(fac.createOMAttribute(
+ "serviceGroup", nullNS, service.getServiceGroup()));
+ }
+
List pinnedServers = service.getPinnedServers();
if (pinnedServers != null && !pinnedServers.isEmpty()) {
String pinnedServersStr = "" + pinnedServers.get(0);
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=911705&r1=911704&r2=911705&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
Fri Feb 19 06:05:18 2010
@@ -208,6 +208,8 @@
private String fileName;
+ private String serviceGroup;
+
/**
* Constructor
*
@@ -542,8 +544,25 @@
try {
proxyService.addParameter(
SynapseConstants.SERVICE_TYPE_PARAM_NAME,
SynapseConstants.PROXY_SERVICE_TYPE);
- auditInfo("Adding service " + name + " to the Axis2
configuration");
- axisCfg.addService(proxyService);
+ if (serviceGroup == null) {
+ auditInfo("Adding service " + name + " to the Axis2
configuration");
+ axisCfg.addService(proxyService);
+ } else {
+ auditInfo("Adding service " + name + " to the service group "
+ serviceGroup);
+ AxisServiceGroup proxyServiceGroup =
axisCfg.getServiceGroup(serviceGroup);
+ if (proxyServiceGroup == null) {
+ // If the specified group does not exist we should create
it
+ proxyServiceGroup = new AxisServiceGroup();
+ proxyServiceGroup.setServiceGroupName(serviceGroup);
+ proxyServiceGroup.setParent(axisCfg);
+ // Add the service to the new group and add the group the
AxisConfiguration
+ proxyServiceGroup.addService(proxyService);
+ axisCfg.addServiceGroup(proxyServiceGroup);
+ } else {
+ // Simply add the service to the existing group
+ proxyServiceGroup.addService(proxyService);
+ }
+ }
this.setRunning(true);
} catch (AxisFault axisFault) {
try {
@@ -968,6 +987,14 @@
this.fileName = fileName;
}
+ public String getServiceGroup() {
+ return serviceGroup;
+ }
+
+ public void setServiceGroup(String serviceGroup) {
+ this.serviceGroup = serviceGroup;
+ }
+
@Override
public String toString() {
StringBuffer sb = new StringBuffer();