OSDN Git Service

リファクタリング
authoryukihane <yukihane.feather@gmail.com>
Sat, 17 Sep 2011 06:41:35 +0000 (15:41 +0900)
committeryukihane <yukihane.feather@gmail.com>
Sat, 17 Sep 2011 06:41:35 +0000 (15:41 +0900)
frontend/src/saccubus/net/Cookie.java
frontend/src/saccubus/net/CookieWinFirefox3.java

index 4317e99..ccfa485 100644 (file)
@@ -14,7 +14,7 @@ public abstract class Cookie {
 
     public enum BrowserType {
 
-        NONE, MSIE, IE6, FIREFOX3, FIREFOX, CHROME,
+        NONE, MSIE, IE6, FIREFOX, CHROME,
         OPERA, CHROMIUM, OTHER
     }
 
index 85f4ff7..7ca2d32 100644 (file)
@@ -1,36 +1,37 @@
 package saccubus.net;
 
+import java.io.File;
 import java.io.IOException;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.StringUtils;
 
 /**
- *
+ * firefox3のCookieを扱います.
+ * @deprecated ユーザプロファイルの扱いがおかしいと思われる.
  * @author yuki
  */
+@Deprecated
 public class CookieWinFirefox3 extends Cookie {
 
-    /// <summary>
-    /// Firefox3 から user_session を取得。エラーが起こった場合、例外を投げずに空文字を返す
-    /// </summary>
-    /// <returns>user_session</returns>
+    /**
+     * Firefox3 から user_session を取得。
+     * @return ユーザセッション文字列.
+     * @throws IOException 取得失敗.
+     */
     @Override
     public String getUserSessionString() throws IOException {
-        String user_session = "";
-        try {
-            String app_dir = System.getenv("APPDATA");
-            if (app_dir == null || app_dir.isEmpty()) {
-                return "";
+        final String appData = System.getenv("APPDATA");
+        if (StringUtils.isNotEmpty(appData)) {
+            File sqlist_filename = new File(appData + "\\Mozilla\\Firefox\\Profiles\\cookies.sqlite");
+            if (sqlist_filename.isFile()) {
+                final String dataStr = FileUtils.readFileToString(sqlist_filename, "US-ASCII");
+                final String userSession = cutUserSession(dataStr);
+                if (StringUtils.isNotEmpty(userSession)) {
+                    return userSession;
+                }
             }
-            String sqlist_filename = app_dir + "\\Mozilla\\Firefox\\Profiles\\cookies.sqlite";
-            if (!Path.isFile(sqlist_filename)) {
-                return "";
-            }
-            String dataStr = Path.ReadAllText(sqlist_filename, "US-ASCII");
-            user_session = CutUserSession(dataStr, sqlist_filename);
-            return user_session;
-        } catch (Exception e) {
-            e.printStackTrace();
         }
-        return user_session;
 
+        throw new IOException("user session not found in firefox cookie");
     }
 }