Removed Raven class loading of artifact dependencies.

git-svn-id: 
http://taverna.googlecode.com/svn/taverna/engine/net.sf.taverna.t2.activities/trunk/dependency-activity@11938
 bf327186-88b3-11dd-a302-d386e5130c1c


Project: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/commit/f3a8212f
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/tree/f3a8212f
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/diff/f3a8212f

Branch: refs/heads/master
Commit: f3a8212fcb9e88b80b319484c99d305acf0198bc
Parents: 0c88ecf
Author: [email protected] 
<[email protected]@bf327186-88b3-11dd-a302-d386e5130c1c>
Authored: Mon Nov 15 16:59:32 2010 +0000
Committer: [email protected] 
<[email protected]@bf327186-88b3-11dd-a302-d386e5130c1c>
Committed: Mon Nov 15 16:59:32 2010 +0000

----------------------------------------------------------------------
 .../AbstractAsynchronousDependencyActivity.java | 156 +++++++++----------
 .../DependencyActivityConfigurationBean.java    |  58 +------
 2 files changed, 78 insertions(+), 136 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/f3a8212f/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/AbstractAsynchronousDependencyActivity.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/AbstractAsynchronousDependencyActivity.java
 
b/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/AbstractAsynchronousDependencyActivity.java
index 37a9503..f5fe2ab 100644
--- 
a/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/AbstractAsynchronousDependencyActivity.java
+++ 
b/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/AbstractAsynchronousDependencyActivity.java
@@ -25,24 +25,15 @@ import java.io.FilenameFilter;
 import java.lang.ref.WeakReference;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.util.Arrays;
 import java.util.HashSet;
-import java.util.Set;
 import java.util.WeakHashMap;
 
-import net.sf.taverna.raven.appconfig.ApplicationRuntime;
-import net.sf.taverna.raven.prelauncher.BootstrapClassLoader;
-import net.sf.taverna.raven.prelauncher.PreLauncher;
-import net.sf.taverna.raven.repository.BasicArtifact;
-import net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader;
-import net.sf.taverna.raven.repository.impl.LocalRepository;
 import net.sf.taverna.t2.facade.WorkflowInstanceFacade;
 import net.sf.taverna.t2.workflowmodel.Dataflow;
 import net.sf.taverna.t2.workflowmodel.Processor;
 import 
net.sf.taverna.t2.workflowmodel.processor.activity.AbstractAsynchronousActivity;
 import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
 import net.sf.taverna.t2.workflowmodel.processor.activity.NestedDataflow;
-import net.sf.taverna.t2.workflowmodel.utils.Tools;
 
 import org.apache.log4j.Logger;
 
@@ -89,7 +80,8 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
         * The location of the <code>lib</code> directory in TAVERNA_HOME,
         * where local JAR files the activity depends on should be located.
         */
