diff artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java @ 79:f69e5b87f05f

Implementation to export artifacts as xml (applied patch from issue208 by SLT). artifacts/trunk@792 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 16 Mar 2010 16:03:06 +0000
parents 48d1a9a082c2
children d348fe1fd822
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java	Thu Mar 11 10:53:59 2010 +0000
+++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java	Tue Mar 16 16:03:06 2010 +0000
@@ -10,6 +10,7 @@
 
 import org.w3c.dom.Document;
 import org.w3c.dom.NodeList;
+
 /**
  * Bootstrap facility for the global context and the artifact factories.
  *
@@ -31,12 +32,21 @@
     public static final String SERVICE_FACTORIES =
         "/artifact-database/factories/service-factories/service-factory";
 
+    public static final String EXPORT_SECRET =
+        "/artifact-database/export-secret/text()";
+
+    public static final String DEFAULT_EXORT_SECRET =
+        "!!!CHANGE ME! I'M NO SECRET!!!";
+
     protected Object context;
 
     protected ArtifactFactory [] artifactFactories;
 
     protected ServiceFactory [] serviceFactories;
 
+    protected byte [] exportSecret;
+
+
     public FactoryBootstrap() {
     }
 
@@ -167,7 +177,19 @@
             new ServiceFactory[loadedFactories.size()]);
     }
 
+    protected void setupExportSecret() {
+        String secret = Config.getStringXPath(EXPORT_SECRET);
+
+        if (secret == null) {
+            logger.warn("NO EXPORT SECRET SET! USING INSECURE DEFAULT!");
+            secret = DEFAULT_EXORT_SECRET;
+        }
+
+        exportSecret = StringUtils.getUTF8Bytes(secret);
+    }
+
     public void boot() {
+        setupExportSecret();
         buildContext();
         loadArtifactFactories();
         loadServiceFactories();
@@ -184,5 +206,9 @@
     public Object getContext() {
         return context;
     }
+
+    public byte [] getExportSecret() {
+        return exportSecret;
+    }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org