axis-java-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ru...@apache.org
Subject svn commit: r920200 - /axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
Date Mon, 08 Mar 2010 06:05:44 GMT
Author: ruwan
Date: Mon Mar  8 06:05:44 2010
New Revision: 920200

URL: http://svn.apache.org/viewvc?rev=920200&view=rev
Log:
Adding a method to the AxisConfiguration to add a service to an axisting active service group

Modified:
    axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java

Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?rev=920200&r1=920199&r2=920200&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
(original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
Mon Mar  8 06:05:44 2010
@@ -407,6 +407,70 @@
         addChild(axisServiceGroup);
     }
 
+    /**
+     * This method is used to add a service to an existing active service group in the axis
configuration
+     *
+     * @param axisService service to be added to the existing service group provided
+     * @param serviceGroupName name of the service group which should be existing in the
axis configuration
+     * @throws AxisFault in case of an error in adding the service to the group specified
or if the group is not existing
+     */
+    public void addServiceToExistingServiceGroup(AxisService axisService,
+                                                 String serviceGroupName) throws AxisFault
{
+
+        AxisServiceGroup serviceGroup = getServiceGroup(serviceGroupName);
+        if (serviceGroup == null) {
+            String message = "A ServiceGroup with the provided name "
+                    + serviceGroupName + " is not existing";
+            log.error(message);
+            throw new AxisFault(message);
+        }
+
+        if (axisService.getSchemaTargetNamespace() == null) {
+            axisService.setSchemaTargetNamespace(Java2WSDLConstants.AXIS2_XSD);
+        }
+
+        if (axisService.isUseDefaultChains()) {
+            Iterator<AxisOperation> operations = axisService.getOperations();
+            while (operations.hasNext()) {
+                AxisOperation operation = operations.next();
+                phasesinfo.setOperationPhases(operation);
+            }
+        }
+
+        Map<String, AxisEndpoint> endpoints = axisService.getEndpoints();
+        if (endpoints == null || endpoints.size() == 0) {
+			org.apache.axis2.deployment.util.Utils.addEndpointsToService(
+					axisService, axisService.getAxisConfiguration());
+            endpoints = axisService.getEndpoints();
+		}
+
+        String serviceName = axisService.getName();
+        addToAllServicesMap(axisService);
+
+        if (endpoints != null) {
+            Iterator<String> endpointNameIter = endpoints.keySet().iterator();
+            while (endpointNameIter.hasNext()) {
+                String endpointName = endpointNameIter.next();
+                if (log.isDebugEnabled()) {
+                    log.debug("Adding service to allEndpoints map: ("
+                            + serviceName + "," + endpointName + ") ");
+                }
+
+                allEndpoints.put(serviceName + "." + endpointName, axisService);
+            }
+            if (log.isDebugEnabled()) {
+                log.debug("After adding to allEndpoints map, size is "
+                        + allEndpoints.size());
+            }
+        }
+        
+        serviceGroup.addService(axisService);
+
+        if (!axisService.isClientSide()) {
+            notifyObservers(new AxisEvent(AxisEvent.SERVICE_DEPLOY, axisService), axisService);
+        }
+    }
+
     public void addToAllServicesMap(AxisService axisService) throws AxisFault {
         String serviceName = axisService.getName();
         AxisService oldService = allServices.get(serviceName);



Mime
View raw message