morgand 01/08/23 12:52:36 Modified: latka/src/java/org/apache/commons/latka Latka.java Log: experimenting with new configuration syntax Revision Changes Path 1.8 +36 -5 jakarta-commons/latka/src/java/org/apache/commons/latka/Latka.java Index: Latka.java =================================================================== RCS file: /home/cvs/jakarta-commons/latka/src/java/org/apache/commons/latka/Latka.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Latka.java 2001/08/23 16:24:25 1.7 +++ Latka.java 2001/08/23 19:52:36 1.8 @@ -64,6 +64,7 @@ import org.apache.commons.latka.xml.XMLPreprocessor; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; @@ -112,6 +113,18 @@ protected static Category log = Category.getInstance(Latka.class.getName()); + public static String LATKA_USAGE = null; + static { + StringBuffer buf = new StringBuffer(); + buf.append("\n######################\n"); + buf.append("Latka usage:\n"); + buf.append(" java org.apache.commons.latka.Latka \"XML_suite_file\" "); + buf.append("[\"propfile:file_name\"] [\"prop:prop_name::prop_value\"]\n\n"); + buf.append("The quotes around properties are REQUIRED.\n"); + buf.append("######################\n"); + LATKA_USAGE = buf.toString(); + } + public void runTests(Suite suite) { InputSource source = null; @@ -229,17 +242,35 @@ public static void main (String args[]) { + if (args.length < 1) { + System.out.println(LATKA_USAGE); + } + Latka latka = new Latka(); String uri = args[0]; - Properties props = LatkaProperties.getProperties(); - if (args.length > 1) { - props.setProperty("latka.defaultHost",args[1]); - if (args.length > 2) { - props.setProperty("latka.defaultPort",args[2]); + + Properties props = LatkaProperties.getProperties(); + + for (int i = 1; i < args.length; ++i) { + String arg = args[i]; + if (arg.startsWith("prop:")) { + String propName = arg.substring(5,arg.indexOf("=")); + String propValue = arg.substring(arg.indexOf("=")+1); + props.setProperty(propName,propValue); + } else if (arg.startsWith("propfile:")) { + try { + props.load(new FileInputStream(arg.substring(9))); + } catch (IOException e) { + System.out.println("Could not load user prop file, uri=" + arg.substring(9)); + } + } else { + throw new IllegalArgumentException(LATKA_USAGE); + } } + } Suite suite = new Suite(uri);