-package org.apache.maven.archiva.configuration;\r
-\r
-/*\r
- * Copyright 2005-2006 The Apache Software Foundation.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-import org.codehaus.plexus.PlexusTestCase;\r
-\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.IOException;\r
-import java.util.List;\r
-import java.util.Properties;\r
-\r
-/**\r
- * @author Edwin Punzalan\r
- */\r
-public class MavenProxyPropertyLoaderTest\r
- extends PlexusTestCase\r
-{\r
- private static final int DEFAULT_CACHE_PERIOD = 3600;\r
-\r
- private MavenProxyPropertyLoader loader;\r
-\r
- public void testLoadValidMavenProxyConfiguration()\r
- throws IOException, InvalidConfigurationException\r
- {\r
- File confFile = getTestFile( "src/test/conf/maven-proxy-complete.conf" );\r
-\r
- Configuration configuration = new Configuration();\r
- Proxy proxy = new Proxy();\r
- proxy.setHost( "original-host" );\r
- configuration.setProxy( proxy ); // overwritten\r
- configuration.setIndexPath( "index-path" ); // existing value\r
-\r
- loader.load( new FileInputStream( confFile ), configuration );\r
-\r
- List list = configuration.getRepositories();\r
- assertEquals( "check single managed repository", 1, list.size() );\r
- RepositoryConfiguration managedRepository = (RepositoryConfiguration) list.iterator().next();\r
- assertEquals( "cache path changed", "target", managedRepository.getDirectory() );\r
-\r
- assertEquals( "Count repositories", 4, configuration.getProxiedRepositories().size() );\r
-\r
- list = configuration.getProxiedRepositories();\r
- ProxiedRepositoryConfiguration repo = (ProxiedRepositoryConfiguration) list.get( 0 );\r
- assertEquals( "Repository name not as expected", "local-repo", repo.getId() );\r
- assertEquals( "Repository url does not match its name", "file://target", repo.getUrl() );\r
- assertEquals( "Repository cache period check failed", 0, repo.getSnapshotsInterval() );\r
- assertFalse( "Repository failure caching check failed", repo.isCacheFailures() );\r
-\r
- repo = (ProxiedRepositoryConfiguration) list.get( 1 );\r
- assertEquals( "Repository name not as expected", "www-ibiblio-org", repo.getId() );\r
- assertEquals( "Repository url does not match its name", "http://www.ibiblio.org/maven2", repo.getUrl() );\r
- assertEquals( "Repository cache period check failed", DEFAULT_CACHE_PERIOD, repo.getSnapshotsInterval() );\r
- assertTrue( "Repository failure caching check failed", repo.isCacheFailures() );\r
-\r
- repo = (ProxiedRepositoryConfiguration) list.get( 2 );\r
- assertEquals( "Repository name not as expected", "dist-codehaus-org", repo.getId() );\r
- assertEquals( "Repository url does not match its name", "http://dist.codehaus.org", repo.getUrl() );\r
- assertEquals( "Repository cache period check failed", DEFAULT_CACHE_PERIOD, repo.getSnapshotsInterval() );\r
- assertTrue( "Repository failure caching check failed", repo.isCacheFailures() );\r
-\r
- repo = (ProxiedRepositoryConfiguration) list.get( 3 );\r
- assertEquals( "Repository name not as expected", "private-example-com", repo.getId() );\r
- assertEquals( "Repository url does not match its name", "http://private.example.com/internal", repo.getUrl() );\r
- assertEquals( "Repository cache period check failed", DEFAULT_CACHE_PERIOD, repo.getSnapshotsInterval() );\r
- assertFalse( "Repository failure caching check failed", repo.isCacheFailures() );\r
- }\r
-\r
- public void testInvalidConfiguration()\r
- {\r
- Configuration configuration = new Configuration();\r
- try\r
- {\r
- loader.load( new Properties(), configuration );\r
- fail( "Incomplete config should have failed" );\r
- }\r
- catch ( InvalidConfigurationException e )\r
- {\r
- assertTrue( true );\r
- }\r
- }\r
-\r
- protected void setUp()\r
- throws Exception\r
- {\r
- super.setUp();\r
- loader = new MavenProxyPropertyLoader();\r
- }\r
-}\r
+package org.apache.maven.archiva.configuration;
+
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * @author Edwin Punzalan
+ */
+public class MavenProxyPropertyLoaderTest
+ extends PlexusTestCase
+{
+ private static final int DEFAULT_CACHE_PERIOD = 3600;
+
+ private MavenProxyPropertyLoader loader;
+
+ public void testLoadValidMavenProxyConfiguration()
+ throws IOException, InvalidConfigurationException
+ {
+ File confFile = getTestFile( "src/test/conf/maven-proxy-complete.conf" );
+
+ Configuration configuration = new Configuration();
+ Proxy proxy = new Proxy();
+ proxy.setHost( "original-host" );
+ configuration.setProxy( proxy ); // overwritten
+ configuration.setIndexPath( "index-path" ); // existing value
+
+ loader.load( new FileInputStream( confFile ), configuration );
+
+ List list = configuration.getRepositories();
+ assertEquals( "check single managed repository", 1, list.size() );
+ RepositoryConfiguration managedRepository = (RepositoryConfiguration) list.iterator().next();
+ assertEquals( "cache path changed", "target", managedRepository.getDirectory() );
+
+ assertEquals( "Count repositories", 4, configuration.getProxiedRepositories().size() );
+
+ list = configuration.getProxiedRepositories();
+ ProxiedRepositoryConfiguration repo = (ProxiedRepositoryConfiguration) list.get( 0 );
+ assertEquals( "Repository name not as expected", "local-repo", repo.getId() );
+ assertEquals( "Repository url does not match its name", "file://target", repo.getUrl() );
+ assertEquals( "Repository cache period check failed", 0, repo.getSnapshotsInterval() );
+ assertFalse( "Repository failure caching check failed", repo.isCacheFailures() );
+
+ repo = (ProxiedRepositoryConfiguration) list.get( 1 );
+ assertEquals( "Repository name not as expected", "www-ibiblio-org", repo.getId() );
+ assertEquals( "Repository url does not match its name", "http://www.ibiblio.org/maven2", repo.getUrl() );
+ assertEquals( "Repository cache period check failed", DEFAULT_CACHE_PERIOD, repo.getSnapshotsInterval() );
+ assertTrue( "Repository failure caching check failed", repo.isCacheFailures() );
+
+ repo = (ProxiedRepositoryConfiguration) list.get( 2 );
+ assertEquals( "Repository name not as expected", "dist-codehaus-org", repo.getId() );
+ assertEquals( "Repository url does not match its name", "http://dist.codehaus.org", repo.getUrl() );
+ assertEquals( "Repository cache period check failed", DEFAULT_CACHE_PERIOD, repo.getSnapshotsInterval() );
+ assertTrue( "Repository failure caching check failed", repo.isCacheFailures() );
+
+ repo = (ProxiedRepositoryConfiguration) list.get( 3 );
+ assertEquals( "Repository name not as expected", "private-example-com", repo.getId() );
+ assertEquals( "Repository url does not match its name", "http://private.example.com/internal", repo.getUrl() );
+ assertEquals( "Repository cache period check failed", DEFAULT_CACHE_PERIOD, repo.getSnapshotsInterval() );
+ assertFalse( "Repository failure caching check failed", repo.isCacheFailures() );
+ }
+
+ public void testInvalidConfiguration()
+ {
+ Configuration configuration = new Configuration();
+ try
+ {
+ loader.load( new Properties(), configuration );
+ fail( "Incomplete config should have failed" );
+ }
+ catch ( InvalidConfigurationException e )
+ {
+ assertTrue( true );
+ }
+ }
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ loader = new MavenProxyPropertyLoader();
+ }
+}
-<?xml version="1.0" encoding="ISO-8859-1"?>\r
-<!--\r
- ~ Copyright 2005-2006 The Apache Software Foundation.\r
- ~\r
- ~ Licensed under the Apache License, Version 2.0 (the "License");\r
- ~ you may not use this file except in compliance with the License.\r
- ~ You may obtain a copy of the License at\r
- ~\r
- ~ http://www.apache.org/licenses/LICENSE-2.0\r
- ~\r
- ~ Unless required by applicable law or agreed to in writing, software\r
- ~ distributed under the License is distributed on an "AS IS" BASIS,\r
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- ~ See the License for the specific language governing permissions and\r
- ~ limitations under the License.\r
- -->\r
-\r
-<metadata>\r
- <groupId>org.apache.maven</groupId>\r
- <plugins>\r
- <plugin>\r
- <prefix>org.apache.maven</prefix>\r
- <artifactId>org.apache.maven-maven-plugin</artifactId>\r
- </plugin>\r
- </plugins>\r
-</metadata>\r
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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.
+ -->
+
+<metadata>
+ <groupId>org.apache.maven</groupId>
+ <plugins>
+ <plugin>
+ <prefix>org.apache.maven</prefix>
+ <artifactId>org.apache.maven-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+</metadata>
-package org.apache.maven.archiva.web.validator;\r
-\r
-/*\r
- * Copyright 2005-2006 The Apache Software Foundation.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-import com.opensymphony.xwork.validator.ValidationException;\r
-import com.opensymphony.xwork.validator.ValidatorContext;\r
-import com.opensymphony.xwork.validator.validators.ValidatorSupport;\r
-\r
-/**\r
- *\r
- * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>\r
- */\r
-public class IntervalValidator\r
- extends ValidatorSupport\r
-{\r
-\r
- public void validate( Object obj )\r
- throws ValidationException\r
- {\r
- String snapshotsPolicy = ( String ) getFieldValue( "snapshotsPolicy", obj );\r
- String releasesPolicy = ( String ) getFieldValue( "releasesPolicy", obj );\r
- Integer snapshotsInterval = ( Integer ) getFieldValue( "snapshotsInterval", obj );\r
- Integer releasesInterval = ( Integer ) getFieldValue( "releasesInterval", obj );\r
-\r
- ValidatorContext ctxt = getValidatorContext();\r
-\r
- if( !snapshotsPolicy.equals( "interval" ) )\r
- {\r
- if( snapshotsInterval.intValue() != 0 )\r
- {\r
- ctxt.addActionError( "Snapshots Interval must be set to zero." );\r
- }\r
- }\r
- \r
- if( !releasesPolicy.equals( "interval" ) )\r
- {\r
- if( releasesInterval.intValue() != 0 )\r
- {\r
- ctxt.addActionError( "Releases Interval must be set to zero." );\r
- }\r
- }\r
-\r
- if( ctxt.hasActionErrors() )\r
- {\r
- return;\r
- }\r
- }\r
-}\r
+package org.apache.maven.archiva.web.validator;
+
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import com.opensymphony.xwork.validator.ValidationException;
+import com.opensymphony.xwork.validator.ValidatorContext;
+import com.opensymphony.xwork.validator.validators.ValidatorSupport;
+
+/**
+ *
+ * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
+ */
+public class IntervalValidator
+ extends ValidatorSupport
+{
+
+ public void validate( Object obj )
+ throws ValidationException
+ {
+ String snapshotsPolicy = ( String ) getFieldValue( "snapshotsPolicy", obj );
+ String releasesPolicy = ( String ) getFieldValue( "releasesPolicy", obj );
+ Integer snapshotsInterval = ( Integer ) getFieldValue( "snapshotsInterval", obj );
+ Integer releasesInterval = ( Integer ) getFieldValue( "releasesInterval", obj );
+
+ ValidatorContext ctxt = getValidatorContext();
+
+ if( !snapshotsPolicy.equals( "interval" ) )
+ {
+ if( snapshotsInterval.intValue() != 0 )
+ {
+ ctxt.addActionError( "Snapshots Interval must be set to zero." );
+ }
+ }
+
+ if( !releasesPolicy.equals( "interval" ) )
+ {
+ if( releasesInterval.intValue() != 0 )
+ {
+ ctxt.addActionError( "Releases Interval must be set to zero." );
+ }
+ }
+
+ if( ctxt.hasActionErrors() )
+ {
+ return;
+ }
+ }
+}
-package org.apache.maven.archiva.web.validator;\r
-\r
-/*\r
- * Copyright 2005-2006 The Apache Software Foundation.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-import com.opensymphony.xwork.validator.ValidationException;\r
-import com.opensymphony.xwork.validator.ValidatorContext;\r
-import com.opensymphony.xwork.validator.validators.ValidatorSupport;\r
-\r
-/**\r
- * Validator for synced repository form. The values to be validated depends on the\r
- * selected sync method to be used.\r
- *\r
- * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>\r
- */\r
-public class SyncedRepositoryValidator\r
- extends ValidatorSupport\r
-{\r
-\r
- public void validate( Object obj )\r
- throws ValidationException\r
- {\r
-\r
- String method = ( String ) getFieldValue( "method", obj );\r
- ValidatorContext ctxt = getValidatorContext();\r
-\r
- if( method.equals( "rsync" ) )\r
- {\r
- String rsyncHost = ( String ) getFieldValue( "rsyncHost", obj );\r
- if( rsyncHost == null || rsyncHost.equals("") )\r
- {\r
- ctxt.addActionError( "Rsync host is required." );\r
- }\r
-\r
- String rsyncDirectory = ( String ) getFieldValue( "rsyncDirectory", obj );\r
- if( rsyncDirectory == null || rsyncDirectory.equals("") )\r
- {\r
- ctxt.addActionError( "Rsync directory is required." );\r
- }\r
-\r
- String rsyncMethod = ( String ) getFieldValue( "rsyncMethod", obj );\r
- if( rsyncMethod == null || rsyncMethod.equals("") )\r
- {\r
- ctxt.addActionError( "Rsync method is required." );\r
- }\r
- else\r
- {\r
- if( !rsyncMethod.equals( "anonymous" ) && !rsyncMethod.equals( "ssh" ) )\r
- {\r
- ctxt.addActionError( "Invalid rsync method" );\r
- }\r
- }\r
-\r
- String username = ( String ) getFieldValue( "username", obj );\r
- if( username == null || username.equals("") )\r
- {\r
- ctxt.addActionError( "Username is required." );\r
- }\r
-\r
- }\r
- else if ( method.equals( "svn" ) )\r
- {\r
- String svnUrl = ( String ) getFieldValue( "svnUrl", obj );\r
- if( svnUrl == null || svnUrl.equals("") )\r
- {\r
- ctxt.addActionError( "SVN url is required." );\r
- }\r
-\r
- String username = ( String ) getFieldValue( "username", obj );\r
- if( username == null || username.equals("") )\r
- {\r
- ctxt.addActionError( "Username is required." );\r
- }\r
- }\r
- else if ( method.equals( "cvs" ) )\r
- {\r
- String cvsRoot = ( String ) getFieldValue( "cvsRoot", obj );\r
- if( cvsRoot == null || cvsRoot.equals("") )\r
- {\r
- ctxt.addActionError( "CVS root is required." );\r
- }\r
- }\r
- else if ( method.equals( "file" ) )\r
- {\r
- String directory = ( String ) getFieldValue( "directory", obj );\r
- if( directory == null || directory.equals("") )\r
- {\r
- ctxt.addActionError( "Directory is required." );\r
- }\r
- }\r
-\r
- if( ctxt.hasActionErrors() )\r
- {\r
- return;\r
- }\r
- }\r
-\r
-}\r
+package org.apache.maven.archiva.web.validator;
+
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import com.opensymphony.xwork.validator.ValidationException;
+import com.opensymphony.xwork.validator.ValidatorContext;
+import com.opensymphony.xwork.validator.validators.ValidatorSupport;
+
+/**
+ * Validator for synced repository form. The values to be validated depends on the
+ * selected sync method to be used.
+ *
+ * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
+ */
+public class SyncedRepositoryValidator
+ extends ValidatorSupport
+{
+
+ public void validate( Object obj )
+ throws ValidationException
+ {
+
+ String method = ( String ) getFieldValue( "method", obj );
+ ValidatorContext ctxt = getValidatorContext();
+
+ if( method.equals( "rsync" ) )
+ {
+ String rsyncHost = ( String ) getFieldValue( "rsyncHost", obj );
+ if( rsyncHost == null || rsyncHost.equals("") )
+ {
+ ctxt.addActionError( "Rsync host is required." );
+ }
+
+ String rsyncDirectory = ( String ) getFieldValue( "rsyncDirectory", obj );
+ if( rsyncDirectory == null || rsyncDirectory.equals("") )
+ {
+ ctxt.addActionError( "Rsync directory is required." );
+ }
+
+ String rsyncMethod = ( String ) getFieldValue( "rsyncMethod", obj );
+ if( rsyncMethod == null || rsyncMethod.equals("") )
+ {
+ ctxt.addActionError( "Rsync method is required." );
+ }
+ else
+ {
+ if( !rsyncMethod.equals( "anonymous" ) && !rsyncMethod.equals( "ssh" ) )
+ {
+ ctxt.addActionError( "Invalid rsync method" );
+ }
+ }
+
+ String username = ( String ) getFieldValue( "username", obj );
+ if( username == null || username.equals("") )
+ {
+ ctxt.addActionError( "Username is required." );
+ }
+
+ }
+ else if ( method.equals( "svn" ) )
+ {
+ String svnUrl = ( String ) getFieldValue( "svnUrl", obj );
+ if( svnUrl == null || svnUrl.equals("") )
+ {
+ ctxt.addActionError( "SVN url is required." );
+ }
+
+ String username = ( String ) getFieldValue( "username", obj );
+ if( username == null || username.equals("") )
+ {
+ ctxt.addActionError( "Username is required." );
+ }
+ }
+ else if ( method.equals( "cvs" ) )
+ {
+ String cvsRoot = ( String ) getFieldValue( "cvsRoot", obj );
+ if( cvsRoot == null || cvsRoot.equals("") )
+ {
+ ctxt.addActionError( "CVS root is required." );
+ }
+ }
+ else if ( method.equals( "file" ) )
+ {
+ String directory = ( String ) getFieldValue( "directory", obj );
+ if( directory == null || directory.equals("") )
+ {
+ ctxt.addActionError( "Directory is required." );
+ }
+ }
+
+ if( ctxt.hasActionErrors() )
+ {
+ return;
+ }
+ }
+
+}
-<?xml version="1.0" encoding="ISO-8859-1"?>\r
-<!--\r
- ~ Copyright 2005-2006 The Apache Software Foundation.\r
- ~\r
- ~ Licensed under the Apache License, Version 2.0 (the "License");\r
- ~ you may not use this file except in compliance with the License.\r
- ~ You may obtain a copy of the License at\r
- ~\r
- ~ http://www.apache.org/licenses/LICENSE-2.0\r
- ~\r
- ~ Unless required by applicable law or agreed to in writing, software\r
- ~ distributed under the License is distributed on an "AS IS" BASIS,\r
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- ~ See the License for the specific language governing permissions and\r
- ~ limitations under the License.\r
- -->\r
-\r
-<validators>\r
- <validator name="required" class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/>\r
- <validator name="requiredstring" class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>\r
- <validator name="int" class="com.opensymphony.xwork.validator.validators.IntRangeFieldValidator"/>\r
- <validator name="double" class="com.opensymphony.xwork.validator.validators.DoubleRangeFieldValidator"/>\r
- <validator name="date" class="com.opensymphony.xwork.validator.validators.DateRangeFieldValidator"/>\r
- <validator name="expression" class="com.opensymphony.xwork.validator.validators.ExpressionValidator"/>\r
- <validator name="fieldexpression" class="com.opensymphony.xwork.validator.validators.FieldExpressionValidator"/>\r
- <validator name="email" class="com.opensymphony.xwork.validator.validators.EmailValidator"/>\r
- <validator name="url" class="com.opensymphony.xwork.validator.validators.URLValidator"/>\r
- <validator name="visitor" class="com.opensymphony.xwork.validator.validators.VisitorFieldValidator"/>\r
- <validator name="conversion" class="com.opensymphony.xwork.validator.validators.ConversionErrorFieldValidator"/>\r
- <validator name="stringlength" class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>\r
- <validator name="regex" class="com.opensymphony.xwork.validator.validators.RegexFieldValidator"/>\r
- <validator name="interval" class="org.apache.maven.archiva.web.validator.IntervalValidator"/>\r
- <validator name="syncedrepo" class="org.apache.maven.archiva.web.validator.SyncedRepositoryValidator"/> \r
-</validators>\r
-\r
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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.
+ -->
+
+<validators>
+ <validator name="required" class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/>
+ <validator name="requiredstring" class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>
+ <validator name="int" class="com.opensymphony.xwork.validator.validators.IntRangeFieldValidator"/>
+ <validator name="double" class="com.opensymphony.xwork.validator.validators.DoubleRangeFieldValidator"/>
+ <validator name="date" class="com.opensymphony.xwork.validator.validators.DateRangeFieldValidator"/>
+ <validator name="expression" class="com.opensymphony.xwork.validator.validators.ExpressionValidator"/>
+ <validator name="fieldexpression" class="com.opensymphony.xwork.validator.validators.FieldExpressionValidator"/>
+ <validator name="email" class="com.opensymphony.xwork.validator.validators.EmailValidator"/>
+ <validator name="url" class="com.opensymphony.xwork.validator.validators.URLValidator"/>
+ <validator name="visitor" class="com.opensymphony.xwork.validator.validators.VisitorFieldValidator"/>
+ <validator name="conversion" class="com.opensymphony.xwork.validator.validators.ConversionErrorFieldValidator"/>
+ <validator name="stringlength" class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>
+ <validator name="regex" class="com.opensymphony.xwork.validator.validators.RegexFieldValidator"/>
+ <validator name="interval" class="org.apache.maven.archiva.web.validator.IntervalValidator"/>
+ <validator name="syncedrepo" class="org.apache.maven.archiva.web.validator.SyncedRepositoryValidator"/>
+</validators>
+
- -----\r
- Developing Archiva\r
- -----\r
- Henri Yandell\r
- -----\r
- 20 October 2006\r
- -----\r
-\r
-~~ Copyright 2006 The Apache Software Foundation.\r
-~~\r
-~~ Licensed under the Apache License, Version 2.0 (the "License");\r
-~~ you may not use this file except in compliance with the License.\r
-~~ You may obtain a copy of the License at\r
-~~\r
-~~ http://www.apache.org/licenses/LICENSE-2.0\r
-~~\r
-~~ Unless required by applicable law or agreed to in writing, software\r
-~~ distributed under the License is distributed on an "AS IS" BASIS,\r
-~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-~~ See the License for the specific language governing permissions and\r
-~~ limitations under the License.\r
-\r
-~~ NOTE: For help with the syntax of this file, see:\r
-~~ http://maven.apache.org/guides/mini/guide-apt-format.html\r
-\r
-Goal\r
-\r
- The idea here is to explain how to develop Archiva; or at least to provide some \r
- insight into what is what within the maven/archiva/ directory.\r
-\r
-Subprojects\r
-\r
- The following subprojects exist within Archiva:\r
-\r
- * archiva-applet - The progress bar on the checksum checking page.\r
-\r
- * archiva-configuration - A facade on top of the Plexus configuration XML.\r
-\r
- * archiva-converter - converts an m1 repository to an m2 one - currently not hooked up\r
-\r
- * archiva-core - central code, business objects, modello etc.\r
-\r
- * archiva-discoverer - monitors the managed repositories and kicks off the indexing.\r
-\r
- * archiva-indexer - the lucene indexing.\r
-\r
- * archiva-plexus-application - archiva can run on plexus as well as as a war. This creates a plexus app.\r
-\r
- * archiva-plexus-runtime - archiva can run on plexus as well as as a war. This runs lots of apps.\r
-\r
- * archiva-proxy - proxies repositories?\r
-\r
- * archiva-reports-standard - a couple of reports are implemented. Not very pluginable yet.\r
-\r
- * archiva-repository-layer - a query layer for the reports\r
-\r
- * archiva-security - webapp security\r
-\r
- * archiva-utils - some handy archiva specific utils\r
-\r
- * archiva-webapp - creates a war file\r
-\r
- * design - contains a mock-up currently\r
-\r
- * maven-meeper - rsync scripts to sync repositories. Also converts m1 repositories to m2 repositories.\r
-\r
-Concepts\r
-\r
- There are various terms in Archiva that are worth explaining and defining. \r
-\r
- * "Managed" - A managed repository is a repository which Archiva is sitting on top of that may be browsed.\r
-\r
- * "Indexed" - The ability to search a managed repository.\r
-\r
- * "Proxied" - A remote repository which an existing managed repository can be used as a facade for.\r
-\r
- * "Synchronized" - A remote repository which is physically copied down to be managed under Archiva. \r
-\r
- * "Identifier" - A short ID for your repository that will be used in URLs.\r
+ -----
+ Developing Archiva
+ -----
+ Henri Yandell
+ -----
+ 20 October 2006
+ -----
+
+~~ Copyright 2006 The Apache Software Foundation.
+~~
+~~ Licensed 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+Goal
+
+ The idea here is to explain how to develop Archiva; or at least to provide some
+ insight into what is what within the maven/archiva/ directory.
+
+Subprojects
+
+ The following subprojects exist within Archiva:
+
+ * archiva-applet - The progress bar on the checksum checking page.
+
+ * archiva-configuration - A facade on top of the Plexus configuration XML.
+
+ * archiva-converter - converts an m1 repository to an m2 one - currently not hooked up
+
+ * archiva-core - central code, business objects, modello etc.
+
+ * archiva-discoverer - monitors the managed repositories and kicks off the indexing.
+
+ * archiva-indexer - the lucene indexing.
+
+ * archiva-plexus-application - archiva can run on plexus as well as as a war. This creates a plexus app.
+
+ * archiva-plexus-runtime - archiva can run on plexus as well as as a war. This runs lots of apps.
+
+ * archiva-proxy - proxies repositories?
+
+ * archiva-reports-standard - a couple of reports are implemented. Not very pluginable yet.
+
+ * archiva-repository-layer - a query layer for the reports
+
+ * archiva-security - webapp security
+
+ * archiva-utils - some handy archiva specific utils
+
+ * archiva-webapp - creates a war file
+
+ * design - contains a mock-up currently
+
+ * maven-meeper - rsync scripts to sync repositories. Also converts m1 repositories to m2 repositories.
+
+Concepts
+
+ There are various terms in Archiva that are worth explaining and defining.
+
+ * "Managed" - A managed repository is a repository which Archiva is sitting on top of that may be browsed.
+
+ * "Indexed" - The ability to search a managed repository.
+
+ * "Proxied" - A remote repository which an existing managed repository can be used as a facade for.
+
+ * "Synchronized" - A remote repository which is physically copied down to be managed under Archiva.
+
+ * "Identifier" - A short ID for your repository that will be used in URLs.