-       public static File libDir = new 
File(ApplicationRuntime.getInstance().getApplicationHomeDir(), "lib");
+//     public static File libDir = new 
File(ApplicationRuntime.getInstance().getApplicationHomeDir(), "lib");
+       public static File libDir = null;
 
        /**
         * Different ways to share a class loader among activities:
@@ -144,24 +136,24 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                        }
                }
                if (classLoaderSharing == ClassLoaderSharing.system) {
-                       if (systemClassLoader == null)
-                               systemClassLoader = 
PreLauncher.getInstance().getLaunchingClassLoader();
+//                     if (systemClassLoader == null)
+//                             systemClassLoader = 
PreLauncher.getInstance().getLaunchingClassLoader();
                        
-                       if (systemClassLoader instanceof BootstrapClassLoader){
-                               // Add local and artifact dependencies to the 
classloader
-                               updateBootstrapClassLoader(
-                                               (BootstrapClassLoader) 
systemClassLoader,
-                                               configurationBean, 
workflowRunID);
-                               return systemClassLoader;
-                       }
-                       else{
+//                     if (systemClassLoader instanceof BootstrapClassLoader){
+//                             // Add local and artifact dependencies to the 
classloader
+//                             updateBootstrapClassLoader(
+//                                             (BootstrapClassLoader) 
systemClassLoader,
+//                                             configurationBean, 
workflowRunID);
+//                             return systemClassLoader;
+//                     }
+//                     else{
                                // Local dependencies will have to be set with 
the -classpath option
                                // We cannot have artifact dependencies in this 
case
                                String message = "System classloader is not 
Taverna's BootstrapClassLoader, so local dependencies " +
                                                "have to defined with 
-classpath. Artifact dependencies are ignored completely.";
                                logger.warn(message);
                                return systemClassLoader;
-                       }
+//                     }
                }
                String message = "Unknown classloader sharing policy named '"+ 
classLoaderSharing+ "' for " + this.getClass();
                logger.error(message);
@@ -179,10 +171,10 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                        String workflowID) {
                
                // Find all artifact dependencies
-               HashSet<URL> urls = findDependencies(ARTIFACTS, 
configurationBean, workflowID);
+//             HashSet<URL> urls = findDependencies(ARTIFACTS, 
configurationBean, workflowID);
                
                // Add all local jar dependencies
-               urls.addAll(findDependencies(LOCAL_JARS, configurationBean, 
workflowID));
+               HashSet<URL> urls = findDependencies(LOCAL_JARS, 
configurationBean, workflowID);
                
                // Create the classloader capable of loading both local jar and 
artifact dependencies
                ClassLoader parent = this.getClass().getClassLoader(); // this 
will be a LocalArtifactClassLoader
@@ -210,24 +202,24 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
         * 
         * @param loader The augmented BootstrapClassLoader system classloader
         */
