<!--
Licensed Materials - Property of IBM

5724-J08, 5724-I63, 5724-H88, 5724-H89, 5655-N01, 5733-W61
 
Copyright IBM Corp. 2005, 2007 All Rights Reserved.

US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
-->

<form-validation>
  <formset>
    <form name="bindings.http.HTTPBindingDetailForm">
        <field property="proxyOutboundPort" depends="integer,range">
            <arg0 key="port.displayName"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>0</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>2147483647</var-value>
            </var>
         </field>
         <field property="proxyOutboundAsyncPort" depends="integer,range">
            <arg0 key="port.displayName"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>0</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>2147483647</var-value>
            </var>
         </field>
    </form>
    <form name="policytypes.http.HTTPPolicyConfigDetailForm">
        <field property="readTimeout" depends="integer,range">
        <arg0 key="HTTPPolicyConfig.readTimeout.displayName"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>0</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>2147483647</var-value>
            </var>
         </field>
         <field property="writeTimeout" depends="integer,range">
        <arg0 key="HTTPPolicyConfig.writeTimeout.displayName"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>0</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>2147483647</var-value>
            </var>
         </field>
         <field property="connectTimeout" depends="integer,range">
        <arg0 key="HTTPPolicyConfig.connectTimeout.displayName"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>0</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>2147483647</var-value>
            </var>
         </field>
    </form>
    <form name="policytypes.jms.JMSPolicyConfigDetailForm">
        <field property="requestTimeout" depends="integer,range">
        <arg0 key="JMSpolicyConfig.timeout.displayName"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>1</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>2147483647</var-value>
            </var>
         </field>
    </form>
    <form name="bindings.jms.JMSBindingDetailForm">
		<field property="basicAuthOutboundConfirmPassword"
			depends="when,equalsOther">
			<arg0 key="password.displayName"/>
			<arg1 key="confirm.password.displayName"/>
			<var>
				<var-name>otherField</var-name>
				<var-value>basicAuthOutboundPassword</var-value>
			</var>
		</field>		
    </form>
    <form name="com.ibm.ws.console.webservices.policyset.PolicySetDetailForm">
        <field property="psName" depends="required,mask">
            <arg0 key="PolicySet.name.displayName"/>
            <var>
                <var-name>mask</var-name>
                <var-value>${was_name}</var-value>
            </var>
        </field>
    </form>
    <form name="com.ibm.ws.console.webservices.policyset.PolicySetCopyDetailForm">
        <field property="name" depends="required,mask">
            <arg0 key="PolicySet.name.displayName"/>
            <var>
                <var-name>mask</var-name>
                <var-value>${was_name}</var-value>
            </var>
        </field>
    </form>
    <form name="policytypes.wss.token.TokenDetailForm">
        <field property="userTokenId" depends="required">
            <arg0 key="PSToken.username.id.displayName"/>
        </field>
        <field property="x509TokenId" depends="required">
            <arg0 key="PSToken.x509.id.displayName"/>
        </field>
        <field property="ltpaTokenId" depends="required">
            <arg0 key="PSToken.ltpa.id.displayName"/>
        </field>
        <field property="conversationTokenId" depends="required">
            <arg0 key="PSToken.conversation.id.displayName"/>
        </field>
        <field property="customTokenId" depends="required">
            <arg0 key="PSToken.custom.id.displayName"/>
        </field>
        <field property="localName" depends="required">
            <arg0 key="PSToken.localName.displayName"/>
        </field>
    </form>
    <form name="bindings.wss.ExternalKeyStoreDetailForm">
        <field property="path" depends="required">
            <arg0 key="PSBKeyStore.path.displayName"/>
        </field>
        <field property="name" depends="required">
            <arg0 key="PSBKey.name.displayName"/>
        </field>
        <field property="alias" depends="required">
            <arg0 key="PSBKey.alias.displayName"/>
        </field>
      </form>
    <form name="bindings.wss.TransformAlgorithmDetailForm">
      <field property="url" depends="required">
        <arg0 key="PSBTransformAlgorithm.url.displayName" />
      </field>
    </form>
      
    <form name="bindings.wss.KeyInfoDetailForm">
        <field property="name" depends="required">
            <arg0 key="PSBKeyInfo.name.displayName"/>
        </field>
        <field property="tokenRef" depends="required">
            <arg0 key="PSBKeyInfo.tokenRef.displayName"/>
        </field>
        <field property="keyLength" depends="integer,range">
        <arg0 key="PSBKeyInfo.keyLength.label"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>16</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>32</var-value>
            </var>
        </field>
        <field property="nonceLength" depends="integer,range">
        <arg0 key="PSBKeyInfo.nonceLength.label"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>16</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>128</var-value>
            </var>
        </field>
        <field property="clientLabel" depends="mask">
            <arg0 key="PSBKeyInfo.clientLabel.label"/>
            <var>
                <var-name>mask</var-name>
                <var-value>${was_name}</var-value>
            </var>
        </field>
        <field property="serviceLabel" depends="mask">
            <arg0 key="PSBKeyInfo.serviceLabel.label"/>
            <var>
                <var-name>mask</var-name>
                <var-value>${was_name}</var-value>
            </var>
        </field>
    </form>
    <form name="bindings.wss.CertStoreDetailForm">
        <field property="name" depends="required">
            <arg0 key="PSBCertStore.name.displayName"/>
        </field>
    </form>
    <form name="bindings.wss.TrustAnchorDetailForm">
        <field property="name" depends="required">
            <arg0 key="PSBTrustAnchor.name.displayName"/>
        </field>
    </form>
   	<form name="bindings.wss.CallBackHandlerDetailForm">
		<field property="customClassName" depends="when,required">
			<arg0
				key="PSBCallBackHandler.className.customClassName.displayname" />
			<var>
				<var-name>field[0]</var-name>
				<var-value>classNameType</var-value>
			</var>
			<var>
				<var-name>fieldTest[0]</var-name>
				<var-value>EQUAL</var-value>
			</var>
			<var>
				<var-name>fieldValue[0]</var-name>
				<var-value>CUSTOM_CLASSNAME</var-value>
			</var>
		</field>
		<field property="passwordConfirm"
			depends="when,equalsOther">
			<arg0 key="PSBCallBackHandler.password.displayName"/>
			<arg1 key="PSBCallBackHandler.passwordConfirm.displayName"/>
			<var>
				<var-name>field[0]</var-name>
				<var-value>userName</var-value>
			</var>
			<var>
				<var-name>fieldTest[0]</var-name>
				<var-value>NOTNULL</var-value>
			</var>
			<var>
				<var-name>otherField</var-name>
				<var-value>password</var-value>
			</var>
		</field>
		<field property="keyConfirmPassword"
			depends="when,equalsOther">
			<arg0 key="PSBKeyStore.password.displayName"/>
			<arg1 key="PSBKeyStore.password.confirm.displayName"/>
			<var>
				<var-name>otherField</var-name>
				<var-value>keyPassword</var-value>
			</var>
		</field>		
	</form>
	<form name="bindings.wss.MessageExpirationDetailForm">
        <field property="messageTimeout" depends="when,required,integer,range">
            <arg0 key="PSBMessageTimeout.displayName"/>
            <arg1 name="range" key="${var:min}" resource="false"/>
            <arg2 name="range" key="${var:max}" resource="false"/>
            <var>
               <var-name>min</var-name>
               <var-value>0</var-value>
            </var>
            <var>
               <var-name>max</var-name>
               <var-value>2147483647</var-value>
            </var>
            <var>
          	   <var-name>field[0]</var-name>
          	   <var-value>messageTimeoutDepends</var-value>
        	</var>
            <var>
          	   <var-name>fieldTest[0]</var-name>
               <var-value>EQUAL</var-value>
        	</var>
        	<var>
          		<var-name>fieldValue[0]</var-name>
          		<var-value>ENABLED</var-value>
        	</var>            
        </field>
    </form>
    <form name="bindings.wss.caller.CallerDetailForm">
        <field property="name" depends="required">
            <arg0 key="PSBCaller.name.displayName"/>          
        </field>
        <field property="localName" depends="required">
            <arg0 key="PSBCaller.localname.displayName"/>          
        </field>        
    </form>
    <form name="bindings.wss.TokenV2DetailForm">
        <field property="customClassName" depends="when,required">
            <arg0 key="PSBCallBackHandler.className.customClassName.displayname"/>
            <var>
                <var-name>field[0]</var-name>
                <var-value>classNameType</var-value>
            </var>
            <var>
                <var-name>fieldTest[0]</var-name>
                <var-value>EQUAL</var-value>
            </var>
            <var>
                <var-name>fieldValue[0]</var-name>
                <var-value>CUSTOM_CLASSNAME</var-value>
            </var>
        </field>
