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 }

http://dive4elements.wald.intevation.org