Author: evenisse
Date: Thu Apr  5 06:18:33 2007
New Revision: 525820

URL: http://svn.apache.org/viewvc?view=rev&rev=525820
Log:
Add more doc

Modified:
    maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt
    maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt

Modified: maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt?view=diff&rev=525820&r1=525819&r2=525820
==============================================================================
--- maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt (original)
+++ maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt Thu Apr  5 
06:18:33 2007
@@ -6,10 +6,12 @@
  12 March 2007
  ------
 
-<<This document is a Draft.>>
-
 Guides
 
-  * {{{new_provider.html}How to write a new SCM provider}}
+* {{{usage.html}How to use Maven-SCM in my application?}}
+
+  This {{{usage.html}document}} describe API usage for a SCM client.
+
+* {{{new_provider.html}How to write a new SCM provider?}}
 
-  * {{{usage.html}How to use Maven-SCM in my application}}
+  This {{{new_provider.html}document}} describe step by step the 
implementation of a new SCM proviser.

Modified: maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt?view=diff&rev=525820&r1=525819&r2=525820
==============================================================================
--- maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt (original)
+++ maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt Thu Apr  5 
06:18:33 2007
@@ -42,20 +42,7 @@
 ** Without Plexus IOC
 
   Without Plexus, you must add all your SCM providers in the manager and that
-  will require more work. You can use the basic SCM manager:
-
-+------------------------------------------+
-    public class BasicScmManager
-        extends AbstractScmManager
-    {
-        protected ScmLogger getScmLogger()
-        {
-            return new DefaultLog();
-        }
-    }
-+------------------------------------------+
-
-  Now that your SCM Manager class is created, you can initialize it:
+  will require more work. You can use the basic SCM manager or write your own:
 
 +------------------------------------------+
 import org.apache.maven.scm.manager.BasicScmManager;
@@ -69,8 +56,8 @@
         scmManager = new BasicScmManager();
 
         //Add all SCM providers we want to use
-        scmManager.addScmProvider( "cvs", new CvsJavaScmProvider() );
-        scmManager.addScmProvider( "svn", new SvnExeScmProvider() );
+        scmManager.setScmProvider( "cvs", new CvsJavaScmProvider() );
+        scmManager.setScmProvider( "svn", new SvnExeScmProvider() );
         ...
     }
 
@@ -97,14 +84,10 @@
         }
         catch ( NoSuchScmProviderException ex )
         {
-            System.err.println( "Could not find a provider." );
-
             throw new Exception( "Could not find a provider." );
         }
         catch ( ScmRepositoryException ex )
         {
-            System.err.println( "Error while connecting to the repository" );
-
             throw new Exception( "Error while connecting to the repository" );
         }
     }
@@ -133,12 +116,7 @@
 
         CheckOutScmResult result = scmManager.checkOut( scmRepository, new 
ScmFileSet( workingDirectory ) );
 
-        if ( !result.isSuccess() )
-        {
-            showError( result );
-
-            return;
-        }
+        checkResult( result );
 
         List checkedOutFiles = result.getCheckedOutFiles();
 
@@ -168,12 +146,7 @@
 
         UpdateScmResult result = scmManager.update( scmRepository, new 
ScmFileSet( workingDirectory ) );
 
-        if ( !result.isSuccess() )
-        {
-            showError( result );
-
-            return;
-        }
+        checkResult( result );
 
         List updatedFiles = result.getUpdatedFiles();
 
@@ -184,6 +157,31 @@
             ScmFile file = (ScmFile) it.next();
 
             System.out.println( " " + file.getPath() );
+        }
+    }
++------------------------------------------+
+
+* The checkResult method
+
+  In each sample command code, we use the <<<checkResult>>> method, it isn't
+  required but can be useful if something failed in the command execution.
+
++------------------------------------------+
+    public void checkResult( ScmResult result )
+        throws Exception
+    {
+        if ( !result.isSuccess() )
+        {
+            System.err.println( "Provider message:" );
+
+            System.err.println( result.getProviderMessage() == null ? "" : 
result.getProviderMessage() );
+
+            System.err.println( "Command output:" );
+
+            System.err.println( result.getCommandOutput() == null ? "" : 
result.getCommandOutput() );
+
+            throw new Exception(
+                "Command failed." + StringUtils.defaultString( 
result.getProviderMessage() ) );
         }
     }
 +------------------------------------------+


Reply via email to