You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by br...@apache.org on 2006/12/01 07:26:17 UTC
svn commit: r481166 [1/2] - in /maven/continuum/trunk: ./
continuum-api/src/main/java/org/apache/maven/continuum/configuration/
continuum-api/src/main/java/org/apache/maven/continuum/store/
continuum-configuration/ continuum-configuration/src/ continuu...
Author: brett
Date: Thu Nov 30 22:26:12 2006
New Revision: 481166
URL: http://svn.apache.org/viewvc?view=rev&rev=481166
Log:
move the company information to be configured from a POM in the repository
Added:
maven/continuum/trunk/continuum-configuration/ (with props)
maven/continuum/trunk/continuum-configuration/pom.xml (with props)
maven/continuum/trunk/continuum-configuration/src/
maven/continuum/trunk/continuum-configuration/src/main/
maven/continuum/trunk/continuum-configuration/src/main/java/
maven/continuum/trunk/continuum-configuration/src/main/java/org/
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeException.java (with props)
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeListener.java (with props)
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStore.java (with props)
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStoreException.java (with props)
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationStore.java (with props)
maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/InvalidConfigurationException.java (with props)
maven/continuum/trunk/continuum-configuration/src/main/mdo/
maven/continuum/trunk/continuum-configuration/src/main/mdo/configuration.mdo
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java (with props)
maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction-validation.xml (with props)
maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.properties (with props)
maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/appearance.jsp (with props)
maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editAppearance.jsp (with props)
Removed:
maven/continuum/trunk/continuum-model/src/main/mdo/general.xml
maven/continuum/trunk/continuum-webapp/src/main/webapp/scripts/
Modified:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
maven/continuum/trunk/continuum-model/pom.xml
maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
maven/continuum/trunk/continuum-webapp/pom.xml
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java
maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties
maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml
maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configuration.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configurationEdit.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/Menu.jsp
maven/continuum/trunk/design/white-site/src/site/xdoc/admin/appearance.xml
maven/continuum/trunk/pom.xml
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java Thu Nov 30 22:26:12 2006
@@ -17,7 +17,6 @@
*/
import java.io.File;
-import java.util.Map;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -52,24 +51,6 @@
File getDeploymentRepositoryDirectory();
void setDeploymentRepositoryDirectory( File deploymentRepositoryDirectory );
-
- void setJdks( Map jdks );
-
- String getCompanyLogo();
-
- void setCompanyLogo( String companyLogoUrl );
-
- String getCompanyName();
-
- void setCompanyName( String companyName );
-
- String getCompanyUrl();
-
- void setCompanyUrl( String companyUrl );
-
- boolean isGuestAccountEnabled();
-
- void setGuestAccountEnabled( boolean enabled );
String getBuildOutput( int buildId, int projectId )
throws ConfigurationException;
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java Thu Nov 30 22:26:12 2006
@@ -16,7 +16,6 @@
* limitations under the License.
*/
-import org.apache.maven.continuum.model.general.CompanyInformation;
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.model.project.BuildResult;
import org.apache.maven.continuum.model.project.Profile;
@@ -108,7 +107,7 @@
throws ContinuumStoreException;
Collection getAllProjectGroupsWithProjects();
-
+
Collection getAllProjectGroups();
List getAllProjectsByName();
@@ -188,7 +187,7 @@
List getProjectsInGroup( int projectGroupId )
throws ContinuumObjectNotFoundException, ContinuumStoreException;
-
+
ProjectGroup getProjectGroupWithProjects( int projectGroupId )
throws ContinuumObjectNotFoundException, ContinuumStoreException;
@@ -241,14 +240,6 @@
throws ContinuumStoreException;
SystemConfiguration getSystemConfiguration()
- throws ContinuumStoreException;
-
- CompanyInformation addCompanyInformation( CompanyInformation companyInfo );
-
- void updateCompanyInformation( CompanyInformation companyInfo )
- throws ContinuumStoreException;
-
- CompanyInformation getCompanyInformation()
throws ContinuumStoreException;
void closeStore();
Propchange: maven/continuum/trunk/continuum-configuration/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Nov 30 22:26:12 2006
@@ -0,0 +1,2 @@
+target
+*.iml
Added: maven/continuum/trunk/continuum-configuration/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-configuration/pom.xml?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-configuration/pom.xml (added)
+++ maven/continuum/trunk/continuum-configuration/pom.xml Thu Nov 30 22:26:12 2006
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!--
+ ~ 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.
+ -->
+
+<project>
+ <parent>
+ <artifactId>continuum-parent</artifactId>
+ <groupId>org.apache.maven.continuum</groupId>
+ <version>1.1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>continuum-configuration</artifactId>
+ <name>Continuum Configuration</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.1.0</version>
+ <model>src/main/mdo/configuration.mdo</model>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate</id>
+ <goals>
+ <goal>descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-configuration/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeException.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeException.java?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeException.java (added)
+++ maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeException.java Thu Nov 30 22:26:12 2006
@@ -0,0 +1,34 @@
+package org.apache.maven.continuum.configuration;
+
+/*
+ * 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.
+ */
+
+/**
+ * An error changing the configuration
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public class ConfigurationChangeException
+ extends Exception
+{
+ public ConfigurationChangeException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+}
Propchange: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeException.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeListener.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeListener.java?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeListener.java (added)
+++ maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeListener.java Thu Nov 30 22:26:12 2006
@@ -0,0 +1,39 @@
+package org.apache.maven.continuum.configuration;
+
+/*
+ * 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.
+ */
+
+/**
+ * Component capable of noticing configuration changes and adjusting accordingly.
+ * This is not a Plexus role.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public interface ConfigurationChangeListener
+{
+ /**
+ * Notify the object that there has been a configuration change.
+ *
+ * @param configuration the new configuration
+ * @throws InvalidConfigurationException if there is a problem with the new configuration
+ * @throws ConfigurationChangeException if there is a problem changing the configuration, but the configuration is valid
+ */
+ void notifyOfConfigurationChange( Configuration configuration )
+ throws InvalidConfigurationException, ConfigurationChangeException;
+}
Propchange: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationChangeListener.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStore.java?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStore.java (added)
+++ maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStore.java Thu Nov 30 22:26:12 2006
@@ -0,0 +1,62 @@
+package org.apache.maven.continuum.configuration;
+
+/*
+ * 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.
+ */
+
+/**
+ * A component for loading the configuration into the model.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @todo this is something that could possibly be generalised into Modello.
+ * @todo it is currently very similar to that in Archiva
+ */
+public interface ConfigurationStore
+{
+ /**
+ * The Plexus role for the component.
+ */
+ String ROLE = ConfigurationStore.class.getName();
+
+ /**
+ * Get the configuration from the store. A cached version may be used.
+ *
+ * @return the configuration
+ * @throws ConfigurationStoreException if there is a problem loading the configuration
+ */
+ Configuration getConfigurationFromStore()
+ throws ConfigurationStoreException;
+
+ /**
+ * Save the configuration to the store.
+ *
+ * @param configuration the configuration to store
+ * @throws ConfigurationStoreException if there was a problem storing the configuration
+ * @throws InvalidConfigurationException if the configuration supplied is not valid
+ * @throws ConfigurationChangeException if there is a problem executing a configuration change on one of the listeners
+ */
+ void storeConfiguration( Configuration configuration )
+ throws ConfigurationStoreException, InvalidConfigurationException, ConfigurationChangeException;
+
+ /**
+ * Add a configuration change listener.
+ *
+ * @param listener the listener
+ */
+ void addChangeListener( ConfigurationChangeListener listener );
+}
Propchange: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStore.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStoreException.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStoreException.java?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStoreException.java (added)
+++ maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStoreException.java Thu Nov 30 22:26:12 2006
@@ -0,0 +1,34 @@
+package org.apache.maven.continuum.configuration;
+
+/*
+ * 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.
+ */
+
+/**
+ * Exception occurring using the configuration store.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public class ConfigurationStoreException
+ extends Exception
+{
+ public ConfigurationStoreException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+}
Propchange: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/ConfigurationStoreException.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationStore.java?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationStore.java (added)
+++ maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationStore.java Thu Nov 30 22:26:12 2006
@@ -0,0 +1,149 @@
+package org.apache.maven.continuum.configuration;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.continuum.configuration.io.xpp3.ConfigurationXpp3Reader;
+import org.apache.maven.continuum.configuration.io.xpp3.ConfigurationXpp3Writer;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * Load and store the configuration. No synchronization is used, but it is unnecessary as the old configuration object
+ * can continue to be used.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @plexus.component
+ */
+public class DefaultConfigurationStore
+ extends AbstractLogEnabled
+ implements ConfigurationStore, Initializable
+{
+ /**
+ * @plexus.configuration default-value="${configuration.store.file}"
+ */
+ private File file;
+
+ /**
+ * The cached configuration.
+ */
+ private Configuration configuration;
+
+ /**
+ * List of listeners to configuration changes.
+ */
+ private List/*<ConfigurationChangeListener>*/ listeners = new LinkedList();
+
+ public Configuration getConfigurationFromStore()
+ throws ConfigurationStoreException
+ {
+ if ( configuration == null )
+ {
+ ConfigurationXpp3Reader reader = new ConfigurationXpp3Reader();
+
+ FileReader fileReader;
+ try
+ {
+ fileReader = new FileReader( file );
+ }
+ catch ( FileNotFoundException e )
+ {
+ getLogger().warn( "Configuration file: " + file + " not found. Using defaults." );
+ configuration = new Configuration();
+ return configuration;
+ }
+
+ getLogger().info( "Reading configuration from " + file );
+ try
+ {
+ configuration = reader.read( fileReader, false );
+ }
+ catch ( IOException e )
+ {
+ throw new ConfigurationStoreException( e.getMessage(), e );
+ }
+ catch ( XmlPullParserException e )
+ {
+ throw new ConfigurationStoreException( e.getMessage(), e );
+ }
+ finally
+ {
+ IOUtil.close( fileReader );
+ }
+ }
+ return configuration;
+ }
+
+ public void storeConfiguration( Configuration configuration )
+ throws ConfigurationStoreException, InvalidConfigurationException, ConfigurationChangeException
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConfigurationChangeListener listener = (ConfigurationChangeListener) i.next();
+
+ listener.notifyOfConfigurationChange( configuration );
+ }
+
+ ConfigurationXpp3Writer writer = new ConfigurationXpp3Writer();
+
+ getLogger().info( "Writing configuration to " + file );
+ FileWriter fileWriter = null;
+ try
+ {
+ file.getParentFile().mkdirs();
+
+ fileWriter = new FileWriter( file );
+ writer.write( fileWriter, configuration );
+ }
+ catch ( IOException e )
+ {
+ throw new ConfigurationStoreException( e.getMessage(), e );
+ }
+ finally
+ {
+ IOUtil.close( fileWriter );
+ }
+ }
+
+ public void addChangeListener( ConfigurationChangeListener listener )
+ {
+ listeners.add( listener );
+ }
+
+ public void initialize()
+ throws InitializationException
+ {
+ if ( file == null )
+ {
+ file = new File( System.getProperty( "user.home" ), "/.m2/continuum.xml" );
+ }
+ }
+}
Propchange: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationStore.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/InvalidConfigurationException.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/InvalidConfigurationException.java?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/InvalidConfigurationException.java (added)
+++ maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/InvalidConfigurationException.java Thu Nov 30 22:26:12 2006
@@ -0,0 +1,49 @@
+package org.apache.maven.continuum.configuration;
+
+/*
+ * 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.
+ */
+
+/**
+ * An error in the configuration.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public class InvalidConfigurationException
+ extends Exception
+{
+ private final String name;
+
+ public InvalidConfigurationException( String name, String message )
+ {
+ super( message );
+ this.name = name;
+ }
+
+ public InvalidConfigurationException( String name, String message, Throwable cause )
+ {
+ super( message, cause );
+
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-configuration/src/main/java/org/apache/maven/continuum/configuration/InvalidConfigurationException.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-configuration/src/main/mdo/configuration.mdo
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-configuration/src/main/mdo/configuration.mdo?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-configuration/src/main/mdo/configuration.mdo (added)
+++ maven/continuum/trunk/continuum-configuration/src/main/mdo/configuration.mdo Thu Nov 30 22:26:12 2006
@@ -0,0 +1,67 @@
+<!--
+ ~ 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.
+ -->
+
+<model>
+ <id>configuration</id>
+ <name>Configuration</name>
+ <description>
+ Configuration for Continuum.
+ </description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.continuum.configuration</value>
+ </default>
+ </defaults>
+ <classes>
+ <class rootElement="true" xml.tagName="configuration">
+ <name>Configuration</name>
+ <version>1.1.0+</version>
+ <fields>
+ <field>
+ <name>companyPom</name>
+ <version>1.1.0+</version>
+ <description>The identifier of the company super POM.</description>
+ <association>
+ <type>CompanyPom</type>
+ </association>
+ </field>
+ </fields>
+ </class>
+ <class>
+ <name>CompanyPom</name>
+ <version>1.1.0+</version>
+ <fields>
+ <field>
+ <name>groupId</name>
+ <type>String</type>
+ <version>1.1.0+</version>
+ </field>
+ <field>
+ <name>artifactId</name>
+ <type>String</type>
+ <version>1.1.0+</version>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>
+
+
+
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Thu Nov 30 22:26:12 2006
@@ -41,6 +41,7 @@
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
import org.apache.maven.continuum.project.builder.maven.MavenOneContinuumProjectBuilder;
import org.apache.maven.continuum.project.builder.maven.MavenTwoContinuumProjectBuilder;
+import org.apache.maven.continuum.release.ContinuumReleaseManager;
import org.apache.maven.continuum.scm.queue.CheckOutTask;
import org.apache.maven.continuum.store.ContinuumObjectNotFoundException;
import org.apache.maven.continuum.store.ContinuumStore;
@@ -48,7 +49,6 @@
import org.apache.maven.continuum.utils.PlexusContainerManager;
import org.apache.maven.continuum.utils.ProjectSorter;
import org.apache.maven.continuum.utils.WorkingDirectoryService;
-import org.apache.maven.continuum.release.ContinuumReleaseManager;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.action.Action;
@@ -85,9 +85,7 @@
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl </a>
* @version $Id$
- *
- * @plexus.component
- * role="org.apache.maven.continuum.Continuum"
+ * @plexus.component role="org.apache.maven.continuum.Continuum"
*/
public class DefaultContinuum
extends AbstractLogEnabled
@@ -220,7 +218,7 @@
throw new ContinuumException( "could not find project group containing " + projectGroupId );
}
}
-
+
public ProjectGroup getProjectGroupByProjectId( int projectId )
throws ContinuumException
{
@@ -241,12 +239,12 @@
store.removeProjectGroup( projectGroup );
}
-
+
public void addProjectGroup( ProjectGroup projectGroup )
throws ContinuumException
{
ProjectGroup pg = null;
-
+
try
{
pg = store.getProjectGroupByGroupId( projectGroup.getGroupId() );
@@ -260,21 +258,22 @@
{
throw new ContinuumException( "Unable to add the requested project group", e );
}
-
+
if ( pg == null )
{
ProjectGroup new_pg = store.addProjectGroup( projectGroup );
-
+
try
{
addBuildDefinitionToProjectGroup( new_pg.getId(), getDefaultBuildDefinition() );
}
catch ( ContinuumStoreException e )
{
- throw new ContinuumException( "Error adding default build definition to the requested project group", e );
+ throw new ContinuumException( "Error adding default build definition to the requested project group",
+ e );
}
-
+
getLogger().info( "Added new project group: " + new_pg.getName() );
}
else
@@ -282,7 +281,7 @@
throw new ContinuumException( "Unable to add the requested project group: groupId already exists." );
}
}
-
+
private BuildDefinition getDefaultBuildDefinition()
throws ContinuumStoreException
{
@@ -300,12 +299,12 @@
return bd;
}
-
+
public Collection getAllProjectGroups()
{
return store.getAllProjectGroups();
}
-
+
public ProjectGroup getProjectGroupByGroupId( String groupId )
throws ContinuumException
{
@@ -315,14 +314,14 @@
}
catch ( ContinuumObjectNotFoundException e )
{
- throw new ContinuumException( "Unable to find project group", e);
+ throw new ContinuumException( "Unable to find project group", e );
}
catch ( ContinuumStoreException e )
{
- throw new ContinuumException( "Error retrieving", e);
+ throw new ContinuumException( "Error retrieving", e );
}
}
-
+
public ProjectGroup getProjectGroupByGroupIdWithBuildDetails( String groupId )
throws ContinuumException
{
@@ -332,15 +331,14 @@
}
catch ( ContinuumObjectNotFoundException e )
{
- throw new ContinuumException( "Unable to find project group", e);
+ throw new ContinuumException( "Unable to find project group", e );
}
catch ( ContinuumStoreException e )
{
- throw new ContinuumException( "Error retrieving", e);
+ throw new ContinuumException( "Error retrieving", e );
}
}
-
// ----------------------------------------------------------------------
// Projects
// ----------------------------------------------------------------------
@@ -592,8 +590,8 @@
}
catch ( ContinuumStoreException e )
{
- throw new ContinuumException(
- "Project (id=" + project.getId() + " doens't have a default build definition, this should be impossible, parent should have default definition set." );
+ throw new ContinuumException( "Project (id=" + project.getId() +
+ " doens't have a default build definition, this should be impossible, parent should have default definition set." );
}
buildProject( project, buildDefId.intValue(), trigger );
@@ -623,7 +621,7 @@
}
//Map buildDefinitionsIds = store.getDefaultBuildDefinitions();
-
+
BuildDefinition groupDefaultBD = null;
try
{
@@ -631,17 +629,13 @@
}
catch ( ContinuumObjectNotFoundException e )
{
- throw new ContinuumException(
- "Project Group (id="
- + projectGroupId
- + " doens't have a default build definition, this should be impossible, it should always have a default definition set." );
+ throw new ContinuumException( "Project Group (id=" + projectGroupId +
+ " doens't have a default build definition, this should be impossible, it should always have a default definition set." );
}
catch ( ContinuumStoreException e )
{
- throw new ContinuumException(
- "Project Group (id="
- + projectGroupId
- + " doens't have a default build definition, this should be impossible, it should always have a default definition set." );
+ throw new ContinuumException( "Project Group (id=" + projectGroupId +
+ " doens't have a default build definition, this should be impossible, it should always have a default definition set." );
}
for ( Iterator i = projectsList.iterator(); i.hasNext(); )
@@ -664,14 +658,16 @@
getLogger().debug( e.getMessage() );
}
- if( projectDefaultBD != null )
+ if ( projectDefaultBD != null )
{
buildDefId = projectDefaultBD.getId();
- getLogger().debug( "Project " + project.getId() + " has own default build definition, will use it instead of group's.");
+ getLogger().debug( "Project " + project.getId() +
+ " has own default build definition, will use it instead of group's." );
}
- else if( !"maven2".equals( project.getExecutorId() ) )
+ else if ( !"maven2".equals( project.getExecutorId() ) )
{
- getLogger().debug( "Project " + project.getId() + " is not a maven2 project, will not be included in group build.");
+ getLogger().debug(
+ "Project " + project.getId() + " is not a maven2 project, will not be included in group build." );
continue;
}
@@ -681,8 +677,8 @@
/**
* takes a given schedule and determines which projects need to build
- *
- * The build order is determined by the
+ * <p/>
+ * The build order is determined by the
*
* @param schedule
* @throws ContinuumException
@@ -750,8 +746,8 @@
{
Integer buildDefId = (Integer) buildDefinitionIterator.next();
- if ( buildDefId != null && !isInBuildingQueue( project.getId(), buildDefId.intValue() )
- && !isInCheckoutQueue( project.getId() ) )
+ if ( buildDefId != null && !isInBuildingQueue( project.getId(), buildDefId.intValue() ) &&
+ !isInCheckoutQueue( project.getId() ) )
{
buildProject( project, buildDefId.intValue(), ContinuumProjectState.TRIGGER_SCHEDULED, false );
}
@@ -1011,7 +1007,8 @@
public ContinuumProjectBuildingResult addMavenOneProject( String metadataUrl, int projectGroupId )
throws ContinuumException
{
- return executeAddProjectsFromMetadataActivity( metadataUrl, MavenOneContinuumProjectBuilder.ID, projectGroupId );
+ return executeAddProjectsFromMetadataActivity( metadataUrl, MavenOneContinuumProjectBuilder.ID,
+ projectGroupId );
}
// ----------------------------------------------------------------------
@@ -1027,7 +1024,8 @@
public ContinuumProjectBuildingResult addMavenTwoProject( String metadataUrl, int projectGroupId )
throws ContinuumException
{
- return executeAddProjectsFromMetadataActivity( metadataUrl, MavenTwoContinuumProjectBuilder.ID, projectGroupId );
+ return executeAddProjectsFromMetadataActivity( metadataUrl, MavenTwoContinuumProjectBuilder.ID,
+ projectGroupId );
}
// ----------------------------------------------------------------------
@@ -1106,15 +1104,15 @@
* @throws ContinuumException
*/
private ContinuumProjectBuildingResult executeAddProjectsFromMetadataActivity( String metadataUrl,
- String projectBuilderId )
+ String projectBuilderId )
throws ContinuumException
{
return executeAddProjectsFromMetadataActivity( metadataUrl, projectBuilderId, -1 );
}
private ContinuumProjectBuildingResult executeAddProjectsFromMetadataActivity( String metadataUrl,
- String projectBuilderId,
- int projectGroupId )
+ String projectBuilderId,
+ int projectGroupId )
throws ContinuumException
{
Map context = new HashMap();
@@ -1177,35 +1175,36 @@
try
{
- if (projectGroupId == -1) {
+ if ( projectGroupId == -1 )
+ {
try
{
projectGroup = store.getProjectGroupByGroupId( projectGroup.getGroupId() );
-
+
projectGroupId = projectGroup.getId();
-
+
getLogger().info(
- "Using existing project group with the group id: '" + projectGroup.getGroupId()
- + "'." );
+ "Using existing project group with the group id: '" + projectGroup.getGroupId() + "'." );
}
catch ( ContinuumObjectNotFoundException e )
{
- getLogger().info( "Creating project group with the group id: '" + projectGroup.getGroupId() + "'." );
-
+ getLogger().info(
+ "Creating project group with the group id: '" + projectGroup.getGroupId() + "'." );
+
Map pgContext = new HashMap();
-
+
pgContext.put( AbstractContinuumAction.KEY_WORKING_DIRECTORY, getWorkingDirectory() );
-
+
pgContext.put( AbstractContinuumAction.KEY_UNVALIDATED_PROJECT_GROUP, projectGroup );
-
+
executeAction( "validate-project-group", pgContext );
-
+
executeAction( "store-project-group", pgContext );
-
+
projectGroupId = AbstractContinuumAction.getProjectGroupId( pgContext );
}
}
-
+
projectGroup = store.getProjectGroupWithBuildDetails( projectGroupId );
/* add the project group loaded from database, which has more info, like id */
@@ -1269,6 +1268,7 @@
// This whole section needs a scrub but will need to be dealt with generally
// when we add schedules and profiles to the mix.
+
public ProjectNotifier getNotifier( int projectId, int notifierId )
throws ContinuumException
{
@@ -1328,7 +1328,7 @@
return addNotifier( projectId, notifier );
}
- public ProjectNotifier updateGroupNotifier( int projectGroupId, ProjectNotifier notifier )
+ public ProjectNotifier updateGroupNotifier( int projectGroupId, ProjectNotifier notifier )
throws ContinuumException
{
ProjectGroup projectGroup = getProjectGroup( projectGroupId );
@@ -1395,7 +1395,7 @@
return notifierProperties;
}
*/
-
+
public ProjectNotifier addNotifier( int projectId, ProjectNotifier notifier )
throws ContinuumException
{
@@ -1544,7 +1544,7 @@
catch ( ContinuumStoreException cse )
{
throw new ContinuumException( "Unable to remove notifer from project group.", cse );
- }
+ }
}
}
}
@@ -1981,15 +1981,6 @@
{
try
{
- if ( convertBoolean( (String) configuration.get( "conf.enableGuest" ) ) )
- {
- configurationService.setGuestAccountEnabled( true );
- }
- else
- {
- configurationService.setGuestAccountEnabled( false );
- }
-
if ( configuration.get( "conf.workingDirectory" ) != null )
{
configurationService.setWorkingDirectory( configurationService.getFile( (String) configuration
@@ -2025,12 +2016,6 @@
throw new ContinuumException( "base url can't be null" );
}
- configurationService.setCompanyName( (String) configuration.get( "conf.companyName" ) );
-
- configurationService.setCompanyLogo( (String) configuration.get( "conf.companyLogo" ) );
-
- configurationService.setCompanyUrl( (String) configuration.get( "conf.companyUrl" ) );
-
configurationService.store();
}
catch ( ConfigurationStoringException e )
@@ -2254,7 +2239,7 @@
}
catch ( ActionNotFoundException e )
{
- e.printStackTrace( );
+ e.printStackTrace();
throw new ContinuumException( "Error while executing the action '" + actionName + "'.", e );
}
catch ( ContinuumException e )
@@ -2559,8 +2544,7 @@
}
catch ( ContinuumObjectNotFoundException e )
{
- throw new ContinuumException(
- "Continuum is not properly initialized, default project group does not exist",
+ throw new ContinuumException( "Continuum is not properly initialized, default project group does not exist",
e );
}
catch ( ContinuumStoreException ex )
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java Thu Nov 30 22:26:12 2006
@@ -16,7 +16,6 @@
* limitations under the License.
*/
-import org.apache.maven.continuum.model.general.CompanyInformation;
import org.apache.maven.continuum.model.system.SystemConfiguration;
import org.apache.maven.continuum.store.ContinuumStore;
import org.apache.maven.continuum.store.ContinuumStoreException;
@@ -25,14 +24,11 @@
import java.io.File;
import java.io.IOException;
-import java.util.Map;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
* @version $Id$
- *
- * @plexus.component
- * role="org.apache.maven.continuum.configuration.ConfigurationService"
+ * @plexus.component role="org.apache.maven.continuum.configuration.ConfigurationService"
*/
public class DefaultConfigurationService
extends AbstractLogEnabled
@@ -54,8 +50,6 @@
private SystemConfiguration systemConf;
- private CompanyInformation companyInformation;
-
private boolean loaded = false;
// ----------------------------------------------------------------------
@@ -142,51 +136,6 @@
deploymentRepositoryDirectory != null ? deploymentRepositoryDirectory.getAbsolutePath() : null );
}
- public void setJdks( Map jdks )
- {
- // no-op
- }
-
- public String getCompanyLogo()
- {
- return companyInformation.getCompanyLogoUrl();
- }
-
- public void setCompanyLogo( String companyLogoUrl )
- {
- companyInformation.setCompanyLogoUrl( companyLogoUrl );
- }
-
- public String getCompanyName()
- {
- return companyInformation.getCompanyName();
- }
-
- public void setCompanyName( String companyName )
- {
- companyInformation.setCompanyName( companyName );
- }
-
- public String getCompanyUrl()
- {
- return companyInformation.getCompanyUrl();
- }
-
- public void setCompanyUrl( String companyUrl )
- {
- companyInformation.setCompanyUrl( companyUrl );
- }
-
- public boolean isGuestAccountEnabled()
- {
- return systemConf.isGuestAccountEnabled();
- }
-
- public void setGuestAccountEnabled( boolean enabled )
- {
- systemConf.setGuestAccountEnabled( enabled );
- }
-
public String getBuildOutput( int buildId, int projectId )
throws ConfigurationException
{
@@ -288,15 +237,6 @@
systemConf = store.addSystemConfiguration( systemConf );
}
- companyInformation = store.getCompanyInformation();
-
- if ( companyInformation == null )
- {
- companyInformation = new CompanyInformation();
-
- companyInformation = store.addCompanyInformation( companyInformation );
- }
-
loaded = true;
}
catch ( ContinuumStoreException e )
@@ -311,7 +251,6 @@
try
{
store.updateSystemConfiguration( systemConf );
- store.updateCompanyInformation( companyInformation );
}
catch ( ContinuumStoreException e )
{
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
(empty)
Modified: maven/continuum/trunk/continuum-model/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-model/pom.xml?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-model/pom.xml (original)
+++ maven/continuum/trunk/continuum-model/pom.xml Thu Nov 30 22:26:12 2006
@@ -16,8 +16,8 @@
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>continuum-parent</artifactId>
<groupId>org.apache.maven.continuum</groupId>
@@ -47,16 +47,6 @@
</configuration>
</execution>
<execution>
- <id>modello-general</id>
- <goals>
- <goal>java</goal>
- <goal>jpox-metadata-class</goal>
- </goals>
- <configuration>
- <model>src/main/mdo/general.xml</model>
- </configuration>
- </execution>
- <execution>
<id>jpox-jdo-mapping-replication</id>
<goals>
<goal>jpox-jdo-mapping</goal>
@@ -64,16 +54,6 @@
<configuration>
<model>src/main/mdo/continuum.xml</model>
<replicationParameters>true</replicationParameters>
- </configuration>
- </execution>
- <execution>
- <id>jpox-jdo-mapping-general</id>
- <goals>
- <goal>jpox-jdo-mapping</goal>
- </goals>
- <configuration>
- <model>src/main/mdo/general.xml</model>
- <outputDirectory>${basedir}/target/classes/org/apache/maven/continuum/model/general</outputDirectory>
</configuration>
</execution>
</executions>
Modified: maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java (original)
+++ maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java Thu Nov 30 22:26:12 2006
@@ -16,7 +16,6 @@
* limitations under the License.
*/
-import org.apache.maven.continuum.model.general.CompanyInformation;
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.model.project.BuildResult;
import org.apache.maven.continuum.model.project.Profile;
@@ -26,14 +25,14 @@
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.model.project.Schedule;
-import org.apache.maven.continuum.model.system.Installation;
-import org.apache.maven.continuum.model.system.SystemConfiguration;
-import org.apache.maven.continuum.model.scm.TestCaseFailure;
-import org.apache.maven.continuum.model.scm.ChangeSet;
import org.apache.maven.continuum.model.scm.ChangeFile;
-import org.apache.maven.continuum.model.scm.SuiteResult;
+import org.apache.maven.continuum.model.scm.ChangeSet;
import org.apache.maven.continuum.model.scm.ScmResult;
+import org.apache.maven.continuum.model.scm.SuiteResult;
+import org.apache.maven.continuum.model.scm.TestCaseFailure;
import org.apache.maven.continuum.model.scm.TestResult;
+import org.apache.maven.continuum.model.system.Installation;
+import org.apache.maven.continuum.model.system.SystemConfiguration;
import org.apache.maven.continuum.project.ContinuumProjectState;
import org.codehaus.plexus.jdo.JdoFactory;
import org.codehaus.plexus.jdo.PlexusJdoUtils;
@@ -1351,37 +1350,6 @@
return (SystemConfiguration) systemConfs.get( 0 );
}
}
-
- public CompanyInformation addCompanyInformation( CompanyInformation companyInfo )
- {
- return (CompanyInformation) addObject( getPersistenceManager( usersPmf ), companyInfo );
- }
-
- public void updateCompanyInformation( CompanyInformation companyInfo )
- throws ContinuumStoreException
- {
- updateObject( getPersistenceManager( usersPmf ), companyInfo );
- }
-
- public CompanyInformation getCompanyInformation()
- throws ContinuumStoreException
- {
- List companyInfos = getAllObjectsDetached( getPersistenceManager( usersPmf ), CompanyInformation.class );
-
- if ( companyInfos == null || companyInfos.isEmpty() )
- {
- return null;
- }
- else if ( companyInfos.size() > 1 )
- {
- throw new ContinuumStoreException(
- "Database is corrupted. There are more than one companyInformation object." );
- }
- else
- {
- return (CompanyInformation) companyInfos.get( 0 );
- }
- }
private PersistenceManager getPersistenceManager()
{
Modified: maven/continuum/trunk/continuum-webapp/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/pom.xml?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-webapp/pom.xml (original)
+++ maven/continuum/trunk/continuum-webapp/pom.xml Thu Nov 30 22:26:12 2006
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>continuum-parent</artifactId>
<groupId>org.apache.maven.continuum</groupId>
@@ -50,17 +50,28 @@
<includes>
<!-- TODO: META-INF shouldn't be required, seems to be an issue with the current war plugin -->
<include>META-INF</include>
- <include>WEB-INF/classes</include> <!-- Classes and Resources from other wars -->
- <include>WEB-INF/lib</include> <!-- Dependencies from other wars -->
- <include>WEB-INF/database</include> <!-- Database location configured in application.xml -->
- <include>WEB-INF/logs</include> <!-- Log file location specified in application.xml -->
- <include>pss</include> <!-- plexus-security css and javascript -->
- <include>WEB-INF/jsp/pss</include> <!-- plexus-security jsps -->
- <include>WEB-INF/template/pss</include> <!-- plexus-security xwork templates -->
- <include>WEB-INF/build-output-directory</include> <!-- Directory created by jetty:run -->
- <include>WEB-INF/working-directory</include> <!-- Directory created by jetty:run -->
- <include>WEB-INF/logs</include> <!-- Directory created by jetty:run -->
- <include>WEB-INF/temp</include> <!-- Directory created by jetty:run -->
+ <include>WEB-INF/classes</include>
+ <!-- Classes and Resources from other wars -->
+ <include>WEB-INF/lib</include>
+ <!-- Dependencies from other wars -->
+ <include>WEB-INF/database</include>
+ <!-- Database location configured in application.xml -->
+ <include>WEB-INF/logs</include>
+ <!-- Log file location specified in application.xml -->
+ <include>pss</include>
+ <!-- plexus-security css and javascript -->
+ <include>WEB-INF/jsp/pss</include>
+ <!-- plexus-security jsps -->
+ <include>WEB-INF/template/pss</include>
+ <!-- plexus-security xwork templates -->
+ <include>WEB-INF/build-output-directory</include>
+ <!-- Directory created by jetty:run -->
+ <include>WEB-INF/working-directory</include>
+ <!-- Directory created by jetty:run -->
+ <include>WEB-INF/logs</include>
+ <!-- Directory created by jetty:run -->
+ <include>WEB-INF/temp</include>
+ <!-- Directory created by jetty:run -->
</includes>
</fileset>
</filesets>
@@ -74,7 +85,8 @@
<!-- Some versions of maven-war-plugin (snapshots) have this incorrectly defaulted to true.
Specifically setting this to false to avoid accidental jar file creation. -->
<archiveClasses>false</archiveClasses>
- <dependentWarExcludes>META-INF/**,WEB-INF/web.xml,WEB-INF/classes/xwork.xml,WEB-INF/lib/**</dependentWarExcludes>
+ <dependentWarExcludes>META-INF/**,WEB-INF/web.xml,WEB-INF/classes/xwork.xml,WEB-INF/lib/**
+ </dependentWarExcludes>
</configuration>
<!-- TODO: would be good to make the jetty plugin aware of these and remove the below -->
<executions>
@@ -188,6 +200,10 @@
<dependencies>
<dependency>
<groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-configuration</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
<artifactId>continuum-core</artifactId>
</dependency>
<dependency>
@@ -367,7 +383,7 @@
<groupId>org.codehaus.plexus.security</groupId>
<artifactId>plexus-security-keys-jdo</artifactId>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.codehaus.plexus.security</groupId>
<artifactId>plexus-security-authentication-provider-keystore</artifactId>
</dependency>
Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java Thu Nov 30 22:26:12 2006
@@ -57,43 +57,22 @@
private String baseUrl;
- private String companyLogo;
-
- private String companyName;
-
- private String companyUrl;
-
-
public void prepare()
{
- try
- {
-
- ConfigurationService configuration = getContinuum().getConfiguration();
-
- workingDirectory = configuration.getWorkingDirectory().getAbsolutePath();
+ ConfigurationService configuration = getContinuum().getConfiguration();
- buildOutputDirectory = configuration.getBuildOutputDirectory().getAbsolutePath();
+ workingDirectory = configuration.getWorkingDirectory().getAbsolutePath();
- baseUrl = configuration.getUrl();
+ buildOutputDirectory = configuration.getBuildOutputDirectory().getAbsolutePath();
- if ( StringUtils.isEmpty( baseUrl ) )
- {
- HttpServletRequest request = ServletActionContext.getRequest();
- baseUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() +
- request.getContextPath();
- getLogger().info( "baseUrl='" + baseUrl + "'" );
- }
+ baseUrl = configuration.getUrl();
- companyLogo = configuration.getCompanyLogo();
-
- companyName = configuration.getCompanyName();
-
- companyUrl = configuration.getCompanyUrl();
- }
- catch ( Exception e )
+ if ( StringUtils.isEmpty( baseUrl ) )
{
- e.printStackTrace();
+ HttpServletRequest request = ServletActionContext.getRequest();
+ baseUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() +
+ request.getContextPath();
+ getLogger().info( "baseUrl='" + baseUrl + "'" );
}
}
@@ -113,12 +92,6 @@
configuration.setUrl( baseUrl );
- configuration.setCompanyLogo( companyLogo );
-
- configuration.setCompanyName( companyName );
-
- configuration.setCompanyUrl( companyUrl );
-
configuration.setInitialized( true );
configuration.store();
}
@@ -169,37 +142,6 @@
{
this.baseUrl = baseUrl;
}
-
- public String getCompanyLogo()
- {
- return companyLogo;
- }
-
- public void setCompanyLogo( String companyLogo )
- {
- this.companyLogo = companyLogo;
- }
-
- public String getCompanyName()
- {
- return companyName;
- }
-
- public void setCompanyName( String companyName )
- {
- this.companyName = companyName;
- }
-
- public String getCompanyUrl()
- {
- return companyUrl;
- }
-
- public void setCompanyUrl( String companyUrl )
- {
- this.companyUrl = companyUrl;
- }
-
public SecureActionBundle getSecureActionBundle()
throws SecureActionException
Added: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java Thu Nov 30 22:26:12 2006
@@ -0,0 +1,170 @@
+package org.apache.maven.continuum.web.action.admin;
+
+/*
+ * 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.
+ */
+
+import com.opensymphony.xwork.ModelDriven;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.apache.maven.continuum.configuration.CompanyPom;
+import org.apache.maven.continuum.configuration.Configuration;
+import org.apache.maven.continuum.configuration.ConfigurationChangeException;
+import org.apache.maven.continuum.configuration.ConfigurationStore;
+import org.apache.maven.continuum.configuration.ConfigurationStoreException;
+import org.apache.maven.continuum.configuration.InvalidConfigurationException;
+import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
+import org.apache.maven.continuum.security.ContinuumRoleConstants;
+import org.apache.maven.continuum.web.action.ContinuumActionSupport;
+import org.apache.maven.model.Model;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.codehaus.plexus.security.rbac.Resource;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id: ConfigurationAction.java 480950 2006-11-30 14:58:35Z evenisse $
+ * @plexus.component role="com.opensymphony.xwork.Action"
+ * role-hint="configureAppearance"
+ */
+public class ConfigureAppearanceAction
+ extends ContinuumActionSupport
+ implements ModelDriven, SecureAction
+{
+ /**
+ * @plexus.requirement
+ */
+ private ConfigurationStore configurationStore;
+
+ /**
+ * The configuration.
+ */
+ private Configuration configuration;
+
+ /**
+ * The company POM.
+ */
+ private Model companyModel;
+
+ /**
+ * @plexus.requirement
+ */
+ private MavenProjectBuilder projectBuilder;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactFactory artifactFactory;
+
+ /**
+ * @plexus.requirement
+ */
+ private MavenBuilderHelper helper;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactMetadataSource artifactMetadataSource;
+
+ public String execute()
+ throws IOException, ConfigurationStoreException, InvalidConfigurationException, ConfigurationChangeException
+ {
+ configurationStore.storeConfiguration( configuration );
+
+ return SUCCESS;
+ }
+
+ public Object getModel()
+ {
+ return configuration;
+ }
+
+ public void prepare()
+ throws ConfigurationStoreException, ProjectBuildingException, ArtifactMetadataRetrievalException
+ {
+ configuration = configurationStore.getConfigurationFromStore();
+
+ CompanyPom companyPom = configuration.getCompanyPom();
+ if ( companyPom != null )
+ {
+ if ( StringUtils.isNotEmpty( companyPom.getGroupId() ) &&
+ StringUtils.isNotEmpty( companyPom.getArtifactId() ) )
+ {
+ Artifact artifact = artifactFactory.createProjectArtifact( companyPom.getGroupId(),
+ companyPom.getArtifactId(),
+ Artifact.RELEASE_VERSION );
+
+ ArtifactRepository localRepository = helper.getLocalRepository();
+
+ List repositories =
+ projectBuilder.buildStandaloneSuperProject( localRepository ).getRemoteArtifactRepositories();
+ List versions =
+ artifactMetadataSource.retrieveAvailableVersions( artifact, localRepository, repositories );
+
+ if ( !versions.isEmpty() )
+ {
+ Collections.sort( versions );
+
+ DefaultArtifactVersion artifactVersion =
+ (DefaultArtifactVersion) versions.get( versions.size() - 1 );
+ artifact = artifactFactory.createProjectArtifact( companyPom.getGroupId(),
+ companyPom.getArtifactId(),
+ artifactVersion.toString() );
+
+ MavenProject project =
+ projectBuilder.buildFromRepository( artifact, repositories, localRepository );
+
+ companyModel = project.getModel();
+ }
+ else
+ {
+ addActionMessage( "Company POM '" + companyPom.getGroupId() + ":" + companyPom.getArtifactId() +
+ "' doesn't exist. Click on the 'Edit Company POM' link to create it." );
+ }
+ }
+ }
+ }
+
+ public SecureActionBundle getSecureActionBundle()
+ throws SecureActionException
+ {
+ SecureActionBundle bundle = new SecureActionBundle();
+ bundle.setRequiresAuthentication( true );
+ bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_MANAGE_CONFIGURATION, Resource.GLOBAL );
+
+ return bundle;
+ }
+
+ public Model getCompanyModel()
+ {
+ return companyModel;
+ }
+}
Propchange: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml Thu Nov 30 22:26:12 2006
@@ -570,7 +570,7 @@
<role>org.codehaus.plexus.security.policy.PasswordRule</role>
<field-name>rules</field-name>
</requirement>
- <requirement>
+ <requirement>
<role>org.codehaus.plexus.security.policy.RememberMeSettings</role>
<field-name>rememberMeSettings</field-name>
</requirement>
@@ -696,5 +696,36 @@
</component>
</components>
+
+ <!-- Override default configuration of components -->
+ <lifecycle-handler-manager implementation="org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager">
+ <default-lifecycle-handler-id>webapp</default-lifecycle-handler-id>
+ <lifecycle-handlers>
+ <lifecycle-handler implementation="org.codehaus.plexus.personality.plexus.PlexusLifecycleHandler">
+ <id>webapp</id>
+ <name>Web Application Component Lifecycle Handler</name>
+ <begin-segment>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.LogEnablePhase"/>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase"/>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.ContextualizePhase"/>
+ <phase implementation="org.codehaus.plexus.xwork.ConfigurationPhase"/>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.ServiceablePhase"/>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase"/>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.StartPhase"/>
+ </begin-segment>
+ <suspend-segment>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.SuspendPhase"/>
+ </suspend-segment>
+ <resume-segment>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.ResumePhase"/>
+ </resume-segment>
+ <end-segment>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.StopPhase"/>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.DisposePhase"/>
+ <phase implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.LogDisablePhase"/>
+ </end-segment>
+ </lifecycle-handler>
+ </lifecycle-handlers>
+ </lifecycle-handler-manager>
</plexus>
Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties?view=diff&rev=481166&r1=481165&r2=481166
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties Thu Nov 30 22:26:12 2006
@@ -43,6 +43,7 @@
menu.add.shellProject = Shell Project
menu.administration = Administration
menu.administration.configuration = Configuration
+menu.administration.appearance = Appearance
menu.administration.schedules = Schedules
menu.administration.users = Users
menu.administration.userGroups = User Groups
@@ -132,9 +133,6 @@
configuration.buildOutputDirectory.label = Build Output Directory
configuration.deploymentRepositoryDirectory.label = Deployment Repository Directory
configuration.baseUrl.label = Base URL
-configuration.companyName.label = Company Name
-configuration.companyLogo.label = Company Logo
-configuration.companyUrl.label = Company URL
configuration.submit.edit = Edit
configuration.guest.message = Enable/Disable login as guest
configuration.workingDirectory.message = Enter the working directory of the Continuum web application
Added: maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction-validation.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction-validation.xml?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction-validation.xml (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction-validation.xml Thu Nov 30 22:26:12 2006
@@ -0,0 +1,35 @@
+<!--
+ ~ 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="companyPom.groupId">
+ <field-validator type="requiredstring">
+ <message key="appearance.groupId.required"/>
+ </field-validator>
+ </field>
+ <field name="companyPom.artifactId">
+ <field-validator type="requiredstring">
+ <message key="appearance.artifactId.required"/>
+ </field-validator>
+ </field>
+</validators>
Propchange: maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction-validation.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.properties
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.properties?view=auto&rev=481166
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.properties (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.properties Thu Nov 30 22:26:12 2006
@@ -0,0 +1,22 @@
+#
+# 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.
+#
+
+appearance.groupId.required = You must define a group identifier.
+appearance.artifactId.required = You must define an artifact identifier.
+
Propchange: maven/continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.properties
------------------------------------------------------------------------------
svn:eol-style = native