<!--

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->


<property name="module" value="tmonitor"/>
<property name="appname" value="${module}"/>
<property name="assemble" value="${env.APS_HOME}/build/module/archive"/>
<property name="test.description" value="Selfmanagement-Monitor-Tests"/>
<property name="application.xml" value="descriptor/application.xml"/>
<property name="sun-application.xml" value="descriptor/sun-application.xml"/>
<property name="application-client.xml" value="descriptor/application-client.xml"/>
<property name="sun-application-client.xml" value="descriptor/sun-application-client.xml"/>

<property name="appclientjar.files" value="${build.classes.dir}"/>
<property name="appclient.jar" value="${assemble}/${module}-client.jar"/>
<property name="appclient.jar.name" value="${module}-client.jar"/>
<property name="app.type" value="application"/>
<property name="app.lib" value="${env.APS_HOME}/../../publish/glassfish/lib/"/>

<property name="counter.event.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.event.Hello"/>
<property name="counter.event.mbean.name" value="CounterEventBean"/>
<property name="counter.action.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.action.Hello"/>
<property name="counter.action.mbean.name" value="CounterActionBean"/>
<property name="gauge.event1.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.event.GaugeHigh"/>
<property name="gauge.event1.mbean.name" value="GaugeHighEventBean"/>
<property name="gauge.action1.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.action.GaugeHigh"/>
<property name="gauge.action1.mbean.name" value="GaugeHighActionBean"/>
<property name="gauge.event2.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.event.GaugeLow"/>
<property name="gauge.event2.mbean.name" value="GaugeLowEventBean"/>
<property name="gauge.action2.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.action.GaugeLow"/>
<property name="gauge.action2.mbean.name" value="GaugeLowActionBean"/>
<property name="string.event1.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.event.StringMatch"/>
<property name="string.event1.mbean.name" value="StringMatchEventBean"/>
<property name="string.action1.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.action.StringMatch"/>
<property name="string.action1.mbean.name" value="StringMatchActionBean"/>
<property name="string.event2.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.event.StringDiffer"/>
<property name="string.event2.mbean.name" value="StringDifferEventBean"/>
<property name="string.action2.mbean.impl.class.name" value="com.sun.s1peqe.selfmanagement.tmonitor.action.StringDiffer"/>
<property name="string.action2.mbean.name" value="StringDifferActionBean"/>

<property name="selfmanagement.rule.eventtype" value="monitor"/>
<property name="selfmanagement.rule.eventloglevel" value="INFO"/>

<property name="selfmanagement.rule.monitor.type.counter" value="countermonitor"/>
<property name="selfmanagement.rule.monitor.type.gauge" value="gaugemonitor"/>
<property name="selfmanagement.rule.monitor.type.string" value="stringmonitor"/>

<property name="selfmanagement.rule.monitor.initthreshold.counter" value="5"/>
<property name="selfmanagement.rule.monitor.numbertype.counter" value="long"/>
<property name="selfmanagement.rule.monitor.lowthreshold.gauge" value="2"/>
<property name="selfmanagement.rule.monitor.highthreshold.gauge" value="3"/>
<property name="selfmanagement.rule.monitor.numbertype.gauge" value="double"/>
<property name="selfmanagement.rule.monitor.stringtocompare.string" value="sublimation"/>
<property name="selfmanagement.rule1.monitor.stringnotify.string" value="notifymatch"/>
<property name="selfmanagement.rule2.monitor.stringnotify.string" value="notifydiffer"/>

<property name="selfmanagement.rule.monitor.observedattribute" value="Value"/>

<property name="selfmanagement.rule1.eventproperties" value="monitortype=${selfmanagement.rule.monitor.type.counter}:initthreshold=${selfmanagement.rule.monitor.initthreshold.counter}:numbertype=${selfmanagement.rule.monitor.numbertype.counter}:observedobject=user\:impl\-class\-name\=${counter.event.mbean.impl.class.name}\,name\=${counter.event.mbean.name}\,server\=server:observedattribute=${selfmanagement.rule.monitor.observedattribute}"/>

<property name="selfmanagement.rule2.eventproperties" value="monitortype=${selfmanagement.rule.monitor.type.gauge}:lowthreshold=${selfmanagement.rule.monitor.lowthreshold.gauge}:highthreshold=${selfmanagement.rule.monitor.highthreshold.gauge}:numbertype=${selfmanagement.rule.monitor.numbertype.gauge}:observedobject=user\:impl\-class\-name\=${gauge.event1.mbean.impl.class.name}\,name\=${gauge.event1.mbean.name}\,server\=server:observedattribute=${selfmanagement.rule.monitor.observedattribute}"/>

<property name="selfmanagement.rule3.eventproperties" value="monitortype=${selfmanagement.rule.monitor.type.gauge}:lowthreshold=${selfmanagement.rule.monitor.lowthreshold.gauge}:highthreshold=${selfmanagement.rule.monitor.highthreshold.gauge}:numbertype=${selfmanagement.rule.monitor.numbertype.gauge}:observedobject=user\:impl\-class\-name\=${gauge.event2.mbean.impl.class.name}\,name\=${gauge.event2.mbean.name}\,server\=server:observedattribute=${selfmanagement.rule.monitor.observedattribute}"/>

<property name="selfmanagement.rule4.eventproperties" value="monitortype=${selfmanagement.rule.monitor.type.string}:stringtocompare=${selfmanagement.rule.monitor.stringtocompare.string}:stringnotify=${selfmanagement.rule1.monitor.stringnotify.string}:observedobject=user\:impl\-class\-name\=${string.event1.mbean.impl.class.name}\,name\=${string.event1.mbean.name}\,server\=server:observedattribute=${selfmanagement.rule.monitor.observedattribute}"/>

<property name="selfmanagement.rule5.eventproperties" value="monitortype=${selfmanagement.rule.monitor.type.string}:stringtocompare=${selfmanagement.rule.monitor.stringtocompare.string}:stringnotify=${selfmanagement.rule2.monitor.stringnotify.string}:observedobject=user\:impl\-class\-name\=${string.event2.mbean.impl.class.name}\,name\=${string.event2.mbean.name}\,server\=server:observedattribute=${selfmanagement.rule.monitor.observedattribute}"/>

<property name="selfmanagement.rule1.name" value="CounterRule"/>
<property name="selfmanagement.rule2.name" value="GaugeHighRule"/>
<property name="selfmanagement.rule3.name" value="GaugeLowRule"/>
<property name="selfmanagement.rule4.name" value="StringMatchRule"/>
<property name="selfmanagement.rule5.name" value="StringDifferRule"/>