-       private void updateBootstrapClassLoader(BootstrapClassLoader loader,
-                       DependencyActivityConfigurationBean configurationBean,
-                       String workflowRunID) {
-               
-               HashSet<URL> depsURLs = new HashSet<URL>();
-               depsURLs.addAll(findDependencies(LOCAL_JARS, configurationBean, 
workflowRunID));
-               depsURLs.addAll(findDependencies(ARTIFACTS, configurationBean, 
workflowRunID));
-
-               Set<URL> exists = new 
HashSet<URL>(Arrays.asList(loader.getURLs()));
-               for (URL url : depsURLs) {
-                       if (exists.contains(url)) {
-                               continue;
-                       }
-                       logger.info("Registering with system classloader: " + 
url);
-                       loader.addURL(url);
-                       exists.add(url);
-               }               
-       }
+//     private void updateBootstrapClassLoader(BootstrapClassLoader loader,
+//                     DependencyActivityConfigurationBean configurationBean,
+//                     String workflowRunID) {
+//             
+//             HashSet<URL> depsURLs = new HashSet<URL>();
+//             depsURLs.addAll(findDependencies(LOCAL_JARS, configurationBean, 
workflowRunID));
+//             depsURLs.addAll(findDependencies(ARTIFACTS, configurationBean, 
workflowRunID));
+//
+//             Set<URL> exists = new 
HashSet<URL>(Arrays.asList(loader.getURLs()));
+//             for (URL url : depsURLs) {
+//                     if (exists.contains(url)) {
+//                             continue;
+//                     }
+//                     logger.info("Registering with system classloader: " + 
url);
+//                     loader.addURL(url);
+//                     exists.add(url);
+//             }               
+//     }
 
        /**
         * Finds either local jar or artifact dependencies' URLs for the given 
classloader 
@@ -260,7 +252,7 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                        // as this activity
                        for (Processor proc : wf.getProcessors()) {
                                // Nested workflow case
-                               if (Tools.containsNestedWorkflow(proc)){        
        
+                               if (!proc.getActivityList().isEmpty() && 
proc.getActivityList().get(0) instanceof NestedDataflow){              
                                        // Get the nested workflow
                                        Dataflow nestedWorkflow = 
((NestedDataflow) proc.getActivityList().get(0)).getNestedDataflow();
                                        
dependenciesURLs.addAll(findNestedDependencies(dependencyType, 
configurationBean, nestedWorkflow));
@@ -270,7 +262,7 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                                        if (activity instanceof 
AbstractAsynchronousDependencyActivity){
                                                if 
(((DependencyActivityConfigurationBean) activity
                                                                
.getConfiguration()).getClassLoaderSharing() == classLoaderSharing) {
-                                                       if 
(dependencyType.equals(LOCAL_JARS)){
+//                                                     if 
(dependencyType.equals(LOCAL_JARS)){
                                                                // Collect the 
files of all found local dependencies
                                                                for (String jar 
: 
((DependencyActivityConfigurationBean)activity.getConfiguration()).getLocalDependencies())
 {
                                                                        try {
@@ -280,22 +272,22 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                                                                                
continue;
                                                                        }
                                                                }               
                                                
-                                                       } else if 
(dependencyType.equals(ARTIFACTS) && this.getClass().getClassLoader() 
instanceof LocalArtifactClassLoader){ 
-                                                               
LocalArtifactClassLoader cl = (LocalArtifactClassLoader) 
this.getClass().getClassLoader(); // this class is always loaded with 
LocalArtifactClassLoader
-                                                               // Get the 
LocalReposotpry capable of finding artifact jar files
-                                                               LocalRepository 
rep  = (LocalRepository) cl.getRepository();
-                                                               for 
(BasicArtifact art : ((DependencyActivityConfigurationBean) activity
-                                                                               
                .getConfiguration())
-                                                                               
                .getArtifactDependencies()){
-                                                                       
dependencies.add(rep.jarFile(art));
-                                                               }
-                                                       }
+//                                                     } else if 
(dependencyType.equals(ARTIFACTS) && this.getClass().getClassLoader() 
instanceof LocalArtifactClassLoader){ 
+//                                                             
LocalArtifactClassLoader cl = (LocalArtifactClassLoader) 
this.getClass().getClassLoader(); // this class is always loaded with 
LocalArtifactClassLoader
+//                                                             // Get the 
LocalReposotpry capable of finding artifact jar files
+//                                                             LocalRepository 
rep  = (LocalRepository) cl.getRepository();
+//                                                             for 
(BasicArtifact art : ((DependencyActivityConfigurationBean) activity
+//                                                                             
                .getConfiguration())
+//                                                                             
                .getArtifactDependencies()){
+//                                                                     
dependencies.add(rep.jarFile(art));
+//                                                             }
+//                                                     }
                                                }
                                        }
                                }
                        }
                } else { // Just add dependencies for this activity since we 
can't get hold of the whole workflow
-                       if (dependencyType.equals(LOCAL_JARS)){
+//                     if (dependencyType.equals(LOCAL_JARS)){
                                for (String jar : 
configurationBean.getLocalDependencies()) {
                                        try {
                                                dependencies.add(new 
File(libDir, jar));
@@ -304,23 +296,23 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                                                continue;
                                        }
                                }       
-                       }
-                       else if (dependencyType.equals(ARTIFACTS)){
-                               if (this.getClass().getClassLoader() instanceof 
LocalArtifactClassLoader){ // This should normally be the case
-                                       LocalArtifactClassLoader cl = 
(LocalArtifactClassLoader)this.getClass().getClassLoader(); 
-                                       LocalRepository rep  = 
(LocalRepository)cl.getRepository();
-                                       if (rep != null){ 
-                                               for (BasicArtifact art : 
configurationBean.getArtifactDependencies()){
-                                                       
dependencies.add(rep.jarFile(art));
-                                               }
-                                       }
-                               }
-                               else{
-                                       // Tests will not be loaded using the 
LocalArtifactClassLoader as athey are loaded 
-                                       // outside Raven so there is nothing we 
can do about this - some tests
-                                       // with dependencies will probably fail
-                               }
-                       }
+//                     }
+//                     else if (dependencyType.equals(ARTIFACTS)){
+//                             if (this.getClass().getClassLoader() instanceof 
LocalArtifactClassLoader){ // This should normally be the case
+//                                     LocalArtifactClassLoader cl = 
(LocalArtifactClassLoader)this.getClass().getClassLoader(); 
+//                                     LocalRepository rep  = 
(LocalRepository)cl.getRepository();
+//                                     if (rep != null){ 
+//                                             for (BasicArtifact art : 
configurationBean.getArtifactDependencies()){
+//                                                     
dependencies.add(rep.jarFile(art));
+//                                             }
+//                                     }
+//                             }
+//                             else{
+//                                     // Tests will not be loaded using the 
LocalArtifactClassLoader as athey are loaded 
+//                                     // outside Raven so there is nothing we 
can do about this - some tests
+//                                     // with dependencies will probably fail
+//                             }
+//                     }
                }
                
                // Collect the URLs of all found dependencies
@@ -352,7 +344,7 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                
                for (Processor proc : nestedWorkflow.getProcessors()) {
                        // Another nested workflow
-                       if (Tools.containsNestedWorkflow(proc)){                
+                       if (!proc.getActivityList().isEmpty() && 
proc.getActivityList().get(0) instanceof NestedDataflow){              
                                // Get the nested workflow
                                Dataflow nestedNestedWorkflow = 
((NestedDataflow) proc.getActivityList().get(0)).getNestedDataflow();
                                
dependenciesURLs.addAll(findNestedDependencies(dependencyType, 
configurationBean, nestedNestedWorkflow));
@@ -364,7 +356,7 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                                        if 
(((DependencyActivityConfigurationBean) activity
                                                        
.getConfiguration()).getClassLoaderSharing() == classLoaderSharing) {
                                                
-                                               if 
(dependencyType.equals(LOCAL_JARS)){
+//                                             if 
(dependencyType.equals(LOCAL_JARS)){
                                                        // Collect the files of 
all found local dependencies
                                                        for (String jar : 
((DependencyActivityConfigurationBean)activity.getConfiguration()).getLocalDependencies())
 {
                                                                try {
@@ -373,16 +365,16 @@ public abstract class 
AbstractAsynchronousDependencyActivity<ConfigType> extends
                                                                        
logger.warn("Invalid URL for " + jar, ex);
                                                                        
continue;
                                                                }
-                                                       }                       
                        }
-                                               else if 
(dependencyType.equals(ARTIFACTS) && this.getClass().getClassLoader() 
instanceof LocalArtifactClassLoader){
-                                                       
LocalArtifactClassLoader cl = (LocalArtifactClassLoader) 
this.getClass().getClassLoader(); // this class is always loaded with 
LocalArtifactClassLoader
-                                                       LocalRepository rep  = 
(LocalRepository) cl.getRepository();
-                                                       for (BasicArtifact art 
: ((DependencyActivityConfigurationBean) activity
-                                                                               
        .getConfiguration())
-                                                                               
        .getArtifactDependencies()){
-                                                               
dependencies.add(rep.jarFile(art));
                                                        }
-                                               }                               
                
+//                                             } else if 
(dependencyType.equals(ARTIFACTS) && this.getClass().getClassLoader() 
instanceof LocalArtifactClassLoader){
+//                                                     
LocalArtifactClassLoader cl = (LocalArtifactClassLoader) 
this.getClass().getClassLoader(); // this class is always loaded with 
LocalArtifactClassLoader
+//                                                     LocalRepository rep  = 
(LocalRepository) cl.getRepository();
+//                                                     for (BasicArtifact art 
: ((DependencyActivityConfigurationBean) activity
+//                                                                             
        .getConfiguration())
+//                                                                             
        .getArtifactDependencies()){
+//                                                             
dependencies.add(rep.jarFile(art));
+//                                                     }
+//                                             }                               
                
                                        }
                                }
                        }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/f3a8212f/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/DependencyActivityConfigurationBean.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/DependencyActivityConfigurationBean.java
 
b/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/DependencyActivityConfigurationBean.java
index 8b63590..aab3a6c 100644
--- 
a/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/DependencyActivityConfigurationBean.java
+++ 
b/src/main/java/net/sf/taverna/t2/activities/dependencyactivity/DependencyActivityConfigurationBean.java
@@ -20,19 +20,17 @@
  
******************************************************************************/
 package net.sf.taverna.t2.activities.dependencyactivity;
 
