Start to align workspace structure of trace server with Trace Compass
- Added tracing project nature since it's in tmf.ui
- Created Traces directory and store trace underneath
- Set trace type ID persistent property
Note: The implementations for the alignment of workspace structure
should to be done by migrating Trace Compass project model code of UI
to core.
Change-Id: Ib405a9409ac5170ece6293a626d4a99270643228
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/158540
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/plugin.xml b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/plugin.xml
index aac116e..81d26e3 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/plugin.xml
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/plugin.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
-<extension
+ <extension
id="id"
point="org.eclipse.core.runtime.applications">
<application
@@ -13,16 +13,25 @@
</run>
</application>
</extension>
-<extension
- id="id"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.id"
- name="%product.name">
- <property
- name="appName"
- value="Trace Compass Trace Server (Jersey Rest)">
- </property>
- </product>
-</extension>
+ <extension
+ id="id"
+ point="org.eclipse.core.runtime.products">
+ <product
+ application="org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core.id"
+ name="Trace Compass Trace Server (Jersey Rest)">
+ <property
+ name="appName"
+ value="Trace Compass Trace Server (Jersey Rest)">
+ </property>
+ </product>
+ </extension>
+ <extension
+ id="org.eclipse.linuxtools.tmf.project.nature"
+ point="org.eclipse.core.resources.natures">
+ <runtime>
+ <run
+ class="org.eclipse.tracecompass.tmf.core.TmfProjectNature">
+ </run>
+ </runtime>
+ </extension>
</plugin>
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 5a64ce2..2d47f7f 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
@@ -129,7 +129,10 @@
IResource resource = getResource(path);
+// TmfTraceTypeUIUtils.setTraceType(resource, traceTypeHelper);
TraceTypeHelper helper = traceTypes.get(0);
+ resource.setPersistentProperty(TmfCommonConstants.TRACETYPE, helper.getTraceTypeId());
+
ITmfTrace trace = helper.getTraceClass().newInstance();
trace.initTrace(resource, path, ITmfEvent.class, name, typeID);
trace.indexTrace(false);
@@ -156,18 +159,19 @@
private static IResource getResource(String path) throws CoreException {
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject(TmfCommonConstants.DEFAULT_TRACE_PROJECT_NAME);
+ IFolder tracesFolder = project.getFolder("Traces");
IPath iPath = org.eclipse.core.runtime.Path.forPosix(path);
IResource resource = null;
boolean isSuccess = false;
// create the resource hierarchy.
if (new File(path).isFile()) {
- IFile file = project.getFile(path);
+ IFile file = tracesFolder.getFile(path);
createFolder((IFolder) file.getParent(), null);
isSuccess = ResourceUtil.createSymbolicLink(file, iPath, true, null);
resource = file;
} else {
- IFolder folder = project.getFolder(path);
+ IFolder folder = tracesFolder.getFolder(path);
createFolder((IFolder) folder.getParent(), null);
isSuccess = ResourceUtil.createSymbolicLink(folder, iPath, true, null);
resource = folder;
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 f32ee9a..2591e31 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
@@ -10,7 +10,9 @@
*******************************************************************************/
package org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.webapp;
+import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
@@ -22,6 +24,7 @@
import org.eclipse.tracecompass.incubator.internal.trace.server.jersey.rest.core.services.XmlManagerService;
import org.eclipse.tracecompass.internal.tmf.core.model.DataProviderDescriptor;
import org.eclipse.tracecompass.tmf.core.TmfCommonConstants;
+import org.eclipse.tracecompass.tmf.core.TmfProjectNature;
import org.eclipse.tracecompass.tmf.core.model.xy.ISeriesModel;
import org.eclipse.tracecompass.tmf.core.model.xy.ITmfXyModel;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
@@ -102,8 +105,21 @@
.getProject(TmfCommonConstants.DEFAULT_TRACE_PROJECT_NAME);
if (!project.exists()) {
project.create(null);
+ if (!project.isOpen()) {
+ project.open(null);
+ }
+ IProjectDescription description = project.getDescription();
+ description.setNatureIds(new String[] { TmfProjectNature.ID });
+ project.setDescription(description, null);
}
- project.open(null);
+ if (!project.isOpen()) {
+ project.open(null);
+ }
+
+ IFolder tracesFolder = project.getFolder("Traces");
+ if (!tracesFolder.exists()) {
+ tracesFolder.create(true, true, null);
+ }
fServer.start();
if (fPort != TEST_PORT) {