Package org.jmanage.core.alert.source

Source Code of org.jmanage.core.alert.source.ApplicationDowntimeAlertSource

/**
* Copyright 2004-2006 jManage.org
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jmanage.core.alert.source;

import java.util.EventObject;

import org.jmanage.core.alert.AlertHandler;
import org.jmanage.core.alert.AlertInfo;
import org.jmanage.core.alert.AlertSource;
import org.jmanage.core.config.AlertSourceConfig;
import org.jmanage.event.EventListener;
import org.jmanage.event.EventSystem;
import org.jmanage.monitoring.downtime.event.ApplicationDownEvent;

/**
*
* @author Rakesh Kalra
*/
public class ApplicationDowntimeAlertSource implements AlertSource{

    private AlertHandler handler;
    private final AlertSourceConfig sourceConfig;
   
    public ApplicationDowntimeAlertSource(AlertSourceConfig sourceConfig){
        assert sourceConfig != null;
        this.sourceConfig = sourceConfig;
    }
   
    public void register(AlertHandler handler, String alertId, String alertName) {
        this.handler = handler;
        EventSystem.getInstance().addListener(new ApplicationDowntimeEventListener(),
                ApplicationDownEvent.class);
    }

    public void unregister() {
        this.handler = null;
    }
   
    private class ApplicationDowntimeEventListener implements EventListener {
        public void handleEvent(EventObject event) {
            if(event instanceof ApplicationDownEvent &&
                    sourceConfig.getApplicationConfig().equals(
                            ((ApplicationDownEvent)event).getApplicationConfig())){
                handler.handle(new AlertInfo());
            }
        }
    }
}
TOP

Related Classes of org.jmanage.core.alert.source.ApplicationDowntimeAlertSource

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.