Author: ltheussl
Date: Wed Apr  5 13:29:13 2006
New Revision: 391790

URL: http://svn.apache.org/viewcvs?rev=391790&view=rev
Log:
Replace tabs

Modified:
    
maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java

Modified: 
maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java?rev=391790&r1=391789&r2=391790&view=diff
==============================================================================
--- 
maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java
 (original)
+++ 
maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java
 Wed Apr  5 13:29:13 2006
@@ -43,102 +43,102 @@
  * @version $Id$
  */
 public final class ScmUtil {
-       /**
-        * Get the SCM type.
-        * 
-        * @param scmConnection
-        *            the scm connection to analyse.
-        * @return the scm type : cvs, svn , ...
-        */
-       public String getScmType(final String scmConnection) {
-               if (isValid(scmConnection)) {
-                       return splitSCMConnection(scmConnection)[1];
-               }
-
-               return null;
-       }
-
-       /**
-        * Get cvs connection string. Used in
-        * xdocs/src/plugin-resources/templates/scm/cvs.xml. If username == "",
-        * assumes anonymous (pserver) connection. In this case, inserts a 
separator
-        * (':' or '|') between the username and '@' to indicate that there is a
-        * password and that it is empty. If username != "" it replaces 
username in
-        * conn.
-        * 
-        * @param conn
-        *            six token connection string
-        * @param username
-        *            username override if non-empty.
-        * @return CVS root.
-        */
-       public String getCvsConnection(String conn, String username) {
-               String[] tokens = splitSCMConnection(conn);
-
-               if (!tokens[1].equals("cvs")) {
-                       return "";
-               }
-
-               String separator = getSCMConnectionSeparator(conn);
-
-               if (tokens[3].indexOf('@') >= 0) {
-                       if (username.length() == 0) {
-                               username = tokens[3].substring(0, 
tokens[3].indexOf('@'))
-                                               + separator;
-                       }
-
-                       tokens[3] = username + "@"
-                                       + 
tokens[3].substring(tokens[3].indexOf('@') + 1);
-               }
-
-               String result = tokens[0] + ":" + tokens[1] + separator + 
tokens[2]
-                               + separator + tokens[3] + separator + tokens[4] 
+ separator
-                               + tokens[5];
-
-               return result;
-       }
-
-       /**
-        * Get cvs module. Used in 
xdocs/src/plugin-resources/templates/scm/cvs.xml.
-        * 
-        * @param conn
-        *            six token connection string
-        * @return CVS module.
-        */
-       public String getCvsModule(String conn) {
-               if (isValid(conn)) {
-                       String[] tokens = splitSCMConnection(conn);
-
-                       if (!tokens[1].equals("cvs")) {
-                               return "";
-                       }
-
-                       return tokens[5];
-               }
-
-               return null;
-       }
-
-       /**
-        * Get svn connection string. Used in
-        * xdocs/src/plugin-resources/templates/scm/svn.xml. It removes the 
first
-        * two elements (scm:svn:)
-        * 
-        * @param conn
-        *            the repository connection
-        * @return CVS root.
-        */
-       public String getSvnConnection(String conn) {
-               if (conn != null && conn.length() > 8
-                               && "svn".equals(conn.substring(4, 7)))
-                       return conn.substring(8);
-               else {
-                       System.err
-                                       .println("Your subversion connection 
does not seem to be valid: "
-                                                       + conn);
-                       return "";
-               }
-       }
+    /**
+     * Get the SCM type.
+     * 
+     * @param scmConnection
+     *            the scm connection to analyse.
+     * @return the scm type : cvs, svn , ...
+     */
+    public String getScmType(final String scmConnection) {
+        if (isValid(scmConnection)) {
+            return splitSCMConnection(scmConnection)[1];
+        }
+
+        return null;
+    }
+
+    /**
+     * Get cvs connection string. Used in
+     * xdocs/src/plugin-resources/templates/scm/cvs.xml. If username == "",
+     * assumes anonymous (pserver) connection. In this case, inserts a 
separator
+     * (':' or '|') between the username and '@' to indicate that there is a
+     * password and that it is empty. If username != "" it replaces username in
+     * conn.
+     * 
+     * @param conn
+     *            six token connection string
+     * @param username
+     *            username override if non-empty.
+     * @return CVS root.
+     */
+    public String getCvsConnection(String conn, String username) {
+        String[] tokens = splitSCMConnection(conn);
+
+        if (!tokens[1].equals("cvs")) {
+            return "";
+        }
+
+        String separator = getSCMConnectionSeparator(conn);
+
+        if (tokens[3].indexOf('@') >= 0) {
+            if (username.length() == 0) {
+                username = tokens[3].substring(0, tokens[3].indexOf('@'))
+                        + separator;
+            }
+
+            tokens[3] = username + "@"
+                    + tokens[3].substring(tokens[3].indexOf('@') + 1);
+        }
+
+        String result = tokens[0] + ":" + tokens[1] + separator + tokens[2]
+                + separator + tokens[3] + separator + tokens[4] + separator
+                + tokens[5];
+
+        return result;
+    }
+
+    /**
+     * Get cvs module. Used in 
xdocs/src/plugin-resources/templates/scm/cvs.xml.
+     * 
+     * @param conn
+     *            six token connection string
+     * @return CVS module.
+     */
+    public String getCvsModule(String conn) {
+        if (isValid(conn)) {
+            String[] tokens = splitSCMConnection(conn);
+
+            if (!tokens[1].equals("cvs")) {
+                return "";
+            }
+
+            return tokens[5];
+        }
+
+        return null;
+    }
+
+    /**
+     * Get svn connection string. Used in
+     * xdocs/src/plugin-resources/templates/scm/svn.xml. It removes the first
+     * two elements (scm:svn:)
+     * 
+     * @param conn
+     *            the repository connection
+     * @return CVS root.
+     */
+    public String getSvnConnection(String conn) {
+        if (conn != null && conn.length() > 8
+                && "svn".equals(conn.substring(4, 7)))
+            return conn.substring(8);
+        else {
+            System.err
+                    .println("Your subversion connection does not seem to be 
valid: "
+                            + conn);
+            return "";
+        }
+    }
 
     /**
      * Create the documentation to provide an anonymous access with a 
<code>CVS</code> SCM.
@@ -290,262 +290,262 @@
     }
 
 
-       /**
-        * Create the documentation to provide an developer access with a
-        * <code>Perforce</code> SCM. For example, generate the following 
command
-        * line:
-        * <p>
-        * p4 -H hostname -p port -u username -P password path
-        * </p>
-        * <p>
-        * p4 -H hostname -p port -u username -P password path submit -c 
changement
-        * </p>
-        * 
-        * @param devConnection
-        * @see <a
-        *      
href="http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html";>http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html</>
-        */
-       public String developerAccessPerforce(String devConnection) {
-               StringBuffer command = new StringBuffer();
-               char delim = getSCMConnectionSeparator(devConnection).charAt(0);
-
-               PerforceScmProvider perforceProvider = new 
PerforceScmProvider();
-               PerforceScmProviderRepository perforceRepo;
-
-               String scmSpecificUrl = devConnection.substring(13);
-
-               try {
-                       perforceRepo = (PerforceScmProviderRepository) 
perforceProvider
-                                       
.makeProviderScmRepository(scmSpecificUrl, delim);
-               } catch (ScmRepositoryException e) {
-                       System.err
-                                       .println("Your developerConnection does 
not seem to be valid: "
-                                                       + e.getMessage());
-                       return "";
-               }
-
-               command.append("p4");
-               if (!StringUtils.isEmpty(perforceRepo.getHost())) {
-                       command.append(" -H ").append(perforceRepo.getHost());
-               }
-               if (perforceRepo.getPort() > 0) {
-                       command.append(" -p " + perforceRepo.getPort());
-               }
-               command.append(" -u username");
-               command.append(" -P password");
-               command.append(" ");
-               command.append(perforceRepo.getPath());
-               command.append("\n");
-               command.append("p4 submit -c \"A comment\"");
-
-               return command.toString();
-       }
-
-       // Starteam
-
-       /**
-        * Create the documentation to provide an developer access with a
-        * <code>Starteam</code> SCM. For example, generate the following 
command
-        * line:
-        * <p>
-        * stcmd co -x -nologo -stop -p myusername:[EMAIL 
PROTECTED]:1234/projecturl
-        * -is
-        * </p>
-        * <p>
-        * stcmd ci -x -nologo -stop -p myusername:[EMAIL 
PROTECTED]:1234/projecturl
-        * -f NCI -is
-        * </p>
-        * 
-        * @param devConnection
-        */
-       public String developerAccessStarteam(String devConnection) {
-
-               StringBuffer command = new StringBuffer();
-               char delim = getSCMConnectionSeparator(devConnection).charAt(0);
-
-               StarteamScmProvider starteamProvider = new 
StarteamScmProvider();
-               StarteamScmProviderRepository starteamRepo;
-
-               String scmSpecificUrl = devConnection.substring(13);
-
-               try {
-                       starteamRepo = (StarteamScmProviderRepository) 
starteamProvider
-                                       
.makeProviderScmRepository(scmSpecificUrl, delim);
-               } catch (ScmRepositoryException e) {
-                       System.err
-                                       .println("Your developerConnection does 
not seem to be valid: "
-                                                       + e.getMessage());
-                       return "";
-               }
-
-               // Safety: remove the username/password if present
-               String fullUrl = StringUtils.replace(starteamRepo.getFullUrl(),
-                               starteamRepo.getUser(), "username");
-               fullUrl = StringUtils.replace(fullUrl, 
starteamRepo.getPassword(),
-                               "password");
-
-               command.append("stcmd co -x -nologo -stop -p ");
-               command.append(fullUrl);
-               command.append(" -is");
-               command.append("\n");
-               command.append("stcmd ci -x -nologo -stop -p ");
-               command.append(fullUrl);
-               command.append(" -f NCI -is");
-
-               return command.toString();
-       }
-
-       /**
-        * Create the documentation to provide an developer access with a
-        * <code>Clearcase</code> SCM. For example, generate the following 
command
-        * line:
-        * <p>
-        * cleartool checkout module
-        * </p>
-        * 
-        * @param devConnection
-        */
-       public String developerAccessClearCase(String devConnection) {
-
-               StringBuffer command = new StringBuffer();
-               char delim = getSCMConnectionSeparator(devConnection).charAt(0);
-
-               ClearCaseScmProvider clearCaseProvider = new 
ClearCaseScmProvider();
-               ClearCaseScmProviderRepository clearCaseRepo;
-
-               String scmSpecificUrl = devConnection.substring(14);
-
-               try {
-                       clearCaseRepo = (ClearCaseScmProviderRepository) 
clearCaseProvider
-                                       
.makeProviderScmRepository(scmSpecificUrl, delim);
-               } catch (ScmRepositoryException e) {
-                       System.err
-                                       .println("Your developerConnection does 
not seem to be valid: "
-                                                       + e.getMessage());
-                       return "";
-               }
-
-               command.append("cleartool checkout ").append(
-                               clearCaseRepo.getViewName("id"));
-
-               return command.toString();
-       }
-
-       /**
-        * Splits an SCM string into parts.
-        * 
-        * @param connection
-        * @return A string array of SCM parts
-        */
-       public String[] splitSCMConnection(String connection) {
-               if (connection == null) {
-                       throw new NullPointerException("repository connection 
is null");
-               }
-
-               if (connection.length() < 5) {
-                       throw new IllegalArgumentException(
-                                       "repository connection is too short");
-               }
-
-               if (!connection.startsWith("scm:")) {
-                       throw new IllegalArgumentException(
-                                       "repository connection must start with 
scm:");
-               }
-
-               String delimiter = getSCMConnectionSeparator(connection);
-
-               // If the tokenizer is going to work correctly then the 
character
-               // following "scm" must be the same as the delimiter, which is 
not
-               // always the case. Therefor we give it a modified connection.
-               String modifiedConnection = "scm" + delimiter + 
connection.substring(4);
-
-               EnhancedStringTokenizer tok = new EnhancedStringTokenizer(
-                               modifiedConnection, delimiter);
-
-               String[] tokens = tokenizerToArray(tok);
-
-               // for a valid repository, it should be scm:<provider> at least
-               if ((tokens.length >= 1) && tokens[1].equals("cvs")) {
-                       if ((tokens.length >= 2) && tokens[2].equals("local")) {
-                               if (tokens.length == 6) {
-                                       if ((tokens[3].length() > 0) && 
!tokens[3].equals("local")) {
-                                               throw new 
IllegalArgumentException(
-                                                               "cvs local 
repository connection string must specify 5 tokens, or an empty 3rd token if 
6");
-                                       }
-                               } else if (tokens.length == 5) {
-                                       String[] newTokens = new String[6];
-
-                                       newTokens[0] = tokens[0];
-                                       newTokens[1] = tokens[1];
-                                       newTokens[2] = tokens[2];
-                                       newTokens[3] = "";
-                                       newTokens[4] = tokens[3];
-                                       newTokens[5] = tokens[4];
-                                       tokens = newTokens;
-                               } else {
-                                       throw new IllegalArgumentException(
-                                                       "cvs local repository 
connection string doesn't contain five tokens");
-                               }
-                       }
-
-                       if (tokens.length != 6) {
-                               throw new IllegalArgumentException(
-                                               "cvs repository connection 
string doesn't contain six tokens");
-                       }
-               }
-
-               return tokens;
-       }
-
-       /**
-        * Get the separator used in an SCM string
-        * 
-        * @param connection
-        * @return String that can be either ":" or "|"
-        */
-       public String getSCMConnectionSeparator(String connection) {
-               if (connection == null) {
-                       throw new NullPointerException("repository connection 
is null");
-               }
-
-               if (connection.indexOf("|") != -1) {
-                       return "|";
-               } else {
-                       return ":";
-               }
-       }
-
-       /**
-        * Converts a tokenizer to an array of strings FIXME: This should be in 
a
-        * string util class.
-        * 
-        * @param tok
-        * @return String[]
-        */
-       public String[] tokenizerToArray(EnhancedStringTokenizer tok) {
-               List l = new ArrayList();
-
-               while (tok.hasMoreTokens()) {
-                       l.add(tok.nextToken());
-               }
-
-               return (String[]) l.toArray(new String[l.size()]);
-       }
-
-       /**
-        * Simple check for a value in the POM. Due to the Jelly swizzling 
fields
-        * that aren't set come out as empty strings. This will not be required 
when
-        * the new lazy evaluation mechanism is put in place.
-        * 
-        * @param value
-        *            POM value to test.
-        * @return Is the value valid.
-        */
-       protected boolean isValid(String value) {
-               if ((value != null) && !value.trim().equals("")) {
-                       return true;
-               }
+    /**
+     * Create the documentation to provide an developer access with a
+     * <code>Perforce</code> SCM. For example, generate the following command
+     * line:
+     * <p>
+     * p4 -H hostname -p port -u username -P password path
+     * </p>
+     * <p>
+     * p4 -H hostname -p port -u username -P password path submit -c changement
+     * </p>
+     * 
+     * @param devConnection
+     * @see <a
+     *      
href="http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html";>http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html</>
+     */
+    public String developerAccessPerforce(String devConnection) {
+        StringBuffer command = new StringBuffer();
+        char delim = getSCMConnectionSeparator(devConnection).charAt(0);
+
+        PerforceScmProvider perforceProvider = new PerforceScmProvider();
+        PerforceScmProviderRepository perforceRepo;
+
+        String scmSpecificUrl = devConnection.substring(13);
+
+        try {
+            perforceRepo = (PerforceScmProviderRepository) perforceProvider
+                    .makeProviderScmRepository(scmSpecificUrl, delim);
+        } catch (ScmRepositoryException e) {
+            System.err
+                    .println("Your developerConnection does not seem to be 
valid: "
+                            + e.getMessage());
+            return "";
+        }
+
+        command.append("p4");
+        if (!StringUtils.isEmpty(perforceRepo.getHost())) {
+            command.append(" -H ").append(perforceRepo.getHost());
+        }
+        if (perforceRepo.getPort() > 0) {
+            command.append(" -p " + perforceRepo.getPort());
+        }
+        command.append(" -u username");
+        command.append(" -P password");
+        command.append(" ");
+        command.append(perforceRepo.getPath());
+        command.append("\n");
+        command.append("p4 submit -c \"A comment\"");
+
+        return command.toString();
+    }
+
+    // Starteam
+
+    /**
+     * Create the documentation to provide an developer access with a
+     * <code>Starteam</code> SCM. For example, generate the following command
+     * line:
+     * <p>
+     * stcmd co -x -nologo -stop -p myusername:[EMAIL 
PROTECTED]:1234/projecturl
+     * -is
+     * </p>
+     * <p>
+     * stcmd ci -x -nologo -stop -p myusername:[EMAIL 
PROTECTED]:1234/projecturl
+     * -f NCI -is
+     * </p>
+     * 
+     * @param devConnection
+     */
+    public String developerAccessStarteam(String devConnection) {
+
+        StringBuffer command = new StringBuffer();
+        char delim = getSCMConnectionSeparator(devConnection).charAt(0);
 
-               return false;
-       }
+        StarteamScmProvider starteamProvider = new StarteamScmProvider();
+        StarteamScmProviderRepository starteamRepo;
+
+        String scmSpecificUrl = devConnection.substring(13);
+
+        try {
+            starteamRepo = (StarteamScmProviderRepository) starteamProvider
+                    .makeProviderScmRepository(scmSpecificUrl, delim);
+        } catch (ScmRepositoryException e) {
+            System.err
+                    .println("Your developerConnection does not seem to be 
valid: "
+                            + e.getMessage());
+            return "";
+        }
+
+        // Safety: remove the username/password if present
+        String fullUrl = StringUtils.replace(starteamRepo.getFullUrl(),
+                starteamRepo.getUser(), "username");
+        fullUrl = StringUtils.replace(fullUrl, starteamRepo.getPassword(),
+                "password");
+
+        command.append("stcmd co -x -nologo -stop -p ");
+        command.append(fullUrl);
+        command.append(" -is");
+        command.append("\n");
+        command.append("stcmd ci -x -nologo -stop -p ");
+        command.append(fullUrl);
+        command.append(" -f NCI -is");
+
+        return command.toString();
+    }
+
+    /**
+     * Create the documentation to provide an developer access with a
+     * <code>Clearcase</code> SCM. For example, generate the following command
+     * line:
+     * <p>
+     * cleartool checkout module
+     * </p>
+     * 
+     * @param devConnection
+     */
+    public String developerAccessClearCase(String devConnection) {
+
+        StringBuffer command = new StringBuffer();
+        char delim = getSCMConnectionSeparator(devConnection).charAt(0);
+
+        ClearCaseScmProvider clearCaseProvider = new ClearCaseScmProvider();
+        ClearCaseScmProviderRepository clearCaseRepo;
+
+        String scmSpecificUrl = devConnection.substring(14);
+
+        try {
+            clearCaseRepo = (ClearCaseScmProviderRepository) clearCaseProvider
+                    .makeProviderScmRepository(scmSpecificUrl, delim);
+        } catch (ScmRepositoryException e) {
+            System.err
+                    .println("Your developerConnection does not seem to be 
valid: "
+                            + e.getMessage());
+            return "";
+        }
+
+        command.append("cleartool checkout ").append(
+                clearCaseRepo.getViewName("id"));
+
+        return command.toString();
+    }
+
+    /**
+     * Splits an SCM string into parts.
+     * 
+     * @param connection
+     * @return A string array of SCM parts
+     */
+    public String[] splitSCMConnection(String connection) {
+        if (connection == null) {
+            throw new NullPointerException("repository connection is null");
+        }
+
+        if (connection.length() < 5) {
+            throw new IllegalArgumentException(
+                    "repository connection is too short");
+        }
+
+        if (!connection.startsWith("scm:")) {
+            throw new IllegalArgumentException(
+                    "repository connection must start with scm:");
+        }
+
+        String delimiter = getSCMConnectionSeparator(connection);
+
+        // If the tokenizer is going to work correctly then the character
+        // following "scm" must be the same as the delimiter, which is not
+        // always the case. Therefor we give it a modified connection.
+        String modifiedConnection = "scm" + delimiter + 
connection.substring(4);
+
+        EnhancedStringTokenizer tok = new EnhancedStringTokenizer(
+                modifiedConnection, delimiter);
+
+        String[] tokens = tokenizerToArray(tok);
+
+        // for a valid repository, it should be scm:<provider> at least
+        if ((tokens.length >= 1) && tokens[1].equals("cvs")) {
+            if ((tokens.length >= 2) && tokens[2].equals("local")) {
+                if (tokens.length == 6) {
+                    if ((tokens[3].length() > 0) && 
!tokens[3].equals("local")) {
+                        throw new IllegalArgumentException(
+                                "cvs local repository connection string must 
specify 5 tokens, or an empty 3rd token if 6");
+                    }
+                } else if (tokens.length == 5) {
+                    String[] newTokens = new String[6];
+
+                    newTokens[0] = tokens[0];
+                    newTokens[1] = tokens[1];
+                    newTokens[2] = tokens[2];
+                    newTokens[3] = "";
+                    newTokens[4] = tokens[3];
+                    newTokens[5] = tokens[4];
+                    tokens = newTokens;
+                } else {
+                    throw new IllegalArgumentException(
+                            "cvs local repository connection string doesn't 
contain five tokens");
+                }
+            }
+
+            if (tokens.length != 6) {
+                throw new IllegalArgumentException(
+                        "cvs repository connection string doesn't contain six 
tokens");
+            }
+        }
+
+        return tokens;
+    }
+
+    /**
+     * Get the separator used in an SCM string
+     * 
+     * @param connection
+     * @return String that can be either ":" or "|"
+     */
+    public String getSCMConnectionSeparator(String connection) {
+        if (connection == null) {
+            throw new NullPointerException("repository connection is null");
+        }
+
+        if (connection.indexOf("|") != -1) {
+            return "|";
+        } else {
+            return ":";
+        }
+    }
+
+    /**
+     * Converts a tokenizer to an array of strings FIXME: This should be in a
+     * string util class.
+     * 
+     * @param tok
+     * @return String[]
+     */
+    public String[] tokenizerToArray(EnhancedStringTokenizer tok) {
+        List l = new ArrayList();
+
+        while (tok.hasMoreTokens()) {
+            l.add(tok.nextToken());
+        }
+
+        return (String[]) l.toArray(new String[l.size()]);
+    }
+
+    /**
+     * Simple check for a value in the POM. Due to the Jelly swizzling fields
+     * that aren't set come out as empty strings. This will not be required 
when
+     * the new lazy evaluation mechanism is put in place.
+     * 
+     * @param value
+     *            POM value to test.
+     * @return Is the value valid.
+     */
+    protected boolean isValid(String value) {
+        if ((value != null) && !value.trim().equals("")) {
+            return true;
+        }
+
+        return false;
+    }
 }


Reply via email to