Mercurial > dive4elements > framework
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()]); |