Author: samindaw
Date: Thu Aug 15 16:19:32 2013
New Revision: 1514348

URL: http://svn.apache.org/r1514348
Log:
https://issues.apache.org/jira/browse/AIRAVATA-838

Modified:
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataAPIUtils.java
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java
    
airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
    
airavata/trunk/modules/rest/service/src/main/java/org/apache/airavata/services/experiment/ExperimentExecutionService.java
    
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataAPIUtils.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataAPIUtils.java?rev=1514348&r1=1514347&r2=1514348&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataAPIUtils.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataAPIUtils.java
 Thu Aug 15 16:19:32 2013
@@ -47,10 +47,11 @@ public class AiravataAPIUtils {
        //------------------End of Deprecated Functions---------------------//
 
        public static WorkflowContextHeaderBuilder 
createWorkflowContextHeaderBuilder(
-                       ExperimentAdvanceOptions options, String submissionUser)
+                       ExperimentAdvanceOptions options, String executionUser, 
String submissionUser)
                        throws AiravataAPIInvocationException {
                WorkflowContextHeaderBuilder 
builder=createWorkflowContextHeader();
-               builder.setUserIdentifier(submissionUser);
+               builder.setUserIdentifier(executionUser);
+               builder.setSubmissionUser(submissionUser);
                NodeSettings[] nodeSettingsList = 
options.getCustomWorkflowSchedulingSettings().getNodeSettingsList();
                for (NodeSettings nodeSettings : nodeSettingsList) {
                        List<NameValuePairType> nameValuePairTypes = 
nodeSettings.getNameValuePair();
@@ -73,7 +74,7 @@ public class AiravataAPIUtils {
         if 
(options.getCustomSecuritySettings().getCredentialStoreSecuritySettings() != 
null) {
             
builder.setCredentialManagementService(options.getCustomSecuritySettings().
                     getCredentialStoreSecuritySettings().getTokenId(),
-                    submissionUser);
+                    executionUser);
         }
 
 

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java?rev=1514348&r1=1514347&r2=1514348&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java
 Thu Aug 15 16:19:32 2013
@@ -59,6 +59,7 @@ import org.apache.airavata.ws.monitor.Ev
 import org.apache.airavata.ws.monitor.Monitor;
 import org.apache.airavata.ws.monitor.MonitorConfiguration;
 import org.apache.airavata.ws.monitor.MonitorUtil.EventType;
+import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.impl.llom.util.AXIOMUtil;
 import org.apache.axis2.AxisFault;
 
@@ -217,7 +218,7 @@ public class ExecutionManagerImpl implem
                        if (executionUser==null){
                                executionUser=submissionUser;
                        }
-                       WorkflowContextHeaderBuilder builder = 
AiravataAPIUtils.createWorkflowContextHeaderBuilder(options, submissionUser);
+                       WorkflowContextHeaderBuilder builder = 
AiravataAPIUtils.createWorkflowContextHeaderBuilder(options, executionUser, 
submissionUser);
                        runPreWorkflowExecutionTasks(experimentID, 
executionUser, options.getExperimentMetadata(), options.getExperimentName());
                        NameValue[] inputVals = inputValues.toArray(new 
NameValue[] {});
                        if (listener!=null){
@@ -271,9 +272,11 @@ public class ExecutionManagerImpl implem
                try {
                        
builder.getWorkflowMonitoringContext().setExperimentId(experimentId);
                        WorkflowInterpretorStub stub = new 
WorkflowInterpretorStub(getClient().getAiravataManager().getWorkflowInterpreterServiceURL().toString());
+                       OMElement wchOMElement = 
AXIOMUtil.stringToOM(XMLUtil.xmlElementToString(builder
+                                       .getXml()));
+                       wchOMElement.addAttribute("submissionUser", 
builder.getSubmissionUser(), wchOMElement.getNamespace());
                        stub._getServiceClient().addHeader(
-                                       
AXIOMUtil.stringToOM(XMLUtil.xmlElementToString(builder
-                                                       .getXml())));
+                                       wchOMElement);
                        stub.launchWorkflow(workflowGraph, experimentId, 
inputs);
                } catch (AxisFault e) {
                        e.printStackTrace();
@@ -303,7 +306,7 @@ public class ExecutionManagerImpl implem
                try {
                        ExperimentAdvanceOptions b = 
a.createExperimentAdvanceOptions();
                        
b.getCustomWorkflowOutputDataSettings().addNewOutputDataSettings("la", "di", 
"da", false);
-                       WorkflowContextHeaderBuilder c = 
AiravataAPIUtils.createWorkflowContextHeaderBuilder(b, "meeee");
+                       WorkflowContextHeaderBuilder c = 
AiravataAPIUtils.createWorkflowContextHeaderBuilder(b, 
"sheeeeeeeeeeee","meeee");
                        
System.out.println(XMLUtil.xmlElementToString(c.getXml()));
                } catch (AiravataAPIInvocationException e) {
                        e.printStackTrace();

Modified: 
airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java?rev=1514348&r1=1514347&r2=1514348&view=diff
==============================================================================
--- 
airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
 (original)
+++ 
airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
 Thu Aug 15 16:19:32 2013
@@ -20,13 +20,17 @@
  */
 package org.apache.airavata.common.workflow.execution.context;
 
-import java.lang.reflect.Array;
-import java.util.Map;
-
 import org.apache.airavata.common.utils.XMLUtil;
-import org.apache.airavata.schemas.wec.*;
+import org.apache.airavata.schemas.wec.ApplicationOutputDataHandlingDocument;
+import org.apache.airavata.schemas.wec.ApplicationSchedulingContextDocument;
+import org.apache.airavata.schemas.wec.ContextHeaderDocument;
+import org.apache.airavata.schemas.wec.NameValuePairType;
+import org.apache.airavata.schemas.wec.SecurityContextDocument;
+import org.apache.airavata.schemas.wec.SoaServiceEprsDocument;
+import org.apache.airavata.schemas.wec.WorkflowMonitoringContextDocument;
+import org.apache.airavata.schemas.wec.WorkflowOutputDataHandlingDocument;
+import org.apache.airavata.schemas.wec.WorkflowSchedulingContextDocument;
 import org.apache.xmlbeans.XmlException;
-import org.omg.CORBA.NameValuePair;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xmlpull.v1.builder.XmlElement;
@@ -42,6 +46,7 @@ public class WorkflowContextHeaderBuilde
     private SoaServiceEprsDocument.SoaServiceEprs soaServiceEprs = null;
 
     private String userIdentifier = null;
+    private String submissionUser = null;
 
     private WorkflowOutputDataHandlingDocument.WorkflowOutputDataHandling 
workflowOutputDataHandling = null;
 
@@ -447,4 +452,12 @@ public class WorkflowContextHeaderBuilde
         
WorkflowContextHeaderBuilder.setCurrentContextHeader(parse.getContextHeader());
         return header;
     }
+
+       public String getSubmissionUser() {
+               return submissionUser;
+       }
+
+       public void setSubmissionUser(String submissionUser) {
+               this.submissionUser = submissionUser;
+       }
 }

Modified: 
airavata/trunk/modules/rest/service/src/main/java/org/apache/airavata/services/experiment/ExperimentExecutionService.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/rest/service/src/main/java/org/apache/airavata/services/experiment/ExperimentExecutionService.java?rev=1514348&r1=1514347&r2=1514348&view=diff
==============================================================================
--- 
airavata/trunk/modules/rest/service/src/main/java/org/apache/airavata/services/experiment/ExperimentExecutionService.java
 (original)
+++ 
airavata/trunk/modules/rest/service/src/main/java/org/apache/airavata/services/experiment/ExperimentExecutionService.java
 Thu Aug 15 16:19:32 2013
@@ -52,7 +52,7 @@ public class ExperimentExecutionService 
        String user =  WorkflowContext.getRequestUser();
         String gatewayId = WorkflowContext.getGatewayId();
        try {
-                       String experimentId = 
getInterpreterService().setupAndLaunch(workflowTemplateName, 
advanceOptions.getCustomExperimentId(), gatewayId, user, workflowInputs, true, 
AiravataAPIUtils.createWorkflowContextHeaderBuilder(advanceOptions, user));
+                       String experimentId = 
getInterpreterService().setupAndLaunch(workflowTemplateName, 
advanceOptions.getCustomExperimentId(), gatewayId, user, workflowInputs, true, 
AiravataAPIUtils.createWorkflowContextHeaderBuilder(advanceOptions, 
advanceOptions.getExperimentExecutionUser(),user));
                Response.ResponseBuilder builder = 
Response.status(Response.Status.OK);
                builder.entity(experimentId);
                return builder.build();

Modified: 
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java?rev=1514348&r1=1514347&r2=1514348&view=diff
==============================================================================
--- 
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java
 (original)
+++ 
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java
 Thu Aug 15 16:19:32 2013
@@ -281,7 +281,7 @@ public class WorkflowInterpretorSkeleton
         }
         Map<String, String> configuration = new HashMap<String, String>();
         WorkflowContextHeaderBuilder workflowContextHeaderBuilder = 
parseContextHeader(workflowContext, configuration);
-        String user = workflowContextHeaderBuilder.getUserIdentifier();
+        String user = workflowContextHeaderBuilder.getSubmissionUser();
 
         String s = null;
         try {
@@ -330,7 +330,10 @@ public class WorkflowInterpretorSkeleton
         } catch (AiravataAPIInvocationException e) {
             log.error(e.getMessage());
         }
-        return new WorkflowContextHeaderBuilder(parse.getContextHeader());
+       String submissionUser = workflowContext.getAttributeValue(new 
QName(workflowContext.getNamespace().getNamespaceURI(), "submissionUser"));
+        WorkflowContextHeaderBuilder workflowContextHeaderBuilder = new 
WorkflowContextHeaderBuilder(parse.getContextHeader());
+        workflowContextHeaderBuilder.setSubmissionUser(submissionUser);
+               return workflowContextHeaderBuilder;
     }
     public String setupAndLaunch(String workflowAsString, String experimentId, 
String gatewayId, String username,
             Map<String,String> inputs,boolean 
inNewThread,WorkflowContextHeaderBuilder builder) throws 
AiravataAPIInvocationException{


Reply via email to