/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.workflow.parts; import java.io.Serializable; import de.rcenvironment.core.component.api.ComponentConstants; import de.rcenvironment.core.notification.DefaultNotificationSubscriber; import de.rcenvironment.core.notification.Notification; import de.rcenvironment.core.notification.NotificationSubscriber; /** * {@link NotificationSubscriber} for {@link ComponentState} changes. * * @author Christian Weiss */ public class ComponentStateChangeListener extends DefaultNotificationSubscriber { private static final long serialVersionUID = -5025502558454267143L; private transient WorkflowRunNodePart part; public ComponentStateChangeListener(WorkflowRunNodePart newPart) { part = newPart; } @Override public Class<? extends Serializable> getInterface() { return NotificationSubscriber.class; } @Override public void processNotification(Notification notification) { if (notification.getHeader().getNotificationIdentifier().contains(ComponentConstants.STATE_NOTIFICATION_ID_PREFIX)) { part.handleStateNotification(notification); } else if (notification.getHeader().getNotificationIdentifier().contains(ComponentConstants .ITERATION_COUNT_NOTIFICATION_ID_PREFIX)) { part.handleExecutionCountNotification(notification); } } }