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);