[jira] Closed: (SCM-124) StarteamChangeLogConsumerTest does not work if locale is not en or fr

2006-02-02 Thread Emmanuel Venisse (JIRA)
 [ http://jira.codehaus.org/browse/SCM-124?page=all ]
 
Emmanuel Venisse closed SCM-124:


Resolution: Fixed

Applied. Thanks.

> StarteamChangeLogConsumerTest does not work if locale is not en or fr
> -
>
>  Key: SCM-124
>  URL: http://jira.codehaus.org/browse/SCM-124
>  Project: Maven SCM
> Type: Bug

>   Components: maven-scm-provider-starteam
>  Environment: Maven 2.0.1, JDK 1.4.2_09, Win XP Pro, Swedish locale
> Reporter: Dennis Lundberg
> Assignee: Emmanuel Venisse
>  Fix For: 1.0-beta-3
>  Attachments: SCM-124.patch
>
>
> The testcase StarteamChangeLogConsumerTest makes assumptions about the user's 
> locale that are not always true.
> Lines 45-52 uses the default locale and if a suitable changelog for that 
> locale is not found, it defaults to using the English changelog file. This 
> works well for English and French which have changelog files. But it does not 
> work for other locales that use a different dateformat than English, i.e most 
> of Europe.
> The problem is that the class StarteamChangeLogConsumer has a private 
> instance variable of SimpleDateFormat called localFormat. This variable can 
> not be set from outside the class. On line 390 localFormat is used to parse 
> dates. This will fail if the user has a different locale than the one being 
> used in the logfile being parsed. I imagine that it is common (at least not 
> uncommon) to have different locales on the server and the client.
> So the locale used in the StarteamChangeLogConsumer needs to be set to the 
> locale used by the *server* and not the *client*. A simple getter/setter 
> would do the trick. The locale would need to be configurable in some way so 
> that the user can set the locale that is used by his/her server.
> The reason I stumbled upon this was when I tried to do "mvn test" for 
> maven-scm. It produced this stacktrace:
> ...
> [INFO] 
> 
> [INFO] Building Maven SCM Starteam Provider
> [INFO]task-segment: [test]
> [INFO] 
> 
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> Compiling 25 source files to 
> G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target\classes
> [INFO] [resources:testResources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:testCompile]
> Compiling 22 source files to 
> G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target\test-classes
> [INFO] [surefire:test]
> [INFO] Setting reports dir: 
> G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target/surefire-reports
> ---
>  T E S T S
> ---
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [surefire] Running 
> org.apache.maven.scm.provider.starteam.command.add.StarteamAddCommandTest
> [surefire] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0,02 sec
> Added: ./maven.xml
> Added: ./target/checkout/maven.xml
> Added: ./target/checkout/project.properties
> Added: ./target/checkout/project.xml
> Added: ./target/checkout/bootstrap/maven.xml
> Added: ./target/checkout/bootstrap/project.properties
> Added: ./target/checkout/bootstrap/project.xml
> [surefire] Running 
> org.apache.maven.scm.provider.starteam.command.add.StarteamAddConsumerTest
> [surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0,03 sec
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [surefire] Running 
> org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogCommandTest
> [surefire] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0,02 sec
> [ERROR] ParseException Caught
> java.text.ParseException: Unparseable date: "4/21/04 1:05:00 PM PDT"
> at java.text.DateFormat.parse(DateFormat.java:335)
> at 
> org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogConsumer.parseDate(StarteamChangeLogConsumer.java:390)
> at 
> org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogConsumer.process

[jira] Closed: (SCM-124) StarteamChangeLogConsumerTest does not work if locale is not en or fr

2006-02-02 Thread Emmanuel Venisse (JIRA)
 [ http://jira.codehaus.org/browse/SCM-124?page=all ]
 
Emmanuel Venisse closed SCM-124:


 Assign To: Emmanuel Venisse
Resolution: Fixed

Fixed.

I've tested with : MAVEN_OPTS=-Duser.language=de -Duser.country=DE

> StarteamChangeLogConsumerTest does not work if locale is not en or fr
> -
>
>  Key: SCM-124
>  URL: http://jira.codehaus.org/browse/SCM-124
>  Project: Maven SCM
> Type: Bug

>   Components: maven-scm-provider-starteam
>  Environment: Maven 2.0.1, JDK 1.4.2_09, Win XP Pro, Swedish locale
> Reporter: Dennis Lundberg
> Assignee: Emmanuel Venisse
>  Fix For: 1.0-beta-3

>
>
> The testcase StarteamChangeLogConsumerTest makes assumptions about the user's 
> locale that are not always true.
> Lines 45-52 uses the default locale and if a suitable changelog for that 
> locale is not found, it defaults to using the English changelog file. This 
> works well for English and French which have changelog files. But it does not 
> work for other locales that use a different dateformat than English, i.e most 
> of Europe.
> The problem is that the class StarteamChangeLogConsumer has a private 
> instance variable of SimpleDateFormat called localFormat. This variable can 
> not be set from outside the class. On line 390 localFormat is used to parse 
> dates. This will fail if the user has a different locale than the one being 
> used in the logfile being parsed. I imagine that it is common (at least not 
> uncommon) to have different locales on the server and the client.
> So the locale used in the StarteamChangeLogConsumer needs to be set to the 
> locale used by the *server* and not the *client*. A simple getter/setter 
> would do the trick. The locale would need to be configurable in some way so 
> that the user can set the locale that is used by his/her server.
> The reason I stumbled upon this was when I tried to do "mvn test" for 
> maven-scm. It produced this stacktrace:
> ...
> [INFO] 
> 
> [INFO] Building Maven SCM Starteam Provider
> [INFO]task-segment: [test]
> [INFO] 
> 
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> Compiling 25 source files to 
> G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target\classes
> [INFO] [resources:testResources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:testCompile]
> Compiling 22 source files to 
> G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target\test-classes
> [INFO] [surefire:test]
> [INFO] Setting reports dir: 
> G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target/surefire-reports
> ---
>  T E S T S
> ---
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [surefire] Running 
> org.apache.maven.scm.provider.starteam.command.add.StarteamAddCommandTest
> [surefire] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0,02 sec
> Added: ./maven.xml
> Added: ./target/checkout/maven.xml
> Added: ./target/checkout/project.properties
> Added: ./target/checkout/project.xml
> Added: ./target/checkout/bootstrap/maven.xml
> Added: ./target/checkout/bootstrap/project.properties
> Added: ./target/checkout/bootstrap/project.xml
> [surefire] Running 
> org.apache.maven.scm.provider.starteam.command.add.StarteamAddConsumerTest
> [surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0,03 sec
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is 
> :[username[:[EMAIL PROTECTED]:port:/projectName/[viewName/][folderHiearchy/]
> [surefire] Running 
> org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogCommandTest
> [surefire] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0,02 sec
> [ERROR] ParseException Caught
> java.text.ParseException: Unparseable date: "4/21/04 1:05:00 PM PDT"
> at java.text.DateFormat.parse(DateFormat.java:335)
> at 
> org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogConsumer.parseDate(StarteamChangeLogConsumer.java:390)
> at 
> org.apache.maven.scm.provide