<!--        <field property="userName" depends="when,required">
            <arg0 key="PSBCallBackHandler.userName.displayName"/>
            <var>
                <var-name>field[0]</var-name>
                <var-value>classNameType</var-value>
            </var>
            <var>
                <var-name>fieldTest[0]</var-name>
                <var-value>EQUAL</var-value>
            </var>
            <var>
                <var-name>fieldValue[0]</var-name>
                <var-value>DEFAULT_CLASSNAME</var-value>
            </var>
        </field>
        <field property="displayPassword" depends="when,required">
            <arg0 key="PSBCallBackHandler.password.displayName"/>
            <var>
                <var-name>field[0]</var-name>
                <var-value>classNameType</var-value>
            </var>
            <var>
                <var-name>fieldTest[0]</var-name>
                <var-value>EQUAL</var-value>
            </var>
            <var>
                <var-name>fieldValue[0]</var-name>
                <var-value>DEFAULT_CLASSNAME</var-value>
            </var>
        </field> -->
		<field property="passwordConfirm"
			depends="equalsOther">
			<arg0 key="PSBCallBackHandler.password.displayName"/>
			<arg1 key="PSBCallBackHandler.passwordConfirm.displayName"/>
			<var>
				<var-name>otherField</var-name>
				<var-value>password</var-value>
			</var>
		</field>
    </form>
  </formset>
  <global>
	<validator name="equalsOther"
		classname="com.ibm.ws.console.webservices.policyset.PolicySetFieldChecks"
		method="validateMatchOther" msg="errors.equalsOther"
		methodParams="java.lang.Object,
							org.apache.commons.validator.ValidatorAction,
							org.apache.commons.validator.Field,
							org.apache.struts.action.ActionErrors,
							javax.servlet.http.HttpServletRequest" />
  </global>  
</form-validation>
