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()); }
