airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From samin...@apache.org
Subject [1/2] git commit: https://issues.apache.org/jira/browse/AIRAVATA-1228 + updating jpaclass gen to include the empty constructor for PK class + update the document creator to add localhost apps
Date Sun, 06 Jul 2014 04:14:21 GMT
Repository: airavata
Updated Branches:
  refs/heads/master 268dd34e9 -> b12dac5f7


https://issues.apache.org/jira/browse/AIRAVATA-1228 + updating jpaclass gen to include the
empty constructor for PK class + update the document creator to add localhost apps


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/2909ae96
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/2909ae96
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/2909ae96

Branch: refs/heads/master
Commit: 2909ae969480e2a621bb553c15c3f3805268cf91
Parents: fa71e06
Author: Saminda Wijeratne <samindaw@gmail.com>
Authored: Sun Jul 6 00:13:51 2014 -0400
Committer: Saminda Wijeratne <samindaw@gmail.com>
Committed: Sun Jul 6 00:13:51 2014 -0400

----------------------------------------------------------------------
 .../client/tools/DocumentCreatorNew.java        | 205 ++++++++++---------
 .../appcatalog/cpi/ComputeResource.java         |  17 +-
 .../catalog/data/impl/ComputeResourceImpl.java  |  61 +-----
 .../main/java/generators/JPAClassGenerator.java |   8 +-
 4 files changed, 127 insertions(+), 164 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2909ae96/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java
----------------------------------------------------------------------
diff --git a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java
b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java
index 39e56fe..5e7b663 100644
--- a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java
+++ b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java
@@ -21,111 +21,129 @@
 package org.apache.airavata.client.tools;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
 
 import org.airavata.appcatalog.cpi.AppCatalog;
 import org.airavata.appcatalog.cpi.AppCatalogException;
 import org.airavata.appcatalog.cpi.ApplicationDeployment;
 import org.airavata.appcatalog.cpi.ApplicationInterface;
 import org.airavata.appcatalog.cpi.ComputeResource;
-import org.apache.airavata.client.api.AiravataAPI;
-import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
-import org.apache.airavata.commons.gfac.type.ApplicationDescription;
-import org.apache.airavata.commons.gfac.type.HostDescription;
-import org.apache.airavata.commons.gfac.type.ServiceDescription;
+import org.airavata.appcatalog.cpi.GProfile;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
-import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
 import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
+import org.apache.airavata.model.appcatalog.appinterface.DataType;
 import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
 import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType;
