Merge branch 'master' into lttng-luna
authorAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Mon, 16 Sep 2013 19:07:19 +0000 (15:07 -0400)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Mon, 16 Sep 2013 19:07:19 +0000 (15:07 -0400)
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Conflicts:
lttng/org.eclipse.linuxtools.ctf.core.tests/shared/org/eclipse/linuxtools/ctf/core/tests/shared/CtfTestTrace.java
lttng/org.eclipse.linuxtools.ctf.core.tests/traces/get-traces.xml
lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/CtfTmfTestTrace.java

Change-Id: I4fa50b717809ea2cf7cc92e2a0addb159f6b9cc2

16 files changed:
org.eclipse.linuxtools.ctf.core.tests/pom.xml
org.eclipse.linuxtools.ctf.core.tests/shared/org/eclipse/linuxtools/ctf/core/tests/shared/CtfTestTrace.java
org.eclipse.linuxtools.ctf.core.tests/traces/.gitignore
org.eclipse.linuxtools.ctf.core.tests/traces/get-traces.sh
org.eclipse.linuxtools.ctf.core.tests/traces/get-traces.xml
org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/CtfTmfTestTrace.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/AllTests.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/CtfTmfLostEventsTest.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AllTests.java
org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceBadlyFormedTest.java
org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceInvalidTest.java
org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceTest.java
org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceValidTest.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TracePropertyTester.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/importtrace/ImportTraceWizardPage.java
org.eclipse.linuxtools.tracing.rcp/feature.xml

index ee5be12c7dd80e8fd1fe66d8e8d2cbf60475b6bf..449cb4ac8c69f4c86cc231ad5f0c6f09e77099f3 100644 (file)
                     <exclude>*.sh</exclude>
                   </excludes>
                 </fileset>
-                <fileset>
-                  <directory>traces/kernel</directory>
-                </fileset>
-                <fileset>
-                  <directory>traces/trace2</directory>
-                </fileset>
-                <fileset>
-                  <directory>traces/ctf-testsuite</directory>
-                </fileset>
+                <fileset><directory>traces/ctf-testsuite</directory></fileset>
+                <fileset><directory>traces/hello-lost</directory></fileset>
+                <fileset><directory>traces/kernel</directory></fileset>
+                <fileset><directory>traces/kernel_vm</directory></fileset>
+                <fileset><directory>traces/trace2</directory></fileset>
               </filesets>
             </configuration>
             <goals>