-import java.net.URL;
 import java.util.LinkedHashSet;
 
-import net.sf.taverna.raven.repository.BasicArtifact;
 import 
net.sf.taverna.t2.activities.dependencyactivity.AbstractAsynchronousDependencyActivity.ClassLoaderSharing;
 import 
net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityPortsDefinitionBean;
 
 /**
- * Parent configuration bean for activities that have local JAR or artifact 
dependencies,
+ * Parent configuration bean for activities that have local JAR,
  * such as API Consumer and Beanshell activity.
  * 
  * @author Alex Nenadic
- *
+ * @author David Withers
  */
 public class DependencyActivityConfigurationBean extends
                ActivityPortsDefinitionBean {
@@ -48,28 +46,13 @@ public class DependencyActivityConfigurationBean extends
         * and the paths should be relative.
         */
        private LinkedHashSet<String> localDependencies ;//= new 
LinkedHashSet<String>();
-       
-       /**
-        * Artifact dependencies. These artifacts should be available from
-        * the centrally known repositories or from one of the listed 
repositories in
-        * {@link #repositories}.
-        */
-       private LinkedHashSet<BasicArtifact> artifactDependencies ;//= new 
LinkedHashSet<BasicArtifact>();
-       
-       /**
-        * Repositoryies to use when searching for artifacts. In addition, the 
system
-        * repositories will be searched.
-        */
-       @Deprecated
-       private LinkedHashSet<URL> repositories ;//= new LinkedHashSet<URL>();
-               
+                       
        /**
         * Constructor.
         */
        public DependencyActivityConfigurationBean(){
                classLoaderSharing = ClassLoaderSharing.workflow;
                localDependencies = new LinkedHashSet<String>();
-               artifactDependencies = new LinkedHashSet<BasicArtifact>();
        }
        
        /**
@@ -84,9 +67,6 @@ public class DependencyActivityConfigurationBean extends
                if (localDependencies == null) 
                        localDependencies = new LinkedHashSet<String>();
 
-               if (artifactDependencies == null)
-                       artifactDependencies = new 
LinkedHashSet<BasicArtifact>();
-
                        return this;
        }
        
@@ -133,36 +113,6 @@ public class DependencyActivityConfigurationBean extends
        public void removeLocalDependency(String dep){
                localDependencies.remove(dep);
        }
-       
-       /**
-        * @return the artifactDependencies
-        */
-       public LinkedHashSet<BasicArtifact> getArtifactDependencies() {
-               return artifactDependencies;
-       }
-       
-       /**
-        * @param artifactDependencies the artifactDependencies to set
-        */
-       public void setArtifactDependencies(LinkedHashSet<BasicArtifact> 
artifactDependencies) {
-               this.artifactDependencies = artifactDependencies;
-       }
-       
-       /**
-        * Adds an artifact dependency to the list of local dependencies.
-        * @param dep
-        */
-       public void addArtifactDependency(BasicArtifact dep){
-               artifactDependencies.add(dep);
-       }
-
-       /**
-        * Removes an artifact dependency from the list of local dependencies.
-        * @param dep
-        */
-       public void removeArtifacteDependency(BasicArtifact dep){
-               artifactDependencies.remove(dep);
-       }
-       
+               
 }
 

Reply via email to