]> source.dussan.org Git - archiva.git/commitdiff
set native property
authorBrett Porter <brett@apache.org>
Tue, 31 Oct 2006 20:56:37 +0000 (20:56 +0000)
committerBrett Porter <brett@apache.org>
Tue, 31 Oct 2006 20:56:37 +0000 (20:56 +0000)
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@469650 13f79535-47bb-0310-9956-ffa450edef68

archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/MavenProxyPropertyLoaderTest.java
archiva-indexer/src/test/repository/org/apache/maven/maven-metadata.xml
archiva-webapp/src/main/java/org/apache/maven/archiva/web/validator/IntervalValidator.java
archiva-webapp/src/main/java/org/apache/maven/archiva/web/validator/SyncedRepositoryValidator.java
archiva-webapp/src/main/resources/validators.xml
src/site/apt/guides/developing/index.apt

index ffa76304f143de04213bc3e405e3ed7963ae7f50..6cfbe4a90ccef43d5a3d3e7f92669f69e04d3ddb 100644 (file)
-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();
+    }
+}
index ac464ab310b0dd7c04dc05ac87de8282f472701c..9a821f2ccba5006839ade1ad767a7afd9d362a5b 100644 (file)
@@ -1,26 +1,26 @@
-<?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>
index 16b6d8fce2d8fbe6d18cf49b43039529a333980b..c67e456674cb7dad0cbb4ffc74f03be76198988e 100644 (file)
@@ -1,62 +1,62 @@
-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;
+        }
+    }
+}
index c515acf4685510ccce48905be05e8894cb1b68ff..68ab3b329a740f0eb5ee489a8a2172d4368e100b 100644 (file)
-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;
+        }
+    }
+
+}
index 8eb5c2429b1edb3003e468d3256c8848fb44bbc8..bd65f65e28e83a4ce92282b518603ef793f4ab9f 100644 (file)
@@ -1,35 +1,35 @@
-<?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>
+
index e273a4df5981dc8ce3f7b0da654c856afabffefa..55999a0f1e5811dd65f43da548449e283d250abc 100644 (file)
@@ -1,79 +1,79 @@
- -----\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.