From 3b7efb5bc3788850912bfae24b2ba686a5e4375b Mon Sep 17 00:00:00 2001 From: yukihane Date: Sun, 28 Aug 2011 00:19:01 +0900 Subject: [PATCH] =?utf8?q?=E5=85=B1=E9=80=9A=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/yukihane/inqubus/manager/TaskManage.java | 85 ++++++++++------------ 1 file changed, 40 insertions(+), 45 deletions(-) diff --git a/frontend/src/yukihane/inqubus/manager/TaskManage.java b/frontend/src/yukihane/inqubus/manager/TaskManage.java index b38531d..52c0c4e 100644 --- a/frontend/src/yukihane/inqubus/manager/TaskManage.java +++ b/frontend/src/yukihane/inqubus/manager/TaskManage.java @@ -61,52 +61,41 @@ public class TaskManage { return false; } - private class DownloadListener implements WorkerListener { - - private final int rowId; + private class DownloadListener extends TaskManageInnerListener { private DownloadListener(int rowId) { - this.rowId = rowId; - } - - private void notify(TaskStatus status) { - notify(status, 0.0, ""); - } - - private void notify(TaskStatus status, double percentage, String message) { - if (clientListener == null) { - return; - } - clientListener.process(rowId, TaskKind.DOWNLOAD, status, percentage, message); + super(rowId); } @Override - public void process(DownloadProgress progress) { - // TOOD - notify(TaskStatus.DOING, 0.0, ""); + public void done(DownloadResult result) { + super.done(result); + // TODO 変換が必要なら変換キューに入れる } @Override - public void cancelled() { - notify(TaskStatus.CANCELLED); + protected TaskKind getKind() { + return TaskKind.DOWNLOAD; } + } - @Override - public void done(DownloadResult result) { - notify(TaskStatus.DONE); + private class ConvertListener extends TaskManageInnerListener { + + private ConvertListener(int rowId) { + super(rowId); } @Override - public void error(Throwable th) { - notify(TaskStatus.ERROR, 0.0, th.getMessage()); + protected TaskKind getKind() { + return TaskKind.CONVERT; } } - private class ConvertListener implements WorkerListener { + abstract class TaskManageInnerListener implements WorkerListener { private final int rowId; - private ConvertListener(int rowId) { + protected TaskManageInnerListener(int rowId) { this.rowId = rowId; } @@ -115,14 +104,20 @@ public class TaskManage { } private void notify(TaskStatus status, double percentage, String message) { - if (clientListener == null) { + if (getListener() == null) { return; } - clientListener.process(rowId, TaskKind.DOWNLOAD, status, percentage, message); + getListener().process(rowId, getKind(), status, percentage, message); } + private TaskManageListener getListener() { + return clientListener; + } + + protected abstract TaskKind getKind(); + @Override - public void process(ConvertProgress progress) { + public void process(V progress) { // TOOD notify(TaskStatus.DOING, 0.0, ""); } @@ -133,7 +128,7 @@ public class TaskManage { } @Override - public void done(ConvertResult result) { + public void done(T result) { notify(TaskStatus.DONE); } @@ -142,23 +137,23 @@ public class TaskManage { notify(TaskStatus.ERROR, 0.0, th.getMessage()); } } -} -class ManageTarget { + class ManageTarget { - private final RequestProcess request; - private final Future future; + private final RequestProcess request; + private final Future future; - ManageTarget(RequestProcess request, Future future) { - this.request = request; - this.future = future; - } + ManageTarget(RequestProcess request, Future future) { + this.request = request; + this.future = future; + } - Future getFuture() { - return future; - } + Future getFuture() { + return future; + } - RequestProcess getRequest() { - return request; + RequestProcess getRequest() { + return request; + } } -} +} \ No newline at end of file -- 2.11.0