Author: chathuri
Date: Thu Dec 12 04:28:22 2013
New Revision: 1550346

URL: http://svn.apache.org/r1550346
Log:
thrift service implementation module

Added:
    airavata/trunk/modules/thrift/interpreter-service-handler/
    airavata/trunk/modules/thrift/interpreter-service-handler/pom.xml
    airavata/trunk/modules/thrift/interpreter-service-handler/src/
    airavata/trunk/modules/thrift/interpreter-service-handler/src/main/
    airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/
    airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/
    
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/
    
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/
    
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/
    
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/
    
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/
    
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/InterpreterServiceHandler.java
    
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/MappingUtils.java
    
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/SimpleThirftServer.java
Modified:
    airavata/trunk/modules/thrift/pom.xml

Added: airavata/trunk/modules/thrift/interpreter-service-handler/pom.xml
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/thrift/interpreter-service-handler/pom.xml?rev=1550346&view=auto
==============================================================================
--- airavata/trunk/modules/thrift/interpreter-service-handler/pom.xml (added)
+++ airavata/trunk/modules/thrift/interpreter-service-handler/pom.xml Thu Dec 
12 04:28:22 2013
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file
+    distributed with this work for additional information regarding copyright 
ownership. The ASF licenses this file to you under
+    the Apache License, Version 2.0 (theÏ "License"); you may not use this 
file except in compliance with the License. You may
+    obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
Unless required by applicable law or agreed to
+    in writing, software distributed under the License is distributed on an 
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+    ANY ~ KIND, either express or implied. See the License for the specific 
language governing permissions and limitations under
+    the License. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+
+
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>thrift</artifactId>
+        <version>0.11-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>airavata-interpreter-service-handler</artifactId>
+    <packaging>jar</packaging>
+    <name>Airavata Interpreter Service Handler</name>
+    <url>http://airavata.apache.org/</url>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.thrift</groupId>
+            <artifactId>libthrift</artifactId>
+            <version>0.9.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-xbaya-gui</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-interpreter-service</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>1.7.5</version>
+        </dependency>
+    </dependencies>
+</project>

Added: 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/InterpreterServiceHandler.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/InterpreterServiceHandler.java?rev=1550346&view=auto
==============================================================================
--- 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/InterpreterServiceHandler.java
 (added)
+++ 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/InterpreterServiceHandler.java
 Thu Dec 12 04:28:22 2013
