Author: chathuri
Date: Fri Jan 18 13:38:50 2013
New Revision: 1435130

URL: http://svn.apache.org/viewvc?rev=1435130&view=rev
Log:
fixing AIRAVATA-729

Modified:
    
airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/resourcemappings/ApplicationDescriptor.java
    
airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/utils/DescriptorUtil.java
    
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/ApplicationDescriptionAdvancedOptionDialog.java

Modified: 
airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/resourcemappings/ApplicationDescriptor.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/resourcemappings/ApplicationDescriptor.java?rev=1435130&r1=1435129&r2=1435130&view=diff
==============================================================================
--- 
airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/resourcemappings/ApplicationDescriptor.java
 (original)
+++ 
airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/resourcemappings/ApplicationDescriptor.java
 Fri Jan 18 13:38:50 2013
@@ -22,6 +22,7 @@
 package org.apache.airavata.rest.mappings.resourcemappings;
 
 import javax.xml.bind.annotation.XmlRootElement;
+import java.util.HashMap;
 
 @XmlRootElement(name = "application")
 public class ApplicationDescriptor {
@@ -42,6 +43,13 @@ public class ApplicationDescriptor {
     private int maxMemory;
     private String applicationDescType;
     private ServiceDescriptor serviceDescriptor;
+    private String inputDir;
+    private String outputDir;
+    private String stdIn;
+    private String stdOut;
+    private String stdError;
+    private String staticWorkigDir;
+    private HashMap<String, String> environmentVariables;
 
 
     public String getName() {
@@ -179,4 +187,60 @@ public class ApplicationDescriptor {
     public void setProjectDescription(String projectDescription) {
         this.projectDescription = projectDescription;
     }
+
+    public String getInputDir() {
+        return inputDir;
+    }
+
+    public String getOutputDir() {
+        return outputDir;
+    }
+
+    public String getStdIn() {
+        return stdIn;
+    }
+
+    public String getStdOut() {
+        return stdOut;
+    }
+
+    public String getStdError() {
+        return stdError;
+    }
+
+    public HashMap<String, String> getEnvironmentVariables() {
+        return environmentVariables;
+    }
+
+    public void setInputDir(String inputDir) {
+        this.inputDir = inputDir;
+    }
+
+    public void setOutputDir(String outputDir) {
+        this.outputDir = outputDir;
+    }
+
+    public void setStdIn(String stdIn) {
+        this.stdIn = stdIn;
+    }
+
+    public void setStdOut(String stdOut) {
+        this.stdOut = stdOut;
+    }
+
+    public void setStdError(String stdError) {
+        this.stdError = stdError;
+    }
+
+    public void setEnvironmentVariables(HashMap<String, String> 
environmentVariables) {
+        this.environmentVariables = environmentVariables;
+    }
+
+    public String getStaticWorkigDir() {
+        return staticWorkigDir;
+    }
+
+    public void setStaticWorkigDir(String staticWorkigDir) {
+        this.staticWorkigDir = staticWorkigDir;
+    }
 }

Modified: 
airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/utils/DescriptorUtil.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/utils/DescriptorUtil.java?rev=1435130&r1=1435129&r2=1435130&view=diff
==============================================================================
--- 
airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/utils/DescriptorUtil.java
 (original)
+++ 
airavata/trunk/modules/rest/mappings/src/main/java/org/apache/airavata/rest/mappings/utils/DescriptorUtil.java
 Fri Jan 18 13:38:50 2013
@@ -31,6 +31,7 @@ import org.apache.airavata.rest.mappings
 import org.apache.airavata.schemas.gfac.*;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 public class DescriptorUtil {
@@ -271,6 +272,38 @@ public class DescriptorUtil {
         
applicationDescription.getType().setExecutableLocation(applicationDescriptor.getExecutablePath());
         
applicationDescription.getType().setScratchWorkingDirectory(applicationDescriptor.getWorkingDir());
 
+        if (applicationDescriptor.getInputDir() != null){
+            
applicationDescription.getType().setInputDataDirectory(applicationDescriptor.getInputDir());
+        }
+        if (applicationDescriptor.getOutputDir() != null){
+            
applicationDescription.getType().setOutputDataDirectory(applicationDescriptor.getOutputDir());
+        }
+        if (applicationDescriptor.getStdIn() != null){
+            
applicationDescription.getType().setStandardInput(applicationDescriptor.getStdIn());
+        }
+        if (applicationDescriptor.getStdOut() != null){
+            
applicationDescription.getType().setStandardOutput(applicationDescriptor.getStdOut());
+        }
+        if (applicationDescriptor.getStdError() != null){
+            
applicationDescription.getType().setStandardError(applicationDescriptor.getStdError());
+        }
+        if (applicationDescriptor.getStaticWorkigDir() != null){
+            
applicationDescription.getType().setStaticWorkingDirectory(applicationDescriptor.getStaticWorkigDir());
+        }
+        HashMap<String,String> environmentVariables = 
applicationDescriptor.getEnvironmentVariables();
+        if (environmentVariables != null && !environmentVariables.isEmpty()){
+            NameValuePairType[] appEnviVariablesArray = new 
NameValuePairType[environmentVariables.size()];
+            for(String key : environmentVariables.keySet()) {
+                int i = 0;
+                NameValuePairType nameValuePairType = 
applicationDescription.getType().addNewApplicationEnvironment();
+                nameValuePairType.setName(key);
+                nameValuePairType.setValue(environmentVariables.get(key));
+                appEnviVariablesArray[i] = nameValuePairType;
+                i++;
+            }
+            
applicationDescription.getType().setApplicationEnvironmentArray(appEnviVariablesArray);
+        }
+
         //set advanced options according app desc type
         if(applicationDescriptor.getApplicationDescType() != null && 
!applicationDescriptor.getApplicationDescType().isEmpty()){
             if 
(applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.HPC_APP_DEP_DESC_TYPE)){
@@ -278,6 +311,39 @@ public class DescriptorUtil {
                 appDesc.getType().setApplicationName(name);
                 
appDesc.getType().setExecutableLocation(applicationDescriptor.getExecutablePath());
                 
appDesc.getType().setScratchWorkingDirectory(applicationDescriptor.getWorkingDir());
+
+                if (applicationDescriptor.getInputDir() != null){
+                    
appDesc.getType().setInputDataDirectory(applicationDescriptor.getInputDir());
+                }
+                if (applicationDescriptor.getOutputDir() != null){
+                    
appDesc.getType().setOutputDataDirectory(applicationDescriptor.getOutputDir());
+                }
+                if (applicationDescriptor.getStdIn() != null){
+                    
appDesc.getType().setStandardInput(applicationDescriptor.getStdIn());
+                }
+                if (applicationDescriptor.getStdOut() != null){
+                    
appDesc.getType().setStandardOutput(applicationDescriptor.getStdOut());
+                }
+                if (applicationDescriptor.getStdError() != null){
+                    
appDesc.getType().setStandardError(applicationDescriptor.getStdError());
+                }
+                if (applicationDescriptor.getStaticWorkigDir() != null){
+                    
appDesc.getType().setStaticWorkingDirectory(applicationDescriptor.getStaticWorkigDir());
+                }
+                HashMap<String,String> envVariables = 
applicationDescriptor.getEnvironmentVariables();
+                if (envVariables != null && !envVariables.isEmpty()){
+                    NameValuePairType[] appEnviVariablesArray = new 
NameValuePairType[envVariables.size()];
+                    for(String key : envVariables.keySet()) {
+                        int i = 0;
+                        NameValuePairType nameValuePairType = 
applicationDescription.getType().addNewApplicationEnvironment();
+                        nameValuePairType.setName(key);
+                        nameValuePairType.setValue(envVariables.get(key));
+                        appEnviVariablesArray[i] = nameValuePairType;
+                        i++;
+                    }
+                    
appDesc.getType().setApplicationEnvironmentArray(appEnviVariablesArray);
+                }
+
                 HpcApplicationDeploymentType app = 
(HpcApplicationDeploymentType) appDesc.getType();
 
                 ProjectAccountType projectAccountType = 
app.addNewProjectAccount();
@@ -317,6 +383,34 @@ public class DescriptorUtil {
         
applicationDescriptor.setName(applicationDescription.getType().getApplicationName().getStringValue());
         
applicationDescriptor.setExecutablePath(applicationDescription.getType().getExecutableLocation());
         
applicationDescriptor.setWorkingDir(applicationDescription.getType().getScratchWorkingDirectory());
+
+        if (applicationDescription.getType().getInputDataDirectory() != null 
&& !applicationDescription.getType().getInputDataDirectory().equals("") ){
+            
applicationDescriptor.setInputDir(applicationDescription.getType().getInputDataDirectory());
+        }
+        if (applicationDescription.getType().getOutputDataDirectory() != null 
&& !applicationDescription.getType().getOutputDataDirectory().equals("")){
+            
applicationDescriptor.setOutputDir(applicationDescription.getType().getOutputDataDirectory());
+        }
+        if (applicationDescription.getType().getStaticWorkingDirectory() != 
null && 
!applicationDescription.getType().getStaticWorkingDirectory().equals("")){
+            
applicationDescriptor.setStaticWorkigDir(applicationDescription.getType().getStaticWorkingDirectory());
+        }
+        if (applicationDescription.getType().getStandardInput() != null && 
!applicationDescription.getType().getStandardInput().equals("")){
+            
applicationDescriptor.setStdIn(applicationDescription.getType().getStandardInput());
+        }
+        if (applicationDescription.getType().getStandardOutput() != null && 
!applicationDescription.getType().getStandardOutput().equals("")){
+            
applicationDescriptor.setStdOut(applicationDescription.getType().getStandardOutput());
+        }
+        if (applicationDescription.getType().getStandardError() != null && 
!applicationDescription.getType().getStandardError().equals("")){
+            
applicationDescriptor.setStdError(applicationDescription.getType().getStandardError());
+        }
+        NameValuePairType[] environmentArray = 
applicationDescription.getType().getApplicationEnvironmentArray();
+        HashMap<String, String> environmentVariableMap = new HashMap<String, 
String>();
+        if (environmentArray != null && environmentArray.length != 0){
+            for (NameValuePairType nameValuePairType : environmentArray){
+                environmentVariableMap.put(nameValuePairType.getName(), 
nameValuePairType.getValue());
+            }
+            
applicationDescriptor.setEnvironmentVariables(environmentVariableMap);
+        }
+
         if(applicationDescription.getType() != null){
             if(applicationDescription.getType() instanceof 
HpcApplicationDeploymentType){
                 
applicationDescriptor.setApplicationDescType(ApplicationDescriptorTypes.HPC_APP_DEP_DESC_TYPE);

Modified: 
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/ApplicationDescriptionAdvancedOptionDialog.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/ApplicationDescriptionAdvancedOptionDialog.java?rev=1435130&r1=1435129&r2=1435130&view=diff
==============================================================================
--- 
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/ApplicationDescriptionAdvancedOptionDialog.java
 (original)
+++ 
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/ApplicationDescriptionAdvancedOptionDialog.java
 Fri Jan 18 13:38:50 2013
@@ -338,7 +338,7 @@ public class ApplicationDescriptionAdvan
        }
         NameValuePairType[] envParams = 
getShellApplicationDescriptionType().getApplicationEnvironmentArray();
        for (NameValuePairType envParam : envParams) {
-               defaultTableModel.addRow(new Object[] { 
envParam.getName(),envParam.getName()});        
+               defaultTableModel.addRow(new Object[] { 
envParam.getName(),envParam.getValue()});
                }
        addNewRowIfLastIsNotEmpty();
         tableModelChanging = false;


Reply via email to