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