@@ -0,0 +1,204 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.interpreter.service.handler;
+
+
+import org.apache.airavata.client.AiravataAPIFactory;
+import org.apache.airavata.client.AiravataAPIUtils;
+import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.experiment.execution.ExperimentAdvanceOptions;
+import org.apache.airavata.experiment.execution.InterpreterService;
+import org.apache.airavata.workflow.model.wf.Workflow;
+import org.apache.airavata.ws.monitor.*;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.net.URISyntaxException;
+import java.util.Map;
+import java.util.UUID;
+
+public class InterpreterServiceHandler implements InterpreterService.Iface{
+    private static final Logger log = 
LoggerFactory.getLogger(InterpreterServiceHandler.class);
+    private WorkflowInterpretorSkeleton interpreterService;
+    private AiravataAPI airavataAPI;
+
+    public String runExperiment(String workflowTemplateName, Map<String, 
String> workflowInputs, ExperimentAdvanceOptions experimentAdOptions) throws 
TException {
+        String user =  getAiravataAPI().getUserManager().getAiravataUser();
+        String gatewayId = getAiravataAPI().getGateway();
+        String experimentID;
+        Workflow workflowObj;
+        try {
+            workflowObj = extractWorkflow(workflowTemplateName);
+            experimentID = experimentAdOptions.getCustomExperimentId();
+            workflowTemplateName = workflowObj.getName();
+            if (experimentID == null || experimentID.isEmpty()) {
+                experimentID = workflowTemplateName + "_" + UUID.randomUUID();
+            }
+            experimentAdOptions.setCustomExperimentId(experimentID);
+            
getAiravataAPI().getProvenanceManager().setWorkflowInstanceTemplateName(experimentID,
 workflowTemplateName);
+
+            String submissionUser = 
getAiravataAPI().getUserManager().getAiravataUser();
+            String executionUser=experimentAdOptions.getExecutionUser();
+            if (executionUser==null){
+                executionUser=submissionUser;
+            }
+            experimentAdOptions.setExecutionUser(executionUser);
+            runPreWorkflowExecutionTasks(experimentID, executionUser, 
experimentAdOptions.getMetadata(), experimentAdOptions.getExperimentName());
+
+            EventDataListener listener = new EventDataListenerAdapter() {
+                @Override
+                public void notify(EventDataRepository eventDataRepo, 
EventData eventData) {
+
+                }
+            };
+
+            getExperimentMonitor(experimentID, listener).startMonitoring();
+            String workflowContent = 
extractWorkflowContent(workflowTemplateName);
+
+            return getInterpreterService().setupAndLaunch(workflowContent,
+                    experimentID,
+                    gatewayId,
+                    user,
+                    workflowInputs,
+                    true,
+                    
AiravataAPIUtils.createWorkflowContextHeaderBuilder(MappingUtils.getExperimentOptionsObject(experimentAdOptions),
 experimentAdOptions.getExecutionUser(), user));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public Monitor getExperimentMonitor(String experimentId, EventDataListener 
listener) throws AiravataAPIInvocationException {
+        MonitorConfiguration monitorConfiguration;
+        try {
+            monitorConfiguration = new MonitorConfiguration(
+                    
getAiravataAPI().getAiravataManager().getMessageBoxServiceURL(), experimentId,
+                    true, 
getAiravataAPI().getAiravataManager().getMessageBoxServiceURL());
+            final Monitor monitor = new Monitor(monitorConfiguration);
+            monitor.printRawMessage(false);
+            if (listener!=null) {
+                
monitor.getEventDataRepository().registerEventListener(listener);
+                listener.setExperimentMonitor(monitor);
+            }
+            if (!monitor.getExperimentId().equals(">")){
+                monitor.getEventDataRepository().registerEventListener(new 
EventDataListenerAdapter() {
+                    public void notify(EventDataRepository eventDataRepo, 
EventData eventData) {
+                        if (eventData.getType()== 
MonitorUtil.EventType.WORKFLOW_TERMINATED || eventData.getType()== 
MonitorUtil.EventType.SENDING_FAULT){
+                            monitor.stopMonitoring();
+                        }
+                    }
+                });
+            }
+            return monitor;
+        } catch (Exception e) {
+            throw new AiravataAPIInvocationException(e);
+        }
+    }
+
+    private void runPreWorkflowExecutionTasks(String experimentId, String user,
+                                              String metadata, String 
experimentName) throws AiravataAPIInvocationException {
+        if (user != null) {
+            
getAiravataAPI().getProvenanceManager().setExperimentUser(experimentId, user);
+        }
+        if (metadata != null) {
+            
getAiravataAPI().getProvenanceManager().setExperimentMetadata(experimentId, 
metadata);
+        }
+        if (experimentName == null) {
+            experimentName = experimentId;
+        }
+        
getAiravataAPI().getProvenanceManager().setExperimentName(experimentId, 
experimentName);
+    }
+
+    private Workflow extractWorkflow(String workflowName) throws 
AiravataAPIInvocationException {
+        Workflow workflowObj = null;
+        //FIXME - There should be a better way to figure-out if the passed 
string is a name or an xml
+        
if(!workflowName.contains("http://airavata.apache.org/xbaya/xwf";)){//(getClient().getWorkflowManager().isWorkflowExists(workflowName))
 {
+            workflowObj = 
getAiravataAPI().getWorkflowManager().getWorkflow(workflowName);
+        }else {
+            try{
+                workflowObj = 
getAiravataAPI().getWorkflowManager().getWorkflowFromString(workflowName);
+            }catch (AiravataAPIInvocationException e){
+                
getAiravataAPI().getWorkflowManager().getWorkflow(workflowName);
+            }
+        }
+        return workflowObj;
+    }
+
+    private AiravataAPI getAiravataAPI(){
+        if (airavataAPI==null) {
+            try {
+                String systemUserName = ServerSettings.getSystemUser();
+                String gateway = ServerSettings.getSystemUserGateway();
+                airavataAPI = AiravataAPIFactory.getAPI(gateway, 
systemUserName);
+            } catch (ApplicationSettingsException e) {
+                log.error("Unable to read the properties file", e);
+            } catch (AiravataAPIInvocationException e) {
+                log.error("Unable to create Airavata API", e);
+            }
+        }
+        return airavataAPI;
+    }
+
+    private String extractWorkflowContent(String workflowName) throws 
AiravataAPIInvocationException {
+        
if(workflowName.contains("http://airavata.apache.org/xbaya/xwf";)){//(getClient().getWorkflowManager().isWorkflowExists(workflowName))
 {
+            return workflowName;
+        }else {
+            return 
getAiravataAPI().getWorkflowManager().getWorkflowAsString(workflowName);
+        }
+    }
+
+    public void cancelExperiment(String experimentID) throws TException {
+        try {
+            getInterpreterService().haltWorkflow(experimentID);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void suspendExperiment(String experimentID) throws TException {
+        try {
+            getInterpreterService().suspendWorkflow(experimentID);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void resumeExperiment(String experimentID) throws TException {
+        try {
+            getInterpreterService().resumeWorkflow(experimentID);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public WorkflowInterpretorSkeleton getInterpreterService() {
+        if (interpreterService==null){
+            interpreterService=new WorkflowInterpretorSkeleton();
+        }
+        return interpreterService;
+    }
+}

Added: 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/MappingUtils.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/MappingUtils.java?rev=1550346&view=auto
==============================================================================
--- 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/MappingUtils.java
 (added)
+++ 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/MappingUtils.java
 Thu Dec 12 04:28:22 2013
@@ -0,0 +1,157 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.interpreter.service.handler;
+
+import org.apache.airavata.client.api.*;
+import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
+import org.apache.airavata.client.impl.*;
+import org.apache.airavata.client.tools.NameValuePairType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MappingUtils {
+    public static ExperimentAdvanceOptions 
getExperimentOptionsObject(org.apache.airavata.experiment.execution.ExperimentAdvanceOptions
 advanceOptions){
+        try {
+            ExperimentAdvanceOptions experimentAdvanceOptions = new 
ExperimentAdvanceOptions();
+            
experimentAdvanceOptions.setCustomExperimentId(advanceOptions.getCustomExperimentId());
+            
experimentAdvanceOptions.setExperimentExecutionUser(advanceOptions.getExecutionUser());
+            
experimentAdvanceOptions.setExperimentCustomMetadata(advanceOptions.getMetadata());
+            
experimentAdvanceOptions.setExperimentName(advanceOptions.getExperimentName());
+
+            if (advanceOptions.getWorkflowSchedulingSettings() != null){
+                List<org.apache.airavata.experiment.execution.NodeSettings> 
nodeSettingsList = 
advanceOptions.getWorkflowSchedulingSettings().getNodeSettingsList();
+                for (org.apache.airavata.experiment.execution.NodeSettings 
nodeSettings : nodeSettingsList){
+                    NodeSettings n = getNodeSettingObject(nodeSettings);
+                    org.apache.airavata.experiment.execution.HPCSettings 
hpcSettings = nodeSettings.getHpcSettings();
+                    HPCSettings hpcSettingsObject = 
getHPCSettingsObject(hpcSettings);
+                    n.setHPCSettings(hpcSettingsObject);
+                    
org.apache.airavata.experiment.execution.HostSchedulingSettings 
hostSchedulingSettings = nodeSettings.getHostSchedulingSettings();
+                    HostSchedulingSettings hostSchedulingSettingsObj = 
getHostSchedulingSettingsObj(hostSchedulingSettings);
+                    n.setHostSettings(hostSchedulingSettingsObj);
+                    
experimentAdvanceOptions.getCustomWorkflowSchedulingSettings().addNewNodeSettings(n);
+                }
+            }
+
+            
org.apache.airavata.experiment.execution.WorkflowOutputDataSettings 
workflowOutputDataSettings = advanceOptions.getWorkflowOutputDataSettings();
+            if (workflowOutputDataSettings != null){
+                WorkflowOutputDataSettings dataSettings = 
getWorkflowOutputDataSettingsObject(workflowOutputDataSettings);
+                
experimentAdvanceOptions.getCustomWorkflowOutputDataSettings().addNewOutputDataSettings(dataSettings.getOutputDataSettingsList());
+            }
+
+            SecuritySettings securitySettings = 
experimentAdvanceOptions.getCustomSecuritySettings();
+            org.apache.airavata.experiment.execution.SecuritySettings 
securitySettings1 = advanceOptions.getSecuritySettings();
+            if (securitySettings != null && securitySettings1 != null){
+                AmazonWebServicesSettings amazonWSSettings = 
securitySettings.getAmazonWSSettings();
+                if (amazonWSSettings != null){
+                    
amazonWSSettings.setAccessKeyId(securitySettings1.getAmazonWSSettings().getAccessKey());
+                    
amazonWSSettings.setAMIId(securitySettings1.getAmazonWSSettings().getAmiID());
+                    
amazonWSSettings.setInstanceId(securitySettings1.getAmazonWSSettings().getInstanceID());
+                    
amazonWSSettings.setInstanceType(securitySettings1.getAmazonWSSettings().getInstanceType());
+                    
amazonWSSettings.setSecretAccessKey(securitySettings1.getAmazonWSSettings().getSecretAccessKey());
+                    
amazonWSSettings.setUsername(securitySettings1.getAmazonWSSettings().getUsername());
+                }
+                CredentialStoreSecuritySettings storeSecuritySettings = 
securitySettings.getCredentialStoreSecuritySettings();
+                if (storeSecuritySettings != null){
+                    
storeSecuritySettings.setGatewayId(securitySettings1.getCredentialStoreSettings().getGatewayID());
+                    
storeSecuritySettings.setPortalUser(securitySettings1.getCredentialStoreSettings().getPortalUser());
+                    
storeSecuritySettings.setTokenId(securitySettings1.getCredentialStoreSettings().getTokenId());
+                }
+
+//                GridMyProxyRepositorySettings myProxyRepositorySettings = 
securitySettings.getGridMyProxyRepositorySettings();
+//                if (myProxyRepositorySettings != null){
+//                    
myProxyRepositorySettings.setUsername(securitySettings1.getMyproxySettings().getUserName());
+//                    
myProxyRepositorySettings.setPassword(securitySettings1.getMyproxySettings().getPassword());
+//                    
myProxyRepositorySettings.setLifeTime(securitySettings1.getMyproxySettings().getLifetime());
+//                    
myProxyRepositorySettings.setMyProxyServer(securitySettings1.getMyproxySettings().getMyproxyServer());
+//                }
+//
+//                SSHAuthenticationSettings authenticationSettings = 
securitySettings.getSSHAuthenticationSettings();
+//                if (authenticationSettings != null){
+//                    
authenticationSettings.setAccessKeyId(securitySettings1.getSshAuthSettings().getAccessKeyID());
+//                    
authenticationSettings.setSecretAccessKey(securitySettings1.getSshAuthSettings().getSecretAccessKey());
+//                }
+            }
+            return experimentAdvanceOptions;
+        } catch (AiravataAPIInvocationException e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
+    public static NodeSettingsImpl getNodeSettingObject 
(org.apache.airavata.experiment.execution.NodeSettings nodeSettings){
+        NodeSettings n = new NodeSettingsImpl(nodeSettings.getNodeId());
+        n.setServiceId(nodeSettings.getServiceId());
+        List<NameValuePairType> nameValuePairTypes = new 
ArrayList<NameValuePairType>();
+        List<org.apache.airavata.experiment.execution.NameValuePairType> 
nameValuePairList = nodeSettings.getNameValuePairList();
+        for (org.apache.airavata.experiment.execution.NameValuePairType np : 
nameValuePairList) {
+            NameValuePairType nameValuePairObject = getNameValuePairObject(np);
+            nameValuePairTypes.add(nameValuePairObject);
+        }
+        n.setNameValuePair(nameValuePairTypes);
+        return (NodeSettingsImpl)n;
+
+    }
+
+    public static NameValuePairType 
getNameValuePairObject(org.apache.airavata.experiment.execution.NameValuePairType
 nameValuePairType){
+        NameValuePairType nameValuePair = new NameValuePairType();
+        nameValuePair.setName(nameValuePairType.getName());
+        nameValuePair.setValue(nameValuePairType.getValue());
+        nameValuePair.setDescription(nameValuePairType.getDescription());
+        return nameValuePair;
+    }
+
+    public static HPCSettings getHPCSettingsObject 
(org.apache.airavata.experiment.execution.HPCSettings hsettings){
+        HPCSettings hpcSettings = new HPCSettingsImpl();
+        hpcSettings.setCPUCount(hsettings.getCpuCount());
+        hpcSettings.setJobManager(hsettings.getJobManager());
+        hpcSettings.setMaxWallTime(hsettings.getMaxWalltime());
+        hpcSettings.setNodeCount(hsettings.getNodeCount());
+        hpcSettings.setQueueName(hsettings.getQueueName());
+        return hpcSettings;
+    }
+
+    public static HostSchedulingSettings getHostSchedulingSettingsObj 
(org.apache.airavata.experiment.execution.HostSchedulingSettings 
schedulingSettings){
+        HostSchedulingSettings hostSchedulingSettings = new 
HostSchedulingSettingsImpl();
+        hostSchedulingSettings.setHostId(schedulingSettings.getHostID());
+        
hostSchedulingSettings.setGatekeeperEPR(schedulingSettings.getGatekeeperEPR());
+        
hostSchedulingSettings.setWSGramPreffered(schedulingSettings.isIsWSGramPreferred());
+        return hostSchedulingSettings;
+    }
+
+    public static WorkflowOutputDataSettings 
getWorkflowOutputDataSettingsObject(org.apache.airavata.experiment.execution.WorkflowOutputDataSettings
 wfods) {
+        WorkflowOutputDataSettings wfOutDataSettings = new 
WorkflowOutputDataSettingsImpl();
+        List<org.apache.airavata.experiment.execution.OutputDataSettings> 
dataSettingsList = wfods.getOutputDataSettingsList();
+        for (org.apache.airavata.experiment.execution.OutputDataSettings 
outPutDSettng : dataSettingsList) {
+            OutputDataSettings outputDataSettings = new 
ApplicationOutputDataSettingsImpl(outPutDSettng.getNodeID());
+            
outputDataSettings.setDataPersistent(outPutDSettng.isIsdataPersisted());
+            
outputDataSettings.setDataRegistryUrl(outPutDSettng.getDataRegURL());
+            
outputDataSettings.setOutputDataDirectory(outPutDSettng.getOutputdataDir());
+            wfOutDataSettings.addNewOutputDataSettings(outputDataSettings);
+        }
+        return wfOutDataSettings;
+    }
+
+
+
+}

Added: 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/SimpleThirftServer.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/SimpleThirftServer.java?rev=1550346&view=auto
==============================================================================
--- 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/SimpleThirftServer.java
 (added)
+++ 
airavata/trunk/modules/thrift/interpreter-service-handler/src/main/java/org/apache/airavata/interpreter/service/handler/SimpleThirftServer.java
 Thu Dec 12 04:28:22 2013
@@ -0,0 +1,27 @@
+package org.apache.airavata.interpreter.service.handler;
+
+import org.apache.airavata.experiment.execution.InterpreterService;
+import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TSimpleServer;
+import org.apache.thrift.transport.TServerSocket;
+import org.apache.thrift.transport.TServerTransport;
+
+public class SimpleThirftServer {
+    public static void 
StartsimpleServer(InterpreterService.Processor<InterpreterServiceHandler> 
processor) {
+        try {
+            TServerTransport serverTransport = new TServerSocket(9090);
+            TServer server = new TSimpleServer(
+                    new TServer.Args(serverTransport).processor(processor));
+
+            System.out.println("Starting the simple server...");
+            server.serve();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void main(String[] args) {
+        InterpreterService.Processor<InterpreterServiceHandler> processor = 
new InterpreterService.Processor<InterpreterServiceHandler>(new 
InterpreterServiceHandler());
+        StartsimpleServer(processor);
+    }
+}

Modified: airavata/trunk/modules/thrift/pom.xml
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/thrift/pom.xml?rev=1550346&r1=1550345&r2=1550346&view=diff
==============================================================================
--- airavata/trunk/modules/thrift/pom.xml (original)
+++ airavata/trunk/modules/thrift/pom.xml Thu Dec 12 04:28:22 2013
@@ -32,7 +32,7 @@
             <modules>
                 <module>interpreter-service</module>
                 <module>interpreter-service-client</module>
-                <!--<module>interpreter-service-handler</module>-->
+                <module>interpreter-service-handler</module>
             </modules>
         </profile>
     </profiles>


Reply via email to