| 
     
      
      
      From: <ha...@us...> - 2007-08-24 00:50:53
      
     
   | 
Revision: 1722
          http://cogkit.svn.sourceforge.net/cogkit/?rev=1722&view=rev
Author:   hategan
Date:     2007-08-23 17:50:52 -0700 (Thu, 23 Aug 2007)
Log Message:
-----------
more fixes
Modified Paths:
--------------
    trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AvailableTaskHandlers.java
    trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/ServiceNode.java
    trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/TaskHandlerNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AvailableTaskHandlers.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AvailableTaskHandlers.java	2007-08-24 00:50:02 UTC (rev 1721)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AvailableTaskHandlers.java	2007-08-24 00:50:52 UTC (rev 1722)
@@ -12,6 +12,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.log4j.Logger;
 import org.globus.cog.abstraction.impl.common.AbstractionProperties;
 import org.globus.cog.karajan.arguments.Arg;
 import org.globus.cog.karajan.stack.VariableStack;
@@ -21,9 +22,14 @@
 import org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction;
 
 public class AvailableTaskHandlers extends AbstractFunction {
+	public static final Logger logger = Logger.getLogger(AvailableTaskHandlers.class);
 
 	public static final Arg A_TYPE = new Arg.Optional("type");
 
+	static {
+		setArguments(AvailableTaskHandlers.class, new Arg[] { A_TYPE });
+	}
+
 	public Object function(VariableStack stack) throws ExecutionException {
 		List providers;
 		if (A_TYPE.isPresent(stack)) {
@@ -44,7 +50,11 @@
 		List providers = AbstractionProperties.getProviders(atype);
 		Iterator i = providers.iterator();
 		while (i.hasNext()) {
-			TaskHandlerNode.HANDLERS_CHANNEL.ret(stack, new TaskHandlerWrapper((String) i.next(),
+			String provider = (String) i.next();
+			if (logger.isDebugEnabled()) {
+				logger.debug("Available task handler: " + type + ", " + provider);
+			}
+			TaskHandlerNode.HANDLERS_CHANNEL.ret(stack, new TaskHandlerWrapper(provider,
 					itype));
 		}
 	}
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/ServiceNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/ServiceNode.java	2007-08-24 00:50:02 UTC (rev 1721)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/ServiceNode.java	2007-08-24 00:50:52 UTC (rev 1722)
@@ -6,15 +6,18 @@
 
 package org.globus.cog.karajan.workflow.nodes.grid;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.log4j.Logger;
 import org.globus.cog.abstraction.impl.common.AbstractionFactory;
+import org.globus.cog.abstraction.impl.common.AbstractionProperties;
 import org.globus.cog.abstraction.impl.common.task.ExecutionServiceImpl;
 import org.globus.cog.abstraction.impl.common.task.ServiceContactImpl;
 import org.globus.cog.abstraction.impl.common.task.ServiceImpl;
 import org.globus.cog.abstraction.interfaces.ExecutionService;
 import org.globus.cog.abstraction.interfaces.SecurityContext;
 import org.globus.cog.abstraction.interfaces.Service;
-import org.globus.cog.abstraction.interfaces.TaskHandler;
 import org.globus.cog.karajan.arguments.Arg;
 import org.globus.cog.karajan.stack.VariableNotFoundException;
 import org.globus.cog.karajan.stack.VariableStack;
@@ -24,7 +27,33 @@
 
 public class ServiceNode extends AbstractFunction {
 	private static final Logger logger = Logger.getLogger(ServiceNode.class);
+	
+	private static final Map stypes;
+	
+	static {
+		stypes = new HashMap();
+		stypes.put(AbstractionProperties.TYPE_EXECUTION_TASK_HANDLER, new Integer(
+				Service.EXECUTION));
+		stypes.put(AbstractionProperties.TYPE_FILE_TRANSFER_TASK_HANDLER, new Integer(
+				Service.FILE_TRANSFER));
+		stypes.put(AbstractionProperties.TYPE_FILE_OPERATION_TASK_HANDLER, new Integer(
+				Service.FILE_OPERATION));
+	}
+	
+	public static int abstractionToServiceType(String type) {
+		try {
+			return ((Integer) stypes.get(type)).intValue();
+		}
+		catch (NullPointerException e) {
+			throw new IllegalArgumentException("Invalid abstraction handler type: " + type);
+		}
+	}
+	
+	public static int karajanToServiceType(String type) {
+		return abstractionToServiceType(TaskHandlerNode.karajanToAbstractionType(type));
+	}
 
+
 	public static final Arg A_TYPE = new Arg.Positional("type");
 	public static final Arg A_PROVIDER = new Arg.Positional("provider");
 	public static final Arg A_URI = new Arg.Optional("uri", null);
@@ -41,8 +70,8 @@
 	public Object function(VariableStack stack) throws ExecutionException {
 		Service service = null;
 		String type = TypeUtil.toString(A_TYPE.getValue(stack));
-		int itype = TaskHandlerNode.karajanToHandlerType(type);
-		if (itype == TaskHandler.EXECUTION) {
+		int itype = karajanToServiceType(type);
+		if (itype == Service.EXECUTION) {
 			itype = Service.EXECUTION;
 			service = new ExecutionServiceImpl();
 			if (A_JOB_MANAGER.isPresent(stack)) {
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/TaskHandlerNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/TaskHandlerNode.java	2007-08-24 00:50:02 UTC (rev 1721)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/TaskHandlerNode.java	2007-08-24 00:50:52 UTC (rev 1722)
@@ -58,11 +58,11 @@
 			throw new IllegalArgumentException("Invalid abstraction handler type: " + type);
 		}
 	}
-	
+		
 	public static int karajanToHandlerType(String type) {
 		return abstractionToHandlerType(karajanToAbstractionType(type));
 	}
-
+	
 	public static final Arg A_TYPE = new Arg.Positional("type");
 	public static final Arg A_PROVIDER = new Arg.Positional("provider");
 	public static final Arg.Channel HANDLERS_CHANNEL = new Arg.Channel("handlers");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |