comparison artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java @ 19:1259d192e3c3

* New configuration based on config directory * Artifact database launches REST web server at startup. artifacts/trunk@43 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 09 Sep 2009 07:55:44 +0000
parents 5a6b6a3debc7
children ce488c1d3fc4
comparison
equal deleted inserted replaced
18:63a8aa276693 19:1259d192e3c3
60 60
61 if (factory == null) { 61 if (factory == null) {
62 factory = new DefaultArtifactContextFactory(); 62 factory = new DefaultArtifactContextFactory();
63 } 63 }
64 64
65 logger.info("Using class '" + factory.getClass().getName()
66 + "' for context creation.");
67
65 context = factory.createArtifactContext(Config.getConfig()); 68 context = factory.createArtifactContext(Config.getConfig());
66 } 69 }
67 70
68 protected void loadArtifactFactories() { 71 protected void loadArtifactFactories() {
69 ArrayList loadedFactories = new ArrayList(); 72 ArrayList loadedFactories = new ArrayList();
70 73
71 NodeList nodes = Config.getNodeSetXPath(ARTIFACT_FACTORIES); 74 NodeList nodes = Config.getNodeSetXPath(ARTIFACT_FACTORIES);
72 75
73 if (nodes == null) { 76 if (nodes == null) {
74 logger.warn("No factories found"); 77 logger.warn("No factories found");
75 return;
76 } 78 }
77 79
78 Document config = Config.getConfig(); 80 Document config = Config.getConfig();
79 81
80 for (int i = 0, N = nodes.getLength(); i < N; ++i) { 82 for (int i = 0, N = nodes != null ? nodes.getLength() : 0; i < N; ++i) {
81 String className = nodes.item(i).getTextContent(); 83 String className = nodes.item(i).getTextContent();
82 84
83 ArtifactFactory factory = null; 85 ArtifactFactory factory = null;
84 86
85 try { 87 try {
98 catch (IllegalAccessException iae) { 100 catch (IllegalAccessException iae) {
99 logger.error(iae.getLocalizedMessage(), iae); 101 logger.error(iae.getLocalizedMessage(), iae);
100 } 102 }
101 103
102 if (factory != null) { 104 if (factory != null) {
103 factory.setup(config,nodes.item(i)); 105 factory.setup(config, nodes.item(i));
104 loadedFactories.add(factory); 106 loadedFactories.add(factory);
107 logger.info("Registering '" + factory.getName() + "' as artifact factory.");
105 } 108 }
106 } 109 }
107 110
108 artifactFactories = (ArtifactFactory [])loadedFactories.toArray( 111 artifactFactories = (ArtifactFactory [])loadedFactories.toArray(
109 new ArtifactFactory[loadedFactories.size()]); 112 new ArtifactFactory[loadedFactories.size()]);

http://dive4elements.wald.intevation.org