/* * Licensed Materials - Property of Rogue Wave Software, Inc. * © Copyright Rogue Wave Software, Inc. 2014, 2015 * © Copyright IBM Corp. 2009, 2014 * © Copyright ILOG 1996, 2009 * All Rights Reserved. * * Note to U.S. Government Users Restricted Rights: * The Software and Documentation were developed at private expense and * are "Commercial Items" as that term is defined at 48 CFR 2.101, * consisting of "Commercial Computer Software" and * "Commercial Computer Software Documentation", as such terms are * used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4, * as applicable. */ package monitoring.web; import ilog.cpl.datasource.IlpDataSource; import ilog.tgo.model.IltAlarm; import monitoring.generator.AlarmGenerator; /** * Implementation of an <code>AbstractSampleContext</code> targeted at * an alarm generation system based solely in TGO abstractions. */ public class SampleContext extends AbstractSampleContext { /** * Initializes the alarm generator which typically is specific to the * underlying OSS technology. */ protected void initializeAlarmGenerator() { AlarmGenerator.initialize(); alarmGenerator = new AlarmGenerator( getControls().getSharedControls().getAlarmGenerationRate(), getControls().getSharedControls().getMaxNumberOfAlarms(), getDataStructures().getDataSources().getNetworkDataSource(), getDataStructures().getDataSources().getAlarmsDataSource()); } /** * Creates sample alarms to show at application startup. * */ protected void createSampleAlarms() { //Get alarm generator AlarmGenerator alarmGenerator = (AlarmGenerator)getAlarmGenerator(); String[] managedObjectIds = { "RouterB", "NetE", "NetE", "NetI", "NetF" }; IltAlarm.Severity[] severities = { IltAlarm.Severity.Minor, IltAlarm.Severity.Critical, IltAlarm.Severity.Major, IltAlarm.Severity.Minor, IltAlarm.Severity.Warning }; //Save current values int originalMaxNumberOfAlarms = alarmGenerator.getMaxNumberOfAlarms(); //Set temporary configuration to create the alarms quickly alarmGenerator.setMaxNumberOfAlarms(managedObjectIds.length); IlpDataSource dataSource = alarmGenerator.getMODataSource(); for (int i = 0; i < managedObjectIds.length; i++) { alarmGenerator.generateOneAlarm(dataSource.getObject(managedObjectIds[i]), severities[i]); } //Restore original values alarmGenerator.setMaxNumberOfAlarms(originalMaxNumberOfAlarms); } protected String getSampleLoggerName() { return "samples.monitoring.web"; } }