<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2010 Google Inc.                                             -->
<!-- Licensed under the Apache License, Version 2.0 (the "License"); you    -->
<!-- may not use this file except in compliance with the License. You may   -->
<!-- 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. License for the specific language governing permissions and   -->
<!-- limitations under the License.                                         -->

<module rename-to='validation'>

  <inherits name='com.google.gwt.user.RemoteService' />
  <inherits name='com.google.gwt.user.User' />
  <inherits name='com.google.gwt.user.theme.standard.Standard' />
  <inherits name='org.hibernate.validator.HibernateValidator' />

  <entry-point class='com.google.gwt.sample.validation.client.Validation' />

  <source path='client' />
  <source path='shared' />
  <!-- The super source files are in src/main/resources --> 
  <super-source path="super" />

  <!-- Specify the Validator for the Validation bootstrap to use. -->
  <replace-with
    class="com.google.gwt.sample.validation.client.SampleValidatorFactory">
    <when-type-is class="javax.validation.ValidatorFactory" />
  </replace-with>
  
  <!-- TODO(nchalko) figure out how to make this a attribute of the GwtValidation
       annotation -->
  <!--  specify the ValidationMessageResolver to use for your custom validation messages -->
  <replace-with
    class="com.google.gwt.sample.validation.client.CustomValidationMessagesResolver">
    <when-type-is
      class="com.google.gwt.validation.client.UserValidationMessagesResolver" />
  </replace-with>
  
  <set-configuration-property name="CssResource.enableGss" value="true" />
  <set-configuration-property name="CssResource.gssDefaultInUiBinder" value="true" />
</module>
