You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2013/05/03 14:57:00 UTC

svn commit: r1478762 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli: CliBase.java DuccJobSubmit.java aio/AllInOneLauncher.java aio/MessageHandler.java

Author: degenaro
Date: Fri May  3 12:56:59 2013
New Revision: 1478762

URL: http://svn.apache.org/r1478762
Log:
UIMA-2863 DUCC --all_in_one API should handle IDuccCallback

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/MessageHandler.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java?rev=1478762&r1=1478761&r2=1478762&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java Fri May  3 12:56:59 2013
@@ -217,6 +217,21 @@ public abstract class CliBase
         return opts;
     }
 
+    protected String[] mkArgs(Properties props)
+    {
+        List<String> arglist = new ArrayList<String>();
+        for ( Object o : props.keySet() ) {
+            String k = (String) o;
+            String v = props.getProperty(k, "");
+            arglist.add("--" + k);
+            // Assume an empty value indicates a boolean option
+            if (v.length() > 0) {
+              arglist.add(v);
+            }
+        }
+        return arglist.toArray(new String[arglist.size()]);
+    }
+    
     private String[] mkArgs(DuccProperties props)
     {
         List<String> arglist = new ArrayList<String>();
@@ -538,7 +553,7 @@ public abstract class CliBase
         return (String) cli_props.getProperty(key);
     }
 
-    IDuccCallback getCallback()
+    protected IDuccCallback getCallback()
     {
         return consoleCb;
     }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java?rev=1478762&r1=1478761&r2=1478762&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java Fri May  3 12:56:59 2013
@@ -155,22 +155,36 @@ public class DuccJobSubmit 
     
     public static UiOption[] opts = opts_release;
     
+    private AllInOneLauncher allInOneLauncher = null;
+    
     public DuccJobSubmit(ArrayList<String> args)
         throws Exception
     {
         this(args, null);
+        if(isAllInOne()) {
+        	String[] aioArgs = args.toArray(new String[0]);
+        	allInOneLauncher = new AllInOneLauncher(aioArgs);
+        }
     }
 
     public DuccJobSubmit(String[] args)
         throws Exception
     {
         this(args, null);
+        if(isAllInOne()) {
+        	String[] aioArgs = args;
+        	allInOneLauncher = new AllInOneLauncher(aioArgs);
+        }
     }
 
     public DuccJobSubmit(Properties props)
         throws Exception
     {
         this(props, null);
+        if(isAllInOne()) {
+        	String[] aioArgs = mkArgs(props);
+        	allInOneLauncher = new AllInOneLauncher(aioArgs);
+        }
     }
 
     public DuccJobSubmit(ArrayList<String> args, IDuccCallback consoleCb)
@@ -182,6 +196,10 @@ public class DuccJobSubmit 
             opts = opts_beta;
         }
         init(this.getClass().getName(), opts, arg_array, jobRequestProperties, or_host, or_port, "or", consoleCb, null);
+        if(isAllInOne()) {
+        	String[] aioArgs = args.toArray(new String[0]);
+        	allInOneLauncher = new AllInOneLauncher(aioArgs, consoleCb);
+        }
     }
 
     public DuccJobSubmit(String[] args, IDuccCallback consoleCb)
@@ -192,6 +210,10 @@ public class DuccJobSubmit 
                opts = opts_beta;
         }
         init(this.getClass().getName(), opts, args, jobRequestProperties, or_host, or_port, "or", consoleCb, null);
+        if(isAllInOne()) {
+        	String[] aioArgs = args;
+        	allInOneLauncher = new AllInOneLauncher(aioArgs, consoleCb);
+        }
     }
 
     public DuccJobSubmit(Properties props, IDuccCallback consoleCb)
@@ -206,6 +228,10 @@ public class DuccJobSubmit 
             opts = opts_beta;
         }
         init(this.getClass().getName(), opts, null, jobRequestProperties, or_host, or_port, "or", consoleCb, null);
+        if(isAllInOne()) {
+        	String[] aioArgs = mkArgs(props);
+        	allInOneLauncher = new AllInOneLauncher(aioArgs, consoleCb);
+        }
     }
 
     private void set_debug_parms(Properties props, String key, int port)
@@ -383,7 +409,18 @@ public class DuccJobSubmit 
 
     //**********        
     
-    public boolean execute() 
+    public boolean execute() throws Exception {
+    	if(isAllInOne()) {
+    		return execute_aio();
+    	}
+    	return execute_job();
+    }
+    
+    private boolean execute_aio() throws Exception {
+    	return allInOneLauncher.execute();
+    }
+    
+    private boolean execute_job() 
         throws Exception 
     {
                     
@@ -561,8 +598,8 @@ public class DuccJobSubmit 
     }
     
     private static void main_aio(String[] args) throws Exception {
-        AllInOneLauncher allInOneLauncher = new AllInOneLauncher(args);
-        allInOneLauncher.go();
+        AllInOneLauncher main_allInOneLauncher = new AllInOneLauncher(args);
+        main_allInOneLauncher.execute();
     }
     
     public static void main(String[] args) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java?rev=1478762&r1=1478761&r2=1478762&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java Fri May  3 12:56:59 2013
@@ -32,6 +32,7 @@ import org.apache.commons.cli.MissingArg
 import org.apache.uima.ducc.cli.CliBase;
 import org.apache.uima.ducc.cli.DuccJobSubmit;
 import org.apache.uima.ducc.cli.DuccManagedReservationSubmit;
+import org.apache.uima.ducc.cli.IDuccCallback;
 import org.apache.uima.ducc.cli.aio.IMessageHandler.Level;
 import org.apache.uima.ducc.cli.aio.IMessageHandler.Toggle;
 import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
