Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Prieur-Drevon2018-02-08 02:39:57 +0000
committerLoic Prieur-Drevon2018-02-13 01:48:41 +0000
commitc61b74a4e884f1c650badb499838b212e84bca1c (patch)
treeaaac12e01dedd612a369ad8ff94633b6e2d9e529
parent2c7831b39dd7bff06b220afa3b47bc12aa302aba (diff)
downloadorg.eclipse.tracecompass.incubator-c61b74a4e884f1c650badb499838b212e84bca1c.tar.gz
org.eclipse.tracecompass.incubator-c61b74a4e884f1c650badb499838b212e84bca1c.tar.xz
org.eclipse.tracecompass.incubator-c61b74a4e884f1c650badb499838b212e84bca1c.zip
rest: add endpoints for the timegraphproviders
Also get the API closer to the swagger spec. Some cleanup. Change-Id: I7a3f92f4b76078164202bfca41dde539e7860722 Signed-off-by: Loïc Prieur-Drevon <loic.prieurdrevon@gmail.com> Reviewed-on: https://git.eclipse.org/r/116894 Tested-by: Hudson CI Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/DataProviderServiceTest.java38
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/TraceManagerServiceTest.java56
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/utils/RestServerTest.java56
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/GenericView.java (renamed from trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/XYView.java)19
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/TreeView.java66
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/DataProviderService.java160
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/EventTableService.java44
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/TraceManagerService.java43
-rw-r--r--trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/webapp/WebApplication.java15
9 files changed, 258 insertions, 239 deletions
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/DataProviderServiceTest.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/DataProviderServiceTest.java
index e918e778d..b734e200d 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/DataProviderServiceTest.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/DataProviderServiceTest.java
@@ -11,44 +11,23 @@ package org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests.s
import static org.junit.Assert.assertEquals;
-import java.io.IOException;
-import java.util.UUID;
-
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.services.TraceManagerService;
-import org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests.stubs.TraceModelStub;
+import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.services.DataProviderService;
import org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests.utils.RestServerTest;
-import org.eclipse.tracecompass.testtraces.ctf.CtfTestTrace;
-import org.junit.BeforeClass;
import org.junit.Test;
/**
- * Test the {@link TraceManagerService}
+ * Test the {@link DataProviderService}
*
* @author Loic Prieur-Drevon
*/
public class DataProviderServiceTest extends RestServerTest {
+ private static final String PROVIDERS_PATH = "providers";
private static final String CALL_STACK_DATAPROVIDER_ID = "org.eclipse.tracecompass.internal.tmf.core.callstack.provider.CallStackDataProvider";
-
- private static String CONTEXT_SWITCHES_UST_PATH;
- private static TraceModelStub CONTEXT_SWITCHES_UST_STUB;
- private static final UUID CONTEXT_SWITCHES_UST_UUID = UUID.fromString("8160c5b3-c482-4d86-9d81-3272e872537f");
-
- /**
- * Get the paths to the desired traces statically
- *
- * @throws IOException
- * if the URL could not be converted to a path
- */
- @BeforeClass
- public static void beforeTest() throws IOException {
- CONTEXT_SWITCHES_UST_PATH = FileLocator.toFileURL(CtfTestTrace.CONTEXT_SWITCHES_UST.getTraceURL()).getPath();
- CONTEXT_SWITCHES_UST_STUB = new TraceModelStub("trace2", CONTEXT_SWITCHES_UST_PATH, CONTEXT_SWITCHES_UST_UUID);
- }
+ private static final String TREE_PATH = "tree";
/**
* Ensure that the Call Stack data provider exists for the trace.
@@ -59,12 +38,21 @@ public class DataProviderServiceTest extends RestServerTest {
RestServerTest.assertPost(traces, CONTEXT_SWITCHES_UST_STUB);
Response tree = traces.path(CONTEXT_SWITCHES_UST_UUID.toString())
+ .path(PROVIDERS_PATH)
.path(CALL_STACK_DATAPROVIDER_ID)
+ .path(TREE_PATH)
.queryParam("start", 0L)
.queryParam("end", Long.MAX_VALUE)
.queryParam("nb", 2)
.request(MediaType.APPLICATION_JSON).get();
assertEquals("There should be a positive response for the data provider", 200, tree.getStatus());
+
+ Response defaults = traces.path(CONTEXT_SWITCHES_UST_UUID.toString())
+ .path(PROVIDERS_PATH)
+ .path(CALL_STACK_DATAPROVIDER_ID)
+ .path(TREE_PATH)
+ .request(MediaType.APPLICATION_JSON).get();
+ assertEquals("Default values should return OK code", 200, defaults.getStatus());
}
}
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/TraceManagerServiceTest.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/TraceManagerServiceTest.java
index 03dba7f33..4ac1154d7 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/TraceManagerServiceTest.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/services/TraceManagerServiceTest.java
@@ -13,20 +13,17 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import java.io.IOException;
import java.util.Collections;
-import java.util.List;
-import java.util.UUID;
+import java.util.HashSet;
+import java.util.Set;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
-import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.services.TraceManagerService;
import org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests.stubs.TraceModelStub;
import org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests.utils.RestServerTest;
-import org.eclipse.tracecompass.testtraces.ctf.CtfTestTrace;
-import org.junit.BeforeClass;
import org.junit.Test;
/**
@@ -36,29 +33,6 @@ import org.junit.Test;
*/
public class TraceManagerServiceTest extends RestServerTest {
- private static String TRACE2_PATH;
- private static TraceModelStub TRACE2_STUB;
- private static final UUID TRACE2_UUID = UUID.fromString("5bf45359-069d-4e45-a34d-24d037ca5676") ;
-
- private static String KERNEL_PATH;
- private static TraceModelStub KERNEL_STUB;
- private static final UUID KERNEL_UUID = UUID.fromString("d18e6374-35a1-cd42-8e70-a9cffa712793") ;
-
- /**
- * Get the paths to the desired traces statically
- *
- * @throws IOException
- * if the URL could not be converted to a path
- */
- @BeforeClass
- public static void beforeTest() throws IOException {
- TRACE2_PATH = FileLocator.toFileURL(CtfTestTrace.TRACE2.getTraceURL()).getPath();
- TRACE2_STUB = new TraceModelStub("trace2", TRACE2_PATH, TRACE2_UUID);
-
- KERNEL_PATH = FileLocator.toFileURL(CtfTestTrace.KERNEL.getTraceURL()).getPath();
- KERNEL_STUB = new TraceModelStub("kernel", KERNEL_PATH, KERNEL_UUID);
- }
-
/**
* Test basic operations on the {@link TraceManagerService}.
*/
@@ -66,15 +40,18 @@ public class TraceManagerServiceTest extends RestServerTest {
public void testWithOneTrace() {
WebTarget traces = getTracesEndpoint();
- List<TraceModelStub> traceModels = getTraces(traces);
+ Set<TraceModelStub> traceModels = getTraces(traces);
assertNotNull("Model returned by server should not be null", traceModels);
- assertTrue("Expected empty list of traces", traceModels.isEmpty());
+ assertTrue("Expected empty set of traces", traceModels.isEmpty());
assertPost(traces, TRACE2_STUB);
+ @Nullable TraceModelStub actual = traces.path(TRACE2_STUB.getUUID().toString()).request().get(TraceModelStub.class);
+ assertEquals(TRACE2_STUB, actual);
+
traceModels = getTraces(traces);
- assertNotNull("Model returned by server should not be null", traceModels);
- assertEquals("Expected list of traces to contain one trace", 1, traceModels.size());
+ assertEquals("Expected set of traces to contain trace2 stub",
+ Collections.singleton(TRACE2_STUB), traceModels);
Response deleteResponse = traces.path(TRACE2_UUID.toString()).request().delete();
int deleteCode = deleteResponse.getStatus();
@@ -83,7 +60,7 @@ public class TraceManagerServiceTest extends RestServerTest {
traceModels = getTraces(traces);
assertNotNull("Model returned by server should not be null", traceModels);
- assertEquals("Trace should have been deleted", Collections.emptyList(), traceModels);
+ assertEquals("Trace should have been deleted", Collections.emptySet(), traceModels);
}
/**
@@ -94,13 +71,12 @@ public class TraceManagerServiceTest extends RestServerTest {
WebTarget traces = getTracesEndpoint();
assertPost(traces, TRACE2_STUB);
- assertPost(traces, KERNEL_STUB);
+ assertPost(traces, CONTEXT_SWITCHES_UST_STUB);
- List<TraceModelStub> traceModels = getTraces(traces);
- assertNotNull(traceModels);
- assertEquals(2, traceModels.size());
- assertTrue(traceModels.contains(KERNEL_STUB));
- assertTrue(traceModels.contains(TRACE2_STUB));
+ Set<TraceModelStub> expected = new HashSet<>();
+ expected.add(CONTEXT_SWITCHES_UST_STUB);
+ expected.add(TRACE2_STUB);
+ assertEquals(expected, getTraces(traces));
}
}
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/utils/RestServerTest.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/utils/RestServerTest.java
index 56fa630db..465552de2 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/utils/RestServerTest.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests/src/org/eclipse/tracecompass/incubator/trace/server/jersey/rest/core/tests/utils/RestServerTest.java
@@ -10,9 +10,10 @@
package org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests.utils;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import java.util.List;
+import java.io.IOException;
+import java.util.Set;
+import java.util.UUID;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
@@ -23,11 +24,14 @@ import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import org.eclipse.core.runtime.FileLocator;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.webapp.WebApplication;
import org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.tests.stubs.TraceModelStub;
+import org.eclipse.tracecompass.testtraces.ctf.CtfTestTrace;
import org.junit.After;
import org.junit.Before;
+import org.junit.BeforeClass;
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
@@ -44,10 +48,45 @@ public abstract class RestServerTest {
private static final String NAME = "name";
private static final String PATH = "path"; //$NON-NLS-1$
- private static final GenericType<List<TraceModelStub>> TRACE_MODEL_LIST_TYPE = new GenericType<List<TraceModelStub>>() {
+ private static final GenericType<Set<TraceModelStub>> TRACE_MODEL_SET_TYPE = new GenericType<Set<TraceModelStub>>() {
};
/**
+ * {@link UUID} for {@link CtfTestTrace#TRACE2}.
+ */
+ protected static final UUID TRACE2_UUID = UUID.fromString("5bf45359-069d-4e45-a34d-24d037ca5676");
+ /**
+ * {@link TraceModelStub} to represent the object returned by the server for
+ * {@link CtfTestTrace#TRACE2}.
+ */
+ protected static TraceModelStub TRACE2_STUB;
+
+ /**
+ * {@link UUID} for {@link CtfTestTrace#CONTEXT_SWITCHES_UST}.
+ */
+ protected static final UUID CONTEXT_SWITCHES_UST_UUID = UUID.fromString("8160c5b3-c482-4d86-9d81-3272e872537f");
+ /**
+ * {@link TraceModelStub} to represent the object returned by the server for
+ * {@link CtfTestTrace#CONTEXT_SWITCHES_UST}.
+ */
+ protected static TraceModelStub CONTEXT_SWITCHES_UST_STUB;
+
+ /**
+ * Create the {@link TraceModelStub}s before running the tests
+ *
+ * @throws IOException
+ * if the URL could not be converted to a path
+ */
+ @BeforeClass
+ public static void beforeTest() throws IOException {
+ String trace2Path = FileLocator.toFileURL(CtfTestTrace.TRACE2.getTraceURL()).getPath();
+ TRACE2_STUB = new TraceModelStub("trace2", trace2Path, TRACE2_UUID);
+
+ String contextSwitchesUstPath = FileLocator.toFileURL(CtfTestTrace.CONTEXT_SWITCHES_UST.getTraceURL()).getPath();
+ CONTEXT_SWITCHES_UST_STUB = new TraceModelStub("trace2", contextSwitchesUstPath, CONTEXT_SWITCHES_UST_UUID);
+ }
+
+ /**
* Start the Eclipse / Jetty Web server
*
* @throws Exception
@@ -64,8 +103,7 @@ public abstract class RestServerTest {
@After
public void stopServer() {
WebTarget traceTarget = getTracesEndpoint();
- List<TraceModelStub> traces = getTraces(traceTarget);
- for (TraceModelStub trace : traces) {
+ for (TraceModelStub trace : getTraces(traceTarget)) {
traceTarget.path(trace.getUUID().toString()).request().delete();
}
fWebApp.stop();
@@ -79,8 +117,7 @@ public abstract class RestServerTest {
public static WebTarget getTracesEndpoint() {
Client client = ClientBuilder.newClient();
client.register(JacksonJsonProvider.class);
- WebTarget traces = client.target(SERVER);
- return traces;
+ return client.target(SERVER);
}
/**
@@ -91,8 +128,8 @@ public abstract class RestServerTest {
* the server.
* @return list of currently open traces.
*/
- public static List<TraceModelStub> getTraces(WebTarget traces) {
- return traces.request(MediaType.APPLICATION_JSON).get(TRACE_MODEL_LIST_TYPE);
+ public static Set<TraceModelStub> getTraces(WebTarget traces) {
+ return traces.request(MediaType.APPLICATION_JSON).get(TRACE_MODEL_SET_TYPE);
}
/**
@@ -111,7 +148,6 @@ public abstract class RestServerTest {
int code = response.getStatus();
assertEquals("Failed to POST " + stub.getName() + ", error code=" + code, 200, code);
@Nullable TraceModelStub model = response.readEntity(TraceModelStub.class);
- assertNotNull(model);
assertEquals(stub, model);
}
}
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/XYView.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/GenericView.java
index 38659c5f9..09366e52a 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/XYView.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/GenericView.java
@@ -12,33 +12,32 @@ package org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.cor
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
-import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.tracecompass.internal.provisional.tmf.core.model.xy.ITmfXyModel;
import org.eclipse.tracecompass.internal.provisional.tmf.core.response.TmfModelResponse;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
/**
- * Object to encapsulate the values returned by a query for an XY view
+ * Object to encapsulate the values returned by a data provider query
*
+ * @param <R> Type of model to return
* @author Loic Prieur-Drevon
*/
@SuppressWarnings("restriction")
@XmlRootElement
-public class XYView {
+public class GenericView<R> {
private final ITmfTrace fTrace;
- private final TmfModelResponse<@NonNull ITmfXyModel> fResponse;
+ private final TmfModelResponse<R> fResponse;
/**
- * Compose the {@link ITmfTrace} and {@link ITmfXyModel} in an
- * {@link XYView}
+ * Compose the {@link ITmfTrace} and response in an
+ * {@link GenericView}
*
* @param trace
* the queried trace
* @param response
* XY model response for the query
*/
- public XYView(@Nullable ITmfTrace trace, TmfModelResponse<@NonNull ITmfXyModel> response) {
+ public GenericView(@Nullable ITmfTrace trace, TmfModelResponse<R> response) {
fTrace = trace;
fResponse = response;
}
@@ -53,12 +52,12 @@ public class XYView {
}
/**
- * Getter for the time values in this XY view
+ * Getter for the ModelResponse in this XY view
*
* @return the time values
*/
@XmlElement
- public TmfModelResponse<@NonNull ITmfXyModel> getResponse() {
+ public TmfModelResponse<R> getResponse() {
return fResponse;
}
}
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/TreeView.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/TreeView.java
deleted file mode 100644
index 5bbc7aa0c..000000000
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/model/views/TreeView.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.model.views;
-
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.tracecompass.internal.provisional.tmf.core.model.tree.ITmfTreeDataModel;
-import org.eclipse.tracecompass.internal.provisional.tmf.core.response.TmfModelResponse;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
-
-/**
- * Object to encapsulate the values returned by a query for a Tree view
- *
- * @author Loic Prieur-Drevon
- */
-@SuppressWarnings("restriction")
-@XmlRootElement
-public class TreeView {
- private final ITmfTrace fTrace;
- private final TmfModelResponse<@NonNull List<@NonNull ITmfTreeDataModel>> fResponse;
-
- /**
- * Compose the {@link ITmfTrace} and list of {@link ITmfTreeDataModel} in an
- * {@link TreeView}
- *
- * @param trace
- * queried trace
- * @param response
- * Flattened tree model response for the query
- */
- public TreeView(@Nullable ITmfTrace trace, TmfModelResponse<@NonNull List<@NonNull ITmfTreeDataModel>> response) {
- fTrace = trace;
- fResponse = response;
- }
-
- /**
- * Getter for the trace
- *
- * @return the trace
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Getter for the encapsulated tree response
- *
- * @return the flattened tree model.
- */
- @XmlElement
- public TmfModelResponse<@NonNull List<@NonNull ITmfTreeDataModel>> getResponse() {
- return fResponse;
- }
-}
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/DataProviderService.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/DataProviderService.java
index 46d4089d0..5c40a24d7 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/DataProviderService.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/DataProviderService.java
@@ -14,21 +14,24 @@ import java.util.UUID;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
+import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.model.views.TreeView;
-import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.model.views.XYView;
+import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.model.views.GenericView;
import org.eclipse.tracecompass.internal.provisional.tmf.core.model.filters.SelectionTimeQueryFilter;
import org.eclipse.tracecompass.internal.provisional.tmf.core.model.filters.TimeQueryFilter;
+import org.eclipse.tracecompass.internal.provisional.tmf.core.model.timegraph.ITimeGraphArrow;
+import org.eclipse.tracecompass.internal.provisional.tmf.core.model.timegraph.ITimeGraphDataProvider;
+import org.eclipse.tracecompass.internal.provisional.tmf.core.model.timegraph.ITimeGraphEntryModel;
+import org.eclipse.tracecompass.internal.provisional.tmf.core.model.timegraph.ITimeGraphRowModel;
import org.eclipse.tracecompass.internal.provisional.tmf.core.model.tree.ITmfTreeDataModel;
import org.eclipse.tracecompass.internal.provisional.tmf.core.model.tree.ITmfTreeDataProvider;
import org.eclipse.tracecompass.internal.provisional.tmf.core.model.xy.ITmfTreeXYDataProvider;
@@ -36,21 +39,19 @@ import org.eclipse.tracecompass.internal.provisional.tmf.core.model.xy.ITmfXyMod
import org.eclipse.tracecompass.internal.provisional.tmf.core.response.TmfModelResponse;
import org.eclipse.tracecompass.tmf.core.dataprovider.DataProviderManager;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
-import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
-
-import com.google.common.base.Optional;
-import com.google.common.collect.Iterables;
/**
- * Service to query the {@link ITmfTreeXYDataProvider}s
- * <p>
+ * Service to query the {@link ITmfTreeDataProvider}s
+ *
* @author Loic Prieur-Drevon
*/
@SuppressWarnings("restriction")
-@Path("/traces")
+@Path("/traces/{uuid}/providers/{providerId}")
public class DataProviderService {
- @Context TmfTraceManager traceManager;
- DataProviderManager manager = DataProviderManager.getInstance();
+ private static final String NO_PROVIDER = "Analysis cannot run"; //$NON-NLS-1$
+ private static final String NO_SUCH_TRACE = "No Such Trace"; //$NON-NLS-1$
+
+ private final DataProviderManager manager = DataProviderManager.getInstance();
/**
* Query the provider for the entry tree
@@ -65,31 +66,30 @@ public class DataProviderService {
* upper bound for the query
* @param nb
* nanoseconds between two data points
- * @return an {@link XYView} with the results
+ * @return an {@link GenericView} with the results
*/
@GET
- @Path("/{uuid}/{providerId}")
+ @Path("/tree")
@Produces(MediaType.APPLICATION_JSON)
- public Response getTree(@PathParam(value = "uuid") UUID uuid,
- @PathParam(value = "providerId") String providerId,
- @QueryParam(value = "start") long start,
- @QueryParam(value = "end") long end,
- @QueryParam(value = "nb") int nb) {
- Optional<@NonNull ITmfTrace> optional = Iterables.tryFind(traceManager.getOpenedTraces(), t -> uuid.equals(t.getUUID()));
- if (!optional.isPresent()) {
- return Response.status(Status.NOT_FOUND).entity("No Such Trace").build(); //$NON-NLS-1$
+ public Response getTree(@PathParam("uuid") UUID uuid,
+ @PathParam("providerId") String providerId,
+ @QueryParam("start") long start,
+ @QueryParam("end") @DefaultValue("1") long end,
+ @QueryParam("nb") @DefaultValue("2") int nb) {
+ ITmfTrace trace = TraceManagerService.getTraceByUUID(uuid);
+ if (trace == null) {
+ return Response.status(Status.NOT_FOUND).entity(NO_SUCH_TRACE).build();
}
- ITmfTrace trace = optional.get();
ITmfTreeDataProvider<@NonNull ITmfTreeDataModel> provider = manager.getDataProvider(trace,
providerId, ITmfTreeDataProvider.class);
if (provider == null) {
// The analysis cannot be run on this trace
- return Response.status(Status.METHOD_NOT_ALLOWED).entity("Analysis cannot run").build(); //$NON-NLS-1$
+ return Response.status(Status.METHOD_NOT_ALLOWED).entity(NO_PROVIDER).build();
}
TmfModelResponse<@NonNull List<@NonNull ITmfTreeDataModel>> response = provider.fetchTree(new TimeQueryFilter(start, end, nb), null);
- return Response.ok().entity(new TreeView(trace, response)).build();
+ return Response.ok().entity(new GenericView<>(trace, response)).build();
}
/**
@@ -107,32 +107,112 @@ public class DataProviderService {
* nanoseconds between two data points
* @param ids
* ids of the entries to query
- * @return an {@link XYView} with the results
+ * @return an {@link GenericView} with the results
*/
@GET
- @Path("/{uuid}/{providerId}/xy")
+ @Path("/xy")
@Produces(MediaType.APPLICATION_JSON)
- public Response getXY(@PathParam(value = "uuid") UUID uuid,
- @PathParam(value = "providerId") String providerId,
- @QueryParam(value = "start") long start,
- @QueryParam(value = "end") long end,
- @QueryParam(value = "nb") @Min(1) int nb,
- @QueryParam(value = "ids") @NotNull Set<Long> ids) {
- Optional<@NonNull ITmfTrace> optional = Iterables.tryFind(traceManager.getOpenedTraces(), t -> uuid.equals(t.getUUID()));
- if (!optional.isPresent()) {
- return Response.status(Status.NOT_FOUND).entity("No Such Trace").build(); //$NON-NLS-1$
+ public Response getXY(@PathParam("uuid") UUID uuid,
+ @PathParam("providerId") String providerId,
+ @QueryParam("start") long start,
+ @QueryParam("end") long end,
+ @QueryParam("nb") @Min(1) int nb,
+ @QueryParam("ids") @NotNull Set<Long> ids) {
+ ITmfTrace trace = TraceManagerService.getTraceByUUID(uuid);
+ if (trace == null) {
+ return Response.status(Status.NOT_FOUND).entity(NO_SUCH_TRACE).build();
}
- ITmfTrace trace = optional.get();
- ITmfTreeXYDataProvider<? extends @NonNull ITmfTreeDataModel> provider = manager.getDataProvider(trace,
+ ITmfTreeXYDataProvider<@NonNull ITmfTreeDataModel> provider = manager.getDataProvider(trace,
providerId, ITmfTreeXYDataProvider.class);
if (provider == null) {
// The analysis cannot be run on this trace
- return Response.status(Status.METHOD_NOT_ALLOWED).entity("Analysis cannot run").build(); //$NON-NLS-1$
+ return Response.status(Status.METHOD_NOT_ALLOWED).entity(NO_PROVIDER).build();
}
TmfModelResponse<@NonNull ITmfXyModel> response = provider.fetchXY(new SelectionTimeQueryFilter(start, end, nb, ids), null);
- return Response.ok().entity(new XYView(trace, response)).build();
+ return Response.ok().entity(new GenericView<>(trace, response)).build();
+ }
+
+ /**
+ * Query the provider for the time graph states
+ *
+ * @param uuid
+ * desired trace UUID
+ * @param providerId
+ * Eclipse extension point ID for the data provider to query
+ * @param start
+ * lower bound for the query
+ * @param end
+ * upper bound for the query
+ * @param nb
+ * nanoseconds between two data points
+ * @param ids
+ * ids of the entries to query
+ * @return an {@link GenericView} with the results
+ */
+ @GET
+ @Path("/states")
+ @Produces(MediaType.APPLICATION_JSON)
+ public Response getStates(@PathParam("uuid") UUID uuid,
+ @PathParam("providerId") String providerId,
+ @QueryParam("start") long start,
+ @QueryParam("end") long end,
+ @QueryParam("nb") int nb,
+ @QueryParam("ids") @NotNull Set<Long> ids) {
+ ITmfTrace trace = TraceManagerService.getTraceByUUID(uuid);
+ if (trace == null) {
+ return Response.status(Status.NOT_FOUND).entity(NO_SUCH_TRACE).build();
+ }
+
+ ITimeGraphDataProvider<@NonNull ITimeGraphEntryModel> provider = manager.getDataProvider(trace,
+ providerId, ITimeGraphDataProvider.class);
+ if (provider == null) {
+ // The analysis cannot be run on this trace
+ return Response.status(Status.METHOD_NOT_ALLOWED).entity(NO_PROVIDER).build();
+ }
+
+ TmfModelResponse<List<@NonNull ITimeGraphRowModel>> response = provider.fetchRowModel(new SelectionTimeQueryFilter(start, end, nb, ids), null);
+ return Response.ok().entity(new GenericView<>(trace, response)).build();
+ }
+
+ /**
+ * Query the provider for the time graph arrows
+ *
+ * @param uuid
+ * desired trace UUID
+ * @param providerId
+ * Eclipse extension point ID for the data provider to query
+ * @param start
+ * lower bound for the query
+ * @param end
+ * upper bound for the query
+ * @param nb
+ * nanoseconds between two data points
+ * @return an {@link GenericView} with the results
+ */
+ @GET
+ @Path("/arrows")
+ @Produces(MediaType.APPLICATION_JSON)
+ public Response getArrows(@PathParam("uuid") UUID uuid,
+ @PathParam("providerId") String providerId,
+ @QueryParam("start") long start,
+ @QueryParam("end") long end,
+ @QueryParam("nb") int nb) {
+ ITmfTrace trace = TraceManagerService.getTraceByUUID(uuid);
+ if (trace == null) {
+ return Response.status(Status.NOT_FOUND).entity(NO_SUCH_TRACE).build();
+ }
+
+ ITimeGraphDataProvider<@NonNull ITimeGraphEntryModel> provider = manager.getDataProvider(trace,
+ providerId, ITimeGraphDataProvider.class);
+ if (provider == null) {
+ // The analysis cannot be run on this trace
+ return Response.status(Status.METHOD_NOT_ALLOWED).entity(NO_PROVIDER).build();
+ }
+
+ TmfModelResponse<List<@NonNull ITimeGraphArrow>> response = provider.fetchArrows(new TimeQueryFilter(start, end, nb), null);
+ return Response.ok().entity(new GenericView<>(trace, response)).build();
}
}
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/EventTableService.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/EventTableService.java
index 1445781a6..607a0b79d 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/EventTableService.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/EventTableService.java
@@ -10,6 +10,7 @@ package org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.cor
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
import java.util.function.Predicate;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
@@ -23,7 +24,6 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
@@ -40,10 +40,8 @@ import org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest.ExecutionType;
import org.eclipse.tracecompass.tmf.core.request.TmfEventRequest;
import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
-import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
import org.eclipse.tracecompass.tmf.core.util.Pair;
-import com.google.common.base.Optional;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
@@ -52,16 +50,14 @@ import com.google.common.collect.Lists;
*
* @author Loic Prieur-Drevon
*/
-@Path("/traces")
+@Path("/traces/{uuid}/eventTable")
public class EventTableService {
- @Context
- TmfTraceManager traceManager;
/**
* Query a trace for a list of events to populate a virtual table
*
- * @param name
- * The queried trace's name
+ * @param uuid
+ * The queried trace's uuid
*
* @param low
* rank of the first event to return
@@ -71,17 +67,15 @@ public class EventTableService {
* trace model objects and the table of queried events
*/
@GET
- @Path("/{name}/eventTable")
@Produces({ MediaType.APPLICATION_JSON })
- public Response getEvents(@PathParam(value = "name") @NotNull String name,
- @QueryParam(value = "low") @Min(0) long low,
- @QueryParam(value = "size") @Min(0) int size) {
- Optional<@NonNull ITmfTrace> optional = Iterables.tryFind(traceManager.getOpenedTraces(), t -> t.getName().equals(name));
- if (!optional.isPresent()) {
- return Response.status(Status.NOT_FOUND).entity("No trace with name: " + name).build(); //$NON-NLS-1$
+ public Response getEvents(@PathParam("uuid") @NotNull UUID uuid,
+ @QueryParam("low") @Min(0) long low,
+ @QueryParam("size") @Min(0) int size) {
+ ITmfTrace trace = TraceManagerService.getTraceByUUID(uuid);
+ if (trace == null) {
+ return Response.status(Status.NOT_FOUND).entity("No trace with uuid: " + uuid).build(); //$NON-NLS-1$
}
try {
- ITmfTrace trace = optional.get();
List<List<String>> events = query(trace, low, size);
EventView view = new EventView(trace, low, size, events);
return Response.ok().entity(view).build();
@@ -94,8 +88,8 @@ public class EventTableService {
/**
* Query a trace for a list of events to populate a virtual table
*
- * @param name
- * The queried trace's name
+ * @param uuid
+ * The queried trace's {@link UUID}
* @param low
* rank of the first event to return
* @param size
@@ -106,23 +100,21 @@ public class EventTableService {
* trace objects and the table of queried events
*/
@PUT
- @Path("/{name}/eventTable")
@Consumes({ MediaType.APPLICATION_FORM_URLENCODED })
@Produces({ MediaType.APPLICATION_JSON })
- public Response getFilteredEvents(@PathParam(value = "name") @NotNull String name,
- @QueryParam(value = "low") @Min(0) long low,
- @QueryParam(value = "size") @Min(0) int size,
+ public Response getFilteredEvents(@PathParam("uuid") @NotNull UUID uuid,
+ @QueryParam("low") @Min(0) long low,
+ @QueryParam("size") @Min(0) int size,
MultivaluedMap<String, String> multivaluedMap) {
if (multivaluedMap == null) {
return Response.status(Status.BAD_REQUEST).entity("bad filter (null)").build(); //$NON-NLS-1$
}
- Optional<@NonNull ITmfTrace> optional = Iterables.tryFind(traceManager.getOpenedTraces(), t -> t.getName().equals(name));
- if (!optional.isPresent()) {
- return Response.status(Status.NOT_FOUND).entity("No trace with name: " + name).build(); //$NON-NLS-1$
+ ITmfTrace trace = TraceManagerService.getTraceByUUID(uuid);
+ if (trace == null) {
+ return Response.status(Status.NOT_FOUND).entity("No trace with uuid: " + uuid).build(); //$NON-NLS-1$
}
try {
- ITmfTrace trace = optional.get();
Pair<List<List<String>>, Integer> events = filteredQuery(trace, low, size, multivaluedMap);
EventView view = new EventView(trace, low, size, multivaluedMap, events.getFirst(), events.getSecond());
return Response.ok().entity(view).build();
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/TraceManagerService.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/TraceManagerService.java
index aa4eacf4a..04e7b7e75 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/TraceManagerService.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/TraceManagerService.java
@@ -22,12 +22,12 @@ import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
import org.eclipse.tracecompass.tmf.core.project.model.TmfTraceImportException;
@@ -49,7 +49,6 @@ import com.google.common.collect.Iterables;
*/
@Path("/traces")
public class TraceManagerService {
- @Context TmfTraceManager traceManager;
/**
* Getter method to access the list of traces
@@ -59,7 +58,7 @@ public class TraceManagerService {
@GET
@Produces({ MediaType.APPLICATION_JSON })
public Response getTraces() {
- return Response.ok().entity(traceManager.getOpenedTraces()).build();
+ return Response.ok().entity(TmfTraceManager.getInstance().getOpenedTraces()).build();
}
/**
@@ -80,7 +79,7 @@ public class TraceManagerService {
public Response putTrace(@FormParam("name") @NotNull @Size(min = 1) String name,
@FormParam("path") String path,
@FormParam("typeID") String typeID) {
- Optional<@NonNull ITmfTrace> optional = Iterables.tryFind(traceManager.getOpenedTraces(), t -> t.getPath().equals(path));
+ Optional<@NonNull ITmfTrace> optional = Iterables.tryFind(TmfTraceManager.getInstance().getOpenedTraces(), t -> t.getPath().equals(path));
if (optional.isPresent()) {
return Response.status(Status.CONFLICT).entity(optional.get()).build();
}
@@ -104,7 +103,7 @@ public class TraceManagerService {
if (traceTypes.isEmpty()) {
return null;
}
- TraceTypeHelper helper = Iterables.get(traceTypes, 0);
+ TraceTypeHelper helper = traceTypes.get(0);
ITmfTrace trace = helper.getTraceClass().newInstance();
trace.initTrace(null, path, ITmfEvent.class, name, typeID);
trace.indexTrace(false);
@@ -113,6 +112,24 @@ public class TraceManagerService {
}
/**
+ * Getter method to get a trace object
+ *
+ * @param uuid
+ * Unique trace ID
+ * @return a response containing the trace
+ */
+ @GET
+ @Path("/{uuid}")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response getTrace(@PathParam("uuid") @NotNull UUID uuid) {
+ ITmfTrace trace = getTraceByUUID(uuid);
+ if (trace == null) {
+ return Response.ok().status(Status.NOT_FOUND).build();
+ }
+ return Response.ok().entity(trace).build();
+ }
+
+ /**
* Delete a trace from the manager and dispose of it
*
* @param uuid
@@ -123,14 +140,24 @@ public class TraceManagerService {
@Path("/{uuid}")
@Produces({ MediaType.APPLICATION_JSON })
public Response deleteTrace(@PathParam("uuid") @NotNull UUID uuid) {
- Optional<@NonNull ITmfTrace> optional = Iterables.tryFind(traceManager.getOpenedTraces(), t -> uuid.equals(t.getUUID()));
- if (!optional.isPresent()) {
+ ITmfTrace trace = getTraceByUUID(uuid);
+ if (trace == null) {
return Response.ok().status(Status.NOT_FOUND).build();
}
- ITmfTrace trace = optional.get();
TmfSignalManager.dispatchSignal(new TmfTraceClosedSignal(this, trace));
trace.dispose();
return Response.ok().entity(trace).build();
}
+ /**
+ * Try and find a trace with the queried UUID in the {@link TmfTraceManager}.
+ *
+ * @param uuid
+ * queried {@link UUID}
+ * @return the trace or null if none match.
+ */
+ public static @Nullable ITmfTrace getTraceByUUID(UUID uuid) {
+ return Iterables.tryFind(TmfTraceManager.getInstance().getOpenedTraces(), t -> uuid.equals(t.getUUID())).orNull();
+ }
+
}
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/webapp/WebApplication.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/webapp/WebApplication.java
index 5e80c95e2..7e3be8295 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/webapp/WebApplication.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/webapp/WebApplication.java
@@ -11,12 +11,10 @@ package org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.cor
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.services.DataProviderService;
import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.services.EventTableService;
import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.services.TraceManagerService;
-import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.services.DataProviderService;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
-import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
-import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.servlet.ServletContainer;
@@ -80,17 +78,6 @@ public class WebApplication {
rc.register(CORSFilter.class);
rc.register(registerCustomMappers());
- /**
- * register a TraceManager, this allows it to be swappable with another
- * implementation.
- */
- rc.register(new AbstractBinder() {
- @Override
- protected void configure() {
- bind(TmfTraceManager.getInstance()).to(TmfTraceManager.class);
- }
- });
-
ServletContainer sc = new ServletContainer(rc);
ServletHolder holder = new ServletHolder(sc);
sch.addServlet(holder, PATH_SPEC);

Back to the top