Author: olamy Date: Mon Dec 28 21:55:32 2009 New Revision: 894254 URL: http://svn.apache.org/viewvc?rev=894254&view=rev Log: [SCM-261] Synergy provider assumes instance of 1 for projects... won't work for distributed CM (and some other scenarios). Submitted by Subir Sasikumar
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java?rev=894254&r1=894253&r2=894254&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java Mon Dec 28 21:55:32 2009 @@ -46,10 +46,12 @@ private String projectPurpose; private String delimiter; + + private String instance; /** * @param url format is - * project_name|delimiter|project_version|Release|Purpose + * project_name|delimiter|project_version|Release|Purpose|instance */ public SynergyScmProviderRepository( String url ) throws ScmRepositoryException @@ -97,10 +99,23 @@ projectVersion = tokenizer.nextToken(); projectRelease = tokenizer.nextToken(); projectPurpose = tokenizer.nextToken(); + instance = "1"; - projectSpec = projectName + delimiter + projectVersion; + projectSpec = projectName + delimiter + projectVersion + ":project:" + instance; } + else if (tokenizer.countTokens() == 6 ) + { //optional prep project instance also + projectName = tokenizer.nextToken(); + delimiter = tokenizer.nextToken(); + projectVersion = tokenizer.nextToken(); + projectRelease = tokenizer.nextToken(); + projectPurpose = tokenizer.nextToken(); + instance = tokenizer.nextToken(); + + projectSpec = projectName + delimiter + projectVersion + ":project:" + instance; + + } else { throw new MalformedURLException(); @@ -138,4 +153,12 @@ return projectRelease; } + /** + * @return the instance + */ + public String getInstance() { + return instance; + } + + } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java?rev=894254&r1=894253&r2=894254&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java Mon Dec 28 21:55:32 2009 @@ -103,10 +103,10 @@ } String query = - "owner='" + username + "' and status='working' and type='project' and has_predecessor('" + projectSpec - + ":project:1')"; + "owner='" + username + "' and status='working' and type='project' and has_predecessor('" + projectSpec +"')"; + //+ ":project:1')"; SCM-261 - Commandline cl = SynergyCCM.query( query, "%displayname", ccmAddr ); + Commandline cl = SynergyCCM.query( query, "%objectname", ccmAddr ); CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); SynergyGetWorkingProjectConsumer stdout = new SynergyGetWorkingProjectConsumer( logger ); @@ -216,7 +216,7 @@ SimpleDateFormat toCcmDate = new SimpleDateFormat( "yyyy/MM/dd HH:mm:ss", new Locale( "en", "US" ) ); // Construct the query string - String query = "is_task_in_folder_of(is_folder_in_rp_of('" + projectSpec + ":project:1" + "'))"; + String query = "is_task_in_folder_of(is_folder_in_rp_of('" + projectSpec + "'))"; if ( startDate != null ) { query = query + "and completion_date>time('" + toCcmDate.format( startDate ) + "')";