diff --git a/org.ntlab.traceCollector/plugin.xml b/org.ntlab.traceCollector/plugin.xml
index 5fc6cdd..e2ae09b 100644
--- a/org.ntlab.traceCollector/plugin.xml
+++ b/org.ntlab.traceCollector/plugin.xml
@@ -4,42 +4,49 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
diff --git a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandler.java b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandler.java
index 9b92582..e05c4db 100644
--- a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandler.java
+++ b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandler.java
@@ -23,6 +23,7 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
import org.ntlab.traceCollector.Activator;
+import org.ntlab.traceCollector.tracer.ITraceGenerator;
import org.ntlab.traceCollector.tracer.JSONTraceGenerator;
import org.ntlab.traceCollector.tracer.OnlineTraceGenerator;
import org.ntlab.traceCollector.tracer.OutputStatementsGenerator;
@@ -34,7 +35,7 @@
* @author Nitta
*
*/
-public class InstrumentationHandler extends AbstractHandler {
+public abstract class InstrumentationHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
@@ -82,7 +83,8 @@
// �C���X�g�D�������e�[�V�������s��
// Tracer.initialize(new OutputStatementsGenerator(new JSONTraceGenerator()), cp); // �����ŏo�̓t�H�[�}�b�g���w�肷��
- Tracer.initialize(new OutputStatementsGenerator(new OnlineTraceGenerator()), cp); // �����ŏo�̓t�H�[�}�b�g���w�肷��
+// Tracer.initialize(new OutputStatementsGenerator(new OnlineTraceGenerator()), cp); // �����ŏo�̓t�H�[�}�b�g���w�肷��
+ Tracer.initialize(new OutputStatementsGenerator(getGenerator()), cp); // �����ŏo�̓t�H�[�}�b�g���w�肷��
Tracer.packageInstrumentation("", classPath + "/");
} catch (JavaModelException | NotFoundException e) {
e.printStackTrace();
@@ -91,7 +93,9 @@
}
return null;
}
-
+
+ public abstract ITraceGenerator getGenerator();
+
private String getPath(String location) {
if (location.indexOf('/') >= 0) {
return location.substring(location.indexOf('/')).split("!/")[0];
diff --git a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandlerForOfflineAnalysis.java b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandlerForOfflineAnalysis.java
new file mode 100644
index 0000000..49111e8
--- /dev/null
+++ b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandlerForOfflineAnalysis.java
@@ -0,0 +1,20 @@
+package org.ntlab.traceCollector.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.ntlab.traceCollector.tracer.ITraceGenerator;
+import org.ntlab.traceCollector.tracer.JSONTraceGenerator;
+
+public class InstrumentationHandlerForOfflineAnalysis extends InstrumentationHandler {
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ System.out.println("InstrumentationHandlerForOfflineAnalysis#execute(ExecutionEvent)");
+ return super.execute(event);
+ }
+
+ @Override
+ public ITraceGenerator getGenerator() {
+ return new JSONTraceGenerator();
+ }
+}
\ No newline at end of file
diff --git a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandlerForOnlineAnalysis.java b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandlerForOnlineAnalysis.java
new file mode 100644
index 0000000..dda9e5c
--- /dev/null
+++ b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/handlers/InstrumentationHandlerForOnlineAnalysis.java
@@ -0,0 +1,20 @@
+package org.ntlab.traceCollector.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.ntlab.traceCollector.tracer.ITraceGenerator;
+import org.ntlab.traceCollector.tracer.OnlineTraceGenerator;
+
+public class InstrumentationHandlerForOnlineAnalysis extends InstrumentationHandler {
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ System.out.println("InstrumentationHandlerForOnlineAnalysis#execute(ExecutionEvent)");
+ return super.execute(event);
+ }
+
+ @Override
+ public ITraceGenerator getGenerator() {
+ return new OnlineTraceGenerator();
+ }
+}
\ No newline at end of file