-import org.apache.airavata.schemas.gfac.DataType;
-import org.apache.airavata.schemas.gfac.GlobusHostType;
-import org.apache.airavata.schemas.gfac.GsisshHostType;
-import org.apache.airavata.schemas.gfac.HpcApplicationDeploymentType;
-import org.apache.airavata.schemas.gfac.InputParameterType;
-import org.apache.airavata.schemas.gfac.JobTypeType;
-import org.apache.airavata.schemas.gfac.OutputParameterType;
-import org.apache.airavata.schemas.gfac.ParameterType;
-import org.apache.airavata.schemas.gfac.ProjectAccountType;
-import org.apache.airavata.schemas.gfac.QueueType;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.DataMovementInterface;
+import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
+import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.LOCALDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
+import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
+import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayProfile;
 
 public class DocumentCreatorNew {
 
-//    private AppCatalog appcatalog = null;
-//    private String trestleshpcHostAddress = "trestles.sdsc.edu";
-//    private String lonestarHostAddress = "lonestar.tacc.utexas.edu";
-//    private String stampedeHostAddress  = "stampede.tacc.xsede.org";
-//    private String gridftpAddress = "gsiftp://trestles-dm1.sdsc.edu:2811";
-//    private String gramAddress = "trestles-login1.sdsc.edu:2119/jobmanager-pbstest2";
-//
-//
-//    public DocumentCreatorNew(AppCatalog appcatalog) {
-//        this.appcatalog = appcatalog;
-//    }
-//
-//    public void createLocalHostDocs() {
-//        HostDescription descriptor = new HostDescription();
-//        descriptor.getType().setHostName("localhost");
-//        descriptor.getType().setHostAddress("127.0.0.1");
-//        try {
-//            airavataAPI.getApplicationManager().saveHostDescription(descriptor);
-//        } catch (AiravataAPIInvocationException e) {
-//            e.printStackTrace();  //To change body of catch statement use File | Settings
| File Templates.
-//        }
-//
-//        String serviceName = "SimpleEcho0";
-//        ServiceDescription serviceDescription = new ServiceDescription();
-//        List<InputParameterType> inputParameters = new ArrayList<InputParameterType>();
-//        List<OutputParameterType> outputParameters = new ArrayList<OutputParameterType>();
-//        serviceDescription.getType().setName(serviceName);
-//        serviceDescription.getType().setDescription("Echo service");
-//        // Creating input parameters
-//        InputParameterType parameter = InputParameterType.Factory.newInstance();
-//        parameter.setParameterName("echo_input");
-//        parameter.setParameterDescription("echo input");
-//        ParameterType parameterType = parameter.addNewParameterType();
-//        parameterType.setType(DataType.STRING);
-//        parameterType.setName("String");
-//        inputParameters.add(parameter);
-//
-//        // Creating output parameters
-//        OutputParameterType outputParameter = OutputParameterType.Factory.newInstance();
-//        outputParameter.setParameterName("echo_output");
-//        outputParameter.setParameterDescription("Echo output");
-//        ParameterType outputParaType = outputParameter.addNewParameterType();
-//        outputParaType.setType(DataType.STRING);
-//        outputParaType.setName("String");
-//        outputParameters.add(outputParameter);
-//
-//        // Setting input and output parameters to serviceDescriptor
-//        serviceDescription.getType().setInputParametersArray(inputParameters.toArray(new
InputParameterType[]{}));
-//        serviceDescription.getType().setOutputParametersArray(outputParameters.toArray(new
OutputParameterType[]{}));
-//
-//        try {
-//            airavataAPI.getApplicationManager().saveServiceDescription(serviceDescription);
-//        } catch (AiravataAPIInvocationException e) {
-//            e.printStackTrace();  //To change body of catch statement use File | Settings
| File Templates.
-//        }
-//
-//        ApplicationDescription applicationDeploymentDescription = new ApplicationDescription();
-//        ApplicationDeploymentDescriptionType applicationDeploymentDescriptionType = applicationDeploymentDescription
-//                .getType();
-//        applicationDeploymentDescriptionType.addNewApplicationName().setStringValue("EchoApplication");
-//        applicationDeploymentDescriptionType.setExecutableLocation("/bin/echo");
-//        applicationDeploymentDescriptionType.setScratchWorkingDirectory("/tmp");
-//
-//        try {
-//            airavataAPI.getApplicationManager().saveApplicationDescription(serviceName,
"localhost", applicationDeploymentDescription);
-//        } catch (AiravataAPIInvocationException e) {
-//            e.printStackTrace();  //To change body of catch statement use File | Settings
| File Templates.
-//        }
-//    }
+    private AppCatalog appcatalog = null;
+    private String trestleshpcHostAddress = "trestles.sdsc.edu";
+    private String lonestarHostAddress = "lonestar.tacc.utexas.edu";
+    private String stampedeHostAddress  = "stampede.tacc.xsede.org";
+    private String gridftpAddress = "gsiftp://trestles-dm1.sdsc.edu:2811";
+    private String gramAddress = "trestles-login1.sdsc.edu:2119/jobmanager-pbstest2";
+
+
+    public DocumentCreatorNew(AppCatalog appcatalog) {
+        this.appcatalog = appcatalog;
+    }
+
+    public void createLocalHostDocs() throws AppCatalogException {
+    	ComputeResource computeResource = appcatalog.getComputeResource();
+    	ApplicationInterface applicationInterface = appcatalog.getApplicationInterface();
+    	ApplicationDeployment applicationDeployment = appcatalog.getApplicationDeployment();
+    	GProfile gatewayProfile = appcatalog.getGatewayProfile();
+    	
+    	ComputeResourceDescription host = new ComputeResourceDescription();
+    	host.setHostName("localhost");
+    	host.setHostAliases(new HashSet<String>());
+    	host.getHostAliases().add("127.0.0.1");
+    	host.setComputeResourceId(computeResource.addComputeResource(host));
+    	
+    	LOCALSubmission localSubmission = new LOCALSubmission();
+    	ResourceJobManager resourceJobManager=new ResourceJobManager();;
+    	resourceJobManager.setResourceJobManagerType(ResourceJobManagerType.FORK);
+		localSubmission.setResourceJobManager(resourceJobManager);
+		localSubmission.setJobSubmissionInterfaceId(computeResource.addLocalJobSubmission(localSubmission));
+		
+		
+		LOCALDataMovement localDataMovement = new LOCALDataMovement();
+		localDataMovement.setDataMovementInterfaceId(computeResource.addLocalDataMovement(localDataMovement));
+		
+		
+		JobSubmissionInterface jobSubmissionInterface = new JobSubmissionInterface();
+		jobSubmissionInterface.setJobSubmissionInterfaceId(localSubmission.getJobSubmissionInterfaceId());
+		jobSubmissionInterface.setJobSubmissionProtocol(JobSubmissionProtocol.LOCAL);
+		jobSubmissionInterface.setPriorityOrder(1);
+		
+		DataMovementInterface dataMovementInterface = new DataMovementInterface();
+		dataMovementInterface.setDataMovementInterfaceId(localDataMovement.getDataMovementInterfaceId());
+		dataMovementInterface.setDataMovementProtocol(DataMovementProtocol.LOCAL);
+		dataMovementInterface.setPriorityOrder(1);
+		computeResource.addDataMovementProtocol(host.getComputeResourceId(), dataMovementInterface);
+
+		ApplicationModule module = new ApplicationModule();
+		module.setAppModuleDescription("Local host echo applications");
+		module.setAppModuleName("echo");
+		module.setAppModuleVersion("1.0.0");
+		module.setAppModuleId(applicationInterface.addApplicationModule(module));
+		
+    	ApplicationInterfaceDescription application = new ApplicationInterfaceDescription();
+    	application.setApplicationName("SimpleEcho0");
+    	application.setApplicationModules(new ArrayList<String>());
+    	application.getApplicationModules().add(module.getAppModuleId());
+    	
+		// Creating input parameters
+    	application.setApplicationInputs(new ArrayList<InputDataObjectType>());
+        InputDataObjectType input = new InputDataObjectType();
+        input.setApplicationArgument("echo_input");
+        input.setName("echo_input");
+        input.setUserFriendlyDescription("Echo Input Data");
+        input.setType(DataType.STRING);
+        application.getApplicationInputs().add(input);
+        
+        // Creating output parameters
+    	application.setApplicationOutputs(new ArrayList<OutputDataObjectType>());
+    	OutputDataObjectType output=new OutputDataObjectType();
+    	output.setName("echo_output");
+    	output.setType(DataType.STRING);
+		application.getApplicationOutputs().add(output);
+
+		
+		application.setApplicationInterfaceId(applicationInterface.addApplicationInterface(application));
+		
+		ApplicationDeploymentDescription deployment = new ApplicationDeploymentDescription();
+		deployment.setAppDeploymentDescription("Local echo app depoyment");
+		deployment.setAppModuleId(module.getAppModuleId());
+		deployment.setComputeHostId(host.getComputeResourceId());
+		deployment.setExecutablePath("/bin/echo");
+		
+		deployment.setAppDeploymentId(applicationDeployment.addApplicationDeployment(deployment));
+
+		GatewayProfile profile = new GatewayProfile();
+		profile.setGatewayID("default");
+
+		ComputeResourcePreference computeResourcePreference = new ComputeResourcePreference();
+		computeResourcePreference.setComputeResourceId(host.getComputeResourceId());
+		computeResourcePreference.setScratchLocation("/tmp");
+		profile.addToComputeResourcePreferences(computeResourcePreference );
+		
+		gatewayProfile.addGatewayProfile(profile);
+
+    }
 //    
 //
 //    public InputDataObjectType createAppInput (String inputName, String value, org.apache.airavata.model.appcatalog.appinterface.DataType
