Author: oberhack
Date: Sat Sep  4 13:07:33 2004
New Revision: 43350

Modified:
   
avalon/trunk/central/laboratory/studio/eclipse/core/src/org/apache/metro/studio/eclipse/core/templateengine/DirectoryTemplateManager.java
   
avalon/trunk/central/laboratory/studio/eclipse/core/src/org/apache/metro/studio/eclipse/core/templateengine/ResourceTemplateManager.java
Log:


Modified: 
avalon/trunk/central/laboratory/studio/eclipse/core/src/org/apache/metro/studio/eclipse/core/templateengine/DirectoryTemplateManager.java
==============================================================================
--- 
avalon/trunk/central/laboratory/studio/eclipse/core/src/org/apache/metro/studio/eclipse/core/templateengine/DirectoryTemplateManager.java
   (original)
+++ 
avalon/trunk/central/laboratory/studio/eclipse/core/src/org/apache/metro/studio/eclipse/core/templateengine/DirectoryTemplateManager.java
   Sat Sep  4 13:07:33 2004
@@ -19,10 +19,13 @@
 

 import java.io.FileNotFoundException;

 import java.io.FileReader;

+import java.io.FileWriter;

+import java.io.IOException;

+import java.io.Writer;

 import java.util.Hashtable;

 import java.util.Set;

 

-import org.apache.metro.studio.eclipse.core.MetroStudioCore;

+import org.apache.metro.studio.eclipse.core.MetroStudioCore; 

 import org.eclipse.core.resources.IProject;

 import org.eclipse.core.runtime.IPath;

 

@@ -38,6 +41,7 @@
 {

 

     private Hashtable directoryTemplates = new Hashtable();

+    private static XStream xstream;

 

     /**

      *  

@@ -105,9 +109,7 @@
     public static DirectoryTemplateManager load(String filePathName)

     {

 

-        XStream xstream = new XStream(new DomDriver());

-        initXStream(xstream);

-        

+   

         FileReader reader = null;

         try

         {

@@ -122,19 +124,36 @@
         return (DirectoryTemplateManager) xstream.fromXML(reader);

     }

 

-    public static void initXStream(XStream xstream)

+    public static void initXStream()

     {

-        xstream.alias("DirectoryTemplates", DirectoryTemplateManager.class);

-        xstream.alias("DirectoryTemplate", DirectoryTemplate.class);

-        xstream.alias("Directory", Directory.class);

-        xstream.alias("Library", Library.class);

-        

+        xstream = new XStream(new DomDriver());

+        addXStreamAliases(xstream);

     }

     /**

      * @param xstream

      */

-    public void addXStreamAliases(XStream xstream)

+    public static void addXStreamAliases(XStream xstr)

+    {

+        xstr.alias("DirectoryTemplates", DirectoryTemplateManager.class);

+        xstr.alias("DirectoryTemplate", DirectoryTemplate.class);

+        xstr.alias("Directory", Directory.class);

+        xstr.alias("Library", Library.class);

+    }

+

+    /**

+     * 

+     */

+    public void store(String configFileLocation)

     {

-        initXStream(xstream);

+        try

+        {

+            Writer out = new FileWriter(configFileLocation);

+            xstream.toXML(this, out);

+        } catch (IOException e)

+        {

+            MetroStudioCore.log(e,

+            "can't write xstream");

+        }

+        

     }

 }

Modified: 
avalon/trunk/central/laboratory/studio/eclipse/core/src/org/apache/metro/studio/eclipse/core/templateengine/ResourceTemplateManager.java
==============================================================================
--- 
avalon/trunk/central/laboratory/studio/eclipse/core/src/org/apache/metro/studio/eclipse/core/templateengine/ResourceTemplateManager.java
    (original)
+++ 
avalon/trunk/central/laboratory/studio/eclipse/core/src/org/apache/metro/studio/eclipse/core/templateengine/ResourceTemplateManager.java
    Sat Sep  4 13:07:33 2004
@@ -19,6 +19,9 @@
 

 import java.io.FileNotFoundException;

 import java.io.FileReader;

+import java.io.FileWriter;

+import java.io.IOException;

+import java.io.Writer;

 import java.util.Hashtable;

 import java.util.Iterator;

 import java.util.Set;

@@ -41,6 +44,7 @@
 

     private Hashtable resourceTemplates = new Hashtable();

     private DirectoryTemplateManager directoryManager;

+    private static XStream xstream;

     

     final static String baseDir = MetroStudioCore.getDefault()

     .getPluginLocation().toString();

@@ -61,10 +65,9 @@
             resourceFilePathName = getDefaultFilePathName();

         }

         

-        XStream xstream = new XStream(new DomDriver()); 

-        initXStream(xstream);

+        initXStream();

 

-        new DirectoryTemplateManager().addXStreamAliases(xstream);

+        DirectoryTemplateManager.addXStreamAliases(xstream);

         FileReader reader = null;

         try

         {

@@ -93,12 +96,14 @@
     /**

      * @param xstream

      */

-    public static void initXStream(XStream xstream)

+    public static void initXStream()

     {

+        xstream = new XStream(new DomDriver());

         xstream.alias("ResourceTemplates", ResourceTemplateManager.class);

         xstream.alias("ResourceTemplate", ResourceTemplate.class);

         xstream.alias("Resource", Resource.class);

         xstream.alias("Library", Library.class);

+

     }

 

     public void addResourceTemplate(ResourceTemplate resource)

@@ -135,6 +140,7 @@
      */

     public void importDirectoryTemplates(DirectoryTemplateManager dm)

     {

+        DirectoryTemplateManager.addXStreamAliases(xstream);

         directoryManager = dm;

     }

     

@@ -158,6 +164,22 @@
     public Hashtable getResourceTemplates()

     {

         return resourceTemplates;

+    }

+

+    /**

+     * @param resourcesLocation

+     */

+    public void store(String resourcesLocation)

+    {

+        try

+        {

+            Writer out = new FileWriter(resourcesLocation);

+            xstream.toXML(this, out);

+        } catch (IOException e)

+        {

+            MetroStudioCore.log(e, "cant write xstream");

+        }

+        

     }

 

 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to