# HG changeset patch # User Jaroslav Tulach # Date 1213430821 -7200 # Node ID def08b238fa576804fabb3aac5d7b7bc8ec2db3d # Parent a89ad3d1da0861fa1c2a2353d5c53c033c78bb7f Simplified with duplication of the code ;-) diff -r a89ad3d1da08 -r def08b238fa5 samples/componentinjection/anagram-modular/src-app-property/org/apidesign/anagram/app/property/AnagramsWithProperties.java --- a/samples/componentinjection/anagram-modular/src-app-property/org/apidesign/anagram/app/property/AnagramsWithProperties.java Sat Jun 14 10:07:00 2008 +0200 +++ b/samples/componentinjection/anagram-modular/src-app-property/org/apidesign/anagram/app/property/AnagramsWithProperties.java Sat Jun 14 10:07:01 2008 +0200 @@ -13,23 +13,14 @@ public AnagramsWithProperties() { } - private static Class loadImpl(Class clazz) throws ClassNotFoundException { - String implName = System.getProperty(clazz.getName()); - assert implName != null; - ClassLoader loader = Thread.currentThread().getContextClassLoader(); - if (loader == null) { - loader = AnagramsWithProperties.class.getClassLoader(); - } - Class impl = Class.forName(implName, false, loader); - return impl.asSubclass(clazz); - } - - @Override protected WordLibrary getWordLibrary() { try { if (wordLibrary == null) { - wordLibrary = loadImpl(WordLibrary.class).newInstance(); + String implName = System.getProperty("org.apidesign.anagram.api.WordLibrary"); + assert implName != null; + Class impl = Class.forName(implName); + wordLibrary = (WordLibrary)impl.newInstance(); } return wordLibrary; } catch (Exception ex) { @@ -41,7 +32,10 @@ protected Scrambler getScrambler() { try { if (scrambler == null) { - scrambler = loadImpl(Scrambler.class).newInstance(); + String implName = System.getProperty("org.apidesign.anagram.api.Scrambler"); + assert implName != null; + Class impl = Class.forName(implName); + scrambler = (Scrambler)impl.newInstance(); } return scrambler; } catch (Exception ex) {