@@ -106,6 +107,12 @@ public class AllInOneLauncher extends Cl
 		init(this.getClass().getName(), opts, args, jobRequestProperties, or_host, or_port, "or", consoleCb, null);
 	}
 	
+	public AllInOneLauncher(String[] args, IDuccCallback consoleCb) throws Exception {
+		this.args = args;
+		mh = new MessageHandler(consoleCb);
+		init(this.getClass().getName(), opts, args, jobRequestProperties, or_host, or_port, "or", consoleCb, null);
+	}
+	
 	private boolean isLocal() {
 		return allInOneType.equalsIgnoreCase(local);
 	}
@@ -1016,14 +1023,24 @@ public class AllInOneLauncher extends Cl
         InputStreamReader isr = new InputStreamReader(is);
         BufferedReader ibr = new BufferedReader(isr);
         while ((line = ibr.readLine()) != null) {
-            System.out.println(line);
+        	if(consoleCb != null) {
+    			consoleCb.status(line);
+    		}
+        	else {
+        		System.out.println(line);
+        	}
         }
         
         InputStream es = process.getErrorStream();
         InputStreamReader esr = new InputStreamReader(es);
         BufferedReader ebr = new BufferedReader(esr);
         while ((line = ebr.readLine()) != null) {
-            System.err.println(line);
+        	if(consoleCb != null) {
+    			consoleCb.status(line);
+    		}
+        	else {
+        		System.err.println(line);
+        	}
         }
         
 		mh.frameworkTrace(cid, mid, "exit");
@@ -1142,18 +1159,38 @@ public class AllInOneLauncher extends Cl
 			addArg(cmdLine, "true");
 		}
 		String[] argList = cmdLine.toArray(new String[0]);
-		DuccManagedReservationSubmit ds = new DuccManagedReservationSubmit(argList);
-		boolean rc = ds.execute();
+		DuccManagedReservationSubmit mr = null;
+		if(consoleCb != null) {
+			mr = new DuccManagedReservationSubmit(argList, consoleCb);
+		}
+		else {
+			mr = new DuccManagedReservationSubmit(argList, consoleCb);
+		}
+		boolean rc = mr.execute();
 		
 		String dt = "Managed Reservation";
-    if (rc) {
-      System.out.println(dt + " " + ds.getDuccId() + " submitted.");
-      int code = ds.getReturnCode();
-      System.exit(code);
-    } else {
-      System.out.println("Could not submit " + dt);
-      System.exit(1);
-    }
+		
+		if (rc) {
+			String line = dt + " " + mr.getDuccId() + " submitted.";
+			if(consoleCb != null) {
+    			consoleCb.status(line);
+    		}
+        	else {
+        		System.out.println(line);
+        	}
+			int code = mr.getReturnCode();
+			System.exit(code);
+		} 
+		else {
+			String line = "Could not submit " + dt;
+			if(consoleCb != null) {
+    			consoleCb.status(line);
+    		}
+        	else {
+        		System.out.println(line);
+        	}
+			System.exit(1);
+		}
 
 		mh.frameworkDebug(cid, mid, "rc="+rc);
 		mh.frameworkTrace(cid, mid, "exit");
@@ -1175,7 +1212,12 @@ public class AllInOneLauncher extends Cl
 		mh.frameworkTrace(cid, mid, "exit");
 	}
 	
-	public void go() throws Exception {
+	public boolean execute() throws Exception {
+		go();
+		return true;
+	}
+	
+	protected void go() throws Exception {
 		String mid = "go";
 		mh.frameworkTrace(cid, mid, "enter");
 		examine();
@@ -1188,8 +1230,5 @@ public class AllInOneLauncher extends Cl
 		allInOneLauncher.go();
 	}
 	
-	@Override
-	protected boolean execute() throws Exception {
-		return false;
-	}
+
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/MessageHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/MessageHandler.java?rev=1478762&r1=1478761&r2=1478762&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/MessageHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/MessageHandler.java Fri May  3 12:56:59 2013
@@ -21,6 +21,8 @@ package org.apache.uima.ducc.cli.aio;
 import java.util.Date;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.uima.ducc.cli.IDuccCallback;
+
 public class MessageHandler implements IMessageHandler {
 	
 	private ConcurrentHashMap<Level,Toggle> map = new ConcurrentHashMap<Level,Toggle>();
@@ -28,10 +30,17 @@ public class MessageHandler implements I
 	private Toggle timestamping = Toggle.Off;
 	private Toggle typeIdentifying = Toggle.On;
 	
+	private IDuccCallback consoleCb = null;
+	
 	public MessageHandler() {
 		initialize();
 	}
 	
+	public MessageHandler(IDuccCallback consoleCb) {
+		this.consoleCb = consoleCb;
+		initialize();
+	}
+	
 	public MessageHandler(Toggle timestamping) {
 		setTimestamping(timestamping);
 		initialize();
@@ -109,8 +118,13 @@ public class MessageHandler implements I
 			Date date = new Date();
 			text = date+" "+text;
 		}
-		System.out.println(text);
-		System.out.flush();
+		if(consoleCb != null) {
+			consoleCb.status(text);
+		}
+		else {
+			System.out.println(text);
+			System.out.flush();
+		}
 	}
 	
 	private void syserr(Level level, String message) {
@@ -126,8 +140,13 @@ public class MessageHandler implements I
 			Date date = new Date();
 			text = date+" "+text;
 		}
-		System.err.println(text);
-		System.err.flush();
+		if(consoleCb != null) {
+			consoleCb.status(text);
+		}
+		else {
+			System.err.println(text);
+			System.err.flush();
+		}
 	}
 	
 	public void info(String message) {