Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/utils/ArtifactFactoryUtilities.java @ 71:e4ecf3188bdf
Integrated FIS-Artifact
gnv-artifacts/trunk@62 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Thu, 10 Sep 2009 13:11:24 +0000 |
parents | |
children | 158e89c2263b |
comparison
equal
deleted
inserted
replaced
70:0035862b0295 | 71:e4ecf3188bdf |
---|---|
1 /** | |
2 * | |
3 */ | |
4 package de.intevation.gnv.utils; | |
5 | |
6 import org.apache.log4j.Logger; | |
7 import org.w3c.dom.Document; | |
8 import org.w3c.dom.Node; | |
9 | |
10 import de.intevation.artifactdatabase.Config; | |
11 import de.intevation.artifacts.ArtifactFactory; | |
12 | |
13 | |
14 /** | |
15 * @author Tim Englich <tim.englich@intevation.de> | |
16 * | |
17 */ | |
18 public class ArtifactFactoryUtilities { | |
19 /** | |
20 * the logger, used to log exceptions and additonaly information | |
21 */ | |
22 private static Logger log = Logger.getLogger(ArtifactFactoryUtilities.class); | |
23 /** | |
24 * Constructor | |
25 */ | |
26 public ArtifactFactoryUtilities() { | |
27 } | |
28 | |
29 public ArtifactFactory createArtitfactFactor(Document config, Node artifactFactoryNode){ | |
30 String className =artifactFactoryNode.getTextContent(); | |
31 | |
32 ArtifactFactory factory = null; | |
33 | |
34 try { | |
35 Class clazz = Class.forName(className); | |
36 factory = (ArtifactFactory)clazz.newInstance(); | |
37 } | |
38 catch (ClassNotFoundException cnfe) { | |
39 log.error(cnfe.getLocalizedMessage(), cnfe); | |
40 } | |
41 catch (InstantiationException ie) { | |
42 log.error(ie.getLocalizedMessage(), ie); | |
43 } | |
44 catch (ClassCastException cce) { | |
45 log.error(cce.getLocalizedMessage(), cce); | |
46 } | |
47 catch (IllegalAccessException iae) { | |
48 log.error(iae.getLocalizedMessage(), iae); | |
49 } | |
50 | |
51 if (factory != null) { | |
52 factory.setup(config, artifactFactoryNode); | |
53 log.info("Registering '" + factory.getName() + "' as artifact factory."); | |
54 } | |
55 return factory; | |
56 } | |
57 } |