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

Reply via email to