You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2012/09/10 19:24:07 UTC
svn commit: r1382992 - in /incubator/airavata/trunk/modules: airavata-client/
airavata-client/src/test/java/org/apache/airavata/client/airavata/
commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/
commons/utils/src/main/java/org/a...
Author: lahiru
Date: Mon Sep 10 17:24:06 2012
New Revision: 1382992
URL: http://svn.apache.org/viewvc?rev=1382992&view=rev
Log:
fixing https://issues.apache.org/jira/browse/AIRAVATA-566 and more changes to use new registyr-api
Modified:
incubator/airavata/trunk/modules/airavata-client/pom.xml
incubator/airavata/trunk/modules/airavata-client/src/test/java/org/apache/airavata/client/airavata/AiravataClientTest.java
incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/RegistryUtils.java
incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java
incubator/airavata/trunk/modules/distribution/src/main/resources/conf/repository.properties
incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
Modified: incubator/airavata/trunk/modules/airavata-client/pom.xml
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/pom.xml?rev=1382992&r1=1382991&r2=1382992&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/pom.xml (original)
+++ incubator/airavata/trunk/modules/airavata-client/pom.xml Mon Sep 10 17:24:06 2012
@@ -47,6 +47,11 @@
<artifactId>airavata-xbaya-gui</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-jpa-registry</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
</project>
Modified: incubator/airavata/trunk/modules/airavata-client/src/test/java/org/apache/airavata/client/airavata/AiravataClientTest.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/src/test/java/org/apache/airavata/client/airavata/AiravataClientTest.java?rev=1382992&r1=1382991&r2=1382992&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/src/test/java/org/apache/airavata/client/airavata/AiravataClientTest.java (original)
+++ incubator/airavata/trunk/modules/airavata-client/src/test/java/org/apache/airavata/client/airavata/AiravataClientTest.java Mon Sep 10 17:24:06 2012
@@ -21,11 +21,21 @@
package org.apache.airavata.client.airavata;
import org.apache.airavata.common.registry.api.exception.RegistryException;
+import org.apache.airavata.common.registry.api.impl.JCRRegistry;
import org.apache.airavata.xbaya.interpretor.NameValue;
+import org.apache.jackrabbit.core.RepositoryCopier;
+import org.apache.jackrabbit.core.config.RepositoryConfig;
import org.junit.Test;
-import java.io.IOException;
+import javax.jcr.ImportUUIDBehavior;
+import javax.jcr.Node;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import java.io.*;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.Calendar;
+import java.util.HashMap;
import java.util.List;
import java.util.UUID;
@@ -51,4 +61,54 @@ public class AiravataClientTest {
// e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
// }
}
+
+ @Test
+ public void testExperimentDeletion() {
+ URI uri1 = null,uri2 = null;
+ try {
+ uri1 = new URI("http://gw56.quarry.iu.teragrid.org:8090/jackrabbit-webapp-2.4.0/rmi");
+ uri2 = new URI("http://gf7.ucs.indiana.edu:8030/jackrabbit/rmi");
+ } catch (URISyntaxException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ HashMap<String, String> map = new HashMap<String, String>();
+ map.put("org.apache.jackrabbit.repository.uri", "http://gf7.ucs.indiana.edu:8030/jackrabbit/rmi");
+ try {
+ JCRRegistry jcrRegistry1 = new JCRRegistry(
+ uri1,
+ "org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory",
+ "admin",
+ "admin", map);
+ Session session = jcrRegistry1.getSession();
+// session.importXML("/SERVICE_HOST",export, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING);
+ javax.jcr.Node serviceHost = jcrRegistry1.getOrAddNode(jcrRegistry1.getRootNode(session), "experiments");
+ serviceHost.remove();
+ session.save();
+// javax.jcr.Node appHost = jcrRegistry1.getOrAddNode(jcrRegistry1.getRootNode(session), "APP_HOST");
+// javax.jcr.Node workflows = jcrRegistry1.getOrAddNode(jcrRegistry1.getRootNode(session), "WORKFLOWS");
+//
+// HashMap<String, String> map2 = new HashMap<String, String>();
+// map2.put("org.apache.jackrabbit.repository.uri", "http://gf7.ucs.indiana.edu:8030/jackrabbit/rmi");
+// JCRRegistry jcrRegistry2 = new JCRRegistry(
+// uri2,
+// "org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory",
+// "admin",
+// "admin", map2);
+// Session session2 = jcrRegistry2.getSession();
+//
+// RepositoryCopier.copy(session.getRepository(),jcrRegistry2.getRepository());
+// Node service_host = jcrRegistry2.getOrAddNode(jcrRegistry2.getRootNode(session2), "SERVICE_HOST");
+// service_host = serviceHost;
+// session2.save();
+//
+
+ } catch (RepositoryException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ } catch (RegistryException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ }
+
+
+
}
Modified: incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/RegistryUtils.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/RegistryUtils.java?rev=1382992&r1=1382991&r2=1382992&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/RegistryUtils.java (original)
+++ incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/RegistryUtils.java Mon Sep 10 17:24:06 2012
@@ -34,13 +34,9 @@ import org.apache.airavata.registry.api.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jcr.Repository;
-import javax.jcr.RepositoryException;
import java.io.IOException;
import java.net.*;
import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import java.util.Properties;
public class RegistryUtils {
@@ -50,7 +46,6 @@ public class RegistryUtils {
public static final String REGISTRY_USER = "registry.user";
- public static final String REPOSITORY_PROPERTIES = "repository.properties";
public static String validateAxisService(String urlString)throws RegistryException {
if(!urlString.endsWith("?wsdl")){
Modified: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java?rev=1382992&r1=1382991&r2=1382992&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java (original)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java Mon Sep 10 17:24:06 2012
@@ -22,6 +22,7 @@
package org.apache.airavata.common.utils;
import java.io.IOException;
+import java.net.MalformedURLException;
import java.net.SocketException;
import java.net.URL;
import java.util.HashMap;
@@ -31,33 +32,55 @@ import java.util.Properties;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.description.TransportInDescription;
import org.apache.axis2.util.Utils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ServiceUtils {
+ private static final Logger log = LoggerFactory.getLogger(ServiceUtils.class);
private static final String REPOSITORY_PROPERTIES = "repository.properties";
+ public static final String IP = "ip";
+ public static final String PORT = "port";
public static String generateServiceURLFromConfigurationContext(
- ConfigurationContext configctx, String serviceName) throws IOException,
- SocketException {
- URL propurl = ServiceUtils.class.getClassLoader()
+ ConfigurationContext context, String serviceName) throws IOException {
+ URL url = ServiceUtils.class.getClassLoader()
.getResource(REPOSITORY_PROPERTIES);
- Properties propFile = new Properties();
- propFile.load(propurl.openStream());
- Map<String, String> map = new HashMap<String, String>((Map) propFile);
- String localAddress = Utils.getIpAddress(configctx
- .getAxisConfiguration());
- TransportInDescription transportInDescription = configctx
- .getAxisConfiguration().getTransportsIn().get("http");
- String port;
- if (transportInDescription != null
- && transportInDescription.getParameter("port") != null) {
- port = (String) transportInDescription.getParameter("port")
- .getValue();
- } else {
- port = map.get("port");
- }
- localAddress = "http://" + localAddress + ":" + port;
- localAddress = localAddress + "/" + configctx.getContextRoot() + "/"
- + configctx.getServicePath() + "/" + serviceName;
- return localAddress;
+ String localAddress = null;
+ String port = null;
+ Properties properties = new Properties();
+ try {
+ properties.load(url.openStream());
+ localAddress = (String) properties.get(IP);
+ port = (String) properties.get(PORT);
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ if(localAddress == null){
+ try {
+ localAddress = Utils.getIpAddress(context
+ .getAxisConfiguration());
+ } catch (SocketException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ }
+ TransportInDescription transportInDescription = context
+ .getAxisConfiguration().getTransportsIn()
+ .get("http");
+ if (port == null) {
+ if (transportInDescription != null
+ && transportInDescription.getParameter("port") != null) {
+ port = (String) transportInDescription
+ .getParameter("port").getValue();
+ }
+ }
+ localAddress = "http://" + localAddress + ":" + port;
+ localAddress = localAddress + "/"
+ + context.getContextRoot() + "/"
+ + context.getServicePath() + "/"
+ + serviceName;
+ log.debug("Service Address Configured:" + localAddress);
+ return localAddress;
}
}
Modified: incubator/airavata/trunk/modules/distribution/src/main/resources/conf/repository.properties
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/distribution/src/main/resources/conf/repository.properties?rev=1382992&r1=1382991&r2=1382992&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/distribution/src/main/resources/conf/repository.properties (original)
+++ incubator/airavata/trunk/modules/distribution/src/main/resources/conf/repository.properties Mon Sep 10 17:24:06 2012
@@ -73,9 +73,11 @@ myproxy.pass=password
myproxy.life=3600
#Port details will be used by gfac-axis2 when deployed on tomcat
port=8080
+#ip=192.2.33.12 if you configure the ip we will pick this ip address rather picking it from axisconfiguration
#Registry Configuration
class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
registry.user=airavata
registry.password=ljsfousf
-gateway.id=airavata.gateway
\ No newline at end of file
+gateway.id=airavata.gateway
+
Modified: incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java?rev=1382992&r1=1382991&r2=1382992&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java (original)
+++ incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/GFacService.java Mon Sep 10 17:24:06 2012
@@ -33,6 +33,7 @@ import java.util.Map;
import java.util.Properties;
import org.apache.airavata.common.exception.AiravataConfigurationException;
+import org.apache.airavata.common.utils.ServiceUtils;
import org.apache.airavata.core.gfac.context.GFacConfiguration;
import org.apache.airavata.registry.api.AiravataRegistry2;
import org.apache.airavata.registry.api.AiravataRegistryFactory;
@@ -66,6 +67,9 @@ public class GFacService implements Serv
public static final int JCR_AVAIALABILITY_WAIT_INTERVAL = 1000 * 10;
public static final String REGISTRY_USER = "registry.user";
+
+ public static final String SERVICE_NAME = "GFacService";
+
/*
* Properties for JCR
*/
@@ -136,8 +140,7 @@ public class GFacService implements Serv
e.printStackTrace();
}
registry = RegistryUtils.getRegistryFromConfig(url);
-
- context.setProperty(GFAC_URL,properties.get(GFAC_URL));
+ context.setProperty(GFAC_URL, ServiceUtils.generateServiceURLFromConfigurationContext(context,SERVICE_NAME));
GFacConfiguration gfacConfig = new GFacConfiguration(properties.getProperty(MYPROXY_SERVER),properties.getProperty(MYPROXY_USER),
properties.getProperty(MYPROXY_PASS),Integer.parseInt(properties.getProperty(MYPROXY_LIFE)),registry,properties.getProperty(TRUSTED_CERT_LOCATION));
context.setProperty(GFAC_CONFIGURATION,
Modified: incubator/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/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java?rev=1382992&r1=1382991&r2=1382992&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java Mon Sep 10 17:24:06 2012
@@ -107,6 +107,12 @@ public class AiravataJPARegistry extends
return values;
}
+ @Override
+ public void closeConnection() {
+ //todo close the database connection safely
+
+ }
+
public void setConfiguration(String key, String value, Date expire) {
ConfigurationResource config;
if (ResourceUtils.isConfigurationExist(key)) {