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 2008/05/19 21:59:33 UTC

svn commit: r657950 - in /maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase: ./ src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ src/main/java/org/apache/maven/scm/provider/clearcase/util/ src/main/mdo/ src/test/j...

Author: evenisse
Date: Mon May 19 12:59:33 2008
New Revision: 657950

URL: http://svn.apache.org/viewvc?rev=657950&view=rev
Log:
[SCM-356] llow id of more than 8 characters

Added:
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/resources/clearcase/changelog/clearcase-settings.xml   (with props)
Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommandTest.java

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/pom.xml?rev=657950&r1=657949&r2=657950&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/pom.xml (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/pom.xml Mon May 19 12:59:33 2008
@@ -17,7 +17,8 @@
   ~ 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">
+<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>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
@@ -54,7 +55,7 @@
           </execution>
         </executions>
         <configuration>
-          <version>1.0.0</version>
+          <version>1.1.0</version>
           <model>src/main/mdo/clearcase-settings.mdo</model>
         </configuration>
       </plugin>

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java?rev=657950&r1=657949&r2=657950&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java Mon May 19 12:59:33 2008
@@ -107,11 +107,15 @@
 
         command.setWorkingDirectory( workingDirectory.getAbsolutePath() );
 
+        Settings settings = ClearCaseUtil.getSettings();
+        String userFormat =
+            StringUtils.isEmpty( settings.getChangelogUserFormat() ) ? "" : settings.getChangelogUserFormat();
+
         StringBuffer format = new StringBuffer();
         format.append( "NAME:%En\\n" );
         format.append( "DATE:%Nd\\n" );
         format.append( "COMM:%-12.12o - %o - %c - Activity: %[activity]p\\n" );
-        format.append( "USER:%-8.8u\\n" );
+        format.append( "USER:%" + userFormat + "u\\n" );
 
         command.createArgument().setValue( "-fmt" );
         command.createArgument().setValue( format.toString() );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java?rev=657950&r1=657949&r2=657950&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java Mon May 19 12:59:33 2008
@@ -34,21 +34,24 @@
  */
 public class ClearCaseUtil
 {
-	protected static final String CLEARCASE_SETTINGS_FILENAME = "clearcase-settings.xml";
-	
+    protected static final String CLEARCASE_SETTINGS_FILENAME = "clearcase-settings.xml";
+
+    public static final File DEFAULT_SETTINGS_DIRECTORY = new File( System.getProperty( "user.home" ), ".scm" );
+
+    private static File settingsDirectory = DEFAULT_SETTINGS_DIRECTORY;
+
     private ClearCaseUtil()
     {
     }
 
     public static Settings getSettings()
     {
-        File scmUserDir = new File( System.getProperty( "user.home" ), ".scm" );
-        File settingsFile = new File( scmUserDir, CLEARCASE_SETTINGS_FILENAME );
-        
-        if (!settingsFile.exists())
+        File settingsFile = new File( settingsDirectory, CLEARCASE_SETTINGS_FILENAME );
+
+        if ( !settingsFile.exists() )
         {
-        	File scmGlobalDir = new File( System.getProperty( "maven.home"), "conf" );
-        	settingsFile = new File ( scmGlobalDir, CLEARCASE_SETTINGS_FILENAME ); 
+            File scmGlobalDir = new File( System.getProperty( "maven.home" ), "conf" );
+            settingsFile = new File( scmGlobalDir, CLEARCASE_SETTINGS_FILENAME );
         }
 
         if ( settingsFile.exists() )
@@ -74,4 +77,9 @@
 
         return new Settings();
     }
+
+    public static void setSettingsDirectory( File directory )
+    {
+        settingsDirectory = directory;
+    }
 }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo?rev=657950&r1=657949&r2=657950&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo Mon May 19 12:59:33 2008
@@ -33,6 +33,12 @@
           <type>String</type>
           <description>Are you using ClearCase LT or UCM version ?</description>
         </field>
+        <field>
+          <name>changelogUserFormat</name>
+          <version>1.1.0+</version>
+          <type>String</type>
+          <description>The format of the USER pattern in lhistory command. For example, it can be "-8.8"</description>
+        </field>
       </fields>
     </class>
   </classes>

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommandTest.java?rev=657950&r1=657949&r2=657950&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommandTest.java Mon May 19 12:59:33 2008
@@ -21,6 +21,7 @@
 
 import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.clearcase.util.ClearCaseUtil;
 import org.codehaus.plexus.util.cli.Commandline;
 
 import java.io.File;
@@ -43,7 +44,22 @@
         Date endDate = null;
 
         testCommandLine( null, startDate, endDate,
+                         "cleartool lshistory -fmt \"NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%u\\n\" -recurse -nco" );
+    }
+
+    public void testGetCommandLineWithUserPattern()
+        throws Exception
+    {
+        ClearCaseUtil.setSettingsDirectory( getTestFile( "src/test/resources/clearcase/changelog" ) );
+
+        Date startDate = null;
+
+        Date endDate = null;
+
+        testCommandLine( null, startDate, endDate,
                          "cleartool lshistory -fmt \"NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%-8.8u\\n\" -recurse -nco" );
+
+        ClearCaseUtil.setSettingsDirectory( ClearCaseUtil.DEFAULT_SETTINGS_DIRECTORY );
     }
 
     public void testGetCommandLineWithTag()
@@ -54,7 +70,7 @@
         Date endDate = null;
 
         testCommandLine( new ScmBranch( "myBranch" ), startDate, endDate,
-                         "cleartool lshistory -fmt \"NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%-8.8u\\n\" -recurse -nco -branch myBranch" );
+                         "cleartool lshistory -fmt \"NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%u\\n\" -recurse -nco -branch myBranch" );
     }
 
     public void testGetCommandLineWithStartDate()
@@ -65,7 +81,7 @@
         Date endDate = null;
 
         testCommandLine( null, startDate, endDate,
-                         "cleartool lshistory -fmt \"NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%-8.8u\\n\" -recurse -nco -since 10-Sep-2003" );
+                         "cleartool lshistory -fmt \"NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%u\\n\" -recurse -nco -since 10-Sep-2003" );
     }
 
     public void testGetCommandLineWithTagAndStartDate()
@@ -76,7 +92,7 @@
         Date endDate = null;
 
         testCommandLine( new ScmBranch( "myBranch" ), startDate, endDate,
-                         "cleartool lshistory -fmt \"NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%-8.8u\\n\" -recurse -nco -since 10-Sep-2003 -branch myBranch" );
+                         "cleartool lshistory -fmt \"NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%u\\n\" -recurse -nco -since 10-Sep-2003 -branch myBranch" );
     }
 
     // ----------------------------------------------------------------------
@@ -89,7 +105,8 @@
         File workingDirectory = getTestFile( "target/clearcare-changelog-command-test" );
 
         Commandline cl = ClearCaseChangeLogCommand.createCommandLine( workingDirectory, branch, startDate );
-
+        System.out.println( commandLine );
+        System.out.println( cl.toString() );
         assertEquals( commandLine, cl.toString() );
     }
 }

Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/resources/clearcase/changelog/clearcase-settings.xml
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/resources/clearcase/changelog/clearcase-settings.xml?rev=657950&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/resources/clearcase/changelog/clearcase-settings.xml (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/resources/clearcase/changelog/clearcase-settings.xml Mon May 19 12:59:33 2008
@@ -0,0 +1,3 @@
+<clearcase-settings>
+  <changelogUserFormat>-8.8</changelogUserFormat>
+</clearcase-settings>

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/resources/clearcase/changelog/clearcase-settings.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/resources/clearcase/changelog/clearcase-settings.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision