You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by ev...@apache.org on 2005/11/28 18:02:13 UTC
svn commit: r349435 [3/3] - in
/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src:
main/java/org/apache/maven/scm/provider/perforce/
main/java/org/apache/maven/scm/provider/perforce/command/
main/java/org/apache/maven/scm/provider/per...
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommandTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommandTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommandTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,61 @@
+package org.apache.maven.scm.provider.perforce.command.login;
+
+/*
+ * Copyright 2001-2005 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 java.io.File;
+
+import org.apache.maven.scm.CommandParameters;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
+import org.apache.maven.scm.repository.ScmRepository;
+
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
+ * @version $Id$
+ */
+public class PerforceLoginCommandTest
+ extends ScmTestCase
+{
+ public void testGetCommandLine()
+ throws Exception
+ {
+ testCommandLine( "p4 login" );
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ private void testCommandLine( String commandLine )
+ throws Exception
+ {
+ File workingDirectory = getTestFile( "target/perforce-login-command-test" );
+
+ ScmRepository repository = getScmManager().makeScmRepository( "scm:perforce://depot/projects/pathname" );
+ PerforceScmProviderRepository svnRepository = (PerforceScmProviderRepository) repository.getProviderRepository();
+ ScmFileSet files = new ScmFileSet( new File("."), new File[] { new File("foo.xml"), new File("bar.xml") } );
+
+ CommandParameters params = new CommandParameters();
+ Commandline cl = PerforceLoginCommand.createCommandLine( svnRepository, workingDirectory, params );
+
+ assertEquals( commandLine, cl.toString() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommandTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,73 @@
+package org.apache.maven.scm.provider.perforce.command.login;
+
+/*
+ * Copyright 2001-2005 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 java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+
+import org.apache.maven.scm.ScmTestCase;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse </a>
+ * @version $Id: PerforceChangeLogConsumerTest.java 331276 2005-11-07 15:04:54Z
+ * evenisse $
+ */
+public class PerforceLoginConsumerTest
+ extends ScmTestCase
+{
+ public void testGoodParse()
+ throws Exception
+ {
+ File testFile = getTestFile( "src/test/resources/perforce/login_good.txt" );
+
+ PerforceLoginConsumer consumer = new PerforceLoginConsumer();
+
+ FileInputStream fis = new FileInputStream( testFile );
+ BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
+ String s = in.readLine();
+ while ( s != null )
+ {
+ consumer.consumeLine( s );
+ s = in.readLine();
+ }
+
+ assertEquals( "", consumer.getOutput() );
+ assertTrue( consumer.isSuccess() );
+ }
+
+ public void testBadParse()
+ throws Exception
+ {
+ File testFile = getTestFile( "src/test/resources/perforce/login_bad.txt" );
+
+ PerforceLoginConsumer consumer = new PerforceLoginConsumer();
+
+ FileInputStream fis = new FileInputStream( testFile );
+ BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
+ String s = in.readLine();
+ while ( s != null )
+ {
+ consumer.consumeLine( s );
+ s = in.readLine();
+ }
+
+ assertFalse( consumer.isSuccess() );
+ assertEquals( 19, consumer.getOutput().length() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommandTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommandTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommandTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,72 @@
+package org.apache.maven.scm.provider.perforce.command.remove;
+
+/*
+ * Copyright 2001-2005 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 java.io.File;
+
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
+import org.apache.maven.scm.repository.ScmRepository;
+
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
+ * @version $Id$
+ */
+public class PerforceRemoveCommandTest
+ extends ScmTestCase
+{
+ public void testGetCommandLine()
+ throws Exception
+ {
+ testCommandLine( "scm:perforce://depot/projects/pathname", "p4 delete foo.xml bar.xml" );
+ }
+
+ public void testGetCommandLineWithHost()
+ throws Exception
+ {
+ testCommandLine( "scm:perforce:a:username@//depot/projects/pathname",
+ "p4 -H a -u username delete foo.xml bar.xml" );
+ }
+
+ public void testGetCommandLineWithHostAndPort()
+ throws Exception
+ {
+ testCommandLine( "scm:perforce:myhost:1234:username@//depot/projects/pathname",
+ "p4 -H myhost:1234 -u username delete foo.xml bar.xml" );
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ private void testCommandLine( String scmUrl, String commandLine )
+ throws Exception
+ {
+ File workingDirectory = getTestFile( "target/perforce-remove-command-test" );
+
+ ScmRepository repository = getScmManager().makeScmRepository( scmUrl );
+ PerforceScmProviderRepository svnRepository = (PerforceScmProviderRepository) repository.getProviderRepository();
+ ScmFileSet files = new ScmFileSet( new File("."), new File[] { new File("foo.xml"), new File("bar.xml") } );
+ Commandline cl = PerforceRemoveCommand.createCommandLine( svnRepository, workingDirectory, files );
+
+ assertEquals( commandLine, cl.toString() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommandTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,56 @@
+package org.apache.maven.scm.provider.perforce.command.remove;
+
+/*
+ * Copyright 2001-2005 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 java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.util.List;
+
+import org.apache.maven.scm.ScmTestCase;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class PerforceRemoveConsumerTest
+ extends ScmTestCase
+{
+ public void testParse()
+ throws Exception
+ {
+ File testFile = getTestFile( "src/test/resources/perforce/removelog.txt" );
+
+ PerforceRemoveConsumer consumer = new PerforceRemoveConsumer();
+
+ FileInputStream fis = new FileInputStream( testFile );
+ BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
+ String s = in.readLine();
+ while ( s != null )
+ {
+ consumer.consumeLine( s );
+ s = in.readLine();
+ }
+
+ List removes = consumer.getRemovals();
+ assertEquals( "Wrong number of entries returned", 2, removes.size() );
+ String entry = (String) removes.get( 0 );
+ assertTrue( entry.startsWith( "//" ) );
+ assertTrue( entry.endsWith( "foo.xml" ) );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,60 @@
+package org.apache.maven.scm.provider.perforce.command.status;
+
+/*
+ * Copyright 2001-2005 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 java.io.File;
+
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
+import org.apache.maven.scm.repository.ScmRepository;
+
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse </a>
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl </a>
+ * @version $Id: PerforceChangeLogCommandTest.java 162277 2005-01-11 19:02:26Z
+ * trygvis $
+ */
+public class PerforceStatusCommandTest
+ extends ScmTestCase
+{
+ public void testCreateCommandLine()
+ throws Exception
+ {
+ testCommandLine( "p4 opened //depot/projects/pathname/..." );
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ private void testCommandLine( String expected )
+ throws Exception
+ {
+ File workingDirectory = getTestFile( "target/perforce-tag-command-test" );
+
+ ScmRepository repository = getScmManager().makeScmRepository( "scm:perforce://depot/projects/pathname" );
+ PerforceScmProviderRepository svnRepository = (PerforceScmProviderRepository) repository
+ .getProviderRepository();
+ ScmFileSet files = new ScmFileSet( new File( "." ), new File[] { new File( "foo.xml" ), new File( "bar.xml" ) } );
+
+ Commandline cl1 = PerforceStatusCommand.createOpenedCommandLine( svnRepository, workingDirectory );
+ assertEquals( expected, cl1.toString() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,67 @@
+package org.apache.maven.scm.provider.perforce.command.status;
+
+/*
+ * Copyright 2001-2005 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 java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.util.List;
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmTestCase;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse </a>
+ * @version $Id: PerforceChangeLogConsumerTest.java 331276 2005-11-07 15:04:54Z
+ * evenisse $
+ */
+public class PerforceStatusConsumerTest
+ extends ScmTestCase
+{
+ public void testGoodParse()
+ throws Exception
+ {
+ File testFile = getTestFile( "src/test/resources/perforce/status_good.txt" );
+
+ PerforceStatusConsumer consumer = new PerforceStatusConsumer();
+
+ FileInputStream fis = new FileInputStream( testFile );
+ BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
+ String s = in.readLine();
+ while ( s != null )
+ {
+ consumer.consumeLine( s );
+ s = in.readLine();
+ }
+
+ assertEquals( "", consumer.getOutput() );
+ assertTrue( consumer.isSuccess() );
+ List results = consumer.getDepotfiles();
+ assertEquals( "Wrong number of entries returned", 4, results.size() );
+ String entry = (String) results.get( 0 );
+ assertEquals( 33, entry.indexOf( "Foo.java" ) );
+
+ results = PerforceStatusCommand.createResults( "//depot/sandbox/mperham/scm-test", consumer );
+ assertEquals( 4, results.size() );
+ assertTrue( results.get( 0 ) instanceof ScmFile );
+ ScmFile file = (ScmFile) results.get( 0 );
+ assertEquals( "Foo.java", file.getPath() );
+ assertEquals( ScmFileStatus.ADDED, file.getStatus() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,62 @@
+package org.apache.maven.scm.provider.perforce.command.tag;
+
+/*
+ * Copyright 2001-2005 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 java.io.File;
+
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
+import org.apache.maven.scm.repository.ScmRepository;
+
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse </a>
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl </a>
+ * @version $Id: PerforceChangeLogCommandTest.java 162277 2005-01-11 19:02:26Z
+ * trygvis $
+ */
+public class PerforceTagCommandTest
+ extends ScmTestCase
+{
+ public void testCreateCommandLine()
+ throws Exception
+ {
+ testCommandLine( "foo-tag", "p4 label -i", "p4 labelsync -l foo-tag foo.xml bar.xml" );
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ private void testCommandLine( String tag, String create, String sync )
+ throws Exception
+ {
+ File workingDirectory = getTestFile( "target/perforce-tag-command-test" );
+
+ ScmRepository repository = getScmManager().makeScmRepository( "scm:perforce://depot/projects/pathname" );
+ PerforceScmProviderRepository svnRepository = (PerforceScmProviderRepository) repository
+ .getProviderRepository();
+ ScmFileSet files = new ScmFileSet( new File( "." ), new File[] { new File( "foo.xml" ), new File( "bar.xml" ) } );
+
+ Commandline cl1 = PerforceTagCommand.createLabelCommandLine( svnRepository, workingDirectory, files, tag );
+ assertEquals( create, cl1.toString() );
+ Commandline cl2 = PerforceTagCommand.createLabelsyncCommandLine( svnRepository, workingDirectory, files, tag );
+ assertEquals( sync, cl2.toString() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,78 @@
+package org.apache.maven.scm.provider.perforce.command.tag;
+
+/*
+ * Copyright 2001-2005 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 java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.util.List;
+
+import org.apache.maven.scm.ScmTestCase;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse </a>
+ * @version $Id: PerforceChangeLogConsumerTest.java 331276 2005-11-07 15:04:54Z
+ * evenisse $
+ */
+public class PerforceTagConsumerTest
+ extends ScmTestCase
+{
+ public void testGoodParse()
+ throws Exception
+ {
+ File testFile = getTestFile( "src/test/resources/perforce/tag_good.txt" );
+
+ PerforceTagConsumer consumer = new PerforceTagConsumer();
+
+ FileInputStream fis = new FileInputStream( testFile );
+ BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
+ String s = in.readLine();
+ while ( s != null )
+ {
+ consumer.consumeLine( s );
+ s = in.readLine();
+ }
+
+ assertEquals( "", consumer.getOutput() );
+ assertTrue( consumer.isSuccess() );
+ List results = consumer.getTagged();
+ assertEquals( "Wrong number of entries returned", 2, results.size() );
+ String entry = (String) results.get( 0 );
+ assertTrue( entry.endsWith( "pom.xml" ) );
+ }
+
+ public void testBadParse()
+ throws Exception
+ {
+ File testFile = getTestFile( "src/test/resources/perforce/tag_bad.txt" );
+
+ PerforceTagConsumer consumer = new PerforceTagConsumer();
+
+ FileInputStream fis = new FileInputStream( testFile );
+ BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
+ String s = in.readLine();
+ while ( s != null )
+ {
+ consumer.consumeLine( s );
+ s = in.readLine();
+ }
+
+ assertFalse( consumer.isSuccess() );
+ assertEquals( 67, consumer.getOutput().length() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommandTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommandTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommandTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,58 @@
+package org.apache.maven.scm.provider.perforce.command.unedit;
+
+/*
+ * Copyright 2001-2005 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 java.io.File;
+
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
+import org.apache.maven.scm.repository.ScmRepository;
+
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
+ * @version $Id$
+ */
+public class PerforceUnEditCommandTest
+ extends ScmTestCase
+{
+ public void testGetCommandLine()
+ throws Exception
+ {
+ testCommandLine( "scm:perforce://depot/projects/pathname", "p4 revert foo.xml bar.xml" );
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ private void testCommandLine( String scmUrl, String commandLine )
+ throws Exception
+ {
+ File workingDirectory = getTestFile( "target/perforce-unedit-command-test" );
+
+ ScmRepository repository = getScmManager().makeScmRepository( scmUrl );
+ PerforceScmProviderRepository svnRepository = (PerforceScmProviderRepository) repository.getProviderRepository();
+ ScmFileSet files = new ScmFileSet( new File("."), new File[] { new File("foo.xml"), new File("bar.xml") } );
+ Commandline cl = PerforceUnEditCommand.createCommandLine( svnRepository, workingDirectory, files );
+
+ assertEquals( commandLine, cl.toString() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommandTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java Mon Nov 28 09:01:05 2005
@@ -0,0 +1,78 @@
+package org.apache.maven.scm.provider.perforce.command.unedit;
+
+/*
+ * Copyright 2001-2005 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 java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.util.List;
+
+import org.apache.maven.scm.ScmTestCase;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse </a>
+ * @version $Id: PerforceChangeLogConsumerTest.java 331276 2005-11-07 15:04:54Z
+ * evenisse $
+ */
+public class PerforceUnEditConsumerTest
+ extends ScmTestCase
+{
+ public void testGoodParse()
+ throws Exception
+ {
+ File testFile = getTestFile( "src/test/resources/perforce/unedit_good.txt" );
+
+ PerforceUnEditConsumer consumer = new PerforceUnEditConsumer();
+
+ FileInputStream fis = new FileInputStream( testFile );
+ BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
+ String s = in.readLine();
+ while ( s != null )
+ {
+ consumer.consumeLine( s );
+ s = in.readLine();
+ }
+
+ assertTrue( consumer.isSuccess() );
+ List edits = consumer.getEdits();
+ assertEquals( "Wrong number of entries returned", 2, edits.size() );
+ String entry = (String) edits.get( 0 );
+ assertTrue( entry.startsWith( "//" ) );
+ assertTrue( entry.endsWith( ".classpath" ) );
+ }
+
+ public void testBadParse()
+ throws Exception
+ {
+ File testFile = getTestFile( "src/test/resources/perforce/unedit_bad.txt" );
+
+ PerforceUnEditConsumer consumer = new PerforceUnEditConsumer();
+
+ FileInputStream fis = new FileInputStream( testFile );
+ BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
+ String s = in.readLine();
+ while ( s != null )
+ {
+ consumer.consumeLine( s );
+ s = in.readLine();
+ }
+
+ assertFalse( consumer.isSuccess() );
+ assertEquals( 96, consumer.getOutput().length() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/addlog.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/addlog.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/addlog.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/addlog.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,2 @@
+//depot/something/foo.xml#1 - opened for add
+//depot/something/bar.xml#1 - opened for add
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/addlog.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/addlog.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_bad.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_bad.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_bad.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_bad.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,8 @@
+Change 80837 created with 1 open file(s).
+Submitting change 80837.
+Locking 1 files ...
+edit //depot/modules/cordoba/runtime-ear/Foo.java#2
+Submit validation failed -- fix problems then use 'p4 submit -c 80837'.
+'checkstyle' validation failed:
+
+depot/modules/cordoba/runtime-ear/Foo.java:3:1: Got an exception - expecting EOF, found '}'
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_bad.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_bad.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_good.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_good.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_good.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_good.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,5 @@
+Change 80835 created with 1 open file(s).
+Submitting change 80835.
+Locking 1 files ...
+add //depot/modules/cordoba/runtime-ear/foo.xml#1
+Change 80835 submitted.
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_good.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkin_good.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_bad.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_bad.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_bad.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_bad.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1 @@
+ Invalid changelist/client/label/date '@somelabel'.
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_bad.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_bad.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_good.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_good.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_good.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_good.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,4 @@
+//depot/modules/cordoba/runtime-ear/.j2ee#1 - deleted as d:\perforce\depot\modules\cordoba\runtime-ear\.j2ee
+//depot/modules/cordoba/runtime-ear/.project#1 - deleted as d:\perforce\depot\modules\cordoba\runtime-ear\.project
+//depot/modules/cordoba/runtime-ear/.runtime#1 - deleted as d:\perforce\depot\modules\cordoba\runtime-ear\.runtime
+//depot/modules/cordoba/runtime-ear/Foo.java#1 - deleted as d:\perforce\depot\modules\cordoba\runtime-ear\Foo.java
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_good.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/checkout_good.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/difflog.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/difflog.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/difflog.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/difflog.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,323 @@
+--- //depot/modules/cordoba/storage/modelstore/src/main/java/com/webify/framework/model/IThing.java 2005/11/14 14:35:48
++++ //depot/modules/cordoba/storage/modelstore/src/main/java/com/webify/framework/model/IThing.java 2005/11/22 07:28:55
+@@ -1,10 +1,7 @@
+ package com.webify.framework.model;
+
+-import com.webify.framework.model.metadata.ClassInfo;
+ import com.webify.framework.model.metadata.InterfaceInfo;
+-
+-import java.net.URI;
+-import java.util.Set;
++import com.webify.wsf.modelstore.IPersisted;
+
+ /**
+ * Base interface for all model types in WSF. Corresponds to owl:Thing.
+@@ -15,52 +12,14 @@
+ * @version $Id$
+ * @since 2.0.0
+ */
+-public interface IThing {
++public interface IThing extends IPersisted {
+
+ /**
+ * @deprecated Should not rely on, or hardcode 3.4 base namespace in code.
+ */
+ String NS_BASE_CATALOG = "http://www.webifysolutions.com/2005/06/base-catalog#";
+-
+- /**
+- * @param name the property <em>URI</em> in string form.
+- * @deprecated use {@link #getProperty(URI)} instead.
+- */
+- Object getProperty(String name);
+-
+- Object getProperty(URI name);
+-
+- /**
+- * @param name the property <em>URI</em> in string form.
+- * @deprecated use {@link #setProperty(URI, Object)} instead.
+- */
+- void setProperty(String name, Object value);
+-
+- void setProperty(URI name, Object value);
+-
+- /**
+- * @param name the property <em>URI</em> in string form.
+- * @deprecated use {@link #removeProperty(URI, Object)} instead.
+- */
+- void removeProperty(String name, Object value);
+-
+- void removeProperty(URI name, Object value);
+-
+- /**
+- * @param name the property <em>URI</em> in string form.
+- * @return true if <code>value</code> is associated with the specified property
+- * @deprecated use {@link #hasProperty(URI, Object)} instead.
+- */
+- boolean hasProperty(String name, Object value);
+
+- boolean hasProperty(URI name, Object value);
+-
+ /**
+- * @return a (non-null, possibly empty) set of URIs corresponding to property names.
+- */
+- Set propertyNameSet();
+-
+- /**
+ * @OntProperty (uri="http://www.w3.org/2000/01/rdf-schema#comment")
+ */
+ String getComment();
+@@ -91,27 +50,6 @@
+ void setVersionInfo(String versionInfo);
+
+ /**
+- * @return the <em>local</em> name within {@link #getURI()}'s namespace.
+- */
+- String getId();
+-
+- /**
+- * @return the full URI for this thing, which is unique within a model.
+- */
+- URI getURI();
+-
+- /**
+- * @return the declared type of the instance
+- */
+- URI getDeclaredType();
+-
+- /**
+- * @return a <em>locked</em> {@link ClassInfo} instance
+- * representing this thing's interface/declared type.
+- */
+- ClassInfo getClassInfo();
+-
+- /**
+ * @return a <em>locked</em> {@link InterfaceInfo} instance
+ * representing this thing's interface/declared type.
+ */
+--- //depot/modules/cordoba/storage/modelstore/src/main/java/com/webify/framework/model/ModelFactory.java 2005/11/21 08:58:32
++++ //depot/modules/cordoba/storage/modelstore/src/main/java/com/webify/framework/model/ModelFactory.java 2005/11/21 10:29:33
+@@ -3,8 +3,8 @@
+ import com.webify.framework.model.changes.ModelChanges;
+ import com.webify.framework.model.metadata.MetadataRegistry;
+ import com.webify.framework.support.trackingmap.MultiValueMap;
++import com.webify.framework.triples.TripleStore;
+ import com.webify.framework.triples.VersionInfo;
+-import com.webify.framework.triples.TripleStore;
+
+ import java.net.URI;
+ import java.util.List;
+@@ -114,12 +114,6 @@
+
+ MultiValueMap getAllProperties(final long version, final URI subject);
+
+- /**
+- * Attaches disconnected instances and {@link java.util.Collection}s
+- * of {@link IThing}s. Other types of objects are ignored.
+- */
+- void attachDisconnected(Object disconnected);
+-
+ long getCurrentVersion();
+
+ VersionInfo getCurrentVersionInfo();
+--- //depot/modules/cordoba/storage/modelstore/src/main/java/com/webify/framework/model/dbstore/HibernateModelFactory.java 2005/11/21 08:58:32
++++ //depot/modules/cordoba/storage/modelstore/src/main/java/com/webify/framework/model/dbstore/HibernateModelFactory.java 2005/11/22 07:34:00
+@@ -6,7 +6,6 @@
+ import com.webify.framework.model.ModelQuery;
+ import com.webify.framework.model.NotFoundException;
+ import com.webify.framework.model.proxy.ProxyHandlerContext;
+-import com.webify.framework.support.collections.IdentitySet;
+ import com.webify.framework.support.trackingmap.TrackingMap;
+ import com.webify.framework.triples.changes.TripleChanges;
+ import com.webify.wsf.modelstore.impl.ModelAccessImpl;
+@@ -168,56 +167,6 @@
+ return version;
+ }
+
+- /**
+- * @return non-null possibly empty collection
+- */
+- private Collection getOtherThingsInCloud(final IThing thing) {
+- final HibernateInvocationHandler handler = HibernateInvocationHandler.handlerForThing(thing);
+- final Collection others = handler.getThingsInCloud();
+- others.remove(thing);
+- return others;
+- }
+-
+- /**
+- * @param disconnected
+- * can be an {@link IThing}, a {@link Collection}or regular
+- * {@link Object}
+- */
+- public void attachDisconnected(Object disconnected) {
+- HashSet things = new HashSet();
+- findAllThingsInClouds(disconnected, new IdentitySet(), things);
+- if (GENERAL_LOG.isDebugEnabled()) {
+- GENERAL_LOG.debug("Reattaching: " + things);
+- }
+- for (Iterator i = things.iterator(); i.hasNext();) {
+- final IThing thing = (IThing) i.next();
+- HibernateInvocationHandler handler = HibernateInvocationHandler.handlerForThing(thing);
+- handler.reattach(this);
+- }
+- }
+-
+- private void findAllThingsInClouds(final Object disconnected,
+- final Set visited,
+- final Set target) {
+- if (!visited.add(disconnected)) {
+- // already seen this object
+- return;
+- }
+-
+- if (disconnected instanceof Collection) {
+- final Collection collection = (Collection) disconnected;
+- for (Iterator i = collection.iterator(); i.hasNext();) {
+- findAllThingsInClouds(i.next(), visited, target);
+- }
+- }
+- else if (disconnected instanceof IThing) {
+- final IThing thing = (IThing) disconnected;
+- // no need to recurse into each because they all have the same cloud
+- target.add(thing);
+- target.addAll(getOtherThingsInCloud(thing));
+- }
+- }
+-
+ long getWorkingVersion() {
+ // TODO implement getWorkingVersion properly.
+ return ModelFactory.CURRENT_VERSION;
+@@ -250,7 +199,7 @@
+ final HibernateProxyBuilder builder = new HibernateProxyBuilder();
+ builder.setContext(this);
+ if (typeUri == null) {
+- final TypeComputation tc = new TypeComputation(this, iface, properties);
++ final TypeComputation tc = new TypeComputation(this.getMetadataRegistry(), iface, properties);
+ builder.setInterface(tc.deriveInterface());
+ builder.setTypeUri(tc.deriveType());
+ }
+--- //depot/modules/cordoba/storage/modelstore/src/main/java/com/webify/framework/model/dbstore/TypeComputation.java 2005/11/21 08:58:32
++++ //depot/modules/cordoba/storage/modelstore/src/main/java/com/webify/framework/model/dbstore/TypeComputation.java 2005/11/22 07:34:00
+@@ -4,7 +4,7 @@
+ import com.webify.framework.model.IThing;
+ import com.webify.framework.model.PredicateConstants;
+ import com.webify.framework.model.metadata.ClassInfo;
+-import com.webify.framework.model.proxy.ProxyHandlerContext;
++import com.webify.framework.model.metadata.MetadataRegistry;
+ import com.webify.framework.support.trackingmap.TrackingMap;
+ import org.apache.commons.logging.Log;
+ import org.apache.commons.logging.LogFactory;
+@@ -21,7 +21,7 @@
+ * @author dranatunga
+ * @version $Id$
+ */
+-class TypeComputation {
++public class TypeComputation {
+
+ private static final int NONE = 0;
+
+@@ -44,28 +44,28 @@
+
+ private int _ifaceState = NONE;
+ private int _typeState = NONE;
+- private final ProxyHandlerContext _context;
++ private final MetadataRegistry _registry;
+ private final Class _ifaceIn;
+ private Class _bestIface;
+ private URI _bestType;
+ private final TrackingMap _knowledge;
+
+- TypeComputation(ProxyHandlerContext context, Class ifaceIn, TrackingMap knowledge) {
++ public TypeComputation(MetadataRegistry registry, Class ifaceIn, TrackingMap knowledge) {
+ // TODO an instance can have more than one type, we need to account for this in our API
+- _context = context;
++ _registry = registry;
+ _ifaceIn = ifaceIn;
+ _knowledge = knowledge;
+ _bestIface = ifaceIn;
+ }
+
+- Class deriveInterface() {
++ public Class deriveInterface() {
+ determineUsingInstanceAssociation();
+ // TODO determineUsingClassAssocation
+ determineUsingTypeNameGuessing();
+ return _bestIface;
+ }
+
+- URI deriveType() {
++ public URI deriveType() {
+ determineUsingInstanceType();
+ determineUsingMetadataInfo();
+ return _bestType;
+@@ -141,7 +141,7 @@
+ ClassInfo mostSpecificType = null;
+ for (Iterator i = _knowledge.getAll(PredicateConstants.TYPE_OF).iterator(); i.hasNext();) {
+ URI oneDeclaredType = (URI) i.next();
+- ClassInfo oneDeclaredInfo = _context.getMetadataRegistry().getClassInfo(oneDeclaredType);
++ ClassInfo oneDeclaredInfo = _registry.getClassInfo(oneDeclaredType);
+ if ((mostSpecificType == null) || oneDeclaredInfo.getSuperClasses().contains(mostSpecificType)) {
+ mostSpecificType = oneDeclaredInfo;
+ }
+@@ -163,7 +163,7 @@
+ if (_typeState >= FOUND_FROM_ANNOTATION) {
+ return;
+ }
+- final ClassInfo classInfo = _context.getMetadataRegistry().getInterfaceInfo(_ifaceIn).getTypeInfo();
++ final ClassInfo classInfo = _registry.getInterfaceInfo(_ifaceIn).getTypeInfo();
+ if ((classInfo == null) || (classInfo.getTypeUri() == null)) {
+ return;
+ }
+--- //depot/modules/cordoba/storage/modelstore/src/test/java/com/webify/framework/model/kowari/KowariModelFactoryTest.java 2005/11/14 14:53:49
++++ //depot/modules/cordoba/storage/modelstore/src/test/java/com/webify/framework/model/kowari/KowariModelFactoryTest.java 2005/11/21 10:29:33
+@@ -1,23 +1,22 @@
+ package com.webify.framework.model.kowari;
+
++import java.net.URI;
+ import java.util.Date;
+ import java.util.HashSet;
+ import java.util.Iterator;
+ import java.util.List;
+ import java.util.Set;
+-import java.net.URI;
+
+ import com.webify.framework.model.IThing;
+ import com.webify.framework.model.ModelFactory;
+ import com.webify.framework.model.ModelQuery;
+ import com.webify.framework.model.metadata.InterfaceInfo;
+ import com.webify.framework.model.metadata.PropertyInfo;
++import com.webify.framework.support.uri.URIs;
+ import com.webify.framework.support.uuid.UUID;
+-import com.webify.framework.support.uri.URIs;
++import com.webify.framework.test.ConfiguredCoreTest;
++import com.webify.framework.test.ModelExistsCondition;
+ import com.webify.framework.test.PreTestCondition;
+-import com.webify.framework.test.ModelExistsCondition;
+-import com.webify.framework.test.ConfiguredCoreTest;
+-
+ import junit.framework.TestSuite;
+
+ /**
+@@ -52,7 +51,6 @@
+ ts.addTest(new KowariModelFactoryTest("testModifyKnownSubject"));
+ ts.addTest(new KowariModelFactoryTest("testListExisting"));
+ ts.addTest(new KowariModelFactoryTest("testListLiterals"));
+- ts.addTest(new KowariModelFactoryTest("testSerializeThing"));
+ ts.addTest(new KowariModelFactoryTest("testMetadataAccessFromThing"));
+ return ts;
+ }
+@@ -112,15 +110,6 @@
+ }
+
+
+- public void testSerializeThing() {
+- final IThing original = getModelFactory().load(IThing.class, EXISTING_THING);
+- final byte[] serialized = serialize(original);
+- final Object reloaded = deserialize(serialized);
+- assertEquals(original, reloaded);
+- // TODO lookup something off reloaded that would require it to be connected.
+- getModelFactory().attachDisconnected(reloaded);
+- }
+-
+ public void testMetadataAccessFromThing() {
+ final IThing created = getModelFactory().create(SampleCar.class, new UUID().toString());
+ final InterfaceInfo info = created.getInterfaceInfo();
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/difflog.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/difflog.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/editlog.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/editlog.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/editlog.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/editlog.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,4 @@
+//depot/modules/cordoba/storage/triplestore-spi/.classpath#7 - opened for edit
+... //depot/modules/cordoba/storage/triplestore-spi/.classpath - also opened by arichardson@corkdog-wsf
+//depot/modules/cordoba/storage/triplestore-spi/.project#5 - opened for edit
+... //depot/modules/cordoba/storage/triplestore-spi/.project - also opened by arichardson@corkdog-wsf
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/editlog.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/editlog.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_bad.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_bad.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_bad.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_bad.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,2 @@
+Enter password:
+Password invalid.
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_bad.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_bad.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_good.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_good.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_good.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_good.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,2 @@
+Enter password:
+User mperham logged in.
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_good.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/login_good.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/removelog.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/removelog.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/removelog.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/removelog.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,3 @@
+//depot/something/foo.xml#1 - opened for delete
+//depot/something/bar.xml#123 - opened for delete
+... //depot/something/bar.xml#123 - also opened by foobar@foomachine
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/removelog.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/removelog.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/status_good.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/status_good.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/status_good.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/status_good.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,4 @@
+//depot/sandbox/mperham/scm-test/Foo.java#1 - add default change (text)
+//depot/sandbox/mperham/scm-test/bar/Bar.xml#1 - add default change (text)
+//depot/sandbox/mperham/scm-test/bar/foo.xml#1 - edit default change (text)
+//depot/sandbox/mperham/scm-test/bar/hello.xml#1 - delete default change (text)
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/status_good.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/status_good.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_bad.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_bad.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_bad.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_bad.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,2 @@
+Label maven-scm-test saved.
+Label 'maven-scm-tes' unknown - use 'label' command to create it.
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_bad.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_bad.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_good.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_good.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_good.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_good.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,3 @@
+Label maven-scm-test saved.
+//depot/modules/cordoba/runtime-ear/pom.xml#4 - added
+//depot/modules/cordoba/runtime-ear/.runtime#1 - added
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_good.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/tag_good.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_bad.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_bad.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_bad.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_bad.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,2 @@
+.classpath - file(s) not opened on this client.
+.project - file(s) not opened on this client.
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_bad.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_bad.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_good.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_good.txt?rev=349435&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_good.txt (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_good.txt Mon Nov 28 09:01:05 2005
@@ -0,0 +1,2 @@
+//depot/modules/cordoba/storage/triplestore-spi/.classpath#7 - was edit, reverted
+//depot/modules/cordoba/storage/triplestore-spi/.project#5 - was edit, reverted
\ No newline at end of file
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_good.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/unedit_good.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"