<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mbean-definitions [

    <!ELEMENT   display-name    (#PCDATA)>
    <!ELEMENT   description     (#PCDATA)>


    <!ELEMENT   display-attribute (display-name?)>
    <!ATTLIST   display-attribute
        name CDATA #REQUIRED
    >

    <!ELEMENT   display-attributes (display-attribute+)>

    <!ELEMENT   group           (display-name?,description?,display-attributes?)>
    <!ATTLIST   group
        name CDATA #REQUIRED
        access (read|write|read-write|none) "read-write"
        ref-id IDREF #REQUIRED
    >

    <!ELEMENT   input-value     EMPTY>
    <!ATTLIST   input-value
        display-value CDATA #REQUIRED
        value CDATA #REQUIRED
    >

    <!ELEMENT   input-map    (input-value*)>
    <!ATTLIST   input-map
        class CDATA #IMPLIED
    >

    <!ELEMENT   pattern             (#PCDATA) >
    <!ELEMENT   min-length          (#PCDATA) >
    <!ELEMENT   max-length          (#PCDATA) >
    <!ELEMENT   min-value           (#PCDATA) >
    <!ELEMENT   min-value-exclusive (#PCDATA) >
    <!ELEMENT   max-value           (#PCDATA) >
    <!ELEMENT   max-value-exclusive (#PCDATA) >


    <!ELEMENT   validation-info (pattern?,min-length?,max-length?,min-value?,min-value-exclusive?,max-value?,max-value-exclusive?) >
    <!ATTLIST   validation-info
        required (true|false) "false"
        class CDATA #IMPLIED
    >

    <!ELEMENT   attribute       (display-name?,description?,(input-map*|validation-info?)?)>
    <!ATTLIST   attribute
        name CDATA #REQUIRED
        access (read|write|read-write|none) "read-write"
        type CDATA #REQUIRED
        is-getter (true|false) "false"
        modification-policy (after-update|after-restart|never|unknown) "after-update"
	is-password (true|false) "false"
	is-identity (true|false) "false"

    >


    <!ELEMENT   parameter       (description?)>
    <!ATTLIST   parameter
        name CDATA #REQUIRED
        type CDATA #REQUIRED
    >


    <!ELEMENT   constructor     (display-name?,description?,parameter*)>
    <!ATTLIST   constructor
        name CDATA #REQUIRED
    >

    <!ELEMENT   operation       (display-name?,description?,parameter*)>
    <!ATTLIST   operation
        name CDATA #REQUIRED
        impact (action|action-info|info|unknown) #IMPLIED
        return-type CDATA #REQUIRED
    >

    <!ELEMENT   notification-type EMPTY>
    <!ATTLIST   notification-type
        name CDATA #REQUIRED
    >


    <!ELEMENT   notification    (display-name?,description?,notification-type+)>
    <!ATTLIST   notification
        name CDATA #REQUIRED
    >

    <!ELEMENT moniker-attribute (#PCDATA)>

    <!ELEMENT   mbean           (display-name?,moniker-attribute?,description?,group*,attribute*,constructor*,operation*,notification*)>
    <!ATTLIST   mbean
                name ID #REQUIRED
                class CDATA #REQUIRED
                access (read|write|read-write|none) "read-write"
                modification-policy (after-update|after-restart|after-time-limit|never|unknown) "after-update"
                modification-time-limit CDATA "20 mins."
                resource-bundle CDATA #IMPLIED
                icon-url CDATA #IMPLIED
    >

    <!ELEMENT mbean-definitions (mbean*)>
    <!ATTLIST mbean-definitions
        resource-bundle CDATA #IMPLIED
    >
]>

<!-- Created by lgirton on February 19, 2003, 10:03 AM -->

<mbean-definitions resource-bundle="com.fairisaac.decopt.management.MBeanResources">


    <!--

    -->
    <mbean name="user" class="com.fairisaac.decopt.management.UserMBean" access="read-write" modification-policy="after-time-limit" modification-time-limit="20 mins." icon-url="user.gif">
        <display-name>User</display-name>
        <moniker-attribute>username</moniker-attribute>
        <description>
            <![CDATA[
                <p class="pagetext">
                    <B>User Profile</B> Information.
                </p>
            ]]>
        </description>
        <attribute name="username" type="java.lang.String" is-identity = "true">
            <display-name>User Name (7 to 24 Characters)</display-name>
            <description>Usernames are case-sensitve and can be any combination of 7 to 24 alphanumeric characters and underscores.</description>
            <validation-info required="true">
                <pattern>^[\w_]{7,24}$</pattern>
            </validation-info>
        </attribute>
        <attribute name="password" type="java.lang.String" is-password="true">
            <display-name>Password (8 to 24 Characters)</display-name>
            <description>Passwords are case-sensitive and can be any combination of 8 to 24 alphanumeric characters and underscores.</description>
            <validation-info required="true">
                <pattern>^[\w_]{8,24}$</pattern>
            </validation-info>
        </attribute>
	<attribute name="admin" type="java.lang.Boolean">
		<display-name>Administrator</display-name>
		<description>Choose True to give administrator rights to this user</description>
	</attribute>
    </mbean>

    <!--

    -->
    <mbean name="userAdmin" class="com.fairisaac.decopt.management.UserManagerMBean" access="read" >
        <display-name>User Administration</display-name>
        <description>
            <![CDATA[
                <P>
                    From here you can manage users and access to your Decision
                    Optimizer installation.
                </P>
            ]]>
        </description>
        <group name="users" ref-id="user" access="read-write">
            <display-name>Users</display-name>
            <display-attributes>
                <display-attribute name="username">
                    <display-name>User Name</display-name>
                </display-attribute>
                <display-attribute name="password">
                    <display-name>Password</display-name>
                </display-attribute>
                <display-attribute name="admin">
                    <display-name>Administrator</display-name>
                </display-attribute>
            </display-attributes>
        </group>
    </mbean>


      <!--

    -->
    <mbean name="userNameRules" class="com.fairisaac.decopt.management.UserRuleConfiguartionMBean" icon-url="user.gif">
        <display-name>User Name Rules</display-name>
        <description>
            <![CDATA[
                <p class="pagetext">
                    <B>User Name Rules</B> Information.
                </p>
            ]]>
        </description>
        <attribute name="mbeanID" type="java.lang.String" is-identity="true"></attribute>
        <attribute name="minLength" type="java.lang.Integer" access="read-write">
            <display-name>Minimum length</display-name>
            <description>Minimum length constraint for user name.</description>
             <input-map>
                <input-value display-value="0" value="0"/>
                <input-value display-value="1" value="1"/>
                <input-value display-value="2" value="2"/>
                <input-value display-value="3" value="3"/>
                <input-value display-value="4" value="4"/>
                <input-value display-value="5" value="5"/>
                <input-value display-value="6" value="6"/>
                <input-value display-value="7" value="7"/>
                <input-value display-value="8" value="8"/>
                <input-value display-value="9" value="9"/>
                <input-value display-value="10" value="10"/>
            </input-map>
        </attribute>
        <attribute name="maxLength" type="java.lang.Integer" access="read-write">
            <display-name>Maximum length</display-name>
            <description>Maximum length constraint for user name.</description>
            <input-map>
                <input-value display-value="0" value="0"/>
                <input-value display-value="1" value="1"/>
                <input-value display-value="2" value="2"/>
                <input-value display-value="3" value="3"/>
                <input-value display-value="4" value="4"/>
                <input-value display-value="5" value="5"/>
                <input-value display-value="6" value="6"/>
                <input-value display-value="7" value="7"/>
                <input-value display-value="8" value="8"/>
                <input-value display-value="9" value="9"/>
                <input-value display-value="10" value="10"/>
                <input-value display-value="11" value="11"/>
                <input-value display-value="12" value="12"/>
                <input-value display-value="13" value="13"/>
                <input-value display-value="14" value="14"/>
                <input-value display-value="15" value="15"/>
                <input-value display-value="16" value="16"/>
                <input-value display-value="17" value="17"/>
                <input-value display-value="18" value="18"/>
                <input-value display-value="19" value="19"/>
                <input-value display-value="20" value="20"/>
            </input-map>
        </attribute>
    </mbean>

         <!--

    -->
    <mbean name="passwordRules" class="com.fairisaac.decopt.management.UserRuleConfiguartionMBean" access="read-write" icon-url="user.gif">
        <display-name>Password Rules</display-name>
        <description>
            <![CDATA[
                <p class="pagetext">
                    <B>Password Rules</B> Information.
                </p>
            ]]>
        </description>
        <attribute name="mbeanID" type="java.lang.String" is-identity="true"></attribute>
        <attribute name="minLength" type="java.lang.Integer" access="read-write">
            <display-name>Minimum length</display-name>
            <description>Minimum length constraint for password.</description>
           <input-map>
                <input-value display-value="0" value="0"/>
                <input-value display-value="1" value="1"/>
                <input-value display-value="2" value="2"/>
                <input-value display-value="3" value="3"/>
                <input-value display-value="4" value="4"/>
                <input-value display-value="5" value="5"/>
                <input-value display-value="6" value="6"/>
                <input-value display-value="7" value="7"/>
                <input-value display-value="8" value="8"/>
                <input-value display-value="9" value="9"/>
                <input-value display-value="10" value="10"/>
            </input-map>
        </attribute>
        <attribute name="maxLength" type="java.lang.Integer" access="read-write">
            <display-name>Maximum length</display-name>
            <description>Maximum length constraint for password.</description>
            <input-map>
                <input-value display-value="0" value="0"/>
                <input-value display-value="1" value="1"/>
                <input-value display-value="2" value="2"/>
                <input-value display-value="3" value="3"/>
                <input-value display-value="4" value="4"/>
                <input-value display-value="5" value="5"/>
                <input-value display-value="6" value="6"/>
                <input-value display-value="7" value="7"/>
                <input-value display-value="8" value="8"/>
                <input-value display-value="9" value="9"/>
                <input-value display-value="10" value="10"/>
                <input-value display-value="11" value="11"/>
                <input-value display-value="12" value="12"/>
                <input-value display-value="13" value="13"/>
                <input-value display-value="14" value="14"/>
                <input-value display-value="15" value="15"/>
                <input-value display-value="16" value="16"/>
                <input-value display-value="17" value="17"/>
                <input-value display-value="18" value="18"/>
                <input-value display-value="19" value="19"/>
                <input-value display-value="20" value="20"/>
            </input-map>
        </attribute>
    </mbean>



</mbean-definitions>

