You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2014/11/14 23:04:07 UTC
airavata git commit: Merging changes from safekeeping branch to master
Repository: airavata
Updated Branches:
refs/heads/master aee6aad8e -> 6d7890d4c
Merging changes from safekeeping branch to master
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/6d7890d4
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/6d7890d4
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/6d7890d4
Branch: refs/heads/master
Commit: 6d7890d4cf93764046f2aaf8c0fa9b2b5439acbd
Parents: aee6aad
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Fri Nov 14 17:03:54 2014 -0500
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Fri Nov 14 17:03:54 2014 -0500
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 11 +++-
.../data/impl/ApplicationInterfaceImpl.java | 63 +++++++++++++-------
.../resources/AppModuleMappingResource.java | 29 ++++++++-
.../resources/ApplicationInputResource.java | 6 +-
.../resources/ApplicationOutputResource.java | 31 +++++-----
.../app/catalog/test/AppInterfaceTest.java | 15 ++++-
.../airavata/gfac/monitor/HPCMonitorID.java | 2 +-
.../apache/airavata/gsi/ssh/util/SSHUtils.java | 4 +-
8 files changed, 112 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/6d7890d4/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 76a6d2d..c98850f 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -1425,7 +1425,16 @@ public class AiravataServerHandler implements Airavata.Iface {
*/
@Override
public List<ApplicationDeploymentDescription> getAllApplicationDeployments() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
- return null;
+ try {
+ appCatalog = AppCatalogFactory.getAppCatalog();
+ return appCatalog.getApplicationDeployment().getAllApplicationDeployements();
+ } catch (AppCatalogException e) {
+ logger.error("Error while retrieving application deployments...", e);
+ AiravataSystemException exception = new AiravataSystemException();
+ exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+ exception.setMessage("Error while retrieving application deployments. More info : " + e.getMessage());
+ throw exception;
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/airavata/blob/6d7890d4/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
index 5c3db08..d430ebe 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
@@ -162,36 +162,52 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
public void updateApplicationInterface(String interfaceId, ApplicationInterfaceDescription updatedInterface) throws AppCatalogException {
try {
AppInterfaceResource resource = new AppInterfaceResource();
- AppInterfaceResource existingInterface = (AppInterfaceResource)resource.get(interfaceId);
+ AppInterfaceResource existingInterface = (AppInterfaceResource) resource.get(interfaceId);
existingInterface.setAppName(updatedInterface.getApplicationName());
+ existingInterface.setAppDescription(updatedInterface.getApplicationDescription());
existingInterface.save();
+ // remove existing modules before adding
+ Map<String, String> ids = new HashMap<String, String>();
+ ids.put(AbstractResource.AppModuleMappingConstants.INTERFACE_ID, interfaceId);
+ AppModuleMappingResource moduleMappingResource = new AppModuleMappingResource();
+ moduleMappingResource.remove(ids);
List<String> applicationModules = updatedInterface.getApplicationModules();
- if (applicationModules != null && !applicationModules.isEmpty()){
- for (String moduleId : applicationModules){
+ if (applicationModules != null && !applicationModules.isEmpty()) {
+ for (String moduleId : applicationModules) {
AppModuleResource appModuleResource = new AppModuleResource();
- AppModuleMappingResource moduleMappingResource = new AppModuleMappingResource();
- Map<String, String> ids = new HashMap<String, String>();
+ moduleMappingResource = new AppModuleMappingResource();
+ ids = new HashMap<String, String>();
ids.put(AbstractResource.AppModuleMappingConstants.MODULE_ID, moduleId);
ids.put(AbstractResource.AppModuleMappingConstants.INTERFACE_ID, interfaceId);
- AppModuleMappingResource existingMapping = (AppModuleMappingResource)moduleMappingResource.get(ids);
+ AppModuleMappingResource existingMapping;
+ if (!moduleMappingResource.isExists(ids)) {
+ existingMapping = new AppModuleMappingResource();
+ } else {
+ existingMapping = (AppModuleMappingResource) moduleMappingResource.get(ids);
+ }
existingMapping.setInterfaceId(interfaceId);
existingMapping.setModuleId(moduleId);
- existingMapping.setModuleResource((AppModuleResource)appModuleResource.get(moduleId));
+ existingMapping.setModuleResource((AppModuleResource) appModuleResource.get(moduleId));
existingMapping.setAppInterfaceResource(existingInterface);
existingMapping.save();
}
}
+ // remove existing application inputs
+ ApplicationInputResource inputResource = new ApplicationInputResource();
+ ids = new HashMap<String, String>();
+ ids.put(AbstractResource.AppInputConstants.INTERFACE_ID, interfaceId);
+ inputResource.remove(ids);
List<InputDataObjectType> applicationInputs = updatedInterface.getApplicationInputs();
- if (applicationInputs != null && !applicationInputs.isEmpty()){
- for (InputDataObjectType input : applicationInputs){
- ApplicationInputResource inputResource = new ApplicationInputResource();
- Map<String, String> ids = new HashMap<String, String>();
+ if (applicationInputs != null && !applicationInputs.isEmpty()) {
+ for (InputDataObjectType input : applicationInputs) {
+ inputResource = new ApplicationInputResource();
+ ids = new HashMap<String, String>();
ids.put(AbstractResource.AppInputConstants.INTERFACE_ID, interfaceId);
ids.put(AbstractResource.AppInputConstants.INPUT_KEY, input.getName());
- if (inputResource.isExists(ids)){
- inputResource = (ApplicationInputResource)inputResource.get(ids);
+ if (inputResource.isExists(ids)) {
+ inputResource = (ApplicationInputResource) inputResource.get(ids);
}
inputResource.setAppInterfaceResource(existingInterface);
inputResource.setInterfaceID(interfaceId);
@@ -206,15 +222,20 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
}
}
+ // remove existing app outputs before adding
+ ApplicationOutputResource outputResource = new ApplicationOutputResource();
+ ids = new HashMap<String, String>();
+ ids.put(AbstractResource.AppOutputConstants.INTERFACE_ID, interfaceId);
+ outputResource.remove(ids);
List<OutputDataObjectType> applicationOutputs = updatedInterface.getApplicationOutputs();
- if (applicationOutputs != null && !applicationOutputs.isEmpty()){
- for (OutputDataObjectType output : applicationOutputs){
- ApplicationOutputResource outputResource = new ApplicationOutputResource();
- Map<String, String> ids = new HashMap<String, String>();
+ if (applicationOutputs != null && !applicationOutputs.isEmpty()) {
+ for (OutputDataObjectType output : applicationOutputs) {
+ outputResource = new ApplicationOutputResource();
+ ids = new HashMap<String, String>();
ids.put(AbstractResource.AppOutputConstants.INTERFACE_ID, interfaceId);
ids.put(AbstractResource.AppOutputConstants.OUTPUT_KEY, output.getName());
- if (outputResource.isExists(ids)){
- outputResource = (ApplicationOutputResource)outputResource.get(ids);
+ if (outputResource.isExists(ids)) {
+ outputResource = (ApplicationOutputResource) outputResource.get(ids);
}
outputResource.setInterfaceID(interfaceId);
outputResource.setAppInterfaceResource(existingInterface);
@@ -224,8 +245,8 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
outputResource.save();
}
}
- }catch (Exception e) {
- logger.error("Error while updating application interface "+interfaceId, e);
+ } catch (Exception e) {
+ logger.error("Error while updating application interface " + interfaceId, e);
throw new AppCatalogException(e);
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/6d7890d4/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java
index 2b904ad..a44229d 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java
@@ -95,7 +95,32 @@ public class AppModuleMappingResource extends AbstractResource {
em.getTransaction().begin();
AppCatalogQueryGenerator generator= new AppCatalogQueryGenerator(APP_MODULE_MAPPING);
generator.setParameter(AppModuleMappingConstants.INTERFACE_ID, ids.get(AppModuleMappingConstants.INTERFACE_ID));
- generator.setParameter(AppModuleMappingConstants.MODULE_ID, ids.get(AppModuleMappingConstants.MODULE_ID));
+ if (ids.get(AppModuleMappingConstants.MODULE_ID) != null){
+ generator.setParameter(AppModuleMappingConstants.MODULE_ID, ids.get(AppModuleMappingConstants.MODULE_ID));
+ }
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ em.close();
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new AppCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public void removeAll() throws AppCatalogException {
+ EntityManager em = null;
+ try {
+ em = AppCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ AppCatalogQueryGenerator generator= new AppCatalogQueryGenerator(APP_MODULE_MAPPING);
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
@@ -289,4 +314,4 @@ public class AppModuleMappingResource extends AbstractResource {
}
}
}
-}
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/6d7890d4/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
index 764ddd8..6894ff1 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
@@ -67,7 +67,9 @@ public class ApplicationInputResource extends AbstractResource {
em.getTransaction().begin();
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(APPLICATION_INPUT);
generator.setParameter(AppInputConstants.INTERFACE_ID, ids.get(AppInputConstants.INTERFACE_ID));
- generator.setParameter(AppInputConstants.INPUT_KEY, ids.get(AppInputConstants.INPUT_KEY));
+ if (ids.get(AppInputConstants.INPUT_KEY) != null){
+ generator.setParameter(AppInputConstants.INPUT_KEY, ids.get(AppInputConstants.INPUT_KEY));
+ }
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
@@ -277,9 +279,9 @@ public class ApplicationInputResource extends AbstractResource {
} else {
applicationInput=existingApplicationInput;
}
- applicationInput.setInterfaceID(interfaceID);
ApplicationInterface applicationInterface = em.find(ApplicationInterface.class, interfaceID);
applicationInput.setApplicationInterface(applicationInterface);
+ applicationInput.setInterfaceID(applicationInterface.getInterfaceID());
applicationInput.setDataType(dataType);
applicationInput.setInputKey(inputKey);
applicationInput.setInputVal(inputVal);
http://git-wip-us.apache.org/repos/asf/airavata/blob/6d7890d4/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
index e709fb2..ea0f52b 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
@@ -62,7 +62,9 @@ public class ApplicationOutputResource extends AbstractResource {
em.getTransaction().begin();
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(APPLICATION_OUTPUT);
generator.setParameter(AppOutputConstants.INTERFACE_ID, ids.get(AppOutputConstants.INTERFACE_ID));
- generator.setParameter(AppOutputConstants.OUTPUT_KEY, ids.get(AppOutputConstants.OUTPUT_KEY));
+ if (ids.get(AppOutputConstants.OUTPUT_KEY) != null){
+ generator.setParameter(AppOutputConstants.OUTPUT_KEY, ids.get(AppOutputConstants.OUTPUT_KEY));
+ }
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
@@ -267,26 +269,21 @@ public class ApplicationOutputResource extends AbstractResource {
new AppOutput_PK(interfaceID, outputKey));
em.close();
+ ApplicationOutput applicationOutput;
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
- if (existingApplicationOutput != null) {
- existingApplicationOutput.setInterfaceID(interfaceID);
- ApplicationInterface applicationInterface = em.find(ApplicationInterface.class, interfaceID);
- existingApplicationOutput.setApplicationInterface(applicationInterface);
- existingApplicationOutput.setDataType(dataType);
- existingApplicationOutput.setOutputKey(outputKey);
- existingApplicationOutput.setOutputVal(outputVal);
- em.merge(existingApplicationOutput);
+ if (existingApplicationOutput == null) {
+ applicationOutput = new ApplicationOutput();
} else {
- ApplicationOutput applicationOutput = new ApplicationOutput();
- applicationOutput.setInterfaceID(interfaceID);
- ApplicationInterface applicationInterface = em.find(ApplicationInterface.class, interfaceID);
- applicationOutput.setApplicationInterface(applicationInterface);
- applicationOutput.setDataType(dataType);
- applicationOutput.setOutputKey(outputKey);
- applicationOutput.setOutputVal(outputVal);
- em.persist(applicationOutput);
+ applicationOutput = existingApplicationOutput;
}
+ ApplicationInterface applicationInterface = em.find(ApplicationInterface.class, interfaceID);
+ applicationOutput.setApplicationInterface(applicationInterface);
+ applicationOutput.setInterfaceID(applicationInterface.getInterfaceID());
+ applicationOutput.setDataType(dataType);
+ applicationOutput.setOutputKey(outputKey);
+ applicationOutput.setOutputVal(outputVal);
+ em.merge(applicationOutput);
em.getTransaction().commit();
em.close();
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/6d7890d4/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java
index de31870..1a1dbd3 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java
@@ -97,8 +97,17 @@ public class AppInterfaceTest {
ApplicationInterfaceDescription ainterface = null;
if (appInterface.isApplicationInterfaceExists(appID)){
ainterface = appInterface.getApplicationInterface(appID);
- System.out.println("********** application name ************* : " + ainterface.getApplicationName());
- System.out.println("********** application description ************* : " + ainterface.getApplicationDescription());
+ OutputDataObjectType output3 = createAppOutput("output3", "", DataType.STRING);
+ OutputDataObjectType output4 = createAppOutput("output4", "", DataType.STRING);
+ outputs.add(output3);
+ outputs.add(output4);
+ ainterface.setApplicationOutputs(outputs);
+ appInterface.updateApplicationInterface(appID, ainterface);
+ ApplicationInterfaceDescription updateApp = appInterface.getApplicationInterface(appID);
+ List<OutputDataObjectType> appOutputs = updateApp.getApplicationOutputs();
+ System.out.println("********** application name ************* : " + updateApp.getApplicationName());
+ System.out.println("********** application description ************* : " + updateApp.getApplicationDescription());
+ System.out.println("********** output size ************* : " + appOutputs.size());
}
ApplicationModule wrfModule = appInterface.getApplicationModule(wrfModuleId);
System.out.println("********** WRF module name ************* : " + wrfModule.getAppModuleName());
@@ -170,4 +179,4 @@ public class AppInterfaceTest {
outputDataObjectType.setType(type);
return outputDataObjectType;
}
-}
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/6d7890d4/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/gfac/monitor/HPCMonitorID.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/gfac/monitor/HPCMonitorID.java b/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/gfac/monitor/HPCMonitorID.java
index 7ba5b6b..ae463a7 100644
--- a/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/gfac/monitor/HPCMonitorID.java
+++ b/modules/gfac/gfac-monitor/src/main/java/org/apache/airavata/gfac/monitor/HPCMonitorID.java
@@ -76,7 +76,7 @@ public class HPCMonitorID extends MonitorID {
}
}
} catch (GFacException e) {
- e.printStackTrace();
+ logger.error("Error while getting security context", e);
}
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/6d7890d4/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/util/SSHUtils.java
----------------------------------------------------------------------
diff --git a/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/util/SSHUtils.java b/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/util/SSHUtils.java
index 1fdaa1f..bef2cc7 100644
--- a/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/util/SSHUtils.java
+++ b/tools/gsissh/src/main/java/org/apache/airavata/gsi/ssh/util/SSHUtils.java
@@ -155,7 +155,7 @@ public class SSHUtils {
File _lfile = new File(lFile);
if (ptimestamp) {
- command = "T " + (_lfile.lastModified() / 1000) + " 0";
+ command = "T" + (_lfile.lastModified() / 1000) + " 0";
// The access time should be sent here,
// but it is not accessible with JavaAPI ;-<
command += (" " + (_lfile.lastModified() / 1000) + " 0\n");
@@ -259,7 +259,7 @@ public class SSHUtils {
File _lfile = new File(localFile);
if (ptimestamp) {
- command = "T " + (_lfile.lastModified() / 1000) + " 0";
+ command = "T" + (_lfile.lastModified() / 1000) + " 0";
// The access time should be sent here,
// but it is not accessible with JavaAPI ;-<
command += (" " + (_lfile.lastModified() / 1000) + " 0\n");