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 ol...@apache.org on 2009/12/14 23:10:49 UTC

svn commit: r890499 - in /maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src: main/java/org/apache/maven/scm/provider/synergy/util/ test/java/org/apache/maven/scm/provider/synergy/util/

Author: olamy
Date: Mon Dec 14 22:10:49 2009
New Revision: 890499

URL: http://svn.apache.org/viewvc?rev=890499&view=rev
Log:
[SCM-505] Linux Synergy client fails to execute scm:update command.
Submitted by Subir Sasikumar.

Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.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/SynergyCCM.java?rev=890499&r1=890498&r2=890499&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java Mon Dec 14 22:10:49 2009
@@ -801,6 +801,39 @@
     }
 
     /**
+     * Create commandline to start a  remote Synergy session
+     *
+     * @param username
+     * @param password
+     * @param role
+     * @return
+     * @throws ScmException
+     */
+    public static Commandline startRemote( String username, String password, SynergyRole role )
+        throws ScmException
+    {
+        Commandline cl = new Commandline();
+
+        cl.setExecutable( CCM );
+        cl.createArg().setValue( START );
+        cl.createArg().setValue( "-nogui" );
+        cl.createArg().setValue( "-m" ); // Multissesion
+        cl.createArg().setValue( "-q" ); // Quiet (return only CCM_ADDR)
+		cl.createArg().setValue( "-rc" );//Remote client
+        cl.createArg().setValue( "-n" );
+        cl.createArg().setValue( username );
+        cl.createArg().setValue( "-pw" );
+        cl.createArg().setValue( password );
+        if ( role != null )
+        {
+            cl.createArg().setValue( "-r" );
+            cl.createArg().setValue( role.toString() );
+        }
+
+        return cl;
+    }
+	
+    /**
      * Create commandline to get Synergy database delimiter
      *
      * @return

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=890499&r1=890498&r2=890499&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 14 22:10:49 2009
@@ -717,7 +717,24 @@
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
 
-        executeSynergyCommand( logger, cl, stderr, stdout, true );
+        //executeSynergyCommand( logger, cl, stderr, stdout, true );
+		
+		int exitCode = executeSynergyCommand( logger, cl, stderr, stdout, false );
+		
+		if ( logger.isDebugEnabled() )
+        {
+            logger.debug( "Synergy : start returns with error code " + exitCode );
+        }		
+		
+		if ( exitCode != 0 ) 
+		{
+			cl = SynergyCCM.startRemote( username, password, role );
+            
+			stderr = new CommandLineUtils.StringStreamConsumer();
+            stdout = new CommandLineUtils.StringStreamConsumer();			
+			
+			executeSynergyCommand( logger, cl, stderr, stdout, true );			
+		}
 
         return stdout.getOutput();
     }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java?rev=890499&r1=890498&r2=890499&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java Mon Dec 14 22:10:49 2009
@@ -393,6 +393,13 @@
         Commandline cl = SynergyCCM.start( "user", "pass", SynergyRole.BUILD_MGR );
         assertCommandLine( "ccm start -nogui -m -q -n user -pw pass -r build_mgr", null, cl );
     }
+	
+	public void testStartRemote()
+        throws ScmException
+    {
+        Commandline cl = SynergyCCM.startRemote( "user", "pass", SynergyRole.BUILD_MGR );
+        assertCommandLine( "ccm start -nogui -m -q -rc -n user -pw pass -r build_mgr", null, cl );
+    }
 
     public void testStop()
         throws Exception