/*******************************************************************************
* Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
* This file is part of Gluster Management Console.
*
* Gluster Management Console is free software; you can redistribute
* it and/or modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* Gluster Management Console is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*******************************************************************************/
package org.gluster.storage.management.core.model;
/**
* Default listener - doesn't do anything. Sub-class and override the method for
* the event you want to handle.
*/
public class DefaultClusterListener implements ClusterListener {
@Override
public void serverAdded(GlusterServer server) {
modelChanged();
}
@Override
public void serverRemoved(GlusterServer server) {
modelChanged();
}
@Override
public void serverChanged(GlusterServer server, Event event) {
modelChanged();
}
@Override
public void volumeChanged(Volume volume, Event event) {
modelChanged();
}
@Override
public void discoveredServerAdded(Server server) {
modelChanged();
}
@Override
public void discoveredServerRemoved(Server server) {
modelChanged();
}
@Override
public void volumeCreated(Volume volume) {
modelChanged();
}
@Override
public void volumeDeleted(Volume volume) {
modelChanged();
}
@Override
public void taskAdded(TaskInfo taskInfo) {
modelChanged();
}
@Override
public void taskRemoved(TaskInfo taskInfo) {
modelChanged();
}
@Override
public void taskUpdated(TaskInfo taskInfo) {
modelChanged();
}
/**
* This method is called by every other event method. Thus, if a view/listener is interested in performing the same
* task on any change happening in the data model, it can simply override this method and implement the
* logic. e.g. A view may simply refresh its tree/table viewer whenever the data model changes.
*/
public void modelChanged() {
}
@Override
public void discoveredServerChanged(Server server, Event event) {
modelChanged();
}
@Override
public void alertsGenerated() {
modelChanged();
}
@Override
public void aggregatedStatsChanged() {
modelChanged();
}
@Override
public void alertRemoved(Alert alert) {
modelChanged();
}
@Override
public void alertCreated(Alert alert) {
modelChanged();
}
}