Author: brett
Date: Wed Nov 29 16:46:47 2006
New Revision: 480795
URL: http://svn.apache.org/viewvc?view=rev&rev=480795
Log:
add code to backup/restore the continuum database
Added:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java (with props)
maven/continuum/trunk/continuum-data-management/ (with props)
maven/continuum/trunk/continuum-data-management/pom.xml (with props)
maven/continuum/trunk/continuum-data-management/src/
maven/continuum/trunk/continuum-data-management/src/main/
maven/continuum/trunk/continuum-data-management/src/main/java/
maven/continuum/trunk/continuum-data-management/src/main/java/org/
maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/
maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/
maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/
maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/
maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/DataManagementTool.java (with props)
maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java (with props)
maven/continuum/trunk/continuum-data-management/src/test/
maven/continuum/trunk/continuum-data-management/src/test/java/
maven/continuum/trunk/continuum-data-management/src/test/java/org/
maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/
maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/
maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/continuum/
maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/continuum/management/
maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/continuum/management/DataManagementToolTest.java (with props)
maven/continuum/trunk/continuum-data-management/src/test/resources/
maven/continuum/trunk/continuum-data-management/src/test/resources/expected.xml (with props)
maven/continuum/trunk/continuum-data-management/src/test/resources/org/
maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/
maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/
maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/continuum/
maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/continuum/management/
maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/continuum/management/DataManagementToolTest.xml (with props)
maven/continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java (with props)
maven/continuum/trunk/continuum-store/src/test/resources/org/
maven/continuum/trunk/continuum-store/src/test/resources/org/apache/
maven/continuum/trunk/continuum-store/src/test/resources/org/apache/maven/
maven/continuum/trunk/continuum-store/src/test/resources/org/apache/maven/continuum/
maven/continuum/trunk/continuum-store/src/test/resources/org/apache/maven/continuum/store/
maven/continuum/trunk/continuum-store/src/test/resources/org/apache/maven/continuum/store/ContinuumStoreTest.xml (with props)
Modified:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java
maven/continuum/trunk/continuum-core/pom.xml
maven/continuum/trunk/continuum-model/pom.xml
maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml
maven/continuum/trunk/continuum-model/src/main/mdo/general.xml
maven/continuum/trunk/continuum-store/pom.xml
maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
maven/continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java
maven/continuum/trunk/continuum-webapp/src/main/webapp/images/ (props changed)
maven/continuum/trunk/pom.xml
Added: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java?view=auto&rev=480795
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java (added)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java Wed Nov 29 16:46:47 2006
@@ -0,0 +1,29 @@
+package org.apache.maven.continuum;
+
+/*
+ * Copyright 2004-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.
+ */
+
+/**
+ * Exception thrown as a result of a Continuum programming error so that the user need not deal with it.
+ */
+public class ContinuumRuntimeException
+ extends RuntimeException
+{
+ public ContinuumRuntimeException( String message, Exception cause )
+ {
+ super( message, cause );
+ }
+}
Propchange: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java
------------------------------------------------------------------------------
svn:eol-style = native
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=480795&r1=480794&r2=480795
==============================================================================
--- 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 Wed Nov 29 16:46:47 2006
@@ -252,4 +252,8 @@
throws ContinuumStoreException;
void closeStore();
+
+ Collection getAllProjectGroupsWithTheLot();
+
+ void eraseDatabase();
}
Modified: maven/continuum/trunk/continuum-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/pom.xml?view=diff&rev=480795&r1=480794&r2=480795
==============================================================================
--- maven/continuum/trunk/continuum-core/pom.xml (original)
+++ maven/continuum/trunk/continuum-core/pom.xml Wed Nov 29 16:46:47 2006
@@ -181,7 +181,7 @@
</dependencies>
<build>
<plugins>
- <plugin>
+ <plugin>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-maven-plugin</artifactId>
<executions>
Propchange: maven/continuum/trunk/continuum-data-management/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Nov 29 16:46:47 2006
@@ -0,0 +1,2 @@
+*.iml
+target
Added: maven/continuum/trunk/continuum-data-management/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-data-management/pom.xml?view=auto&rev=480795
==============================================================================
--- maven/continuum/trunk/continuum-data-management/pom.xml (added)
+++ maven/continuum/trunk/continuum-data-management/pom.xml Wed Nov 29 16:46:47 2006
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<!--
+ ~ Copyright 2004-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.
+ -->
+
+<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">
+ <parent>
+ <artifactId>continuum-parent</artifactId>
+ <groupId>org.apache.maven.continuum</groupId>
+ <version>1.1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>continuum-data-management</artifactId>
+ <name>Continuum Data Management API</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-store</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-model</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-store</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>woodstox</groupId>
+ <artifactId>wstx-asl</artifactId>
+ <version>3.1.0</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <!-- TODO: move to root and use in all modules -->
+ <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>
Propchange: maven/continuum/trunk/continuum-data-management/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/DataManagementTool.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/DataManagementTool.java?view=auto&rev=480795
==============================================================================
--- maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/DataManagementTool.java (added)
+++ maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/DataManagementTool.java Wed Nov 29 16:46:47 2006
@@ -0,0 +1,58 @@
+package org.apache.maven.continuum.management;
+
+import org.apache.maven.continuum.store.ContinuumStoreException;
+
+import javax.xml.stream.XMLStreamException;
+import java.io.File;
+import java.io.IOException;
+
+/*
+ * Copyright 2004-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.
+ */
+
+/**
+ * Continuum database management tool API.
+ */
+public interface DataManagementTool
+{
+ /** Plexus Role. */
+ String ROLE = DataManagementTool.class.getName();
+
+ /** The filename to use. */
+ String BUILDS_XML = "builds.xml";
+
+ /**
+ * Backup the build database.
+ * @param backupDirectory the directory to backup to
+ * @throws java.io.IOException if there is a problem writing to the backup file
+ * @throws ContinuumStoreException if there is a problem reading from the database
+ */
+ void backupBuildDatabase( File backupDirectory )
+ throws IOException, ContinuumStoreException;
+
+ /**
+ * Restore the build database.
+ * @param backupDirectory the directory where the backup to restore from resides
+ * @throws java.io.IOException if there is a problem reading the backup file
+ * @throws javax.xml.stream.XMLStreamException if there is a problem parsing the backup file
+ */
+ void restoreBuildDatabase( File backupDirectory )
+ throws IOException, XMLStreamException;
+
+ /**
+ * Smoke the build database.
+ */
+ void eraseBuildDatabase();
+}
Propchange: maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/DataManagementTool.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java?view=auto&rev=480795
==============================================================================
--- maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java (added)
+++ maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java Wed Nov 29 16:46:47 2006
@@ -0,0 +1,200 @@
+package org.apache.maven.continuum.management;
+
+/*
+ * Copyright 2004-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.apache.maven.continuum.ContinuumRuntimeException;
+import org.apache.maven.continuum.model.project.BuildDefinition;
+import org.apache.maven.continuum.model.project.ContinuumDatabase;
+import org.apache.maven.continuum.model.project.Profile;
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.model.project.ProjectGroup;
+import org.apache.maven.continuum.model.project.Schedule;
+import org.apache.maven.continuum.model.project.io.stax.ContinuumStaxReader;
+import org.apache.maven.continuum.model.project.io.stax.ContinuumStaxWriter;
+import org.apache.maven.continuum.model.system.Installation;
+import org.apache.maven.continuum.store.ContinuumStore;
+import org.apache.maven.continuum.store.ContinuumStoreException;
+import org.codehaus.plexus.jdo.ConfigurableJdoFactory;
+import org.codehaus.plexus.jdo.PlexusJdoUtils;
+import org.codehaus.plexus.util.IOUtil;
+
+import javax.jdo.JDOHelper;
+import javax.jdo.PersistenceManagerFactory;
+import javax.xml.stream.XMLStreamException;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * JDO implementation the database management tool API.
+ *
+ * @plexus.component role="org.apache.maven.continuum.management.DataManagementTool" role-hint="jdo"
+ */
+public class JdoDataManagementTool
+ implements DataManagementTool
+{
+ /**
+ * @plexus.requirement role-hint="jdo"
+ */
+ private ContinuumStore store;
+
+ /**
+ * @plexus.requirement role="org.codehaus.plexus.jdo.JdoFactory" role-hint="continuum"
+ */
+ private ConfigurableJdoFactory factory;
+
+ public void backupBuildDatabase( File backupDirectory )
+ throws IOException, ContinuumStoreException
+ {
+ ContinuumDatabase database = new ContinuumDatabase();
+ database.setSystemConfiguration( store.getSystemConfiguration() );
+
+ Collection projectGroups = store.getAllProjectGroupsWithTheLot();
+ database.setProjectGroups( new ArrayList( projectGroups ) );
+
+ database.setInstallations( store.getAllInstallations() );
+ database.setSchedules( store.getAllSchedulesByName() );
+ database.setProfiles( store.getAllProfilesByName() );
+
+ ContinuumStaxWriter writer = new ContinuumStaxWriter();
+ FileWriter fileWriter = new FileWriter( new File( backupDirectory, BUILDS_XML ) );
+ try
+ {
+ writer.write( fileWriter, database );
+ }
+ catch ( XMLStreamException e )
+ {
+ throw new ContinuumRuntimeException( "Modello failure: unable to write data to StAX writer", e );
+ }
+ finally
+ {
+ IOUtil.close( fileWriter );
+ }
+ }
+
+ public void eraseBuildDatabase()
+ {
+ store.eraseDatabase();
+ }
+
+ public void restoreBuildDatabase( File backupDirectory )
+ throws IOException, XMLStreamException
+ {
+ ContinuumStaxReader reader = new ContinuumStaxReader();
+
+ FileReader fileReader = new FileReader( new File( backupDirectory, BUILDS_XML ) );
+
+ ContinuumDatabase database;
+ try
+ {
+ database = reader.read( fileReader );
+ }
+ finally
+ {
+ IOUtil.close( fileReader );
+ }
+
+ // Take control of the JDO instead of using the store, and configure a new persistence factory
+ // that won't generate new object IDs.
+ Properties properties = new Properties();
+ properties.putAll( factory.getProperties() );
+ properties.setProperty( "org.jpox.metadata.jdoFileExtension", "jdorepl" );
+ PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory( properties );
+
+ PlexusJdoUtils.addObject( pmf.getPersistenceManager(), database.getSystemConfiguration() );
+
+ Map schedules = new HashMap();
+ for ( Iterator i = database.getSchedules().iterator(); i.hasNext(); )
+ {
+ Schedule schedule = (Schedule) i.next();
+
+ schedule = (Schedule) PlexusJdoUtils.addObject( pmf.getPersistenceManager(), schedule );
+ schedules.put( new Integer( schedule.getId() ), schedule );
+ }
+
+ Map installations = new HashMap();
+ for ( Iterator i = database.getInstallations().iterator(); i.hasNext(); )
+ {
+ Installation installation = (Installation) i.next();
+
+ installation = (Installation) PlexusJdoUtils.addObject( pmf.getPersistenceManager(), installation );
+ installations.put( installation.getName(), installation );
+ }
+
+ Map profiles = new HashMap();
+ for ( Iterator i = database.getProfiles().iterator(); i.hasNext(); )
+ {
+ Profile profile = (Profile) i.next();
+
+ // process installations
+ if ( profile.getJdk() != null )
+ {
+ profile.setJdk( (Installation) installations.get( profile.getJdk().getName() ) );
+ }
+ if ( profile.getBuilder() != null )
+ {
+ profile.setBuilder( (Installation) installations.get( profile.getBuilder().getName() ) );
+ }
+
+ profile = (Profile) PlexusJdoUtils.addObject( pmf.getPersistenceManager(), profile );
+ profiles.put( new Integer( profile.getId() ), profile );
+ }
+
+ for ( Iterator i = database.getProjectGroups().iterator(); i.hasNext(); )
+ {
+ ProjectGroup projectGroup = (ProjectGroup) i.next();
+
+ // first, we must map up any schedules, etc.
+ processBuildDefinitions( projectGroup.getBuildDefinitions(), schedules, profiles );
+
+ for ( Iterator j = projectGroup.getProjects().iterator(); j.hasNext(); )
+ {
+ Project project = (Project) j.next();
+
+ processBuildDefinitions( project.getBuildDefinitions(), schedules, profiles );
+ }
+
+ PlexusJdoUtils.addObject( pmf.getPersistenceManager(), projectGroup );
+ }
+ }
+
+ private static void processBuildDefinitions( List buildDefinitions, Map schedules, Map profiles )
+ {
+ for ( Iterator i = buildDefinitions.iterator(); i.hasNext(); )
+ {
+ BuildDefinition def = (BuildDefinition) i.next();
+
+ if ( def.getSchedule() != null )
+ {
+ def.setSchedule( (Schedule) schedules.get( new Integer( def.getSchedule().getId() ) ) );
+ }
+
+ if ( def.getProfile() != null )
+ {
+ def.setProfile( (Profile) profiles.get( new Integer( def.getProfile().getId() ) ) );
+ }
+ }
+ }
+}
Propchange: maven/continuum/trunk/continuum-data-management/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/continuum/management/DataManagementToolTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/continuum/management/DataManagementToolTest.java?view=auto&rev=480795
==============================================================================
--- maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/continuum/management/DataManagementToolTest.java (added)
+++ maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/continuum/management/DataManagementToolTest.java Wed Nov 29 16:46:47 2006
@@ -0,0 +1,151 @@
+package org.apache.maven.continuum.management;
+
+/*
+ * Copyright 2004-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.apache.maven.continuum.store.AbstractContinuumStoreTestCase;
+import org.apache.maven.continuum.store.ContinuumStoreException;
+import org.apache.maven.continuum.store.ContinuumStore;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory;
+import org.codehaus.plexus.jdo.JdoFactory;
+
+import javax.xml.stream.XMLStreamException;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * Test the database management tool.
+ */
+public class DataManagementToolTest
+ extends AbstractContinuumStoreTestCase
+{
+ private DataManagementTool dataManagementTool;
+
+ private File targetDirectory;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ dataManagementTool = (DataManagementTool) lookup( DataManagementTool.ROLE, "jdo" );
+
+ targetDirectory = createBackupDirectory();
+ }
+
+/*
+ protected ContinuumStore createStore()
+ throws Exception
+ {
+ DefaultConfigurableJdoFactory jdoFactory = (DefaultConfigurableJdoFactory) lookup( JdoFactory.ROLE );
+
+ File database = getTestFile( "target/database/" + getName());
+ FileUtils.deleteDirectory( database );
+
+ jdoFactory.setDriverName( "org.apache.derby.jdbc.EmbeddedDriver");
+ jdoFactory.setUrl( "jdbc:derby:"+database.getAbsolutePath() + ";create=true" );
+
+ return (ContinuumStore) lookup( ContinuumStore.ROLE );
+ }
+*/
+
+ public void testBackupBuilds()
+ throws IOException, ContinuumStoreException, XMLStreamException
+ {
+ createBuildDatabase();
+
+ // test sanity check
+ assertBuildDatabase();
+
+ dataManagementTool.backupBuildDatabase( targetDirectory );
+
+ File backupFile = new File( targetDirectory, DataManagementTool.BUILDS_XML );
+
+ assertTrue( "Check database exists", backupFile.exists() );
+
+ StringWriter sw = new StringWriter();
+
+ IOUtil.copy( getClass().getResourceAsStream( "/expected.xml" ), sw );
+
+ assertEquals( "Check database content", removeTimestampVariance( sw.toString() ),
+ removeTimestampVariance( FileUtils.fileRead( backupFile ) ) );
+ }
+
+ public void testEraseBuilds()
+ throws Exception
+ {
+ createBuildDatabase();
+
+ dataManagementTool.eraseBuildDatabase();
+
+ assertEmpty();
+ }
+
+ public void testRestoreBuilds()
+ throws Exception
+ {
+ createBuildDatabase( false );
+
+ assertEmpty();
+
+ File backupFile = new File( targetDirectory, DataManagementTool.BUILDS_XML );
+
+ IOUtil.copy( getClass().getResourceAsStream( "/expected.xml" ), new FileWriter( backupFile ) );
+
+ dataManagementTool.restoreBuildDatabase( targetDirectory );
+
+ // TODO: why is this wrong?
+ assertBuildDatabase();
+
+ // Test that it worked. Relies on BackupBuilds having worked
+ dataManagementTool.backupBuildDatabase( targetDirectory );
+
+ StringWriter sw = new StringWriter();
+
+ IOUtil.copy( getClass().getResourceAsStream( "/expected.xml" ), sw );
+
+ assertEquals( "Check database content", removeTimestampVariance( sw.toString() ),
+ removeTimestampVariance( FileUtils.fileRead( backupFile ) ) );
+ }
+
+ private static File createBackupDirectory()
+ {
+ String timestamp = new SimpleDateFormat( "yyyyMMdd.HHmmss", Locale.US ).format( new Date() );
+
+ File targetDirectory = getTestFile( "target/backups/" + timestamp );
+ targetDirectory.mkdirs();
+
+ return targetDirectory;
+ }
+
+ private static String removeTimestampVariance( String content )
+ {
+ return removeTagContent(
+ removeTagContent( removeTagContent( removeTagContent( content, "startTime" ), "endTime" ), "date" ), "id" );
+ }
+
+ private static String removeTagContent( String content, String field )
+ {
+ return content.replaceAll( "<" + field + ">.*</" + field + ">", "<" + field + "></" + field + ">" );
+ }
+}
Propchange: maven/continuum/trunk/continuum-data-management/src/test/java/org/apache/maven/continuum/management/DataManagementToolTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-data-management/src/test/resources/expected.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-data-management/src/test/resources/expected.xml?view=auto&rev=480795
==============================================================================
--- maven/continuum/trunk/continuum-data-management/src/test/resources/expected.xml (added)
+++ maven/continuum/trunk/continuum-data-management/src/test/resources/expected.xml Wed Nov 29 16:46:47 2006
@@ -0,0 +1,470 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<continuumDatabase>
+ <projectGroups>
+ <projectGroup>
+ <id>1</id>
+ <groupId>org.apache.maven.test.default</groupId>
+ <name>Default Group</name>
+ <description>The Default Group</description>
+ <projects>
+ <project>
+ <id>1</id>
+ <groupId>org.apache.maven.test.default</groupId>
+ <artifactId>artifactId1</artifactId>
+ <name>name1</name>
+ <description>description1</description>
+ <url>url1</url>
+ <scmUrl>scmUrl1</scmUrl>
+ <version>version1</version>
+ <buildNumber>1</buildNumber>
+ <workingDirectory>workingDirectory1</workingDirectory>
+ <buildResults>
+ <buildResult>
+ <project id="1" />
+ <id>1</id>
+ <buildNumber>1</buildNumber>
+ <state>1</state>
+ <trigger>1</trigger>
+ <startTime>1164693625928</startTime>
+ <endTime>1164693626928</endTime>
+ <error>error1</error>
+ <success>true</success>
+ <exitCode>1</exitCode>
+ <scmResult>
+ <success>true</success>
+ <providerMessage>providerMessage1</providerMessage>
+ <commandOutput>commandOutput1</commandOutput>
+ <changes>
+ <change>
+ <author>author1.1</author>
+ <comment>comment1.1</comment>
+ <date>1164693625935</date>
+ <files>
+ <file>
+ <name>name1.1.1</name>
+ <revision>rev1.1.1</revision>
+ </file>
+ <file>
+ <name>name1.1.2</name>
+ <revision>rev1.1.2</revision>
+ </file>
+ <file>
+ <name>name1.1.3</name>
+ <revision>rev1.1.3</revision>
+ </file>
+ </files>
+ </change>
+ <change>
+ <author>author1.2</author>
+ <comment>comment1.2</comment>
+ <date>1164693625936</date>
+ <files>
+ <file>
+ <name>name1.2.1</name>
+ <revision>rev1.2.1</revision>
+ </file>
+ <file>
+ <name>name1.2.2</name>
+ <revision>rev1.2.2</revision>
+ </file>
+ <file>
+ <name>name1.2.3</name>
+ <revision>rev1.2.3</revision>
+ </file>
+ </files>
+ </change>
+ </changes>
+ </scmResult>
+ </buildResult>
+ <buildResult>
+ <project id="1" />
+ <id>2</id>
+ <buildNumber>2</buildNumber>
+ <state>2</state>
+ <trigger>2</trigger>
+ <startTime>1164693627928</startTime>
+ <endTime>1164693628928</endTime>
+ <error>error2</error>
+ <exitCode>2</exitCode>
+ </buildResult>
+ </buildResults>
+ <checkoutResult>
+ <providerMessage>providerMessageCO1</providerMessage>
+ <commandOutput>commandOutputCO1</commandOutput>
+ <changes>
+ <change>
+ <author>authorCO1.1</author>
+ <comment>commentCO1.1</comment>
+ <date>1164693625936</date>
+ <files>
+ <file>
+ <name>nameCO1.1.1</name>
+ <revision>revCO1.1.1</revision>
+ </file>
+ <file>
+ <name>nameCO1.1.2</name>
+ <revision>revCO1.1.2</revision>
+ </file>
+ <file>
+ <name>nameCO1.1.3</name>
+ <revision>revCO1.1.3</revision>
+ </file>
+ </files>
+ </change>
+ <change>
+ <author>authorCO1.2</author>
+ <comment>commentCO1.2</comment>
+ <date>1164693625936</date>
+ <files>
+ <file>
+ <name>nameCO1.2.1</name>
+ <revision>revCO1.2.1</revision>
+ </file>
+ <file>
+ <name>nameCO1.2.2</name>
+ <revision>revCO1.2.2</revision>
+ </file>
+ <file>
+ <name>nameCO1.2.3</name>
+ <revision>revCO1.2.3</revision>
+ </file>
+ </files>
+ </change>
+ </changes>
+ </checkoutResult>
+ <developers>
+ <developer>
+ <scmId>scmId1</scmId>
+ <name>name1</name>
+ <email>email1</email>
+ <continuumId>1</continuumId>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>groupId1</groupId>
+ <artifactId>artifactId1</artifactId>
+ <version>version1</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId2</groupId>
+ <artifactId>artifactId2</artifactId>
+ <version>version2</version>
+ </dependency>
+ </dependencies>
+ <projectGroup id="1" />
+ <notifiers>
+ <notifier>
+ <id>3</id>
+ <type>type11</type>
+ <recipientType>11</recipientType>
+ <sendOnSuccess>false</sendOnSuccess>
+ <configuration>
+ <key1>value1</key1>
+ <key2>value2</key2>
+ </configuration>
+ </notifier>
+ </notifiers>
+ <buildDefinitions>
+ <buildDefinition>
+ <id>1</id>
+ <goals>goals11</goals>
+ <arguments>arguments11</arguments>
+ <buildFile>buildFile11</buildFile>
+ <schedule id="2" />
+ <profile id="2" />
+ </buildDefinition>
+ <buildDefinition>
+ <id>2</id>
+ <goals>goals12</goals>
+ <arguments>arguments12</arguments>
+ <buildFile>buildFile12</buildFile>
+ <schedule id="1" />
+ <profile id="2" />
+ </buildDefinition>
+ </buildDefinitions>
+ </project>
+ <project>
+ <id>2</id>
+ <groupId>org.apache.maven.test.default</groupId>
+ <artifactId>artifactId2</artifactId>
+ <name>name2</name>
+ <description>description2</description>
+ <url>url2</url>
+ <scmUrl>scmUrl2</scmUrl>
+ <version>version2</version>
+ <buildNumber>2</buildNumber>
+ <workingDirectory>workingDirectory2</workingDirectory>
+ <buildResults>
+ <buildResult>
+ <project id="2" />
+ <id>3</id>
+ <buildNumber>3</buildNumber>
+ <state>3</state>
+ <trigger>3</trigger>
+ <startTime>1164693629928</startTime>
+ <endTime>1164693630928</endTime>
+ <error>error3</error>
+ <success>true</success>
+ <exitCode>3</exitCode>
+ <scmResult>
+ <success>true</success>
+ <providerMessage>providerMessage3</providerMessage>
+ <commandOutput>commandOutput3</commandOutput>
+ <changes>
+ <change>
+ <author>author3.1</author>
+ <comment>comment3.1</comment>
+ <date>1164693625936</date>
+ <files>
+ <file>
+ <name>name3.1.1</name>
+ <revision>rev3.1.1</revision>
+ </file>
+ <file>
+ <name>name3.1.2</name>
+ <revision>rev3.1.2</revision>
+ </file>
+ <file>
+ <name>name3.1.3</name>
+ <revision>rev3.1.3</revision>
+ </file>
+ </files>
+ </change>
+ <change>
+ <author>author3.2</author>
+ <comment>comment3.2</comment>
+ <date>1164693625936</date>
+ <files>
+ <file>
+ <name>name3.2.1</name>
+ <revision>rev3.2.1</revision>
+ </file>
+ <file>
+ <name>name3.2.2</name>
+ <revision>rev3.2.2</revision>
+ </file>
+ <file>
+ <name>name3.2.3</name>
+ <revision>rev3.2.3</revision>
+ </file>
+ </files>
+ </change>
+ </changes>
+ </scmResult>
+ </buildResult>
+ </buildResults>
+ <developers>
+ <developer>
+ <scmId>scmId2</scmId>
+ <name>name2</name>
+ <email>email2</email>
+ <continuumId>2</continuumId>
+ </developer>
+ <developer>
+ <scmId>scmId3</scmId>
+ <name>name3</name>
+ <email>email3</email>
+ <continuumId>3</continuumId>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>groupId3</groupId>
+ <artifactId>artifactId3</artifactId>
+ <version>version3</version>
+ </dependency>
+ </dependencies>
+ <projectGroup id="1" />
+ <notifiers>
+ <notifier>
+ <id>4</id>
+ <type>type12</type>
+ <recipientType>12</recipientType>
+ <sendOnFailure>false</sendOnFailure>
+ <sendOnError>false</sendOnError>
+ <configuration>
+ <key1>value1</key1>
+ <key2>value2</key2>
+ </configuration>
+ </notifier>
+ <notifier>
+ <id>5</id>
+ <type>type13</type>
+ <recipientType>13</recipientType>
+ <sendOnSuccess>false</sendOnSuccess>
+ <sendOnError>false</sendOnError>
+ <configuration>
+ <key1>value1</key1>
+ <key2>value2</key2>
+ </configuration>
+ </notifier>
+ </notifiers>
+ <buildDefinitions>
+ <buildDefinition>
+ <id>3</id>
+ <goals>goals13</goals>
+ <arguments>arguments13</arguments>
+ <buildFile>buildFile13</buildFile>
+ <schedule id="1" />
+ <profile id="1" />
+ </buildDefinition>
+ </buildDefinitions>
+ </project>
+ </projects>
+ <notifiers>
+ <notifier>
+ <id>1</id>
+ <type>type1</type>
+ <recipientType>1</recipientType>
+ <sendOnFailure>false</sendOnFailure>
+ <configuration>
+ <key1>value1</key1>
+ <key2>value2</key2>
+ </configuration>
+ </notifier>
+ <notifier>
+ <id>2</id>
+ <type>type2</type>
+ <recipientType>2</recipientType>
+ <sendOnSuccess>false</sendOnSuccess>
+ <sendOnError>false</sendOnError>
+ <configuration>
+ <key1>value1</key1>
+ <key2>value2</key2>
+ </configuration>
+ </notifier>
+ </notifiers>
+ <buildDefinitions>
+ <buildDefinition>
+ <id>4</id>
+ <goals>goals1</goals>
+ <arguments>arguments1</arguments>
+ <buildFile>buildFile1</buildFile>
+ <schedule id="1" />
+ <profile id="1" />
+ </buildDefinition>
+ </buildDefinitions>
+ </projectGroup>
+ <projectGroup>
+ <id>2</id>
+ <groupId>test group 2 groupId</groupId>
+ <name>test group 2</name>
+ <description>test group 2 desc</description>
+ <notifiers>
+ <notifier>
+ <id>6</id>
+ <type>type3</type>
+ <recipientType>3</recipientType>
+ <sendOnSuccess>false</sendOnSuccess>
+ <sendOnFailure>false</sendOnFailure>
+ <configuration>
+ <key1>value1</key1>
+ <key2>value2</key2>
+ </configuration>
+ </notifier>
+ </notifiers>
+ <buildDefinitions>
+ <buildDefinition>
+ <id>5</id>
+ <goals>goals2</goals>
+ <arguments>arguments2</arguments>
+ <buildFile>buildFile2</buildFile>
+ <schedule id="2" />
+ <profile id="1" />
+ </buildDefinition>
+ <buildDefinition>
+ <id>6</id>
+ <goals>goals3</goals>
+ <arguments>arguments3</arguments>
+ <buildFile>buildFile3</buildFile>
+ <schedule id="2" />
+ <profile id="2" />
+ </buildDefinition>
+ </buildDefinitions>
+ </projectGroup>
+ </projectGroups>
+ <systemConfiguration>
+ <guestAccountEnabled>false</guestAccountEnabled>
+ <defaultScheduleDescription>Description</defaultScheduleDescription>
+ <defaultScheduleCronExpression>* * * * *</defaultScheduleCronExpression>
+ <workingDirectory>workingDirectory</workingDirectory>
+ <buildOutputDirectory>buildOutputDirectory</buildOutputDirectory>
+ <deploymentRepositoryDirectory>deployment</deploymentRepositoryDirectory>
+ <baseUrl>baseUrl</baseUrl>
+ <initialized>true</initialized>
+ </systemConfiguration>
+ <installations>
+ <installation>
+ <version>1.3</version>
+ <path>/usr/local/java-1.3</path>
+ <name>JDK 1.3</name>
+ </installation>
+ <installation>
+ <version>1.4</version>
+ <path>/usr/local/java-1.4</path>
+ <name>JDK 1.4</name>
+ </installation>
+ <installation>
+ <version>2.0-alpha-3</version>
+ <path>/usr/local/maven-2.0-alpha-3</path>
+ <name>Maven 2.0 alpha 3</name>
+ </installation>
+ </installations>
+ <schedules>
+ <schedule>
+ <id>2</id>
+ <active>true</active>
+ <name>name1</name>
+ <description>description1</description>
+ <delay>1</delay>
+ <cronExpression>cronExpression1</cronExpression>
+ </schedule>
+ <schedule>
+ <id>1</id>
+ <active>true</active>
+ <name>name2</name>
+ <description>description2</description>
+ <delay>2</delay>
+ <cronExpression>cronExpression2</cronExpression>
+ </schedule>
+ <schedule>
+ <id>3</id>
+ <active>true</active>
+ <name>name3</name>
+ <description>description3</description>
+ <delay>3</delay>
+ <cronExpression>cronExpression3</cronExpression>
+ </schedule>
+ </schedules>
+ <profiles>
+ <profile>
+ <id>1</id>
+ <active>true</active>
+ <name>name1</name>
+ <description>description1</description>
+ <scmMode>1</scmMode>
+ <buildWithoutChanges>true</buildWithoutChanges>
+ <jdk name="JDK 1.3" />
+ <builder name="Maven 2.0 alpha 3" />
+ </profile>
+ <profile>
+ <id>2</id>
+ <active>true</active>
+ <name>name2</name>
+ <description>description2</description>
+ <scmMode>2</scmMode>
+ <jdk name="JDK 1.4" />
+ <builder name="Maven 2.0 alpha 3" />
+ </profile>
+ <profile>
+ <id>3</id>
+ <name>name3</name>
+ <description>description3</description>
+ <scmMode>3</scmMode>
+ <buildWithoutChanges>true</buildWithoutChanges>
+ <jdk name="JDK 1.4" />
+ <builder name="Maven 2.0 alpha 3" />
+ </profile>
+ </profiles>
+</continuumDatabase>
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-data-management/src/test/resources/expected.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/continuum/management/DataManagementToolTest.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/continuum/management/DataManagementToolTest.xml?view=auto&rev=480795
==============================================================================
--- maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/continuum/management/DataManagementToolTest.xml (added)
+++ maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/continuum/management/DataManagementToolTest.xml Wed Nov 29 16:46:47 2006
@@ -0,0 +1,61 @@
+<!--
+ ~ Copyright 2004-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.
+ -->
+
+<component-set>
+ <components>
+ <component>
+ <role>org.codehaus.plexus.jdo.JdoFactory</role>
+ <role-hint>continuum</role-hint>
+ <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
+ <configuration>
+ <!-- Database Configuration -->
+ <driverName>org.hsqldb.jdbcDriver</driverName>
+ <url>jdbc:hsqldb:mem:database</url>
+ <userName>sa</userName>
+ <password></password>
+ <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
+
+ <otherProperties>
+ <!-- JPOX and JDO configuration -->
+ <property>
+ <name>org.jpox.autoCreateSchema</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>org.jpox.validateTables</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.validateColumns</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.validateConstraints</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.transactionIsolation</name>
+ <value>READ_UNCOMMITTED</value>
+ </property>
+ <property>
+ <name>org.jpox.poid.transactionIsolation</name>
+ <value>READ_UNCOMMITTED</value>
+ </property>
+ </otherProperties>
+ </configuration>
+ </component>
+ </components>
+</component-set>
Propchange: maven/continuum/trunk/continuum-data-management/src/test/resources/org/apache/maven/continuum/management/DataManagementToolTest.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/continuum/trunk/continuum-model/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-model/pom.xml?view=diff&rev=480795&r1=480794&r2=480795
==============================================================================
--- maven/continuum/trunk/continuum-model/pom.xml (original)
+++ maven/continuum/trunk/continuum-model/pom.xml Wed Nov 29 16:46:47 2006
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ ~ Copyright 2004-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.
+ -->
+
<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">
@@ -15,29 +31,43 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>1.0-alpha-11</version>
+ <version>1.0-alpha-12-SNAPSHOT</version>
<executions>
<execution>
<id>modello-continuum</id>
<goals>
<goal>java</goal>
<goal>jpox-jdo-mapping</goal>
+ <goal>jpox-metadata-class</goal>
+ <goal>stax-reader</goal>
+ <goal>stax-writer</goal>
</goals>
<configuration>
<model>src/main/mdo/continuum.xml</model>
</configuration>
</execution>
<execution>
- <id>modello-java-users</id>
+ <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-users</id>
+ <id>jpox-jdo-mapping-replication</id>
+ <goals>
+ <goal>jpox-jdo-mapping</goal>
+ </goals>
+ <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>
@@ -48,7 +78,7 @@
</execution>
</executions>
<configuration>
- <version>1.0.0</version>
+ <version>1.1.0</version>
<packageWithVersion>false</packageWithVersion>
</configuration>
</plugin>
@@ -66,4 +96,22 @@
</plugin>
</plugins>
</build>
+ <dependencies>
+ <dependency>
+ <groupId>net.java.dev.stax-utils</groupId>
+ <artifactId>stax-utils</artifactId>
+ <version>20060502</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.bea.xml</groupId>
+ <artifactId>jsr173-ri</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ </dependencies>
</project>
Modified: maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml?view=diff&rev=480795&r1=480794&r2=480795
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml (original)
+++ maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml Wed Nov 29 16:46:47 2006
@@ -10,39 +10,82 @@
</defaults>
<classes>
- <!--
- TODO: need another root element that encases all the independant trees here
- -->
+ <class rootElement="true" jpox.enabled="false" stash.storable="false">
+ <name>ContinuumDatabase</name>
+ <version>1.1.0+</version>
+ <fields>
+ <field>
+ <name>projectGroups</name>
+ <version>1.1.0+</version>
+ <association>
+ <type>ProjectGroup</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ <field>
+ <name>systemConfiguration</name>
+ <version>1.1.0+</version>
+ <association>
+ <type>SystemConfiguration</type>
+ </association>
+ </field>
+ <!-- independent references -->
+ <field>
+ <name>installations</name>
+ <version>1.1.0+</version>
+ <association>
+ <type>Installation</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ <field>
+ <name>schedules</name>
+ <version>1.1.0+</version>
+ <association>
+ <type>Schedule</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ <field>
+ <name>profiles</name>
+ <version>1.1.0+</version>
+ <association>
+ <type>Profile</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ </class>
- <class rootElement="true">
+ <class>
<name>ProjectGroup</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>id</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<required>true</required>
<type>int</type>
<identifier>true</identifier>
</field>
<field>
<name>groupId</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field stash.maxSize="8192">
<name>description</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field jpox.mappedBy="projectGroup" jpox.fetchGroupNames="projectgroup-projects project-build-details">
<name>projects</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association jpox.join="false">
<type>Project</type>
<multiplicity>*</multiplicity>
@@ -50,7 +93,7 @@
</field>
<field jpox.fetchGroupNames="project-build-details">
<name>notifiers</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association>
<type>ProjectNotifier</type>
<multiplicity>*</multiplicity>
@@ -58,7 +101,7 @@
</field>
<field jpox.fetchGroupNames="project-build-details">
<name>buildDefinitions</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association>
<type>BuildDefinition</type>
<multiplicity>*</multiplicity>
@@ -69,101 +112,101 @@
<class>
<name>Project</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>id</name>
<required>true</required>
<identifier>true</identifier>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>groupId</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>artifactId</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>executorId</name>
- <version>1.0.0</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field stash.maxSize="8192">
<name>description</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field stash.maxSize="256">
<name>url</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field stash.maxSize="256">
<name>scmUrl</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>scmTag</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>scmUsername</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>scmPassword</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>version</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<!-- TODO: should these 3 just be queried from the builds list? -->
<field>
<name>state</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
<defaultValue>1</defaultValue>
</field>
<field>
<name>oldState</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<!-- TODO: maybe buildresult itself? -->
<field>
<name>latestBuildId</name>
- <version>1.0.0</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>buildNumber</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field stash.maxSize="256">
<name>workingDirectory</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field jpox.mappedBy="project" jpox.fetchGroupNames="project-with-builds">
<name>buildResults</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association jpox.join="false">
<type>BuildResult</type>
<multiplicity>*</multiplicity>
@@ -172,14 +215,14 @@
<!-- TODO: remove -->
<field jpox.fetchGroupNames="project-with-checkout-result">
<name>checkoutResult</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association>
<type>ScmResult</type>
</association>
</field>
<field jpox.fetchGroupNames="project-all-details">
<name>developers</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association jpox.join="false">
<type>ProjectDeveloper</type>
<multiplicity>*</multiplicity>
@@ -187,14 +230,14 @@
</field>
<field jpox.fetchGroupNames="project-all-details project-dependencies">
<name>parent</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association jpox.join="false">
<type>ProjectDependency</type>
</association>
</field>
<field jpox.fetchGroupNames="project-all-details project-dependencies">
<name>dependencies</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association jpox.join="false">
<type>ProjectDependency</type>
<multiplicity>*</multiplicity>
@@ -202,15 +245,15 @@
</field>
<field>
<name>projectGroup</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<required>true</required>
- <association stash.part="true" jpox.dependent="false">
+ <association stash.part="true" xml.reference="true" jpox.dependent="false">
<type>ProjectGroup</type>
</association>
</field>
<field jpox.fetchGroupNames="project-build-details project-all-details">
<name>notifiers</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association>
<type>ProjectNotifier</type>
<multiplicity>*</multiplicity>
@@ -218,7 +261,7 @@
</field>
<field jpox.fetchGroupNames="project-build-details project-all-details">
<name>buildDefinitions</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association>
<type>BuildDefinition</type>
<multiplicity>*</multiplicity>
@@ -229,7 +272,7 @@
<class>
<name>ProjectNotifier</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<description>
Configures one method for notifying users/developers when a build breaks.
</description>
@@ -238,60 +281,60 @@
<name>id</name>
<required>true</required>
<identifier>true</identifier>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>type</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<defaultValue>mail</defaultValue>
<type>String</type>
<description>The mechanism used to deliver notifications.</description>
</field>
<field jpox.column="notifierorigin">
<name>from</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
<description>The origin of the notifier (pom or user).</description>
</field>
<field>
<name>enabled</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<defaultValue>true</defaultValue>
<type>boolean</type>
</field>
<field>
<name>recipientType</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>sendOnSuccess</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
<defaultValue>true</defaultValue>
</field>
<field>
<name>sendOnFailure</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
<defaultValue>true</defaultValue>
</field>
<field>
<name>sendOnError</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
<defaultValue>true</defaultValue>
</field>
<field>
<name>sendOnWarning</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
<defaultValue>true</defaultValue>
</field>
<field>
<name>configuration</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<description>Extended configuration specific to this notifier goes here.</description>
<type>Map</type>
<association xml.mapStyle="inline" stash.part="true" stash.keyType="java.lang.String">
@@ -302,7 +345,7 @@
</fields>
<codeSegments>
<codeSegment>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<code><![CDATA[
public static final int FROM_PROJECT = 1;
@@ -325,26 +368,26 @@
<class>
<name>ProjectDeveloper</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>scmId</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>email</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>continuumId</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
</fields>
@@ -352,21 +395,21 @@
<class>
<name>ProjectDependency</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>groupId</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>artifactId</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>version</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
</fields>
@@ -374,84 +417,84 @@
<class>
<name>BuildResult</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<description><![CDATA[
This class is a single continuum build.
]]></description>
<fields>
<field>
<name>project</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<!-- required>true</required -->
- <association stash.part="true" jpox.dependent="false">
+ <association xml.reference="true" stash.part="true" jpox.dependent="false">
<type>Project</type>
</association>
</field>
<field>
<name>id</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
<identifier>true</identifier>
</field>
<field>
<name>buildNumber</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>state</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>trigger</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>startTime</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<!-- TODO: Because JPOX persists as UTC and pulls back using the local time, we have to take over -->
<type>long</type>
</field>
<field>
<name>endTime</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<!-- TODO: Because JPOX persists as UTC and pulls back using the local time, we have to take over -->
<type>long</type>
</field>
<field stash.maxSize="8192">
<name>error</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>success</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
</field>
<field>
<name>exitCode</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field jpox.fetchGroupNames="build-result-with-details">
<name>scmResult</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association>
<type>ScmResult</type>
</association>
</field>
<field jpox.fetchGroupNames="build-result-with-details">
<name>testResult</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association>
<type>TestResult</type>
</association>
</field>
<field jpox.fetchGroupNames="build-result-with-details">
<name>modifiedDependencies</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association>
<type>ProjectDependency</type>
<multiplicity>*</multiplicity>
@@ -463,37 +506,37 @@
<class>
<name>ScmResult</name>
<packageName>org.apache.maven.continuum.model.scm</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>success</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
</field>
<field>
<name>commandLine</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field stash.maxSize="1024">
<name>providerMessage</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<!-- TODO: page to disk? -->
<field stash.maxSize="1024">
<name>commandOutput</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field stash.maxSize="8192" jpox.column="exceptionstring">
<name>exception</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>changes</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association stash.part="true" jpox.join="false">
<type>ChangeSet</type>
<multiplicity>*</multiplicity>
@@ -505,27 +548,33 @@
<class>
<name>ChangeSet</name>
<packageName>org.apache.maven.continuum.model.scm</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
+ <name>id</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ <identity>true</identity>
+ </field>
+ <field>
<name>author</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field stash.maxSize="8192">
<name>comment</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>date</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<!-- TODO: Because JPOX persists as UTC and pulls back using the local time, we have to take over -->
<type>long</type>
</field>
<field>
<name>files</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association stash.part="true" jpox.join="false">
<type>ChangeFile</type>
<multiplicity>*</multiplicity>
@@ -534,7 +583,7 @@
</fields>
<codeSegments>
<codeSegment>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<code><![CDATA[
/**
* @return Returns string representation of the changeset
@@ -593,27 +642,27 @@
<class>
<name>ChangeFile</name>
<packageName>org.apache.maven.continuum.model.scm</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>revision</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>status</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
</fields>
<codeSegments>
<codeSegment>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<code><![CDATA[
/**
* Provide a version of the object as a string for debugging purposes
@@ -639,26 +688,26 @@
<class>
<name>TestResult</name>
<packageName>org.apache.maven.continuum.model.scm</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>testCount</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>failureCount</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>totalTime</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>long</type>
</field>
<field>
<name>suiteResults</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association stash.part="true" jpox.join="false">
<type>SuiteResult</type>
<multiplicity>*</multiplicity>
@@ -670,31 +719,31 @@
<class>
<name>SuiteResult</name>
<packageName>org.apache.maven.continuum.model.scm</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>testCount</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>failureCount</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>totalTime</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>long</type>
</field>
<field>
<name>failures</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<association stash.part="true" jpox.join="false">
<type>TestCaseFailure</type>
<multiplicity>*</multiplicity>
@@ -706,16 +755,16 @@
<class>
<name>TestCaseFailure</name>
<packageName>org.apache.maven.continuum.model.scm</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field stash.maxSize="8192" jpox.column="exceptionstring">
<name>exception</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
</fields>
@@ -723,39 +772,39 @@
<class>
<name>BuildDefinition</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>id</name>
<required>true</required>
<identifier>true</identifier>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>defaultForProject</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
<defaultValue>false</defaultValue>
</field>
<field>
<name>goals</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>arguments</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>buildFile</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>buildFresh</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
<defaultValue>false</defaultValue>
<description>
@@ -764,21 +813,21 @@
</field>
<field>
<name>schedule</name>
- <version>1.0.0+</version>
- <association stash.part="true" jpox.dependent="false">
+ <version>1.1.0+</version>
+ <association xml.reference="true" stash.part="true" jpox.dependent="false">
<type>Schedule</type>
</association>
</field>
<field>
<name>profile</name>
- <version>1.0.0+</version>
- <association stash.part="true" jpox.dependent="false">
+ <version>1.1.0+</version>
+ <association xml.reference="true" stash.part="true" jpox.dependent="false">
<type>Profile</type>
</association>
</field>
<field jpox.nullValue="default">
<name>latestBuildId</name>
- <version>1.0.0</version>
+ <version>1.1.0+</version>
<type>int</type>
<defaultValue>0</defaultValue>
</field>
@@ -787,7 +836,7 @@
<class>
<name>Schedule</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<description><![CDATA[
Schedule for a project.
]]></description>
@@ -795,22 +844,22 @@
<field>
<name>id</name>
<identifier>true</identifier>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>active</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
</field>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>description</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
@@ -818,7 +867,7 @@
<description><![CDATA[
Delay in seconds.
]]></description>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
@@ -827,13 +876,13 @@
Maximum execution time of a job in seconds before it's
terminated.
</description>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
<defaultValue>3600</defaultValue>
</field>
<field>
<name>cronExpression</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
</fields>
@@ -841,75 +890,76 @@
<class>
<name>Profile</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>id</name>
<identifier>true</identifier>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>active</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
</field>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>description</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>scmMode</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>int</type>
</field>
<field>
<name>buildWithoutChanges</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
</field>
<field>
<name>jdk</name>
- <version>1.0.0+</version>
- <association stash.part="true" jpox.dependent="false">
+ <version>1.1.0+</version>
+ <association xml.reference="true" stash.part="true" jpox.dependent="false">
<type>Installation</type>
</association>
</field>
<field>
<name>builder</name>
- <version>1.0.0+</version>
- <association stash.part="true" jpox.dependent="false">
+ <version>1.1.0+</version>
+ <association xml.reference="true" stash.part="true" jpox.dependent="false">
<type>Installation</type>
</association>
</field>
</fields>
</class>
- <class>
+ <class jpox.use-identifiers-as-primary-key="false">
<name>Installation</name>
<packageName>org.apache.maven.continuum.model.system</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>version</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>path</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
- <field>
+ <field jpox.primary-key="true" jpox.value-strategy="off">
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
+ <identifier>true</identifier>
</field>
</fields>
</class>
@@ -917,51 +967,51 @@
<class>
<name>SystemConfiguration</name>
<packageName>org.apache.maven.continuum.model.system</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>guestAccountEnabled</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
<defaultValue>true</defaultValue>
</field>
<field>
<name>defaultScheduleDescription</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
<defaultValue>Run hourly</defaultValue>
</field>
<field>
<name>defaultScheduleCronExpression</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
<defaultValue>0 0 * * * ?</defaultValue>
</field>
<field>
<name>workingDirectory</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
<defaultValue>working-directory</defaultValue>
</field>
<field>
<name>buildOutputDirectory</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
<defaultValue>build-output-directory</defaultValue>
</field>
<field>
<name>deploymentRepositoryDirectory</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>baseUrl</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>initialized</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>boolean</type>
<defaultValue>false</defaultValue>
</field>
@@ -970,7 +1020,7 @@
<class>
<name>NotificationAddress</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<packageName>org.apache.maven.continuum.model.system</packageName>
<description>
Configures one method for notifying users/developers when a build breaks.
@@ -978,19 +1028,19 @@
<fields>
<field>
<name>type</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<defaultValue>mail</defaultValue>
<type>String</type>
<description>The mechanism used to deliver notifications.</description>
</field>
<field>
<name>address</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>configuration</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<description>Extended configuration specific to this notifier goes here.</description>
<type>Map</type>
<association xml.mapStyle="inline" stash.part="true" stash.keyType="java.lang.String">
@@ -1001,20 +1051,21 @@
</fields>
</class>
- <class jpox.enabled="false">
+ <!-- TODO: this isn't really appropriate to generate with Modello -->
+ <class jpox.enabled="false" stash.storable="false">
<name>ContinuumProjectState</name>
<packageName>org.apache.maven.continuum.project</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
</fields>
<codeSegments>
<codeSegment>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<code><![CDATA[
public final static int NEW = 1;
public final static int OK = 2;
Modified: maven/continuum/trunk/continuum-model/src/main/mdo/general.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-model/src/main/mdo/general.xml?view=diff&rev=480795&r1=480794&r2=480795
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/mdo/general.xml (original)
+++ maven/continuum/trunk/continuum-model/src/main/mdo/general.xml Wed Nov 29 16:46:47 2006
@@ -13,21 +13,21 @@
<class>
<name>CompanyInformation</name>
<packageName>org.apache.maven.continuum.model.general</packageName>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<fields>
<field>
<name>companyName</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>companyLogoUrl</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
<field>
<name>companyUrl</name>
- <version>1.0.0+</version>
+ <version>1.1.0+</version>
<type>String</type>
</field>
</fields>
|