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