Author: sebb Date: Fri Jan 16 01:17:10 2015 New Revision: 1652324 URL: http://svn.apache.org/r1652324 Log: Allow for missing properties file
Modified: commons/proper/net/trunk/src/main/java/examples/Main.java Modified: commons/proper/net/trunk/src/main/java/examples/Main.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/examples/Main.java?rev=1652324&r1=1652323&r2=1652324&view=diff ============================================================================== --- commons/proper/net/trunk/src/main/java/examples/Main.java (original) +++ commons/proper/net/trunk/src/main/java/examples/Main.java Fri Jan 16 01:17:10 2015 @@ -18,6 +18,7 @@ package examples; +import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.security.CodeSource; @@ -41,7 +42,12 @@ public class Main { */ public static void main(String[] args) throws Throwable { final Properties fp = new Properties(); - fp.load(Main.class.getResourceAsStream("examples.properties")); + final InputStream ras = Main.class.getResourceAsStream("examples.properties"); + if (ras != null) { + fp.load(ras); + } else { + System.err.println("[Cannot find examples.properties file, so aliases cannot be used]"); + } if (args.length == 0) { if (Thread.currentThread().getStackTrace().length > 2) { // called by Maven System.out.println("Usage: mvn -q exec:java -Dexec.arguments=<alias or exampleClass>,<exampleClass parameters> (comma-separated, no spaces)"); @@ -53,10 +59,13 @@ public class Main { System.out.println("Usage: java -cp target/classes examples/Main <alias or exampleClass> <exampleClass parameters>"); } } - System.out.println("\nAliases and their classes:"); @SuppressWarnings("unchecked") // property names are Strings List<String> l = (List<String>) Collections.list(fp.propertyNames()); + if (l.isEmpty()) { + return; + } Collections.sort(l); + System.out.println("\nAliases and their classes:"); for(String s : l) { System.out.printf("%-25s %s%n",s,fp.getProperty(s)); }