type ){
@@ -823,12 +841,5 @@ public class DocumentCreatorNew {
 //		}
 //
 //	}
-//    public AiravataAPI getAiravataAPI() {
-//        return airavataAPI;
-//    }
-//
-//    public void setAiravataAPI(AiravataAPI airavataAPI) {
-//        this.airavataAPI = airavataAPI;
-//    }
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/2909ae96/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
b/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
index 1556042..ff73965 100644
--- a/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
+++ b/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
@@ -42,7 +42,7 @@ public interface ComputeResource {
      * @param computeResourceId compute resource id
      * @param jobSubmissionId job submission id
      */
-    void addSSHJobSubmissionProtocol(String computeResourceId, JobSubmissionInterface jobSubmissionInterface)
throws AppCatalogException;
+    void addJobSubmissionProtocol(String computeResourceId, JobSubmissionInterface jobSubmissionInterface)
throws AppCatalogException;
 
     String addLocalJobSubmission (LOCALSubmission localSubmission) throws AppCatalogException;
 
@@ -53,12 +53,6 @@ public interface ComputeResource {
      */
     String addGlobusJobSubmission (GlobusJobSubmission globusJobSubmission) throws AppCatalogException;
 
-    /**
-     * This will add a GlobusJobSubmission protocol to the database
-     * @param computeResourceId compute resource id
-     * @param jobSubmissionId job submission id
-     */
-    void addGlobusJobSubmissionProtocol (String computeResourceId, String jobSubmissionId)
throws AppCatalogException;
 
     String addLocalDataMovement (LOCALDataMovement localDataMovement) throws AppCatalogException;
 
@@ -74,7 +68,7 @@ public interface ComputeResource {
      * @param computeResourceId compute resource id
      * @param dataMoveId data movement id
      */
-    void addScpDataMovementProtocol (String computeResourceId, DataMovementInterface dataMovementInterface)
throws AppCatalogException;
+    void addDataMovementProtocol (String computeResourceId, DataMovementInterface dataMovementInterface)
throws AppCatalogException;
 
     /**
      * This method will add a GridFTP Data movement to the database
@@ -84,13 +78,6 @@ public interface ComputeResource {
     String addGridFTPDataMovement (GridFTPDataMovement gridFTPDataMovement) throws AppCatalogException;
 
     /**
-     * This will add a GridFTPDataMovement protocol to the database
-     * @param computeResourceId compute resource id
-     * @param dataMoveId data movement id
-     */
-    void addGridFTPDataMovementProtocol (String computeResourceId, String dataMoveId) throws
AppCatalogException;
-
-    /**
      * This method will retrieve compute resource object on given resource id
      * @param resourceId unique resource id
      * @return ComputeResource object

http://git-wip-us.apache.org/repos/asf/airavata/blob/2909ae96/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
index a0169de..222c420 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
@@ -202,27 +202,20 @@ public class ComputeResourceImpl implements ComputeResource {
     @Override
     public String addSSHJobSubmission(SSHJobSubmission sshJobSubmission) throws AppCatalogException
{
         try {
+    		addResourceJobManager(sshJobSubmission.getResourceJobManager());
         	sshJobSubmission.setJobSubmissionInterfaceId(AppCatalogUtils.getID("SSH"));
-        	return saveSSHJobSubmission(sshJobSubmission);
+    		SshJobSubmissionResource resource = AppCatalogThriftConversion.getSSHJobSubmission(sshJobSubmission);
+    		resource.save();
+        	return resource.getJobSubmissionInterfaceId();
         }catch (Exception e) {
             logger.error("Error while saving SSH Job Submission...", e);
             throw new AppCatalogException(e);
         }
     }
 
-	protected String saveSSHJobSubmission(SSHJobSubmission sshJobSubmission)
-			throws AppCatalogException {
-		SshJobSubmissionResource resource = AppCatalogThriftConversion.getSSHJobSubmission(sshJobSubmission);
-		resource.save();
-		return resource.getJobSubmissionInterfaceId();
-	}
-
     @Override
-    public void addSSHJobSubmissionProtocol(String computeResourceId, JobSubmissionInterface
jobSubmissionInterface) throws AppCatalogException {
+    public void addJobSubmissionProtocol(String computeResourceId, JobSubmissionInterface
jobSubmissionInterface) throws AppCatalogException {
         try {
-        	if (jobSubmissionInterface.getJobSubmissionProtocol()!=JobSubmissionProtocol.SSH){
-        		throw new AppCatalogException("Invalid Job Submission Type "+jobSubmissionInterface.getJobSubmissionProtocol().toString());
-        	}
         	JobSubmissionInterfaceResource jsi = AppCatalogThriftConversion.getJobSubmissionInterface(jobSubmissionInterface);
         	jsi.setComputeResourceId(computeResourceId);
         	ComputeResourceResource computeResourceResource = new ComputeResourceResource();
@@ -230,7 +223,7 @@ public class ComputeResourceImpl implements ComputeResource {
         	jsi.setComputeHostResource(computeResourceResource);
             jsi.save();
         }catch (Exception e){
-            logger.error("Error while saving SSH Job Submission Protocol...", e);
+            logger.error("Error while saving "+jobSubmissionInterface.getJobSubmissionProtocol().toString()+"
Job Submission Protocol...", e);
             throw new AppCatalogException(e);
         }
     }
@@ -332,22 +325,6 @@ public class ComputeResourceImpl implements ComputeResource {
     }
 
     @Override
-    public void addGlobusJobSubmissionProtocol(String computeResourceId, String jobSubmissionId)
throws AppCatalogException {
-//        try {
-//            JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
-//            resource.setResourceID(computeResourceId);
-//            resource.setSubmissionID(jobSubmissionId);
-//            ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
-//            resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
-//            resource.setJobType(JobSubmissionProtocol.GRAM.toString());
-//            resource.save();
-//        }catch (Exception e){
-//            logger.error("Error while saving Globus Job Submission Protocol...", e);
-//            throw new AppCatalogException(e);
-//        }
-    }
-
-    @Override
     public String addScpDataMovement(SCPDataMovement scpDataMovement) throws AppCatalogException
{
         try {
         	scpDataMovement.setDataMovementInterfaceId(AppCatalogUtils.getID("SCP"));
@@ -361,11 +338,8 @@ public class ComputeResourceImpl implements ComputeResource {
     }
 
     @Override
-    public void addScpDataMovementProtocol(String computeResourceId, DataMovementInterface
dataMovementInterface) throws AppCatalogException {
+    public void addDataMovementProtocol(String computeResourceId, DataMovementInterface dataMovementInterface)
throws AppCatalogException {
         try {
-        	if (dataMovementInterface.getDataMovementProtocol()!=DataMovementProtocol.SCP){
-        		throw new AppCatalogException("Invalid Data Movement Type "+dataMovementInterface.getDataMovementProtocol().toString());
-        	}
         	DataMovementInterfaceResource dmi = AppCatalogThriftConversion.getDataMovementInterface(dataMovementInterface);
         	dmi.setComputeResourceId(computeResourceId);
         	ComputeResourceResource computeResourceResource = new ComputeResourceResource();
@@ -373,7 +347,7 @@ public class ComputeResourceImpl implements ComputeResource {
         	dmi.setComputeHostResource(computeResourceResource);
         	dmi.save();
         }catch (Exception e){
-            logger.error("Error while saving SCP data movement Protocol...", e);
+            logger.error("Error while saving "+dataMovementInterface.getDataMovementProtocol().toString()+"
data movement Protocol...", e);
             throw new AppCatalogException(e);
         }
     }
@@ -402,22 +376,6 @@ public class ComputeResourceImpl implements ComputeResource {
     }
 
     @Override
-    public void addGridFTPDataMovementProtocol(String computeResourceId, String dataMoveId)
throws AppCatalogException {
-        try {
-            DataMovementProtocolResource resource = new DataMovementProtocolResource();
-            resource.setResourceID(computeResourceId);
-            resource.setDataMoveID(dataMoveId);
-            ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
-            resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
-            resource.setDataMoveType(DataMovementProtocol.GridFTP.toString());
-            resource.save();
-        }catch (Exception e){
-            logger.error("Error while saving GridFTP data movement Protocol...", e);
-            throw new AppCatalogException(e);
-        }
-    }
-
-    @Override
     public ComputeResourceDescription getComputeResource(String resourceId) throws AppCatalogException
{
         try {
             ComputeResourceResource resource = new ComputeResourceResource();
@@ -655,8 +613,8 @@ public class ComputeResourceImpl implements ComputeResource {
 	@Override
 	public String addResourceJobManager(ResourceJobManager resourceJobManager)
 			throws AppCatalogException {
+		resourceJobManager.setResourceJobManagerId(AppCatalogUtils.getID("RJM"));
 		ResourceJobManagerResource resource = AppCatalogThriftConversion.getResourceJobManager(resourceJobManager);
-		resource.setResourceJobManagerId(AppCatalogUtils.getID("RJM"));
 		resource.save();
 		Map<JobManagerCommand, String> jobManagerCommands = resourceJobManager.getJobManagerCommands();
 		for (JobManagerCommand commandType : jobManagerCommands.keySet()) {
@@ -673,6 +631,7 @@ public class ComputeResourceImpl implements ComputeResource {
 	public String addLocalJobSubmission(LOCALSubmission localSubmission)
 			throws AppCatalogException {
 		localSubmission.setJobSubmissionInterfaceId(AppCatalogUtils.getID("LOCAL"));
+		addResourceJobManager(localSubmission.getResourceJobManager());
 		LocalSubmissionResource localJobSubmission = AppCatalogThriftConversion.getLocalJobSubmission(localSubmission);
     	localJobSubmission.save();
     	return localJobSubmission.getJobSubmissionInterfaceId();

http://git-wip-us.apache.org/repos/asf/airavata/blob/2909ae96/modules/registry/jpa-gen/src/main/java/generators/JPAClassGenerator.java
----------------------------------------------------------------------
diff --git a/modules/registry/jpa-gen/src/main/java/generators/JPAClassGenerator.java b/modules/registry/jpa-gen/src/main/java/generators/JPAClassGenerator.java
index f1ee028..0fd5e74 100644
--- a/modules/registry/jpa-gen/src/main/java/generators/JPAClassGenerator.java
+++ b/modules/registry/jpa-gen/src/main/java/generators/JPAClassGenerator.java
@@ -171,9 +171,15 @@ public class JPAClassGenerator extends AbstractGenerator{
 		}
 		classStr=addLines(classStr,columnFields.toArray(new String[]{}));
 		String constructorParametersString=commaSeperatedString(parameterList,", ");
-		constructorMethod=addLines(tabs(1)+"public "+model.className+"("+constructorParametersString+"){",constructorMethod);
+		constructorMethod=addLines(tabs(1), tabs(1)+"public "+model.className+"("+constructorParametersString+"){",constructorMethod);
 		constructorMethod=addLines(constructorMethod, tabs(1)+"}");
+		String emptyConstructorMethod=null;
+		emptyConstructorMethod=addLines(tabs(1),tabs(1)+"public "+model.className+"(){",tabs(1)+"}");
+		
+		classStr=addLines(classStr,emptyConstructorMethod);
 		classStr=addLines(classStr,constructorMethod);
+		
+
 
 
 		classStr=addLines(classStr,tabs(1));


Mime
View raw message