• R/O
  • SSH
  • HTTPS

mergedoc: コミット


コミットメタ情報

リビジョン1642 (tree)
日時2017-09-11 18:03:53
作者cypher256

ログメッセージ

(メッセージはありません)

変更サマリ

差分

--- trunk/Pleiades/src/jp/sourceforge/mergedoc/pleiades/runtime/AsyncCommand.java (revision 1641)
+++ trunk/Pleiades/src/jp/sourceforge/mergedoc/pleiades/runtime/AsyncCommand.java (revision 1642)
@@ -1,64 +0,0 @@
1-/*
2- * Copyright (c) 2005- Shinji Kashihara.
3- * All rights reserved. This program are made available under
4- * the terms of the Eclipse Public License v1.0 which accompanies
5- * this distribution, and is available at epl-v10.html.
6- */
7-package jp.sourceforge.mergedoc.pleiades.runtime;
8-
9-import java.lang.reflect.InvocationTargetException;
10-
11-import jp.sourceforge.mergedoc.pleiades.log.Logger;
12-
13-/**
14- * 非同期実行コマンドです。
15- * <p>
16- * @author cypher256
17- */
18-public abstract class AsyncCommand implements Runnable {
19-
20- /** ロガー */
21- private static final Logger log = Logger.getLogger(AsyncCommand.class);
22-
23- /** コマンド名 */
24- private final String commandName;
25-
26- /**
27- * コンストラクターです。
28- * @param commandName コマンド名
29- */
30- public AsyncCommand(String commandName) {
31- this.commandName = commandName;
32- }
33-
34- /**
35- * コマンド実行テンプレートです。
36- */
37- @Override
38- public final void run() {
39- try {
40-
41- log.debug("非同期実行コマンド実行: " + commandName);
42- execute();
43-
44- } catch (Throwable e) {
45- if (e instanceof InvocationTargetException) {
46- e = ((InvocationTargetException) e).getTargetException();
47- }
48- handleException(e, commandName);
49- }
50- }
51-
52- /**
53- * コマンドを実行します。
54- */
55- protected abstract void execute() throws Throwable;
56-
57- /**
58- * 例外を処理します。
59- * @param e 例外
60- */
61- protected void handleException(Throwable e, String commandName) {
62- log.error(e, commandName + "に失敗しました。");
63- }
64-}
--- trunk/Pleiades/src/jp/sourceforge/mergedoc/pleiades/runtime/AsyncQueue.java (revision 1641)
+++ trunk/Pleiades/src/jp/sourceforge/mergedoc/pleiades/runtime/AsyncQueue.java (revision 1642)
@@ -6,6 +6,7 @@
66 */
77 package jp.sourceforge.mergedoc.pleiades.runtime;
88
9+import java.lang.reflect.InvocationTargetException;
910 import java.util.concurrent.ExecutorService;
1011 import java.util.concurrent.Executors;
1112 import java.util.concurrent.RejectedExecutionException;
@@ -42,11 +43,17 @@
4243 */
4344 private static void add(String processName, AsyncProcess process, ExecutorService pool) {
4445
45- AsyncCommand command = new AsyncCommand(processName) {
46- @Override
47- protected void execute() throws Throwable {
46+ Runnable command = () -> {
47+ try {
48+ log.debug("非同期実行: " + processName);
4849 process.execute();
4950 }
51+ catch (Throwable e) {
52+ if (e instanceof InvocationTargetException) {
53+ e = ((InvocationTargetException) e).getTargetException();
54+ }
55+ log.error(e, processName + "に失敗しました。");
56+ }
5057 };
5158
5259 if (pool == null) {
@@ -62,8 +69,8 @@
6269 }
6370 try {
6471 pool.execute(command);
65-
66- } catch (RejectedExecutionException e) {
72+ }
73+ catch (RejectedExecutionException e) {
6774 log.warn("RejectedExecutionException が発生したため、同期実行します。");
6875 command.run();
6976 }
--- trunk/Pleiades/src/jp/sourceforge/mergedoc/pleiades/Pleiades.java (revision 1641)
+++ trunk/Pleiades/src/jp/sourceforge/mergedoc/pleiades/Pleiades.java (revision 1642)
@@ -131,7 +131,7 @@
131131
132132 long start = System.nanoTime();
133133
134- // Eclipse ファイル情報を初期化
134+ // アプリケーション情報の初期化
135135 Applications.init();
136136 pleiadesConfigurationPath = Applications.getPleiadesConfigurationPath();
137137
@@ -160,23 +160,21 @@
160160 pleiadesOption.configXmlFile = "pleiades-config.xml";
161161 instrumentation.addTransformer(new LauncherEclipseTransformer());
162162
163- } else {
164-
165- // IDEA
166- if (System.getProperty("idea.paths.selector") != null) {
167- log.info("IDEA" + message);
168- pleiadesOption.appName = "idea";
169- pleiadesOption.configXmlFile = "pleiades-config-idea.xml";
170- pleiadesOption.appOverrideProp = "translation-override-idea.properties";
171- instrumentation.addTransformer(new LauncherIdeaTransformer());
172- }
173- // その他
174- else {
175- log.info("Java アプリケーション" + message);
176- pleiadesOption.configXmlFile = "pleiades-config-default.xml";
177- instrumentation.addTransformer(new LauncherTransformer());
178- }
179163 }
164+ // IDEA
165+ else if (System.getProperty("idea.paths.selector") != null) {
166+ log.info("IDEA" + message);
167+ pleiadesOption.appName = "idea";
168+ pleiadesOption.configXmlFile = "pleiades-config-idea.xml";
169+ pleiadesOption.appOverrideProp = "translation-override-idea.properties";
170+ instrumentation.addTransformer(new LauncherIdeaTransformer());
171+ }
172+ // その他
173+ else {
174+ log.info("Java アプリケーション" + message);
175+ pleiadesOption.configXmlFile = "pleiades-config-default.xml";
176+ instrumentation.addTransformer(new LauncherTransformer());
177+ }
180178 }
181179
182180 /**
旧リポジトリブラウザで表示