Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'oprofile/org.eclipse.linuxtools.oprofile.ui/src/org/eclipse/linuxtools/oprofile/ui/model/UiModelSession.java')
-rw-r--r--oprofile/org.eclipse.linuxtools.oprofile.ui/src/org/eclipse/linuxtools/oprofile/ui/model/UiModelSession.java38
1 files changed, 20 insertions, 18 deletions
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.ui/src/org/eclipse/linuxtools/oprofile/ui/model/UiModelSession.java b/oprofile/org.eclipse.linuxtools.oprofile.ui/src/org/eclipse/linuxtools/oprofile/ui/model/UiModelSession.java
index 46d544775a..3223ffa400 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.ui/src/org/eclipse/linuxtools/oprofile/ui/model/UiModelSession.java
+++ b/oprofile/org.eclipse.linuxtools.oprofile.ui/src/org/eclipse/linuxtools/oprofile/ui/model/UiModelSession.java
@@ -10,7 +10,8 @@
*******************************************************************************/
package org.eclipse.linuxtools.oprofile.ui.model;
-import org.eclipse.linuxtools.internal.oprofile.core.model.OpModelImage;
+import org.eclipse.linuxtools.internal.oprofile.core.model.OpModelEvent;
+import org.eclipse.linuxtools.internal.oprofile.core.model.OpModelRoot;
import org.eclipse.linuxtools.internal.oprofile.core.model.OpModelSession;
import org.eclipse.linuxtools.internal.oprofile.ui.OprofileUiMessages;
import org.eclipse.linuxtools.internal.oprofile.ui.OprofileUiPlugin;
@@ -29,6 +30,8 @@ public class UiModelSession implements IUiModelElement {
private UiModelImage image; //this node's child
private UiModelDependent dependent; //dependent images of the OpModelImage
+ private UiModelEvent events[];
+
//OProfile's default session name
private static final String DEFAULT_SESSION_NAME = "current"; //$NON-NLS-1$
@@ -37,23 +40,26 @@ public class UiModelSession implements IUiModelElement {
* @param parent The parent element
* @param session Oprofile session node in the data model
*/
- public UiModelSession(IUiModelElement parent, OpModelSession session) {
- this.parent = parent;
- this.session = session;
- this.image = null;
- this.dependent = null;
+ public UiModelSession(OpModelSession session) {
+ if(session != null){
+ this.session = session;
refreshModel();
+ }
}
private void refreshModel() {
- OpModelImage dataModelImage = session.getImage();
- if (dataModelImage != null) {
- image = new UiModelImage(this, dataModelImage, dataModelImage.getCount(), dataModelImage.getDepCount());
- if (dataModelImage.hasDependents()) {
- dependent = new UiModelDependent(this, dataModelImage.getDependents(), dataModelImage.getCount(), dataModelImage.getDepCount());
- }
+ OpModelEvent dataModelEvents[] = session.getEvents();
+ events = new UiModelEvent[dataModelEvents.length];
+ for (int i = 0; i < dataModelEvents.length; i++) {
+ events[i] = new UiModelEvent(this, dataModelEvents[i]);
}
+
+ }
+
+ protected OpModelSession[] getModelDataSessions() {
+ OpModelRoot modelRoot = OpModelRoot.getDefault();
+ return modelRoot.getSessions();
}
@Override
@@ -87,11 +93,7 @@ public class UiModelSession implements IUiModelElement {
*/
@Override
public IUiModelElement[] getChildren() {
- if (dependent != null) {
- return new IUiModelElement[] {image, dependent};
- } else {
- return new IUiModelElement[] {image};
- }
+ return events;
}
/**
@@ -100,7 +102,7 @@ public class UiModelSession implements IUiModelElement {
*/
@Override
public boolean hasChildren() {
- return (image != null);
+ return (events == null || events.length == 0 ? false : true);
}
/**

Back to the top