Skip to main content
summaryrefslogtreecommitdiffstats
path: root/lttng
diff options
context:
space:
mode:
authorMarc-Andre Laperle2014-11-04 21:59:08 +0000
committerMarc-Andre Laperle2014-11-06 18:02:16 +0000
commit574bfd9e47c1166591f5113bbd13d54f96eb2fd5 (patch)
tree6813a4c77782d8e1ae27bc426361a45d933b6024 /lttng
parent155878fb6db46039f70b1ee83f428e6cabc22462 (diff)
downloadorg.eclipse.linuxtools-574bfd9e47c1166591f5113bbd13d54f96eb2fd5.tar.gz
org.eclipse.linuxtools-574bfd9e47c1166591f5113bbd13d54f96eb2fd5.tar.xz
org.eclipse.linuxtools-574bfd9e47c1166591f5113bbd13d54f96eb2fd5.zip
tmf: Add element to its parent's children automatically and remove setChildren
Also, add a few useful setters. Change-Id: I8ae7cff34d9a066d0ce9d17ef555e5539a3dc55c Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Reviewed-on: https://git.eclipse.org/r/35916 Tested-by: Hudson CI Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Diffstat (limited to 'lttng')
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java11
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java2
6 files changed, 64 insertions, 23 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java
index 4792f2e962..23110a6673 100644
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java
@@ -24,8 +24,8 @@ import org.eclipse.ui.model.WorkbenchAdapter;
* @author Marc-Andre Laperle
*/
public abstract class TracePackageElement extends WorkbenchAdapter {
- private TracePackageElement[] fChildren;
- private final TracePackageElement fParent;
+ private final List<TracePackageElement> fChildren;
+ private TracePackageElement fParent;
private boolean fEnabled;
private boolean fChecked;
private boolean fVisible;
@@ -39,7 +39,32 @@ public abstract class TracePackageElement extends WorkbenchAdapter {
fParent = parent;
fEnabled = true;
fVisible = true;
- fChildren = new TracePackageElement[0];
+ fChildren = new ArrayList<>();
+ if (parent != null) {
+ parent.addChild(this);
+ }
+ }
+
+ /**
+ * Add a child to the element.
+ *
+ * @param child
+ * the element to add as a child
+ */
+ public void addChild(TracePackageElement child) {
+ child.setParent(this);
+ fChildren.add(child);
+ }
+
+ /**
+ * Remove a child from the element.
+ *
+ * @param child
+ * the child to remove
+ */
+ public void removeChild(TracePackageElement child) {
+ fChildren.remove(child);
+ child.setParent(null);
}
/**
@@ -49,6 +74,10 @@ public abstract class TracePackageElement extends WorkbenchAdapter {
return fParent;
}
+ private void setParent(TracePackageElement parent) {
+ fParent = parent;
+ }
+
/**
* Get the text representation of this element to be displayed in the tree.
*
@@ -62,7 +91,7 @@ public abstract class TracePackageElement extends WorkbenchAdapter {
* @return the children of this element
*/
public TracePackageElement[] getChildren() {
- return fChildren;
+ return fChildren.toArray(new TracePackageElement[fChildren.size()]);
}
/**
@@ -81,16 +110,6 @@ public abstract class TracePackageElement extends WorkbenchAdapter {
}
/**
- * Set the children of this element
- *
- * @param children
- * the children of this element
- */
- public void setChildren(TracePackageElement[] children) {
- this.fChildren = children;
- }
-
- /**
* Get the total size of the element including its children
*
* @param checkedOnly
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java
index 881a9cfa6a..7f686548d0 100644
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java
@@ -26,7 +26,7 @@ import org.eclipse.swt.graphics.Image;
public class TracePackageFilesElement extends TracePackageElement {
private static final String TRACE_ICON_PATH = "icons/elcl16/trace.gif"; //$NON-NLS-1$
- private final String fFileName;
+ private String fFileName;
private final IResource fResource;
private long fSize = -1;
@@ -104,4 +104,13 @@ public class TracePackageFilesElement extends TracePackageElement {
return fFileName;
}
+ /**
+ * Set the file name for this trace file or folder
+ *
+ * @param fileName the file name for this trace file or folder
+ */
+ public void setFileName(String fileName) {
+ fFileName = fileName;
+ }
+
}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java
index a17ed2c070..2df8b74fa3 100644
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java
@@ -27,8 +27,8 @@ import org.eclipse.swt.graphics.Image;
public class TracePackageTraceElement extends TracePackageElement {
private final TmfTraceElement fTraceElement;
- private final String fImportName;
- private final String fTraceType;
+ private String fImportName;
+ private String fTraceType;
/**
* Construct an instance associated to a TmfTraceElement. For exporting.
@@ -128,6 +128,15 @@ public class TracePackageTraceElement extends TracePackageElement {
}
/**
+ * Set the import name.
+ *
+ * @param importName the import name.
+ */
+ public void setImportName(String importName) {
+ fImportName = importName;
+ }
+
+ /**
* @return the import name
*/
public String getImportName() {
@@ -141,6 +150,15 @@ public class TracePackageTraceElement extends TracePackageElement {
return fTraceType;
}
+ /**
+ * Set the trace type of this trace.
+ *
+ * @param traceType the trace type of this trace
+ */
+ public void setTraceType(String traceType) {
+ fTraceType = traceType;
+ }
+
@Override
public Image getImage() {
TmfNavigatorLabelProvider tmfNavigatorLabelProvider = new TmfNavigatorLabelProvider();
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java
index 05cd4b92c6..d071339ea5 100644
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java
@@ -314,7 +314,6 @@ public class ExportTracePackageWizardPage extends AbstractTracePackageWizardPage
for (IResource res : supplementaryResources) {
suppFilesChildren.add(new TracePackageSupplFileElement(res, suppFilesElement));
}
- suppFilesElement.setChildren(suppFilesChildren.toArray(new TracePackageElement[] {}));
// Bookmarks
IFile bookmarksFile = tmfTraceElement.getBookmarksFile();
@@ -331,8 +330,6 @@ public class ExportTracePackageWizardPage extends AbstractTracePackageWizardPage
}
}
- traceElement.setChildren(children.toArray(new TracePackageElement[] {}));
-
traceElements.add(traceElement);
}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java
index 4d72b58e32..136d537abb 100644
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java
@@ -162,7 +162,6 @@ public class ManifestReader {
}
if (!suppFiles.isEmpty()) {
- supplFilesElement.setChildren(suppFiles.toArray(EMPTY_ARRAY));
children.add(supplFilesElement);
}
@@ -192,7 +191,6 @@ public class ManifestReader {
children.add(new TracePackageBookmarkElement(element, bookmarkAttribs));
}
- element.setChildren(children.toArray(EMPTY_ARRAY));
packageElements.add(element);
}
}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java
index 1596872726..20ee641138 100644
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java
@@ -132,7 +132,7 @@ public class TracePackageExtractManifestOperation extends AbstractTracePackageOp
List<TracePackageElement> packageElements = new ArrayList<>();
for (String traceFileName : traceFileNames) {
TracePackageTraceElement traceElement = new TracePackageTraceElement(null, traceFileName, null);
- traceElement.setChildren(new TracePackageElement[] { new TracePackageFilesElement(traceElement, traceFileName) });
+ new TracePackageFilesElement(traceElement, traceFileName);
packageElements.add(traceElement);
}

Back to the top