You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by pa...@apache.org on 2011/08/23 02:00:09 UTC

svn commit: r1160506 - in /incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac: external/GridFtp.java factory/PropertyServiceFactory.java services/impl/PropertiesBasedServiceImpl.java

Author: patanachai
Date: Tue Aug 23 00:00:08 2011
New Revision: 1160506

URL: http://svn.apache.org/viewvc?rev=1160506&view=rev
Log:
Make a loading registry service from registry as an optional parameter in property file. Invoker can set it as parameter in invocation context.

Modified:
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java
    incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java?rev=1160506&r1=1160505&r2=1160506&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/external/GridFtp.java Tue Aug 23 00:00:08 2011
@@ -122,8 +122,7 @@ public class GridFtp {
 
             System.out.println("the remote file is " + remoteFile);
 
-            ftpClient.put(remoteFile, new DataSourceStream(io), new MarkerListener() {                
-                @Override
+            ftpClient.put(remoteFile, new DataSourceStream(io), new MarkerListener() {
                 public void markerArrived(Marker marker) {
                 }
             });

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java?rev=1160506&r1=1160505&r2=1160506&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/factory/PropertyServiceFactory.java Tue Aug 23 00:00:08 2011
@@ -21,16 +21,30 @@
 
 package org.apache.airavata.core.gfac.factory;
 
+import java.util.Properties;
+
 import org.apache.airavata.core.gfac.services.GenericService;
 import org.apache.airavata.core.gfac.services.impl.PropertiesBasedServiceImpl;
 
 public class PropertyServiceFactory extends AbstractServiceFactory {
 
     private GenericService service;
+    private Properties properties;
 
+    public PropertyServiceFactory(){        
+    }
+    
+    public PropertyServiceFactory(Properties prop){
+        this.properties = prop;
+    }
+    
     public GenericService getGenericService() {
         if (service == null) {
-            service = new PropertiesBasedServiceImpl();
+            if(this.properties == null){
+                service = new PropertiesBasedServiceImpl();
+            }else{
+                service = new PropertiesBasedServiceImpl(this.properties);
+            }
         }
         return service;
     }

Modified: incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java?rev=1160506&r1=1160505&r2=1160506&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImpl.java Tue Aug 23 00:00:08 2011
@@ -26,7 +26,6 @@ import java.net.URL;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
-import java.util.Set;
 
 import org.apache.airavata.core.gfac.api.Registry;
 import org.apache.airavata.core.gfac.api.impl.JCRRegistry;
@@ -60,6 +59,8 @@ public class PropertiesBasedServiceImpl 
      * JCR properties
      */
     public static final String JCR_CLASS = "jcr.class";
+    public static final String JCR_USER = "jcr.user";
+    public static final String JCR_PASS = "jcr.pass";
 
     private Properties properties;
     private Scheduler scheduler;
@@ -67,8 +68,25 @@ public class PropertiesBasedServiceImpl 
     private PostExecuteChain[] postChain;
     private DataServiceChain[] dataChain;
 
-    private Registry registryService;        
+    private Registry registryService;
 
+    /**
+     * Default constructor
+     */
+    public PropertiesBasedServiceImpl(){        
+    }
+    
+    /**
+     * Constructor with passing properties
+     * 
+     * @param prop
+     */
+    public PropertiesBasedServiceImpl(Properties prop){
+        this.properties = prop;
+    }
+    
+    
+    
     /*
      * (non-Javadoc)
      * 
@@ -76,32 +94,17 @@ public class PropertiesBasedServiceImpl 
      * InvocationContext)
      */
     public void init() throws GfacException {
-        /*
-         * Load properties and create XRegistry service
-         */
         try {
-            URL url = ClassLoader.getSystemResource(FILENAME);
-
-            this.properties = new Properties();
-            this.properties.load(url.openStream());
-            
-            //JCR
-            String jcrClass = loadFromProperty(JCR_CLASS, true);
             
             /*
-             * Remove unnecessary key
+             * Load properties only it is not loaded
              */
-            Map<String, String> map = new HashMap<String, String>((Map) this.properties);
-            map.remove(JCR_CLASS);
-            map.remove(SCHEDULER_CLASS);
-            map.remove(DATA_CHAIN_CLASS);
-            map.remove(PRE_CHAIN_CLASS);
-            map.remove(POST_CHAIN_CLASS);
-            if(map.size() == 0)
-            	map = null;
-
-            this.registryService = new JCRRegistry(jcrClass, "admin", "admin", map);
-
+            if(this.properties == null){
+                URL url = ClassLoader.getSystemResource(FILENAME);
+    
+                this.properties = new Properties();
+                this.properties.load(url.openStream());
+            }
         } catch (Exception e) {
         	e.printStackTrace();
             throw new GfacException("Error initialize the generic service", e);
@@ -115,19 +118,43 @@ public class PropertiesBasedServiceImpl 
      * InvocationContext)
      */
     public void dispose() throws GfacException {
-        // TODO Auto-generated method stub
-
     }
 
     @Override
     public void preProcess(InvocationContext context) throws GfacException {
-        // set Fix Registry location for every requests
-        context.getExecutionContext().setRegistryService(this.registryService);
+        if(context.getExecutionContext() != null
+                && context.getExecutionContext().getRegistryService() != null){
+            
+            if(this.registryService == null){
+                //JCR
+                String jcrClass = loadFromProperty(JCR_CLASS, true);
+                String userName = loadFromProperty(JCR_USER, false);
+                String password = loadFromProperty(JCR_PASS, false);
+                
+                /*
+                 * Remove unnecessary key
+                 */
+                Map<String, String> map = new HashMap<String, String>((Map) this.properties);
+                map.remove(JCR_CLASS);
+                map.remove(SCHEDULER_CLASS);
+                map.remove(DATA_CHAIN_CLASS);
+                map.remove(PRE_CHAIN_CLASS);
+                map.remove(POST_CHAIN_CLASS);
+                map.remove(JCR_USER);
+                map.remove(JCR_PASS);
+                if(map.size() == 0)
+                    map = null;
+
+                this.registryService = new JCRRegistry(jcrClass, userName, password, map);                
+            }
+            
+            // set Fix Registry location for every requests
+            context.getExecutionContext().setRegistryService(this.registryService);            
+        }
     }
 
     @Override
     public void postProcess(InvocationContext context) throws GfacException {
-        // TODO Auto-generated method stub
     }
 
     /*
@@ -148,13 +175,8 @@ public class PropertiesBasedServiceImpl 
              * init instance of that class
              */
             try {
-//                ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+
                 Class spiClass = Class.forName(className).asSubclass(Scheduler.class);
-//                if (classLoader == null) {
-//                    spiClass = Class.forName(className).asSubclass(Scheduler.class);
-//                } else {
-//                    spiClass = classLoader.loadClass(className).asSubclass(Scheduler.class);
-//                }
 
                 this.scheduler = (Scheduler)spiClass.newInstance();
                 
@@ -254,8 +276,6 @@ public class PropertiesBasedServiceImpl 
 
             try {
                 Class<? extends ExitableChain> spiClass;
-
-//                    spiClass = Class.forName(className).asSubclass(ExitableChain.class);
                 spiClass = Class.forName(className).asSubclass(ExitableChain.class);
                 chain[i] = (T) spiClass.newInstance();