package rocks.inspectit.ui.rcp.ci; import rocks.inspectit.shared.cs.ci.AgentMappings; import rocks.inspectit.shared.cs.ci.AlertingDefinition; import rocks.inspectit.shared.cs.ci.Environment; import rocks.inspectit.shared.cs.ci.Profile; import rocks.inspectit.shared.cs.ci.business.impl.ApplicationDefinition; import rocks.inspectit.ui.rcp.ci.listener.IAgentMappingsChangeListener; import rocks.inspectit.ui.rcp.ci.listener.IAlertDefinitionChangeListener; import rocks.inspectit.ui.rcp.ci.listener.IApplicationDefinitionChangeListener; import rocks.inspectit.ui.rcp.ci.listener.IEnvironmentChangeListener; import rocks.inspectit.ui.rcp.ci.listener.IProfileChangeListener; import rocks.inspectit.ui.rcp.repository.CmrRepositoryDefinition; import rocks.inspectit.ui.rcp.util.ListenerList; /** * Manager for the CI related UI actions. Listens and delegates the CI events. * * @author Ivan Senic * */ public class InspectITConfigurationInterfaceManager implements IProfileChangeListener, IEnvironmentChangeListener, IAgentMappingsChangeListener, IApplicationDefinitionChangeListener, IAlertDefinitionChangeListener { /** * List of {@link IProfileChangeListener}s. */ private final ListenerList<IProfileChangeListener> profileChangeListeners = new ListenerList<>(); /** * List of {@link IEnvironmentChangeListener}s. */ private final ListenerList<IEnvironmentChangeListener> environmentChangeListeners = new ListenerList<>(); /** * List of {@link IAgentMappingsChangeListener}s. */ private final ListenerList<IAgentMappingsChangeListener> agentMappingChangeListeners = new ListenerList<>(); /** * List of {@link IApplicationDefinitionChangeListener}s. */ private final ListenerList<IApplicationDefinitionChangeListener> applicationChangeListeners = new ListenerList<>(); /** * List of {@link IApplicationDefinitionChangeListener}s. */ private final ListenerList<IAlertDefinitionChangeListener> alertDefinitionChangeListeners = new ListenerList<>(); /** * {@inheritDoc} */ @Override public void profileCreated(Profile profile, CmrRepositoryDefinition repositoryDefinition) { for (IProfileChangeListener listener : profileChangeListeners) { listener.profileCreated(profile, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void profileUpdated(Profile profile, CmrRepositoryDefinition repositoryDefinition, boolean onlyProperties) { for (IProfileChangeListener listener : profileChangeListeners) { listener.profileUpdated(profile, repositoryDefinition, onlyProperties); } } /** * {@inheritDoc} */ @Override public void profileDeleted(Profile profile, CmrRepositoryDefinition repositoryDefinition) { for (IProfileChangeListener listener : profileChangeListeners) { listener.profileDeleted(profile, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void environmentCreated(Environment environment, CmrRepositoryDefinition repositoryDefinition) { for (IEnvironmentChangeListener listener : environmentChangeListeners) { listener.environmentCreated(environment, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void environmentUpdated(Environment environment, CmrRepositoryDefinition repositoryDefinition) { for (IEnvironmentChangeListener listener : environmentChangeListeners) { listener.environmentUpdated(environment, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void environmentDeleted(Environment environment, CmrRepositoryDefinition repositoryDefinition) { for (IEnvironmentChangeListener listener : environmentChangeListeners) { listener.environmentDeleted(environment, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void agentMappingsUpdated(AgentMappings agentMappings, CmrRepositoryDefinition repositoryDefinition) { for (IAgentMappingsChangeListener listener : agentMappingChangeListeners) { listener.agentMappingsUpdated(agentMappings, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void applicationCreated(ApplicationDefinition application, int positionIndex, CmrRepositoryDefinition repositoryDefinition) { for (IApplicationDefinitionChangeListener listener : applicationChangeListeners) { listener.applicationCreated(application, positionIndex, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void applicationMoved(ApplicationDefinition application, int oldPositionIndex, int newPositionIndex, CmrRepositoryDefinition repositoryDefinition) { for (IApplicationDefinitionChangeListener listener : applicationChangeListeners) { listener.applicationMoved(application, oldPositionIndex, newPositionIndex, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void applicationUpdated(ApplicationDefinition application, CmrRepositoryDefinition repositoryDefinition) { for (IApplicationDefinitionChangeListener listener : applicationChangeListeners) { listener.applicationUpdated(application, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void applicationDeleted(ApplicationDefinition application, CmrRepositoryDefinition repositoryDefinition) { for (IApplicationDefinitionChangeListener listener : applicationChangeListeners) { listener.applicationDeleted(application, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void alertDefinitionCreated(AlertingDefinition alertDefinition, CmrRepositoryDefinition repositoryDefinition) { for (IAlertDefinitionChangeListener listener : alertDefinitionChangeListeners) { listener.alertDefinitionCreated(alertDefinition, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void alertDefinitionUpdated(AlertingDefinition alertDefinition, CmrRepositoryDefinition repositoryDefinition) { for (IAlertDefinitionChangeListener listener : alertDefinitionChangeListeners) { listener.alertDefinitionUpdated(alertDefinition, repositoryDefinition); } } /** * {@inheritDoc} */ @Override public void alertDefinitionDeleted(AlertingDefinition alertDefinition, CmrRepositoryDefinition repositoryDefinition) { for (IAlertDefinitionChangeListener listener : alertDefinitionChangeListeners) { listener.alertDefinitionDeleted(alertDefinition, repositoryDefinition); } } /** * Registers a {@link IProfileChangeListener} if the same listener does not already exist. * * @param profileChangeListener * {@link IProfileChangeListener} to add. */ public void addProfileChangeListener(IProfileChangeListener profileChangeListener) { profileChangeListeners.add(profileChangeListener); } /** * Removes a {@link IProfileChangeListener}. * * @param profileChangeListener * {@link IProfileChangeListener} to remove. */ public void removeProfileChangeListener(IProfileChangeListener profileChangeListener) { profileChangeListeners.remove(profileChangeListener); } /** * Registers a {@link IEnvironmentChangeListener} if the same listener does not already exist. * * @param environmentChangeListener * {@link IEnvironmentChangeListener} to add. */ public void addEnvironmentChangeListener(IEnvironmentChangeListener environmentChangeListener) { environmentChangeListeners.add(environmentChangeListener); } /** * Removes a {@link IEnvironmentChangeListener}. * * @param environmentChangeListener * {@link IEnvironmentChangeListener} to remove. */ public void removeEnvironmentChangeListener(IEnvironmentChangeListener environmentChangeListener) { environmentChangeListeners.remove(environmentChangeListener); } /** * Registers a {@link IAgentMappingsChangeListener} if the same listener does not already exist. * * @param agentMappingsChangeListener * {@link IAgentMappingsChangeListener} to add. */ public void addAgentMappingsChangeListener(IAgentMappingsChangeListener agentMappingsChangeListener) { agentMappingChangeListeners.add(agentMappingsChangeListener); } /** * Removes a {@link IAgentMappingsChangeListener}. * * @param agentMappingsChangeListener * {@link IAgentMappingsChangeListener} to remove. */ public void removeAgentMappingsChangeListener(IAgentMappingsChangeListener agentMappingsChangeListener) { agentMappingChangeListeners.remove(agentMappingsChangeListener); } /** * Registers a {@link IApplicationDefinitionChangeListener} if the same listener does not * already exist. * * @param applicationDefinitionChangeListener * {@link IApplicationDefinitionChangeListener} to add. */ public void addApplicationDefinitionChangeListener(IApplicationDefinitionChangeListener applicationDefinitionChangeListener) { applicationChangeListeners.add(applicationDefinitionChangeListener); } /** * Removes a {@link IApplicationDefinitionChangeListener}. * * @param applicationDefinitionChangeListener * {@link IApplicationDefinitionChangeListener} to remove. */ public void removeApplicationDefinitionChangeListener(IApplicationDefinitionChangeListener applicationDefinitionChangeListener) { applicationChangeListeners.remove(applicationDefinitionChangeListener); } /** * Registers a {@link IAlertDefinitionChangeListener} if the same listener does not already * exist. * * @param alertDefinitionChangeListener * {@link IAlertDefinitionChangeListener} to add. */ public void addAlertDefinitionChangeListener(IAlertDefinitionChangeListener alertDefinitionChangeListener) { alertDefinitionChangeListeners.add(alertDefinitionChangeListener); } /** * Removes a {@link IAlertDefinitionChangeListener}. * * @param alertDefinitionChangeListener * {@link IAlertDefinitionChangeListener} to remove. */ public void removeAlertDefinitionChangeListener(IAlertDefinitionChangeListener alertDefinitionChangeListener) { alertDefinitionChangeListeners.remove(alertDefinitionChangeListener); } }