OSDN Git Service

use static AnyAction.doPallel instead of using
authorargius <argius.net@gmail.com>
Mon, 1 Dec 2014 13:08:45 +0000 (22:08 +0900)
committerargius <argius.net@gmail.com>
Mon, 1 Dec 2014 13:08:45 +0000 (22:08 +0900)
DaemonThreadFactory.execute directly

src/net/argius/stew/ui/window/AnyAction.java
src/net/argius/stew/ui/window/DatabaseInfoTree.java
src/net/argius/stew/ui/window/ResultSetTableModel.java

index 01a4ef6..a08b52e 100644 (file)
@@ -3,16 +3,14 @@ package net.argius.stew.ui.window;
 import static java.awt.event.KeyEvent.VK_Y;
 import static java.awt.event.KeyEvent.VK_Z;
 import static javax.swing.KeyStroke.getKeyStroke;
-
 import java.awt.*;
 import java.awt.event.*;
 import java.lang.reflect.*;
 import java.util.*;
-
+import java.util.concurrent.*;
 import javax.swing.*;
 import javax.swing.text.*;
 import javax.swing.undo.*;
-
 import net.argius.stew.*;
 
 /**
@@ -20,6 +18,9 @@ import net.argius.stew.*;
  */
 final class AnyAction extends AbstractAction implements Runnable {
 
+    /** Thread Pool using Daemon Thread */
+    private static final ExecutorService threadPool = Executors.newCachedThreadPool(DaemonThreadFactory.getInstance());
+
     /** AnyActionListener, JComponent, or JTextComponent */
     private Object o;
 
@@ -66,7 +67,11 @@ final class AnyAction extends AbstractAction implements Runnable {
 
     void doParallel(String methodName, final Object... args) {
         final String label = "AnyAction#doParallel";
-        DaemonThreadFactory.execute(new Task(label, o, resolveMethod(methodName), args));
+        doParallel(new Task(label, o, resolveMethod(methodName), args));
+    }
+
+    static void doParallel(Runnable runnable) {
+        threadPool.execute(runnable);
     }
 
     private static final class Task implements Runnable {
index 578f0b3..be783f0 100644 (file)
@@ -616,7 +616,7 @@ final class DatabaseInfoTree extends JTree implements AnyActionListener, TextSea
                 invokeLater(new Task2());
             }
         }
-        DaemonThreadFactory.execute(new NodeExpansionTask());
+        AnyAction.doParallel(new NodeExpansionTask());
     }
 
     /**
index 5776814..ff83524 100644 (file)
@@ -408,7 +408,7 @@ final class ResultSetTableModel extends DefaultTableModel {
                 latch.countDown();
             }
         }
-        DaemonThreadFactory.execute(new SqlTask());
+        AnyAction.doParallel(new SqlTask());
         try {
             // waits for a task to stop
             latch.await(3L, TimeUnit.SECONDS);
@@ -429,7 +429,7 @@ final class ResultSetTableModel extends DefaultTableModel {
                     }
                 }
             }
-            DaemonThreadFactory.execute(new SqlTaskErrorHandler());
+            AnyAction.doParallel(new SqlTaskErrorHandler());
         } else if (!errors.isEmpty()) {
             if (log.isDebugEnabled()) {
                 for (final Exception ex : errors) {