index b45b6fcd3958000dc483925f470853e0f592f222..a09912ffb1f510215e81dc85cd67a04dec33620d 100644 (file)
@@ -35,6 +35,8 @@ public enum CtfTestTrace {
     SYNC_SRC("../org.eclipse.linuxtools.ctf.core.tests/traces/synctraces/scp_src"),
     /** Trace synchronization: destination trace */
     SYNC_DEST("../org.eclipse.linuxtools.ctf.core.tests/traces/synctraces/scp_dest");
+    /** UST trace with lots of lost events */
+    HELLO_LOST("../org.eclipse.linuxtools.ctf.core.tests/traces/hello-lost");
 
 
     private final String fPath;
index 4194ab3cbe550654719796b76e1376721234de4e..2161368bc9d0789df4491dc81d29b0e086dd367e 100644 (file)
@@ -1,6 +1,7 @@
 *.bz2
 *.tar
 /ctf-testsuite
+/hello-lost
 /kernel
 /kernel_vm
 /synctraces
index 71ef35378d0bb4e17bed3068c8b862917dc422e7..66c4f1dd64212c92498da8411005cd0013acf0df 100755 (executable)
@@ -22,6 +22,9 @@ wget http://www.dorsal.polymtl.ca/~alexmont/data/trace2.tar.bz2 -O- | tar xvjf -
 # Trace using event contexts
 wget http://www.dorsal.polymtl.ca/~alexmont/data/kernel_vm.tar.bz2 -O- | tar xvjf - &&
 
+# Trace with lost events
+wget http://www.dorsal.polymtl.ca/~alexmont/data/hello-lost.tar.bz2 -O- | tar xvjf - &&
+
 # CTF test suite, used for testing CTF parser compliance
 git clone https://github.com/efficios/ctf-testsuite.git
 
index b860ebaa8433199428147924af0b87fca60b9c33..588be110cd48b660d698c6ee803886638c5ec658 100644 (file)
@@ -15,6 +15,7 @@
   <get ignoreerrors="true" dest="trace2.tar.bz2" skipexisting="true" src="http://www.dorsal.polymtl.ca/~alexmont/data/trace2.tar.bz2"/>
   <get ignoreerrors="true" dest="kernel_vm.tar.bz2" skipexisting="true" src="http://www.dorsal.polymtl.ca/~alexmont/data/kernel_vm.tar.bz2" />
   <get ignoreerrors="true" dest="synctraces.tar.gz" skipexisting="true" src="http://www.dorsal.polymtl.ca/~gbastien/traces/synctraces.tar.gz" />
+  <get ignoreerrors="true" dest="hello-lost.tar.bz2" skipexisting="true" src="http://www.dorsal.polymtl.ca/~alexmont/data/hello-lost.tar.bz2" />
   <exec executable = "git" failifexecutionfails="false">
     <arg value = "clone"/>
     <arg value = "https://github.com/efficios/ctf-testsuite.git"/>
@@ -31,6 +32,7 @@
       <available file="trace2.tar.bz2"/>
       <available file="kernel_vm.tar.bz2" />
       <available file="synctraces.tar.gz" />
+      <available file="hello-lost.tar.bz2" />
     </and>
   </condition>
   <antcall target="extractTraces"/>
     <bunzip2 src="sample-ctf-trace-20120412.tar.bz2"/>
     <bunzip2 src="trace2.tar.bz2"/>
     <bunzip2 src="kernel_vm.tar.bz2" />
-       <gunzip src="synctraces.tar.gz" />
+    <gunzip src="synctraces.tar.gz" />
+    <bunzip2 src="hello-lost.tar.bz2" />
+    
     <untar src="sample-ctf-trace-20120412.tar" dest="." />
     <untar src="trace2.tar" dest="." />
     <untar src="kernel_vm.tar" dest="." />
-       <untar src="synctraces.tar" dest="." />
+    <untar src="synctraces.tar" dest="." />
+    <untar src="hello-lost.tar" dest="." />
+
     <echo message="Traces extracted successfully"/>
 </target>
 </project>
index 6b47f88403b197dd6fa91e0281afefe9d4e9b21d..9427119468b196bc89ec251bf9d7c5ed8254c1ad 100644 (file)
@@ -36,6 +36,8 @@ public enum CtfTmfTestTrace {
     SYNC_SRC,
     /** Trace synchronization: destination trace */
     SYNC_DEST;
+    /** UST trace with lots of lost events */
+    HELLO_LOST;
 
 
     private final String fPath;
index e60e222c1b1bd8460d38ef12014685014a8209f2..e0545eba8ec235670272d25a0c31ea18745ade73 100644 (file)
@@ -33,6 +33,7 @@ import org.junit.runners.Suite;
     CtfTmfEventFieldTest.class,
     CtfTmfEventTest.class,
     CtfTmfEventTypeTest.class,
+    CtfTmfLostEventsTest.class,
     CtfTmfTimestampTest.class,
     CtfTmfTraceTest.class,
     EventContextTest.class
diff --git a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/CtfTmfLostEventsTest.java b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/CtfTmfLostEventsTest.java
new file mode 100644 (file)
index 0000000..9b3cf74
--- /dev/null
@@ -0,0 +1,256 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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
+ *
+ * Contributors:
+ *   Alexandre Montplaisir - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.tmf.core.tests.ctfadaptor;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeTrue;
+
+import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfEvent;
+import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfTimestamp;
+import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfTrace;
+import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
+import org.eclipse.linuxtools.tmf.core.event.ITmfLostEvent;
+import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest;
+import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
+import org.eclipse.linuxtools.tmf.core.tests.shared.CtfTmfTestTrace;
+import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
+import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
+import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Tests to verify that lost events are handled correctly.
+ *
+ * Be wary if you are using Babeltrace to cross-check those values. There could
+ * be a bug in Babeltrace with regards to lost events. See
+ * http://bugs.lttng.org/issues/589
+ *
+ * It's not 100% sure at this point which implementation is correct, so for now
+ * these tests assume the Java implementation is the right one.
+ *
+ * @author Alexandre Montplaisir
+ */
+public class CtfTmfLostEventsTest {
+
+    private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.HELLO_LOST;
+
+    private static CtfTmfTrace fixture = null;
+
+    /**
+     * Class setup
+     */
+    @BeforeClass
+    public static void setUpClass() {
+        assumeTrue(testTrace.exists());
+        fixture = testTrace.getTrace();
+        fixture.indexTrace(true);
+    }
+
+    /**
+     * Clean-up
+     */
+    @AfterClass
+    public static void tearDownClass() {
+        if (fixture != null) {
+            fixture.dispose();
+        }
+    }
+
+    // ------------------------------------------------------------------------
+    // Test methods
+    // ------------------------------------------------------------------------
+
+    /**
+     * Test that the number of events is reported correctly (a range of lost
+     * events is counted as one event).
+     */
+    @Test
+    public void testNbEvents() {
+        final long expectedReal = 32300;
+        final long expectedLost = 562;
+
+        EventCountRequest req = new EventCountRequest();
+        fixture.sendRequest(req);
+        try {
+            req.waitForCompletion();
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+
+        assertEquals(expectedReal, req.getReal());
+        assertEquals(expectedLost, req.getLost());
+    }
+
+    /**
+     * Test getting the first lost event from the trace.
+     */
+    @Test
+    public void testFirstLostEvent() {
+        final long rank = 153;
+        final ITmfTimestamp start = new CtfTmfTimestamp(1376592664828848222L);
+        final ITmfTimestamp end   = new CtfTmfTimestamp(1376592664828848540L);
+        final long nbLost = 859;
+
+        final CtfTmfEvent ev = getOneEventTime(start);
+        /* Make sure seeking by rank yields the same event */
+        final CtfTmfEvent ev2 = getOneEventRank(rank);
+        assertEquals(ev, ev2);
+
+        assertTrue(ev instanceof ITmfLostEvent);
+        ITmfLostEvent event = (ITmfLostEvent) ev;
+
+        assertEquals(start, event.getTimestamp());
+        assertEquals(start, event.getTimeRange().getStartTime());
+        assertEquals(end, event.getTimeRange().getEndTime());
+        assertEquals(nbLost, event.getNbLostEvents());
+    }
+
+    /**
+     * Test getting the second lost event from the trace.
+     */
+    @Test
+    public void testSecondLostEvent() {
+        final long rank = 191;
+        final ITmfTimestamp start = new CtfTmfTimestamp(1376592664829402521L);
+        final ITmfTimestamp end   = new CtfTmfTimestamp(1376592664829403076L);
+        final long nbLost = 488;
+
+        final CtfTmfEvent ev = getOneEventTime(start);
+        /* Make sure seeking by rank yields the same event */
+        final CtfTmfEvent ev2 = getOneEventRank(rank);
+        assertEquals(ev, ev2);
+
+        assertTrue(ev instanceof ITmfLostEvent);
+        ITmfLostEvent event = (ITmfLostEvent) ev;
+
+        assertEquals(start, event.getTimestamp());
+        assertEquals(start, event.getTimeRange().getStartTime());
+        assertEquals(end, event.getTimeRange().getEndTime());
+        assertEquals(nbLost, event.getNbLostEvents());
+    }
+
+    /**
+     * Test getting one normal event from the trace (lost events should not
+     * interfere).
+     */
+    @Test
+    public void testNormalEvent() {
+        final long rank = 200;
+        final ITmfTimestamp ts = new CtfTmfTimestamp(1376592664829423928L);
+
+        final CtfTmfEvent event = getOneEventTime(ts);
+        /* Make sure seeking by rank yields the same event */
+        final CtfTmfEvent event2 = getOneEventRank(rank);
+        assertEquals(event, event2);
+
+        assertFalse(event instanceof ITmfLostEvent);
+        assertEquals(ts, event.getTimestamp());
+    }
+
+    // ------------------------------------------------------------------------
+    // Event requests
+    // ------------------------------------------------------------------------
+
+    private CtfTmfEvent getOneEventRank(long rank) {
+        OneEventRequestPerRank req = new OneEventRequestPerRank(rank);
+        fixture.sendRequest(req);
+        try {
+            req.waitForCompletion();
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return req.getEvent();
+    }
+
+    private CtfTmfEvent getOneEventTime(ITmfTimestamp ts) {
+        OneEventRequestPerTs req = new OneEventRequestPerTs(ts);
+        fixture.sendRequest(req);
+        try {
+            req.waitForCompletion();
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return req.getEvent();
+    }
+
+    private class OneEventRequestPerRank extends TmfEventRequest {
+
+        private CtfTmfEvent event = null;
+
+        public OneEventRequestPerRank(long rank) {
+            super(CtfTmfEvent.class, TmfTimeRange.ETERNITY, rank, 1, 1, ExecutionType.FOREGROUND);
+        }
+
+        @Override
+        public void handleData(ITmfEvent ev) {
+            /* Type is checked by the request, cast should be safe */
+            event = (CtfTmfEvent) ev;
+        }
+
+        public CtfTmfEvent getEvent() {
+            return event;
+        }
+    }
+
+    private class OneEventRequestPerTs extends TmfEventRequest {
+
+        private CtfTmfEvent event = null;
+
+        public OneEventRequestPerTs(ITmfTimestamp ts) {
+            super(CtfTmfEvent.class,
+                    new TmfTimeRange(ts, TmfTimestamp.PROJECT_IS_CANNED),
+                    0, 1, 1, ExecutionType.FOREGROUND);
+        }
+
+        @Override
+        public void handleData(ITmfEvent ev) {
+            event = (CtfTmfEvent) ev;
+        }
+
+        public CtfTmfEvent getEvent() {
+            return event;
+        }
+    }
+
+    private class EventCountRequest extends TmfEventRequest {
+
+        private long nbReal = 0;
+        private long nbLost = 0;
+
+        public EventCountRequest() {
+            super(CtfTmfEvent.class, TmfTimeRange.ETERNITY, 0,
+                    TmfDataRequest.ALL_DATA, 1, ExecutionType.FOREGROUND);
+        }
+
+        @Override
+        public void handleData(ITmfEvent event) {
+            if (event instanceof ITmfLostEvent) {
+                nbLost++;
+            } else {
+                nbReal++;
+            }
+        }
+
+        public long getReal() {
+            return nbReal;
+        }
+
+        public long getLost() {
+            return nbLost;
+        }
+    }
+}
index f3b3be69c7263c8ebd87ad3ca73d6666f7845470..4782199a5f301e24124397a1aab7659a233ce6c9 100644 (file)
@@ -1,3 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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
+ *
+ * Contributors:
+ *   Matthew Khouzam - Initial API and implementation
+ *******************************************************************************/
+
 package org.eclipse.linuxtools.tmf.ui.tests.trace;
 
 import org.junit.runner.RunWith;
index 75c0e3ad14c18276ebbcf8806746f3703fc7b248..8fa426d950367ebdbbef87afcefcf1b1d1da693f 100644 (file)
@@ -1,3 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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
+ *
+ * Contributors:
+ *   Matthew Khouzam - Initial API and implementation
+ *******************************************************************************/
+
 package org.eclipse.linuxtools.tmf.ui.tests.trace;
 
 import static org.junit.Assert.fail;
index 3c5acc33c51d966ec7dda8a39de167fee0f0832e..642b3b01274a11181c8b1b77bf46c179b5589bad 100644 (file)
@@ -1,3 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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
+ *
+ * Contributors:
+ *   Matthew Khouzam - Initial API and implementation
+ *******************************************************************************/
+
 package org.eclipse.linuxtools.tmf.ui.tests.trace;
 
 import static org.junit.Assert.fail;
index b180a282c00e7b30fdc0a1013c9de4bea5d626e2..d974795c962f48e4206575db959f4f8d2d45796f 100644 (file)
@@ -1,3 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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
+ *
+ * Contributors:
+ *   Matthew Khouzam - Initial API and implementation
+ *******************************************************************************/
+
 package org.eclipse.linuxtools.tmf.ui.tests.trace;
 
 import java.util.ArrayList;
index 847a6cbd5f9f857905e3dfeacf2e4b5b0f330c70..5d70f5e612029550a4d58c7268dad572845f7c78 100644 (file)
@@ -1,3 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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
+ *
+ * Contributors:
+ *   Matthew Khouzam - Initial API and implementation
+ *******************************************************************************/
+
 package org.eclipse.linuxtools.tmf.ui.tests.trace;
 
 import static org.junit.Assert.fail;
index 4fa913c14caab7eb47b9a736782bba49b218dbcd..ec07402015574fe6200ce2678698e3f19a6a9ccd 100644 (file)
@@ -95,6 +95,7 @@ public class TracePropertyTester extends PropertyTester {
                 for (TmfTraceElement aTrace : trace.getTraces()) {
                     hasHistory |= aTrace.hasSupplementaryResources();
                 }
+                hasHistory |= trace.hasSupplementaryResources();
                 return hasHistory;
             }
             return false;
index fe1ba344824258b59b79b3b2f2ac01e8a61a61c8..116035d6b50abef7ed1f2ae5e1ca1f871ef1093e 100644 (file)
@@ -143,6 +143,7 @@ public class ImportTraceWizardPage extends WizardResourceImportPage {
 
     // Target import directory ('Traces' folder)
     private IFolder fTargetFolder;
+    private static final String SEPARATOR = ":"; //$NON-NLS-1$
 
     // ------------------------------------------------------------------------
     // Constructors
@@ -670,7 +671,7 @@ public class ImportTraceWizardPage extends WizardResourceImportPage {
 
         // Perform trace validation
         String traceTypeName = fTraceTypes.getText();
-        String tokens[] = traceTypeName.split(":", 2); //$NON-NLS-1$
+        String tokens[] = traceTypeName.split(SEPARATOR, 2);
         if (tokens.length >= 2) {
             String id = TmfTraceType.getInstance().getTraceTypeId(tokens[0], tokens[1]);
             if (!TmfTraceType.getInstance().validateTrace(id, getSelectedResources())) {
@@ -732,20 +733,20 @@ public class ImportTraceWizardPage extends WizardResourceImportPage {
             boolean traceTypeOK = false;
             if (traceType.startsWith(TmfTraceType.CUSTOM_TXT_CATEGORY)) {
                 for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
-                    if (traceType.equals(TmfTraceType.CUSTOM_TXT_CATEGORY + " : " + def.definitionName)) { //$NON-NLS-1$
+                    if (traceType.equals(TmfTraceType.CUSTOM_TXT_CATEGORY + SEPARATOR + def.definitionName)) {
                         traceTypeOK = true;
                         traceBundle = Activator.getDefault().getBundle().getSymbolicName();
-                        traceTypeId = CustomTxtTrace.class.getCanonicalName() + ":" + def.definitionName; //$NON-NLS-1$
+                        traceTypeId = CustomTxtTrace.class.getCanonicalName() + SEPARATOR + def.definitionName;
                         traceIcon = DEFAULT_TRACE_ICON_PATH;
                         break;
                     }
                 }
             } else if (traceType.startsWith(TmfTraceType.CUSTOM_XML_CATEGORY)) {
                 for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
-                    if (traceType.equals(TmfTraceType.CUSTOM_XML_CATEGORY + " : " + def.definitionName)) { //$NON-NLS-1$
+                    if (traceType.equals(TmfTraceType.CUSTOM_XML_CATEGORY + SEPARATOR + def.definitionName)) {
                         traceTypeOK = true;
                         traceBundle = Activator.getDefault().getBundle().getSymbolicName();
-                        traceTypeId = CustomXmlTrace.class.getCanonicalName() + ":" + def.definitionName; //$NON-NLS-1$
+                        traceTypeId = CustomXmlTrace.class.getCanonicalName() + SEPARATOR + def.definitionName;
                         traceIcon = DEFAULT_TRACE_ICON_PATH;
                         break;
                     }
@@ -753,7 +754,7 @@ public class ImportTraceWizardPage extends WizardResourceImportPage {
             } else {
                 if (!traceType.equals("")) { //$NON-NLS-1$
                     // Trace type was selected
-                    String temp[] = traceType.split(":", 2); //$NON-NLS-1$
+                    String temp[] = traceType.split(SEPARATOR, 2);
                     if (temp.length < 2) {
                         Activator.getDefault().logError("Error with trace type " + traceType); //$NON-NLS-1$
                         return false;
index 5af6744f3c3dffc046e76f65291db031b1f40644..1371f8af102a7405136cf587b58193c12683e1c1 100644 (file)
          install-size="0"
          version="0.0.0"/>
 
+   <plugin
+         id="org.eclipse.equinox.p2.touchpoint.natives"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.equinox.p2.publisher.eclipse"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.equinox.p2.touchpoint.eclipse"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.equinox.p2.publisher"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.equinox.p2.garbagecollector"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>
This page took 0.037776 seconds and 5 git commands to generate.