<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You 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.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
  <field name="id">
    <field-validator type="requiredstring">
      <message>You must enter the repository identifier.</message>
    </field-validator>
    <!--field-validator type="regex">
      <param name="expression"><![CDATA[([A-Z][a-z][0-9])]]></param>
      <message>Id must not have special characters.</message>
    </field-validator-->
  </field>
  <field name="name">
    <field-validator type="requiredstring">
      <message>You must enter the repository name.</message>
    </field-validator>
  </field>

  <field name="url">
    <field-validator type="requiredstring">
      <message>You must enter the repository URL.</message>
    </field-validator>
  </field>
  <field name="snapshotsInterval">
    <field-validator type="regex">
      <param name="expression"><![CDATA[([0-9])]]></param>
      <message>The value must be numeric</message>
    </field-validator>
  </field>
  <field name="releasesInterval">
    <field-validator type="regex">
      <param name="expression"><![CDATA[([0-9])]]></param>
      <message>The value must be numeric</message>
    </field-validator>
  </field>

  <!-- TODO: is the validation correct? -->
  <validator type="interval">
    <message/>
  </validator>

  <field name="layout">
    <field-validator type="required">
      <message>Repository type is required.</message>
    </field-validator>
    <field-validator type="fieldexpression">
      <param name="expression">layout in {"legacy", "default"}</param>
      <message>Invalid repository type.</message>
    </field-validator>
  </field>
  <field name="snapshotsPolicy">
    <field-validator type="fieldexpression">
      <param name="expression">snapshotsPolicy in { "disabled", "daily", "hourly", "never", "interval" }</param>
      <message>Invalid snapshot policy.</message>
    </field-validator>
  </field>
  <field name="releasesPolicy">
    <field-validator type="fieldexpression">
      <param name="expression">releasesPolicy in { "disabled", "daily", "hourly", "never", "interval" }</param>
      <message>Invalid releases policy.</message>
    </field-validator>
  </field>

  <field name="managedRepository">
    <field-validator type="requiredstring">
      <message>A managed repository must be selected.</message>
    </field-validator>
  </field>

</validators>