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]