You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2004/01/05 09:54:42 UTC
cvs commit: maven-components/maven-model/src/java/org/apache/maven/model Repository.java
brett 2004/01/05 00:54:42
Modified: maven-model/src/java/org/apache/maven/model Repository.java
Log:
add legacy (now deprecated) functions for compatibility
Revision Changes Path
1.6 +172 -3 maven-components/maven-model/src/java/org/apache/maven/model/Repository.java
Index: Repository.java
===================================================================
RCS file: /home/cvs/maven-components/maven-model/src/java/org/apache/maven/model/Repository.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Repository.java 2 Dec 2003 04:08:25 -0000 1.5
+++ Repository.java 5 Jan 2004 08:54:42 -0000 1.6
@@ -26,12 +26,12 @@
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache MavenSession" must not be used to endorse or promote products
+ * "Apache Maven" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
- * "Apache MavenSession", nor may "Apache" appear in their name, without
+ * "Apache Maven", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
@@ -57,6 +57,9 @@
*/
import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
/**
* NOTE: This is very CVS specific, but I would like to try additional SCM
@@ -130,4 +133,170 @@
{
return url;
}
+
+ /**
+ * Get the SCM type.
+ * @todo remove usages
+ * @deprecated use maven-scm RepositoryInfo
+ * @return SCM type
+ */
+ public String getScmType() {
+ return getConnection().substring( 4, connection.indexOf( ":", 4 ) );
+ }
+
+ /**
+ * Get the CVS Root.
+ * @todo remove usages
+ * @deprecated use maven-scm RepositoryInfo
+ * @return cvs root
+ */
+ public String getCvsRoot() {
+ return getConnection().substring( 0, connection.lastIndexOf( ":" ) ).substring( 7 );
+ }
+
+ /**
+ * Get the CVS module.
+ * @todo remove usages
+ * @deprecated use maven-scm RepositoryInfo
+ * @return cvs module
+ */
+ public String getCvsModule() {
+ return getConnection().substring( connection.lastIndexOf( ":" ) + 1 );
+ }
+
+ /**
+ * Get the CVS server.
+ * @todo remove usages
+ * @deprecated use maven-scm RepositoryInfo
+ * @return cvs server
+ */
+ public String getCvsServer() {
+ return getConnection().substring( connection.lastIndexOf( ":" ) + 1 );
+ }
+
+ /**
+ * Get cvs server.
+ *
+ * Used in xdocs/src/plugin-resources/templates/cvs-usage.xml
+ * @todo remove usages
+ *
+ * @deprecated use maven-scm RepositoryInfo
+ * @param conn six token connection string
+ * @return CVS module.
+ */
+ public String getCvsServer(String conn)
+ {
+ String[] tokens = splitSCMConnection(conn);
+ if(tokens[3].indexOf('@') >= 0)
+ {
+ return tokens[3].substring(tokens[3].indexOf('@')+1);
+ }
+ else
+ {
+ return tokens[3];
+ }
+ }
+
+ /**
+ * Get cvs root.
+ *
+ * Used in xdocs/src/plugin-resources/templates/cvs-usage.xml
+ * @todo remove usages
+ *
+ * @deprecated use maven-scm RepositoryInfo
+ * @param conn six token connection string
+ * @param username username override if non-empty.
+ * @return CVS root.
+ */
+ public String getCvsRoot(String conn, String username)
+ {
+ String[] tokens = splitSCMConnection(conn);
+ if(tokens[3].indexOf('@') >= 0)
+ {
+ if (username.length() == 0)
+ {
+ username = tokens[3].substring(0, tokens[3].indexOf('@'));
+ }
+ tokens[3] = username + "@" + tokens[3].substring(tokens[3].indexOf('@') + 1);
+ }
+ String result = ":" + tokens[2] + ":" + tokens[3] + ":" + tokens[4];
+ return result;
+ }
+
+ /**
+ * Get cvs module.
+ *
+ * Used in xdocs/src/plugin-resources/templates/cvs-usage.xml
+ * @todo remove usages
+ *
+ * @deprecated use maven-scm RepositoryInfo
+ * @param conn six token connection string
+ * @return CVS module.
+ */
+ public String getCvsModule(String conn)
+ {
+ String[] tokens = splitSCMConnection(conn);
+ return tokens[5];
+ }
+
+
+ /**
+ * Splits an SCM string into parts
+ * @deprecated use maven-scm RepositoryInfo
+ * @todo remove usages
+ * @param connection
+ * @return
+ */
+ public static String[] splitSCMConnection(String connection)
+ {
+ if (connection == null)
+ {
+ throw new NullPointerException("repository connection is null");
+ }
+
+ if (connection.length() < 4)
+ {
+ throw new IllegalArgumentException("repository connection is too short");
+ }
+
+ if (!connection.startsWith("scm"))
+ {
+ throw new IllegalArgumentException("repository connection must start with scm[delim]");
+ }
+
+ String delimiter = "" + connection.charAt(3);
+
+ StringTokenizer tok = new StringTokenizer(connection, delimiter);
+
+ String[] tokens = tokenizerToArray(tok);
+
+ if (tokens.length < 6)
+ {
+ throw new IllegalArgumentException("repository connection string contains less than six tokens");
+ }
+
+ if (tokens.length > 6)
+ {
+ throw new IllegalArgumentException("repository connection string contains more than six tokens");
+ }
+ return tokens;
+ }
+
+ /**
+ * Converts a tokenizer to an array of strings
+ * @todo add method to maven-scm EnhancedStringTokenizer
+ * @deprecated use maven-scm EnhancedStringTokenizer
+ * @param tok
+ * @return String[]
+ */
+ public static String[] tokenizerToArray(StringTokenizer tok)
+ {
+ List l = new ArrayList();
+ while (tok.hasMoreTokens())
+ {
+ l.add(tok.nextToken());
+ }
+ return (String[]) l.toArray(new String[l.size()]);
+ }
}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: cvs commit: maven-components/maven-model/src/java/org/apache/maven/model Repository.java
Posted by Emmanuel Venisse <em...@venisse.net>.
Why you don't use directly maven-scm in this deprecated methods?
Emmanuel
----- Original Message -----
From: <br...@apache.org>
To: <ma...@apache.org>
Sent: Monday, January 05, 2004 9:54 AM
Subject: cvs commit:
maven-components/maven-model/src/java/org/apache/maven/model Repository.java
> brett 2004/01/05 00:54:42
>
> Modified: maven-model/src/java/org/apache/maven/model Repository.java
> Log:
> add legacy (now deprecated) functions for compatibility
>
> Revision Changes Path
> 1.6 +172 -3
maven-components/maven-model/src/java/org/apache/maven/model/Repository.java
>
> Index: Repository.java
> ===================================================================
> RCS file:
/home/cvs/maven-components/maven-model/src/java/org/apache/maven/model/Repos
itory.java,v
> retrieving revision 1.5
> retrieving revision 1.6
> diff -u -r1.5 -r1.6
> --- Repository.java 2 Dec 2003 04:08:25 -0000 1.5
> +++ Repository.java 5 Jan 2004 08:54:42 -0000 1.6
> @@ -26,12 +26,12 @@
> * if and wherever such third-party acknowledgments normally appear.
> *
> * 4. The names "Apache" and "Apache Software Foundation" and
> - * "Apache MavenSession" must not be used to endorse or promote
products
> + * "Apache Maven" must not be used to endorse or promote products
> * derived from this software without prior written permission. For
> * written permission, please contact apache@apache.org.
> *
> * 5. Products derived from this software may not be called "Apache",
> - * "Apache MavenSession", nor may "Apache" appear in their name,
without
> + * "Apache Maven", nor may "Apache" appear in their name, without
> * prior written permission of the Apache Software Foundation.
> *
> * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> @@ -57,6 +57,9 @@
> */
>
> import java.io.Serializable;
> +import java.util.ArrayList;
> +import java.util.List;
> +import java.util.StringTokenizer;
>
> /**
> * NOTE: This is very CVS specific, but I would like to try additional
SCM
> @@ -130,4 +133,170 @@
> {
> return url;
> }
> +
> + /**
> + * Get the SCM type.
> + * @todo remove usages
> + * @deprecated use maven-scm RepositoryInfo
> + * @return SCM type
> + */
> + public String getScmType() {
> + return getConnection().substring( 4, connection.indexOf( ":",
4 ) );
> + }
> +
> + /**
> + * Get the CVS Root.
> + * @todo remove usages
> + * @deprecated use maven-scm RepositoryInfo
> + * @return cvs root
> + */
> + public String getCvsRoot() {
> + return getConnection().substring( 0, connection.lastIndexOf(
":" ) ).substring( 7 );
> + }
> +
> + /**
> + * Get the CVS module.
> + * @todo remove usages
> + * @deprecated use maven-scm RepositoryInfo
> + * @return cvs module
> + */
> + public String getCvsModule() {
> + return getConnection().substring( connection.lastIndexOf( ":" )
+ 1 );
> + }
> +
> + /**
> + * Get the CVS server.
> + * @todo remove usages
> + * @deprecated use maven-scm RepositoryInfo
> + * @return cvs server
> + */
> + public String getCvsServer() {
> + return getConnection().substring( connection.lastIndexOf( ":" )
+ 1 );
> + }
> +
> + /**
> + * Get cvs server.
> + *
> + * Used in xdocs/src/plugin-resources/templates/cvs-usage.xml
> + * @todo remove usages
> + *
> + * @deprecated use maven-scm RepositoryInfo
> + * @param conn six token connection string
> + * @return CVS module.
> + */
> + public String getCvsServer(String conn)
> + {
> + String[] tokens = splitSCMConnection(conn);
> + if(tokens[3].indexOf('@') >= 0)
> + {
> + return tokens[3].substring(tokens[3].indexOf('@')+1);
> + }
> + else
> + {
> + return tokens[3];
> + }
> + }
> +
> + /**
> + * Get cvs root.
> + *
> + * Used in xdocs/src/plugin-resources/templates/cvs-usage.xml
> + * @todo remove usages
> + *
> + * @deprecated use maven-scm RepositoryInfo
> + * @param conn six token connection string
> + * @param username username override if non-empty.
> + * @return CVS root.
> + */
> + public String getCvsRoot(String conn, String username)
> + {
> + String[] tokens = splitSCMConnection(conn);
> + if(tokens[3].indexOf('@') >= 0)
> + {
> + if (username.length() == 0)
> + {
> + username = tokens[3].substring(0,
tokens[3].indexOf('@'));
> + }
> + tokens[3] = username + "@" +
tokens[3].substring(tokens[3].indexOf('@') + 1);
> + }
> + String result = ":" + tokens[2] + ":" + tokens[3] + ":" +
tokens[4];
> + return result;
> + }
> +
> + /**
> + * Get cvs module.
> + *
> + * Used in xdocs/src/plugin-resources/templates/cvs-usage.xml
> + * @todo remove usages
> + *
> + * @deprecated use maven-scm RepositoryInfo
> + * @param conn six token connection string
> + * @return CVS module.
> + */
> + public String getCvsModule(String conn)
> + {
> + String[] tokens = splitSCMConnection(conn);
> + return tokens[5];
> + }
> +
> +
> + /**
> + * Splits an SCM string into parts
> + * @deprecated use maven-scm RepositoryInfo
> + * @todo remove usages
> + * @param connection
> + * @return
> + */
> + public static String[] splitSCMConnection(String connection)
> + {
> + if (connection == null)
> + {
> + throw new NullPointerException("repository connection is
null");
> + }
> +
> + if (connection.length() < 4)
> + {
> + throw new IllegalArgumentException("repository connection
is too short");
> + }
> +
> + if (!connection.startsWith("scm"))
> + {
> + throw new IllegalArgumentException("repository connection
must start with scm[delim]");
> + }
> +
> + String delimiter = "" + connection.charAt(3);
> +
> + StringTokenizer tok = new StringTokenizer(connection,
delimiter);
> +
> + String[] tokens = tokenizerToArray(tok);
> +
> + if (tokens.length < 6)
> + {
> + throw new IllegalArgumentException("repository connection
string contains less than six tokens");
> + }
> +
> + if (tokens.length > 6)
> + {
> + throw new IllegalArgumentException("repository connection
string contains more than six tokens");
> + }
> + return tokens;
> + }
> +
> + /**
> + * Converts a tokenizer to an array of strings
> + * @todo add method to maven-scm EnhancedStringTokenizer
> + * @deprecated use maven-scm EnhancedStringTokenizer
> + * @param tok
> + * @return String[]
> + */
> + public static String[] tokenizerToArray(StringTokenizer tok)
> + {
> + List l = new ArrayList();
> + while (tok.hasMoreTokens())
> + {
> + l.add(tok.nextToken());
> + }
> + return (String[]) l.toArray(new String[l.size()]);
> + }
> }
> +
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org