Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'dsf/org.eclipse.cdt.examples.dsf/src/org/eclipse/cdt/examples/dsf/timers/AlarmsVMNode.java')
-rw-r--r--dsf/org.eclipse.cdt.examples.dsf/src/org/eclipse/cdt/examples/dsf/timers/AlarmsVMNode.java140
1 files changed, 66 insertions, 74 deletions
diff --git a/dsf/org.eclipse.cdt.examples.dsf/src/org/eclipse/cdt/examples/dsf/timers/AlarmsVMNode.java b/dsf/org.eclipse.cdt.examples.dsf/src/org/eclipse/cdt/examples/dsf/timers/AlarmsVMNode.java
index 6617b6ed9d9..8a19832188a 100644
--- a/dsf/org.eclipse.cdt.examples.dsf/src/org/eclipse/cdt/examples/dsf/timers/AlarmsVMNode.java
+++ b/dsf/org.eclipse.cdt.examples.dsf/src/org/eclipse/cdt/examples/dsf/timers/AlarmsVMNode.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
@@ -30,84 +30,76 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
/**
- * View model node that determines whether an "alarm triggered" indicator is
- * shown in the tree. This indicator is only shown if a given alarm is
+ * View model node that determines whether an "alarm triggered" indicator is
+ * shown in the tree. This indicator is only shown if a given alarm is
* triggered for a given timer.
- *
+ *
* @see AlarmDMContext
*/
@SuppressWarnings("restriction")
-class AlarmsVMNode extends AbstractDMVMNode
- implements IElementLabelProvider
-{
- public AlarmsVMNode(AbstractDMVMProvider provider, DsfSession session) {
- super(provider, session, AlarmDMContext.class);
- }
-
- @Override
- public String toString() {
- return "AlarmsVMNode(" + getSession().getId() + ")";
- }
-
+class AlarmsVMNode extends AbstractDMVMNode implements IElementLabelProvider {
+ public AlarmsVMNode(AbstractDMVMProvider provider, DsfSession session) {
+ super(provider, session, AlarmDMContext.class);
+ }
+
+ @Override
+ public String toString() {
+ return "AlarmsVMNode(" + getSession().getId() + ")";
+ }
+
+ @Override
+ protected void updateElementsInSessionThread(final IChildrenUpdate update) {
+ // Check that the service is available and find the trigger and timer contexts.
+ // If not found, fail.
+ AlarmService alarmService = getServicesTracker().getService(AlarmService.class, null);
+ TriggerDMContext alarmDmc = findDmcInPath(update.getViewerInput(), update.getElementPath(),
+ TriggerDMContext.class);
+ TimerDMContext timerDmc = findDmcInPath(update.getViewerInput(), update.getElementPath(), TimerDMContext.class);
+ if (alarmService == null || alarmDmc == null || timerDmc == null) {
+ update.setStatus(
+ new Status(IStatus.ERROR, DsfExamplesPlugin.PLUGIN_ID, "Required elements not found in path"));
+ update.done();
+ return;
+ }
+
+ // Get the alarm context then check the triggered value.
+ final AlarmDMContext alarmStatusDmc = alarmService.getAlarm(alarmDmc, timerDmc);
+ boolean triggered = alarmService.isAlarmTriggered(alarmStatusDmc);
+
+ // Only return the alarm in list of elements if it is triggered.
+ if (triggered) {
+ update.setChild(createVMContext(alarmStatusDmc), 0);
+ }
+ update.done();
+ }
- @Override
- protected void updateElementsInSessionThread(final IChildrenUpdate update) {
- // Check that the service is available and find the trigger and timer contexts.
- // If not found, fail.
- AlarmService alarmService = getServicesTracker().getService(AlarmService.class, null);
- TriggerDMContext alarmDmc = findDmcInPath(
- update.getViewerInput(), update.getElementPath(), TriggerDMContext.class);
- TimerDMContext timerDmc = findDmcInPath(
- update.getViewerInput(), update.getElementPath(), TimerDMContext.class);
- if (alarmService == null || alarmDmc == null || timerDmc == null) {
- update.setStatus(new Status(IStatus.ERROR, DsfExamplesPlugin.PLUGIN_ID, "Required elements not found in path"));
- update.done();
- return;
- }
-
- // Get the alarm context then check the triggered value.
- final AlarmDMContext alarmStatusDmc = alarmService.getAlarm(alarmDmc, timerDmc);
- boolean triggered = alarmService.isAlarmTriggered(alarmStatusDmc);
-
- // Only return the alarm in list of elements if it is triggered.
- if (triggered) {
- update.setChild(createVMContext(alarmStatusDmc), 0);
- }
- update.done();
- }
+ @Override
+ public void update(ILabelUpdate[] updates) {
+ for (ILabelUpdate update : updates) {
+ update.setLabel("ALARM TRIGGERED", 0);
+ update.setImageDescriptor(DsfExamplesPlugin.getDefault().getImageRegistry()
+ .getDescriptor(DsfExamplesPlugin.IMG_ALARM_TRIGGERED), 0);
+ update.done();
+ }
+ }
- @Override
- public void update(ILabelUpdate[] updates) {
- for (ILabelUpdate update : updates) {
- update.setLabel("ALARM TRIGGERED", 0);
- update.setImageDescriptor(
- DsfExamplesPlugin.getDefault().getImageRegistry().getDescriptor(
- DsfExamplesPlugin.IMG_ALARM_TRIGGERED),
- 0);
- update.done();
- }
- }
-
-
- @Override
- public int getDeltaFlags(Object e) {
- if (e instanceof AlarmService.AlarmTriggeredDMEvent) {
- return IModelDelta.ADDED | IModelDelta.SELECT | IModelDelta.EXPAND;
- }
- return IModelDelta.NO_CHANGE;
- }
+ @Override
+ public int getDeltaFlags(Object e) {
+ if (e instanceof AlarmService.AlarmTriggeredDMEvent) {
+ return IModelDelta.ADDED | IModelDelta.SELECT | IModelDelta.EXPAND;
+ }
+ return IModelDelta.NO_CHANGE;
+ }
- @Override
- public void buildDelta(Object e, VMDelta parentDelta, int nodeOffset, RequestMonitor requestMonitor) {
- // The alarm element is added when and selected upon a triggered event.
- // Parent element is also expanded allow the alarm to be selected.
- if (e instanceof AlarmService.AlarmTriggeredDMEvent) {
- parentDelta.setFlags(parentDelta.getFlags() | IModelDelta.EXPAND);
- parentDelta.addNode(
- createVMContext( ((AlarmService.AlarmTriggeredDMEvent)e).getDMContext() ),
- 0,
- IModelDelta.ADDED | IModelDelta.SELECT);
- }
- requestMonitor.done();
- }
+ @Override
+ public void buildDelta(Object e, VMDelta parentDelta, int nodeOffset, RequestMonitor requestMonitor) {
+ // The alarm element is added when and selected upon a triggered event.
+ // Parent element is also expanded allow the alarm to be selected.
+ if (e instanceof AlarmService.AlarmTriggeredDMEvent) {
+ parentDelta.setFlags(parentDelta.getFlags() | IModelDelta.EXPAND);
+ parentDelta.addNode(createVMContext(((AlarmService.AlarmTriggeredDMEvent) e).getDMContext()), 0,
+ IModelDelta.ADDED | IModelDelta.SELECT);
+ }
+ requestMonitor.done();
+ }
}

Back to the top