fixing problem with aliases, ipaddresses and batchques

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

Branch: refs/heads/gfac_appcatalog_int
Commit: 08fff2ce283af84f51e63f9443a982cc9c94852a
Parents: 0db9cad
Author: Chathuri Wimalasena <[email protected]>
Authored: Tue Nov 4 13:07:25 2014 -0500
Committer: Chathuri Wimalasena <[email protected]>
Committed: Tue Nov 4 13:07:25 2014 -0500

----------------------------------------------------------------------
 .../catalog/data/impl/ComputeResourceImpl.java   | 11 +++++++++--
 .../data/resources/BatchQueueResource.java       | 10 +---------
 .../data/resources/HostAliasResource.java        | 12 ++----------
 .../data/resources/HostIPAddressResource.java    | 11 +----------
 .../app/catalog/test/ComputeResourceTest.java    | 19 +++++++++++++------
 5 files changed, 26 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/08fff2ce/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 6b9b841..89a292b 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
@@ -118,6 +118,8 @@ public class ComputeResourceImpl implements ComputeResource 
{
                        ComputeResourceResource computeHostResource)
                        throws AppCatalogException {
                List<BatchQueue> batchQueueList = description.getBatchQueues();
+        BatchQueueResource resource = new BatchQueueResource();
+        resource.remove(description.getComputeResourceId());
                if (batchQueueList != null && !batchQueueList.isEmpty()) {
                    for (BatchQueue batchQueue : batchQueueList) {
                        BatchQueueResource bq = 
AppCatalogThriftConversion.getBatchQueue(batchQueue);
@@ -132,6 +134,8 @@ public class ComputeResourceImpl implements ComputeResource 
{
                        ComputeResourceResource computeHostResource)
                        throws AppCatalogException {
                List<String> ipAddresses = description.getIpAddresses();
+        HostIPAddressResource resource = new HostIPAddressResource();
+        resource.remove(description.getComputeResourceId());
                if (ipAddresses != null && !ipAddresses.isEmpty()) {
                    for (String ipAddress : ipAddresses) {
                        HostIPAddressResource ipAddressResource = new 
HostIPAddressResource();
@@ -147,6 +151,9 @@ public class ComputeResourceImpl implements ComputeResource 
{
                        ComputeResourceResource computeHostResource)
                        throws AppCatalogException {
                List<String> hostAliases = description.getHostAliases();
+        // delete previous host aliases
+        HostAliasResource resource = new HostAliasResource();
+        resource.remove(description.getComputeResourceId());
                if (hostAliases != null && !hostAliases.isEmpty()) {
                    for (String alias : hostAliases) {
                        HostAliasResource aliasResource = new 
HostAliasResource();
@@ -732,7 +739,7 @@ public class ComputeResourceImpl implements ComputeResource 
{
                ResourceJobManagerResource resource = 
AppCatalogThriftConversion.getResourceJobManager(resourceJobManager);
                resource.save();
                Map<JobManagerCommand, String> jobManagerCommands = 
resourceJobManager.getJobManagerCommands();
-               if (jobManagerCommands!=null) {
+               if (jobManagerCommands!=null && jobManagerCommands.size() != 0) 
{
                        for (JobManagerCommand commandType : 
jobManagerCommands.keySet()) {
                                JobManagerCommandResource r = new 
JobManagerCommandResource();
                                r.setCommandType(commandType.toString());
@@ -751,7 +758,7 @@ public class ComputeResourceImpl implements ComputeResource 
{
             resource.setResourceJobManagerId(resourceJobManagerId);
             resource.save();
             Map<JobManagerCommand, String> jobManagerCommands = 
updatedResourceJobManager.getJobManagerCommands();
-            if (jobManagerCommands!=null) {
+            if (jobManagerCommands!=null && jobManagerCommands.size() != 0) {
                 for (JobManagerCommand commandType : 
jobManagerCommands.keySet()) {
                     JobManagerCommandResource r = new 
JobManagerCommandResource();
                     Map<String, String> ids = new HashMap<String, String>();

http://git-wip-us.apache.org/repos/asf/airavata/blob/08fff2ce/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java
----------------------------------------------------------------------
diff --git 
a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java
 
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java
index 91cd60f..5df3bd2 100644
--- 
a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java
+++ 
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java
@@ -53,20 +53,12 @@ public class BatchQueueResource extends AbstractResource {
        
        @Override
        public void remove(Object identifier) throws AppCatalogException {
-               HashMap<String, String> ids;
-               if (identifier instanceof Map) {
-                       ids = (HashMap<String, String>) identifier;
-               } else {
-                       logger.error("Identifier should be a map with the field 
name and it's value");
-                       throw new AppCatalogException("Identifier should be a 
map with the field name and it's value");
-               }
                EntityManager em = null;
                try {
                        em = AppCatalogJPAUtils.getEntityManager();
                        em.getTransaction().begin();
                        AppCatalogQueryGenerator generator = new 
AppCatalogQueryGenerator(BATCH_QUEUE);
-                       
generator.setParameter(BatchQueueConstants.COMPUTE_RESOURCE_ID, 
ids.get(BatchQueueConstants.COMPUTE_RESOURCE_ID));
-                       generator.setParameter(BatchQueueConstants.QUEUE_NAME, 
ids.get(BatchQueueConstants.QUEUE_NAME));
+                       
generator.setParameter(BatchQueueConstants.COMPUTE_RESOURCE_ID, identifier);
                        Query q = generator.deleteQuery(em);
                        q.executeUpdate();
                        em.getTransaction().commit();

http://git-wip-us.apache.org/repos/asf/airavata/blob/08fff2ce/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostAliasResource.java
----------------------------------------------------------------------
diff --git 
a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostAliasResource.java
 
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostAliasResource.java
index 5713ed8..f267a72 100644
--- 
a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostAliasResource.java
+++ 
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostAliasResource.java
@@ -43,21 +43,13 @@ public class HostAliasResource extends AbstractResource {
     private ComputeResourceResource computeHostResource;
 
     public void remove(Object identifier) throws AppCatalogException {
-        HashMap<String, String> ids;
-        if (identifier instanceof Map){
-            ids = (HashMap)identifier;
-        }else {
-            logger.error("Identifier should be a map with the field name and 
it's value");
-            throw new AppCatalogException("Identifier should be a map with the 
field name and it's value");
-        }
-
         EntityManager em = null;
         try {
             em = AppCatalogJPAUtils.getEntityManager();
             em.getTransaction().begin();
             AppCatalogQueryGenerator generator= new 
AppCatalogQueryGenerator(HOST_ALIAS);
-            generator.setParameter(HostAliasConstants.RESOURCE_ID, 
ids.get(HostAliasConstants.RESOURCE_ID));
-            generator.setParameter(HostAliasConstants.ALIAS, 
ids.get(HostAliasConstants.ALIAS));
+            generator.setParameter(HostAliasConstants.RESOURCE_ID, 
(String)identifier);
+//            generator.setParameter(HostAliasConstants.ALIAS, 
ids.get(HostAliasConstants.ALIAS));
             Query q = generator.deleteQuery(em);
             q.executeUpdate();
             em.getTransaction().commit();

http://git-wip-us.apache.org/repos/asf/airavata/blob/08fff2ce/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostIPAddressResource.java
----------------------------------------------------------------------
diff --git 
a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostIPAddressResource.java
 
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostIPAddressResource.java
index afafe92..683efec 100644
--- 
a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostIPAddressResource.java
+++ 
b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/HostIPAddressResource.java
@@ -46,21 +46,12 @@ public class HostIPAddressResource extends AbstractResource{
     private ComputeResourceResource computeHostResource;
 
     public void remove(Object identifier) throws AppCatalogException {
-        HashMap<String, String> ids;
-        if (identifier instanceof Map){
-            ids = (HashMap)identifier;
-        }else {
-            logger.error("Identifier should be a map with the field name and 
it's value");
-            throw new AppCatalogException("Identifier should be a map with the 
field name and it's value");
-        }
-
         EntityManager em = null;
         try {
             em = AppCatalogJPAUtils.getEntityManager();
             em.getTransaction().begin();
             AppCatalogQueryGenerator generator= new 
AppCatalogQueryGenerator(HOST_IPADDRESS);
-            generator.setParameter(HostIPAddressConstants.RESOURCE_ID, 
ids.get(HostIPAddressConstants.RESOURCE_ID));
-            generator.setParameter(HostIPAddressConstants.IP_ADDRESS, 
ids.get(HostIPAddressConstants.IP_ADDRESS));
+            generator.setParameter(HostIPAddressConstants.RESOURCE_ID, 
identifier);
             Query q = generator.deleteQuery(em);
             q.executeUpdate();
             em.getTransaction().commit();

http://git-wip-us.apache.org/repos/asf/airavata/blob/08fff2ce/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
----------------------------------------------------------------------
diff --git 
a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
 
b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
index 296478c..3347f08 100644
--- 
a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
+++ 
b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
@@ -73,10 +73,10 @@ public class ComputeResourceTest {
             ipdaresses.add("222.33.43.444");
             ipdaresses.add("23.344.44.454");
             description.setIpAddresses(ipdaresses);
-            List<String> aliases = new ArrayList<String>();
-            aliases.add("test.alias1");
-            aliases.add("test.alias2");
-            description.setHostAliases(aliases);
+//            List<String> aliases = new ArrayList<String>();
+//            aliases.add("test.alias1");
+//            aliases.add("test.alias2");
+//            description.setHostAliases(aliases);
             String sshsubmissionId = addSSHJobSubmission();
             System.out.println("**** SSH Submission id ****** :" + 
sshsubmissionId);
 //            String gsiSSHsubmissionId = addGSISSHJobSubmission();
@@ -144,10 +144,17 @@ public class ComputeResourceTest {
             if (computeResource.isComputeResourceExists(resourceId)){
                 host = computeResource.getComputeResource(resourceId);
                 List<String> hostAliases = host.getHostAliases();
-                for (String alias : hostAliases){
+                if (hostAliases != null && !hostAliases.isEmpty()){
+                    for (String alias : hostAliases){
+                        System.out.println("%%%%%%%%%%%%%%%% alias value :  
%%%%%%%%%%%%%%%%%%% : " + alias);
+                    }
+                }
+                host.addToHostAliases("abc");
+                computeResource.updateComputeResource(resourceId, host);
+                List<String> hostAliases1 = 
computeResource.getComputeResource(resourceId).getHostAliases();
+                for (String alias : hostAliases1){
                     System.out.println("%%%%%%%%%%%%%%%% alias value :  
%%%%%%%%%%%%%%%%%%% : " + alias);
                 }
-
                 System.out.println("**********Resource name ************* : " 
+  host.getHostName());
             }
 

Reply via email to