OSDN Git Service

動画IDのパターンを一箇所にまとめる
authoryukihane <yukihane.feather@gmail.com>
Tue, 6 Sep 2011 09:50:31 +0000 (18:50 +0900)
committeryukihane <yukihane.feather@gmail.com>
Fri, 9 Sep 2011 11:44:22 +0000 (20:44 +0900)
frontend/src/yukihane/Util.java
frontend/src/yukihane/inqubus/InqubusConstants.java [new file with mode: 0644]
frontend/src/yukihane/inqubus/filewatch/FileWatchUtil.java
frontend/src/yukihane/inqubus/gui/MainFrame.java

index bb678fd..31e711e 100644 (file)
@@ -1,8 +1,9 @@
 /* $Id$ */
 package yukihane;
 
+import static yukihane.inqubus.InqubusConstants.*;
+
 import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 /**
  * nicobrowser.util.Utilより, 必要なものをピックアップしたクラス.
@@ -33,8 +34,7 @@ public final class Util {
     public static String getVideoId(final String alterId) {
         final int startIdIdx = alterId.lastIndexOf("/") + 1;
         final String altId = alterId.substring(startIdIdx);
-        final Pattern idPattern = Pattern.compile("([a-z]*\\d+)");
-        final Matcher idMatcher = idPattern.matcher(altId);
+        final Matcher idMatcher = PATTERN_VIDEO_ID.matcher(altId);
         if (!idMatcher.find()) {
             throw new IllegalArgumentException("URL/IDの指定が不正です: " + alterId);
         }
diff --git a/frontend/src/yukihane/inqubus/InqubusConstants.java b/frontend/src/yukihane/inqubus/InqubusConstants.java
new file mode 100644 (file)
index 0000000..09ff93e
--- /dev/null
@@ -0,0 +1,18 @@
+package yukihane.inqubus;
+
+import java.util.regex.Pattern;
+
+/**
+ *
+ * @author user
+ */
+public final class InqubusConstants {
+
+    /**
+     * 動画IDのパターン.
+     */
+    public static final Pattern PATTERN_VIDEO_ID = Pattern.compile("([a-z][a-z]\\d+|\\d{5,})");
+
+    private InqubusConstants() {
+    }
+}
index 3f064c8..150e96a 100644 (file)
@@ -1,11 +1,12 @@
 package yukihane.inqubus.filewatch;
 
+import static yukihane.inqubus.InqubusConstants.*;
+
 import java.nio.file.Path;
 import java.util.Collection;
 import java.util.SortedSet;
 import java.util.TreeSet;
 import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 import org.apache.commons.io.FilenameUtils;
 
 /**
@@ -13,9 +14,6 @@ import org.apache.commons.io.FilenameUtils;
  * @author user
  */
 public final class FileWatchUtil {
-    // TODO スレッドID指定の場合の考慮も必要か
-
-    private static final Pattern VIDEO_ID_PATTERN = Pattern.compile("(\\w\\w\\d+)");
 
     private FileWatchUtil() {
     }
@@ -30,7 +28,7 @@ public final class FileWatchUtil {
         final SortedSet<String> set = new TreeSet<>();
         for (Path p : paths) {
             final String name = FilenameUtils.getBaseName(p.toString());
-            final Matcher m = VIDEO_ID_PATTERN.matcher(name);
+            final Matcher m = PATTERN_VIDEO_ID.matcher(name);
             while (m.find()) {
                 final String alt = m.group(1);
                 if (alt.startsWith(startText)) {
@@ -51,7 +49,7 @@ public final class FileWatchUtil {
         final SortedSet<String> set = new TreeSet<>();
         for (Path p : paths) {
             final String name = FilenameUtils.getBaseName(p.toString());
-            final Matcher m = VIDEO_ID_PATTERN.matcher(name);
+            final Matcher m = PATTERN_VIDEO_ID.matcher(name);
             while (m.find()) {
                 final String alt = m.group(1);
                 if (alt.equals(text)) {
index 9989c69..19d8170 100644 (file)
@@ -774,7 +774,6 @@ public class MainFrame extends JFrame {
     private class DownloadListTransferHandler extends TransferHandler {
 
         private static final long serialVersionUID = 1L;
-        private final Pattern movieIdPattern = Pattern.compile("(\\w\\w\\d+)");
 
         @Override
         public boolean canImport(TransferHandler.TransferSupport support) {