You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2011/09/20 19:09:03 UTC

svn commit: r1173257 - in /incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2: GFacService.java reciever/GFacMessageReciever.java util/WSConstants.java

Author: lahiru
Date: Tue Sep 20 17:09:02 2011
New Revision: 1173257

URL: http://svn.apache.org/viewvc?rev=1173257&view=rev
Log:
fixing issue https://issues.apache.org/jira/browse/AIRAVATA-115.

Modified:
    incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java
    incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java
    incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/util/WSConstants.java

Modified: incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java?rev=1173257&r1=1173256&r2=1173257&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java (original)
+++ incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java Tue Sep 20 17:09:02 2011
@@ -38,11 +38,14 @@ import org.apache.airavata.core.gfac.ser
 import org.apache.airavata.registry.api.impl.JCRRegistry;
 import org.apache.airavata.services.gfac.axis2.handlers.AmazonSecurityHandler;
 import org.apache.airavata.services.gfac.axis2.handlers.MyProxySecurityHandler;
+import org.apache.airavata.services.gfac.axis2.util.WSConstants;
+import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.Phase;
 import org.apache.axis2.engine.ServiceLifeCycle;
+import org.apache.axis2.util.Utils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -93,6 +96,15 @@ public class GFacService implements Serv
             RepositoryFactory repositoryFactory = (RepositoryFactory) c.newInstance();
             Repository repository = repositoryFactory.getRepository(map);
             Credentials credentials = new SimpleCredentials(map.get(JCR_USER), map.get(JCR_PASS).toCharArray());
+            JCRRegistry registry = new JCRRegistry(repository,credentials);
+            String localAddress = Utils.getIpAddress(context.getAxisConfiguration());
+            String port = context.getAxisConfiguration().getTransportIn("http").getReceiver().PARAM_PORT;
+            localAddress = "http://" + localAddress + ":" + port ;
+            if(context.getContextRoot().startsWith("/")){
+                localAddress =  localAddress +
+                        context.getServiceContextPath() + "/" + WSConstants.GFAC_SERVICE_NAME;
+            }
+            registry.saveGFacDescriptor(localAddress);
             context.setProperty(CONFIGURATION_CONTEXT_REGISTRY, new JCRRegistry(repository, credentials));
         } catch (Exception e) {
             log.error(e.getMessage(), e);

Modified: incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java?rev=1173257&r1=1173256&r2=1173257&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java (original)
+++ incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java Tue Sep 20 17:09:02 2011
@@ -46,6 +46,7 @@ import org.apache.airavata.core.gfac.not
 import org.apache.airavata.core.gfac.services.GenericService;
 import org.apache.airavata.services.gfac.axis2.GFacService;
 import org.apache.airavata.services.gfac.axis2.util.GFacServiceOperations;
+import org.apache.airavata.services.gfac.axis2.util.WSConstants;
 import org.apache.airavata.services.gfac.axis2.util.WSDLUtil;
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
@@ -65,7 +66,6 @@ import org.apache.axis2.util.MessageCont
 import org.apache.axis2.util.Utils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.jackrabbit.core.data.AbstractDataRecord;
 import org.xmlpull.v1.builder.XmlDocument;
 import org.xmlpull.v1.builder.XmlInfosetBuilder;
 
@@ -152,13 +152,14 @@ public class GFacMessageReciever impleme
         String topic = getTopic(messageContext);
         OMElement outputElement = null;
         try {
-            WorkflowTrackingNotification notification = new WorkflowTrackingNotification(brokerURL,topic);
-//            LoggingNotification notification = new LoggingNotification();
-            DefaultInvocationContext ct = new DefaultInvocationContext();
-            ct.setExecutionContext(new DefaultExecutionContext());
-            ct.setServiceName(serviceName);
-            ct.getExecutionContext().setRegistryService(getRegistry(context));
-            ct.getExecutionContext().addNotifiable(notification);
+            WorkflowTrackingNotification workflowNotification = new WorkflowTrackingNotification(brokerURL,topic);
+            LoggingNotification loggingNotification = new LoggingNotification();
+            DefaultInvocationContext invocationContext = new DefaultInvocationContext();
+            invocationContext.setExecutionContext(new DefaultExecutionContext());
+            invocationContext.setServiceName(serviceName);
+            invocationContext.getExecutionContext().setRegistryService(getRegistry(context));
+            invocationContext.getExecutionContext().addNotifiable(workflowNotification);
+            invocationContext.getExecutionContext().addNotifiable(loggingNotification);
 
             /*
              * read from registry and set the correct parameters
@@ -191,14 +192,14 @@ public class GFacMessageReciever impleme
                 outputParam.add(parameter.getName(), SchemaUtil.mapFromType(parameter.getType()));
             }
 
-            ct.setInput(inputParam);
-            ct.setOutput(outputParam);
+            invocationContext.setInput(inputParam);
+            invocationContext.setOutput(outputParam);
 
             if (service == null) {
                 service = new PropertyServiceFactory(GFacService.REPOSITORY_PROPERTIES).createService();
             }
             // invoke service
-            service.execute(ct);
+            service.execute(invocationContext);
 
             /*
              * Process Output
@@ -207,7 +208,7 @@ public class GFacMessageReciever impleme
             OMNamespace omNs = fac.createOMNamespace("http://ws.apache.org/axis2/xsd", "ns1");
             outputElement = fac.createOMElement("invokeResponse", omNs);
 
-            ParameterContextImpl paramContext = (ParameterContextImpl) ct
+            ParameterContextImpl paramContext = (ParameterContextImpl) invocationContext
                     .<AbstractParameter>getMessageContext("output");
             for (Iterator<String> iterator = paramContext.getNames(); iterator.hasNext(); ) {
                 String name = iterator.next();
@@ -227,7 +228,7 @@ public class GFacMessageReciever impleme
     private void processgetWSDLOperation(MessageContext messageContext) throws Exception {
         MessageContext response = null;
         EndpointReference gfacUrl = messageContext.getConfigurationContext().getListenerManager()
-                .getEPRforService("GFacService", "invoke", "http");
+                .getEPRforService(WSConstants.GFAC_SERVICE_NAME, WSConstants.GFAC_INVOKE_METHOD, WSConstants.GFAC_TRANSPORT);
         String serviceName = getOriginalServiceName(messageContext);
         String serviceEpr = gfacUrl.getAddress().split("GFacService")[0] + serviceName;
         ConfigurationContext context = messageContext.getConfigurationContext();

Modified: incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/util/WSConstants.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/util/WSConstants.java?rev=1173257&r1=1173256&r2=1173257&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/util/WSConstants.java (original)
+++ incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/util/WSConstants.java Tue Sep 20 17:09:02 2011
@@ -174,4 +174,7 @@ public interface WSConstants {
      * schemaLocation
      */
     public static final String SCHEMA_LOCATION_ATTRIBUTE = "schemaLocation";
+    String GFAC_SERVICE_NAME = "GFacService";
+    String GFAC_INVOKE_METHOD = "invoke";
+    String GFAC_TRANSPORT = "http";
 }
\ No newline at end of file