OSDN Git Service

unifiy stigmata home directory finding routine to BirthmarkEnvironment#getStigmataHom...
authortama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Wed, 3 Oct 2007 02:23:11 +0000 (02:23 +0000)
committertama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Wed, 3 Oct 2007 02:23:11 +0000 (02:23 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/stigmata/trunk@232 acee48c3-7b26-0410-bdac-b3d0e5314bbc

src/main/java/jp/naist/se/stigmata/BirthmarkEnvironment.java
src/main/java/jp/naist/se/stigmata/Stigmata.java
src/main/java/jp/naist/se/stigmata/ui/swing/StigmataFrame.java
src/main/resources/resources/messages.properties
src/main/resources/resources/messages_ja.source

index 7683f65..c986df2 100644 (file)
@@ -6,6 +6,7 @@ package jp.naist.se.stigmata;
 \r
 import java.beans.PropertyChangeEvent;\r
 import java.beans.PropertyChangeListener;\r
+import java.io.File;\r
 import java.util.ArrayList;\r
 import java.util.Arrays;\r
 import java.util.HashMap;\r
@@ -35,6 +36,11 @@ public class BirthmarkEnvironment{
     private static BirthmarkEnvironment DEFAULT_ENVIRONMENT = new BirthmarkEnvironment(true);\r
 \r
     /**\r
+     * home directory path.\r
+     */\r
+    private static String HOME_DIRECTORY_PATH;\r
+\r
+    /**\r
      * parent of this environment.\r
      */\r
     private BirthmarkEnvironment parent;\r
@@ -101,6 +107,29 @@ public class BirthmarkEnvironment{
         return DEFAULT_ENVIRONMENT;\r
     }\r
 \r
+    public static synchronized final String getStigmataHome(){\r
+        if(HOME_DIRECTORY_PATH == null){\r
+            String stigmataHome = System.getenv("STIGMATA_HOME");\r
+            if(stigmataHome == null){\r
+                String parent = System.getenv("HOME");\r
+                if(parent == null){\r
+                    parent = System.getProperty("user.home");\r
+                }\r
+                if(parent == null){\r
+                    parent = ".";\r
+                }\r
+                if(parent.startsWith("C:\\Document and Settings\\")){\r
+                    stigmataHome = parent + File.separator + "Application Data" + File.separator + "stigmata";\r
+                }\r
+                else{\r
+                    stigmataHome = parent + File.separator + ".stigmata";\r
+                }\r
+            }\r
+            HOME_DIRECTORY_PATH = stigmataHome;\r
+        }\r
+        return HOME_DIRECTORY_PATH;\r
+    }\r
+\r
     public BirthmarkEnvironment getParent(){\r
         return parent;\r
     }\r
index fba08a1..b2acae7 100755 (executable)
@@ -116,7 +116,7 @@ public class Stigmata{
             }\r
             File file = new File(currentDirectory, "stigmata.xml");\r
             if(!file.exists()){\r
-                file = new File(System.getProperty("user.home"), ".stigmata/stigmata.xml");\r
+                file = new File(BirthmarkEnvironment.getStigmataHome(), "stigmata.xml");\r
                 if(!file.exists()){\r
                     file = null;\r
                 }\r
@@ -144,7 +144,7 @@ public class Stigmata{
         if(defaultEnvironment == null){\r
             defaultEnvironment = BirthmarkEnvironment.getDefaultEnvironment();\r
         }\r
-        buildStigmataDirectory(System.getProperty("user.home"), ".stigmata");\r
+        buildStigmataDirectory(BirthmarkEnvironment.getStigmataHome());\r
 \r
         defaultEnvironment.setClassLoader(buildClassLoader());\r
         try{\r
@@ -158,11 +158,11 @@ public class Stigmata{
             defaultEnvironment.addService(service);\r
         }\r
         FormatManager.updateServices(defaultEnvironment);\r
-        exportConfigFile(System.getProperty("user.home"), ".stigmata/stigmata.xml");\r
+        exportConfigFile(BirthmarkEnvironment.getStigmataHome(), "stigmata.xml");\r
     }\r
 \r
     private ClassLoader buildClassLoader(){\r
-        File file = new File(System.getProperty("user.home"), ".stigmata/plugins");\r
+        File file = new File(BirthmarkEnvironment.getStigmataHome(), "plugins");\r
         File[] jarfiles = file.listFiles(new ExtensionFilter("jar"));\r
         if(jarfiles != null && jarfiles.length > 0){\r
             try{\r
@@ -177,8 +177,8 @@ public class Stigmata{
         return null;\r
     }\r
 \r
-    private void buildStigmataDirectory(String parent, String directory){\r
-        File file = new File(parent, directory);\r
+    private void buildStigmataDirectory(String homeDirectory){\r
+        File file = new File(homeDirectory);\r
         if(file.exists() && file.isFile()){\r
             File dest = new File(file.getParent(), ".stigmata.back");\r
             file.renameTo(dest);\r
@@ -200,6 +200,7 @@ public class Stigmata{
                 exporter.export(new PrintWriter(new FileWriter(file)));\r
             }\r
         } catch(IOException e){\r
+            e.printStackTrace();\r
         }\r
     }\r
 }\r
index e8fd120..12dc4c9 100644 (file)
@@ -359,14 +359,13 @@ public class StigmataFrame extends JFrame{
     }\r
 \r
     private void clearSettings(){\r
-        new File(System.getProperty("user.home"), ".stigmata/stigmata.xml").delete();\r
+        new File(BirthmarkEnvironment.getStigmataHome(), "stigmata.xml").delete();\r
         try{\r
             new Main(new String[] { "--reset-config", "--mode=gui", });\r
             setVisible(false);\r
             dispose();\r
         } catch(ParseException e){\r
         }\r
-        \r
     }\r
 \r
     private void initLayouts(){\r
@@ -449,7 +448,7 @@ public class StigmataFrame extends JFrame{
         });\r
         saveMenu.addActionListener(new ActionListener(){\r
             public void actionPerformed(ActionEvent e){\r
-                control.saveSettings(new File(System.getProperty("user.home"), ".stigmata/stigmata.xml"));\r
+                control.saveSettings(new File(BirthmarkEnvironment.getStigmataHome(), ".stigmata.xml"));\r
             }\r
         });\r
 \r
index b98db69..9c717ec 100755 (executable)
@@ -52,7 +52,7 @@ exportsetting.menuitem.label=Export settings as...
 exportsetting.menuitem.tooltip=Export settings of control panel.\r
 exportsetting.menuitem.icon=page_go.png\r
 \r
-clearsetting.menuitem.label=Clear settings\r
+clearsetting.menuitem.label=Restore default settings\r
 clearsetting.menuitem.tooltip=Clear current seting and restore default seting\r
 clearsetting.menuitem.icon=page_delete.png\r
 \r
index 65da0f4..859100c 100755 (executable)
@@ -101,8 +101,8 @@ addwellknown.newrule.pattern.border=
 addwellknown.newrule.exclude.label=\8f\9c\8aO\83\8b\81[\83\8b\r
 addwellknown.newrule.exclude.tooltip=\83`\83F\83b\83N\82ª\93ü\82ê\82ç\82ê\82Ä\82¢\82é\8fê\8d\87\81C\88È\89º\82Å\8ew\92è\82·\82é\83\8b\81[\83\8b\82Í\8aù\92m\82Ì\83N\83\89\83X\94»\92è\83\8b\81[\83\8b\82©\82ç\8f\9c\8aO\82³\82ê\82é\83\8b\81[\83\8b\82Æ\82µ\82Ä\88µ\82í\82ê\82Ü\82·\r
 \r
-updatewellknown.button.label=\8dX\90V...\r
-updatewellknown.button.tooltip=\91I\91ð\92\86\82Ì\83\8b\81[\83\8b\82ð\8dX\90V\82µ\82Ü\82·\r
+updatewellknown.button.label=\95Ï\8dX...\r
+updatewellknown.button.tooltip=\91I\91ð\92\86\82Ì\83\8b\81[\83\8b\82ð\95Ï\8dX\82µ\82Ü\82·\r
 \r
 matchparttype.FULLY_NAME=\83N\83\89\83X\82Ì\8a®\91S\8fC\8fü\96¼\82ª\r
 matchparttype.CLASS_NAME=\83p\83b\83P\81[\83W\96¼\82ð\8f\9c\82­\83N\83\89\83X\96¼\82ª\r