You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2013/03/31 19:31:12 UTC

svn commit: r1463010 - in /airavata/trunk/modules: registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ regi...

Author: samindaw
Date: Sun Mar 31 17:31:11 2013
New Revision: 1463010

URL: http://svn.apache.org/r1463010
Log:
setting ec2 type for host descriptor, remove application descriptors when deleting service/host descriptors

Modified:
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java
    airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java
    airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/HostDescriptionDialog.java

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java?rev=1463010&r1=1463009&r2=1463010&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java Sun Mar 31 17:31:11 2013
@@ -454,10 +454,18 @@ public class AiravataJPARegistry extends
                 throw new DescriptorDoesNotExistsException(hostName);
             }
             gateway.removeHostDescriptor(hostName);
+            try {
+                //we need to delete the application descriptors bound to this host
+				Map<String, ApplicationDescription> applicationDescriptors = getApplicationDescriptorsFromHostName(hostName);
+				for (String serviceName : applicationDescriptors.keySet()) {
+					removeApplicationDescriptor(serviceName, hostName, applicationDescriptors.get(serviceName).getType().getApplicationName().getStringValue());
+				}
+			} catch (Exception e) {
+				logger.error("Error while removing application descriptors bound to host "+hostName, e);
+			}
         }
     }
 
-
 	@Override
 	public List<HostDescription> getHostDescriptors()
 			throws MalformedDescriptorException, RegistryException {
@@ -552,6 +560,15 @@ public class AiravataJPARegistry extends
                 throw new DescriptorDoesNotExistsException(serviceName);
             }
             gateway.removeServiceDescriptor(serviceName);
+            try {
+				//we need to delete the application descriptors bound to this service
+				Map<String, ApplicationDescription> applicationDescriptors = getApplicationDescriptors(serviceName);
+				for (String hostName : applicationDescriptors.keySet()) {
+					removeApplicationDescriptor(serviceName, hostName, applicationDescriptors.get(hostName).getType().getApplicationName().getStringValue());
+				}
+			} catch (Exception e) {
+				logger.error("Error while removing application descriptors bound to service "+serviceName, e);
+			}
         }
     }
 
@@ -704,6 +721,16 @@ public class AiravataJPARegistry extends
 		return map;
     }
 
+    private Map<String,ApplicationDescription> getApplicationDescriptorsFromHostName(String hostName)throws RegistryException {
+        GatewayResource gateway = jpa.getGateway();
+		Map<String, ApplicationDescription> map=new HashMap<String,ApplicationDescription>();
+		List<ApplicationDescriptorResource> applicationDescriptorResources = gateway.getApplicationDescriptorResources(null, hostName);
+		for (ApplicationDescriptorResource resource : applicationDescriptorResources) {
+			map.put(resource.getServiceDescName(),createApplicationDescriptor(resource));
+		}
+		return map;
+    }
+    
     public Map<String[],ApplicationDescription> getApplicationDescriptors()throws MalformedDescriptorException, RegistryException{
         if (descriptorRegistry != null){
             return descriptorRegistry.getApplicationDescriptors();

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java?rev=1463010&r1=1463009&r2=1463010&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java Sun Mar 31 17:31:11 2013
@@ -642,13 +642,18 @@ public class GatewayResource extends Abs
         EntityManager em = ResourceUtils.getEntityManager();
         em.getTransaction().begin();
         String qString = "SELECT p FROM Application_Descriptor p WHERE " +
-                "p.gateway_name =:gate_name and p.service_descriptor_ID =:service_name";
+                "p.gateway_name =:gate_name";
         if (hostName!=null){
         	qString+=" and p.host_descriptor_ID =:host_name";
         }
+        if (serviceName!=null){
+        	qString+=" and p.service_descriptor_ID =:service_name";
+        }
 		Query q = em.createQuery(qString);
         q.setParameter("gate_name", gatewayName);
-        q.setParameter("service_name", serviceName);
+        if (serviceName!=null){
+        	q.setParameter("service_name", serviceName);
+        }
         if (hostName!=null){
         	q.setParameter("host_name",hostName);
         }

Modified: airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java?rev=1463010&r1=1463009&r2=1463010&view=diff
==============================================================================
--- airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java (original)
+++ airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java Sun Mar 31 17:31:11 2013
@@ -65,6 +65,7 @@ public interface DescriptorRegistry exte
 	public ApplicationDescription getApplicationDescriptor(String serviceName, String hostname, String applicationName)throws DescriptorDoesNotExistsException, MalformedDescriptorException, RegistryException;
 	public ApplicationDescription getApplicationDescriptors(String serviceName, String hostname)throws MalformedDescriptorException, RegistryException;
 	public Map<String,ApplicationDescription> getApplicationDescriptors(String serviceName)throws MalformedDescriptorException, RegistryException;
+	//public Map<String,ApplicationDescription> getApplicationDescriptorsFromHostName(String hostName)throws MalformedDescriptorException, RegistryException;
 	public Map<String[],ApplicationDescription> getApplicationDescriptors()throws MalformedDescriptorException, RegistryException;
 	public void removeApplicationDescriptor(String serviceName, String hostName, String applicationName)throws DescriptorDoesNotExistsException, RegistryException;
 	public ResourceMetadata getApplicationDescriptorMetadata(String serviceName, String hostName, String applicationName)throws DescriptorDoesNotExistsException, RegistryException;

Modified: airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/HostDescriptionDialog.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/HostDescriptionDialog.java?rev=1463010&r1=1463009&r2=1463010&view=diff
==============================================================================
--- airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/HostDescriptionDialog.java (original)
+++ airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/descriptors/HostDescriptionDialog.java Sun Mar 31 17:31:11 2013
@@ -160,7 +160,6 @@ public class HostDescriptionDialog exten
         }else if (host instanceof UnicoreHostType){
         	((UnicoreHostType)hostDescription.getType()).addUnicoreHostAddress(this.gateKeeperTextField.getText());
             ((UnicoreHostType)hostDescription.getType()).addGridFTPEndPoint(this.gridFTPTextField.getText());
-
         }
         saveHostDescription();
         close();
@@ -449,15 +448,16 @@ public class HostDescriptionDialog exten
 			}else if (selectedProtocol.equals(REMOTE_PROTOCOL_STR_SSH)){
 				getHostDescription().getType().changeType(SSHHostType.type);
 				infoPanel2.add(createPanelWithMessage("No configurations needed."));
-			}
-			else if (selectedProtocol.equals(REMOTE_PROTOCOL_STR_GLOBUS)){
+			}else if (selectedProtocol.equals(REMOTE_PROTOCOL_STR_GLOBUS)){
 				getHostDescription().getType().changeType(GlobusHostType.type);
 				infoPanel2.add(createGlobusRemoteProtocolPanel());
 			}else if (selectedProtocol.equals(REMOTE_PROTOCOL_STR_UNICORE)){
 				getHostDescription().getType().changeType(UnicoreHostType.type);
 				infoPanel2.add(createUnicoreRemoteProtocolPanel());
-			}
-			else{
+			}else if (selectedProtocol.equals(REMOTE_PROTOCOL_STR_AMAZON_EC2)){
+				getHostDescription().getType().changeType(Ec2HostType.type);
+				infoPanel2.add(createPanelWithMessage("No configurations needed."));
+			}else{
 				infoPanel2.add(createPanelWithMessage("Not supported."));
 			}
 			infoPanel2.getContentPanel().setBorder(BorderFactory.createEtchedBorder());