Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN
EvioFileProducer.java+203-1921.13 -> 1.14
check for missing evio file arg; default host to localhost so argument is optional

hps-java/src/main/java/org/lcsim/hps/evio
EvioFileProducer.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- EvioFileProducer.java	28 Apr 2012 22:04:31 -0000	1.13
+++ EvioFileProducer.java	3 May 2012 16:42:16 -0000	1.14
@@ -1,5 +1,6 @@
 package org.lcsim.hps.evio;
 
+import java.net.InetAddress;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 
@@ -19,144 +20,154 @@
 // TODO Add option for multiple EVIO input files.
 public class EvioFileProducer {
 
-	EvioReader reader;
-	ByteBuffer byteBuffer;
-	String evioFileName;
-	String etName, host;
-	int port = EtConstants.serverPort;
-	int group = 1;
-	int size = 10000; // Default event size.
-	int delay = 0;
-	
-	boolean debug = true;
-
-	EvioFileProducer() {
-	}
-
-	private static void usage() {
-		System.out.println("\nUsage: java Producer -f <et name> -e <evio file> [-p <server port>] [-host <host>]"
-				+ " [-d <delay in millisec>] [-g <group #>]\n\n"
-				+ "       -f     ET system's name\n"
-				+ "       -s     size in bytes for requested events\n"
-				+ "       -p     port number for a udp broadcast\n"
-				+ "       -g     group number of new events to get\n"
-				+ "       -host  host the ET system resides on (defaults to anywhere)\n\n"
-				+ "        This consumer works by making a connection to the\n"
-				+ "        ET system's tcp server port.\n");
-		System.exit(1);
-	}
-
-	public void copyToEtEvent(EtEvent event) {
-		event.getDataBuffer().put(byteBuffer);
-	}
-
-	public static void main(String[] args) {
-		(new EvioFileProducer()).doMain(args); // call wrapper method
-	}
-
-	public void doMain(String[] args) {
-		try {
-			for (int i = 0; i < args.length; i++) {
-				if (args[i].equalsIgnoreCase("-e")) {
-					evioFileName = new String(args[++i]);
-				} else if (args[i].equalsIgnoreCase("-f")) {
-					etName = args[++i];
-				} else if (args[i].equalsIgnoreCase("-host")) {
-					host = args[++i];
-				} else if (args[i].equalsIgnoreCase("-p")) {
-					try {
-						port = Integer.parseInt(args[++i]);
-						if ((port < 1024) || (port > 65535)) {
-							System.out.println("Port number must be between 1024 and 65535.");
-							usage();
-							return;
-						}
-					} catch (NumberFormatException ex) {
-						System.out.println("Did not specify a proper port number.");
-						usage();
-						return;
-					}
-				} else if (args[i].equalsIgnoreCase("-s")) {
-					try {
-						size = Integer.parseInt(args[++i]);
-						if (size < 1) {
-							System.out.println("Size needs to be positive int.");
-							usage();
-							return;
-						}
-					} catch (NumberFormatException ex) {
-						System.out.println("Did not specify a proper size.");
-						usage();
-						return;
-					}
-				} else if (args[i].equalsIgnoreCase("-g")) {
-					try {
-						group = Integer.parseInt(args[++i]);
-						if ((group < 1) || (group > 10)) {
-							System.out.println("Group number must be between 0 and 10.");
-							usage();
-							return;
-						}
-					} catch (NumberFormatException ex) {
-						System.out.println("Did not specify a proper group number.");
-						usage();
-						return;
-					}
-				} else if (args[i].equalsIgnoreCase("-d")) {
-					try {
-						delay = Integer.parseInt(args[++i]);
-						if (delay < 1) {
-							System.out.println("delay must be > 0.");
-							usage();
-							return;
-						}
-					} catch (NumberFormatException ex) {
-						System.out.println("Did not specify a proper delay.");
-						usage();
-						return;
-					}
-				} else {
-					usage();
-					return;
-				}
-			}
-
-			if (host == null) {
-				host = EtConstants.hostAnywhere;
-			}
-
-			if (etName == null) {
-				usage();
-				return;
-			}
-
-			// Setup ET system with the command line config.
-			EtSystemOpenConfig config = new EtSystemOpenConfig(etName, host, port);
-			EtSystem sys = new EtSystem(config, EtConstants.debugInfo);
-			sys.open();
-			EtStation gc = sys.stationNameToObject("GRAND_CENTRAL");
-			EtAttachment att = sys.attach(gc);
-
-			// array of events
-			EtEvent[] mevs;
-
-			// Open EVIO reader.
-			reader = new EvioReader(evioFileName);
-
-			// Print number of events.
-			if (debug)
-			    System.out.println("EVIO file opened with " + reader.getEventCount() + " events");
-
-			// Event sequence number; starts with 1.
-			int eventCount = 1;
-			
-			// Ref to current EVIO event.
-			EvioEvent event = null;
-			
-	         // Loop until event source is exhausted.
-			while (true) {
-			    
-	             // Get next event.
+    EvioReader reader;
+    ByteBuffer byteBuffer;
+    String evioFileName;
+    String etName, host;
+    int port = EtConstants.serverPort;
+    int group = 1;
+    int size = 10000; // Default event size.
+    int delay = 0;
+
+    boolean debug = true;
+
+    EvioFileProducer() {
+    }
+
+    private static void usage() {
+        System.out.println("\nUsage: java Producer -f <et name> -e <evio file> [-p <server port>] [-host <host>]"
+                + " [-d <delay in millisec>] [-g <group #>]\n\n"
+                + "       -f     ET system's name\n"
+                + "       -s     size in bytes for requested events\n"
+                + "       -p     port number for a udp broadcast\n"
+                + "       -g     group number of new events to get\n"
+                + "       -host  host the ET system resides on (defaults to anywhere)\n\n"
+                + "        This consumer works by making a connection to the\n"
+                + "        ET system's tcp server port.\n");
+        System.exit(1);
+    }
+
+    public void copyToEtEvent(EtEvent event) {
+        event.getDataBuffer().put(byteBuffer);
+    }
+
+    public static void main(String[] args) {
+        (new EvioFileProducer()).doMain(args); // call wrapper method
+    }
+
+    public void doMain(String[] args) {
+        try {
+            for (int i = 0; i < args.length; i++) {
+                if (args[i].equalsIgnoreCase("-e")) {
+                    evioFileName = new String(args[++i]);
+                } else if (args[i].equalsIgnoreCase("-f")) {
+                    etName = args[++i];
+                } else if (args[i].equalsIgnoreCase("-host")) {
+                    host = args[++i];
+                } else if (args[i].equalsIgnoreCase("-p")) {
+                    try {
+                        port = Integer.parseInt(args[++i]);
+                        if ((port < 1024) || (port > 65535)) {
+                            System.out.println("Port number must be between 1024 and 65535.");
+                            usage();
+                            return;
+                        }
+                    } catch (NumberFormatException ex) {
+                        System.out.println("Did not specify a proper port number.");
+                        usage();
+                        return;
+                    }
+                } else if (args[i].equalsIgnoreCase("-s")) {
+                    try {
+                        size = Integer.parseInt(args[++i]);
+                        if (size < 1) {
+                            System.out.println("Size needs to be positive int.");
+                            usage();
+                            return;
+                        }
+                    } catch (NumberFormatException ex) {
+                        System.out.println("Did not specify a proper size.");
+                        usage();
+                        return;
+                    }
+                } else if (args[i].equalsIgnoreCase("-g")) {
+                    try {
+                        group = Integer.parseInt(args[++i]);
+                        if ((group < 1) || (group > 10)) {
+                            System.out.println("Group number must be between 0 and 10.");
+                            usage();
+                            return;
+                        }
+                    } catch (NumberFormatException ex) {
+                        System.out.println("Did not specify a proper group number.");
+                        usage();
+                        return;
+                    }
+                } else if (args[i].equalsIgnoreCase("-d")) {
+                    try {
+                        delay = Integer.parseInt(args[++i]);
+                        if (delay < 1) {
+                            System.out.println("delay must be > 0.");
+                            usage();
+                            return;
+                        }
+                    } catch (NumberFormatException ex) {
+                        System.out.println("Did not specify a proper delay.");
+                        usage();
+                        return;
+                    }
+                } else {
+                    usage();
+                    return;
+                }
+            }
+
+            if (host == null) {
+                //host = EtConstants.hostAnywhere;
+                host = InetAddress.getLocalHost().getHostName();
+            }
+
+            // ET name is required.
+            if (etName == null) {
+                System.out.println("EVIO file argument is required.");
+                usage();
+                return;
+            }
+
+            // EVIO file name is required.
+            if (evioFileName == null) {
+                System.out.println("EVIO file argument is required.");
+                usage();
+                return;
+            }
+
+            // Setup ET system with the command line config.
+            EtSystemOpenConfig config = new EtSystemOpenConfig(etName, host, port);
+            EtSystem sys = new EtSystem(config, EtConstants.debugInfo);
+            sys.open();
+            EtStation gc = sys.stationNameToObject("GRAND_CENTRAL");
+            EtAttachment att = sys.attach(gc);
+
+            // array of events
+            EtEvent[] mevs;
+
+            // Open EVIO reader.
+            reader = new EvioReader(evioFileName);
+
+            // Print number of events.
+            if (debug)
+                System.out.println("EVIO file opened with " + reader.getEventCount() + " events");
+
+            // Event sequence number; starts with 1.
+            int eventCount = 1;
+
+            // Ref to current EVIO event.
+            EvioEvent event = null;
+
+            // Loop until event source is exhausted.
+            while (true) {
+
+                // Get next event.
                 try {
                     event = reader.parseNextEvent();
                 }
@@ -165,63 +176,63 @@
                     System.out.println("Error making EVIO event with sequence number <" + eventCount + ">.");
                     continue;
                 }
-			    
-			    if (debug)
-			        System.out.println("new events - size=" + size + "; group=" + group);
-
-				mevs = sys.newEvents(
-						att, // attachment
-						Mode.SLEEP, // wait mode
-						false, // create a buffer
-						0, // delay 
-						1, // number of events
-						size, // size of event but overwritten later
-						group); // group number; default value is arbitrary
-
-				if (delay > 0) {
-					Thread.sleep(delay);
-				}
-
-				// Write EVIO event to EtEvent's buffer.
-				ByteBuffer buf = mevs[0].getDataBuffer();
-				buf.order(ByteOrder.nativeOrder());
-
-				EventWriter writer = new EventWriter(buf, 100000, 100, null, null);
-				writer.writeEvent(event);
-				try {
-					writer.close();
-				} catch (Exception e) {
-					System.out.println("Caught exception while closing writer.");
-					e.printStackTrace();
-				}
-				mevs[0].setLength(buf.position());
-				mevs[0].setByteOrder(ByteOrder.nativeOrder());
-				if (debug) {
-				    for (EtEvent mev : mevs) {
-				        System.out.println("event length = " + mev.getLength() + ", remaining bytes: " + mev.getDataBuffer().remaining());
-				    }
-				}
-
-				// Put events onto ET ring.
-				sys.putEvents(att, mevs);
-
-				if (debug) {
-				    System.out.println("Wrote event #" + eventCount + " to ET");                
-				    System.out.println("-------------------------------");                
-				    ++eventCount;
-				}
-				
+
+                if (debug)
+                    System.out.println("new events - size=" + size + "; group=" + group);
+
+                mevs = sys.newEvents(
+                        att, // attachment
+                        Mode.SLEEP, // wait mode
+                        false, // create a buffer
+                        0, // delay 
+                        1, // number of events
+                        size, // size of event but overwritten later
+                        group); // group number; default value is arbitrary
+
+                if (delay > 0) {
+                    Thread.sleep(delay);
+                }
+
+                // Write EVIO event to EtEvent's buffer.
+                ByteBuffer buf = mevs[0].getDataBuffer();
+                buf.order(ByteOrder.nativeOrder());
+
+                EventWriter writer = new EventWriter(buf, 100000, 100, null, null);
+                writer.writeEvent(event);
+                try {
+                    writer.close();
+                } catch (Exception e) {
+                    System.out.println("Caught exception while closing writer.");
+                    e.printStackTrace();
+                }
+                mevs[0].setLength(buf.position());
+                mevs[0].setByteOrder(ByteOrder.nativeOrder());
+                if (debug) {
+                    for (EtEvent mev : mevs) {
+                        System.out.println("event length = " + mev.getLength() + ", remaining bytes: " + mev.getDataBuffer().remaining());
+                    }
+                }
+
+                // Put events onto ET ring.
+                sys.putEvents(att, mevs);
+
+                if (debug) {
+                    System.out.println("Wrote event #" + eventCount + " to ET");                
+                    System.out.println("-------------------------------");                
+                    ++eventCount;
+                }
+
                 // Break if no more events.
                 if (reader.getNumEventsRemaining() == 0) {
                     break;
                 }
-			}
+            }
 
-			// Cleanup.
-			sys.close();
-			reader.close();
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-	}
+            // Cleanup.
+            sys.close();
+            reader.close();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1