Replace tabs
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@391790 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -43,102 +43,102 @@ import org.apache.maven.util.EnhancedStringTokenizer;
|
||||
* @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];
|
||||
}
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
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);
|
||||
/**
|
||||
* 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 "";
|
||||
}
|
||||
if (!tokens[1].equals("cvs")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
String separator = getSCMConnectionSeparator(conn);
|
||||
String separator = getSCMConnectionSeparator(conn);
|
||||
|
||||
if (tokens[3].indexOf('@') >= 0) {
|
||||
if (username.length() == 0) {
|
||||
username = tokens[3].substring(0, tokens[3].indexOf('@'))
|
||||
+ separator;
|
||||
}
|
||||
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);
|
||||
}
|
||||
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];
|
||||
String result = tokens[0] + ":" + tokens[1] + separator + tokens[2]
|
||||
+ separator + tokens[3] + separator + tokens[4] + separator
|
||||
+ tokens[5];
|
||||
|
||||
return result;
|
||||
}
|
||||
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);
|
||||
/**
|
||||
* 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 "";
|
||||
}
|
||||
if (!tokens[1].equals("cvs")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
return tokens[5];
|
||||
}
|
||||
return tokens[5];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
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 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 @@ public final class ScmUtil {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 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);
|
||||
/**
|
||||
* 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;
|
||||
PerforceScmProvider perforceProvider = new PerforceScmProvider();
|
||||
PerforceScmProviderRepository perforceRepo;
|
||||
|
||||
String scmSpecificUrl = devConnection.substring(13);
|
||||
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 "";
|
||||
}
|
||||
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\"");
|
||||
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();
|
||||
}
|
||||
return command.toString();
|
||||
}
|
||||
|
||||
// Starteam
|
||||
// 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:mypassword@myhost:1234/projecturl
|
||||
* -is
|
||||
* </p>
|
||||
* <p>
|
||||
* stcmd ci -x -nologo -stop -p myusername:mypassword@myhost:1234/projecturl
|
||||
* -f NCI -is
|
||||
* </p>
|
||||
*
|
||||
* @param devConnection
|
||||
*/
|
||||
public String developerAccessStarteam(String devConnection) {
|
||||
/**
|
||||
* 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:mypassword@myhost:1234/projecturl
|
||||
* -is
|
||||
* </p>
|
||||
* <p>
|
||||
* stcmd ci -x -nologo -stop -p myusername:mypassword@myhost:1234/projecturl
|
||||
* -f NCI -is
|
||||
* </p>
|
||||
*
|
||||
* @param devConnection
|
||||
*/
|
||||
public String developerAccessStarteam(String devConnection) {
|
||||
|
||||
StringBuffer command = new StringBuffer();
|
||||
char delim = getSCMConnectionSeparator(devConnection).charAt(0);
|
||||
StringBuffer command = new StringBuffer();
|
||||
char delim = getSCMConnectionSeparator(devConnection).charAt(0);
|
||||
|
||||
StarteamScmProvider starteamProvider = new StarteamScmProvider();
|
||||
StarteamScmProviderRepository starteamRepo;
|
||||
StarteamScmProvider starteamProvider = new StarteamScmProvider();
|
||||
StarteamScmProviderRepository starteamRepo;
|
||||
|
||||
String scmSpecificUrl = devConnection.substring(13);
|
||||
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 "";
|
||||
}
|
||||
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");
|
||||
// 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");
|
||||
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();
|
||||
}
|
||||
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) {
|
||||
/**
|
||||
* 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);
|
||||
StringBuffer command = new StringBuffer();
|
||||
char delim = getSCMConnectionSeparator(devConnection).charAt(0);
|
||||
|
||||
ClearCaseScmProvider clearCaseProvider = new ClearCaseScmProvider();
|
||||
ClearCaseScmProviderRepository clearCaseRepo;
|
||||
ClearCaseScmProvider clearCaseProvider = new ClearCaseScmProvider();
|
||||
ClearCaseScmProviderRepository clearCaseRepo;
|
||||
|
||||
String scmSpecificUrl = devConnection.substring(14);
|
||||
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 "";
|
||||
}
|
||||
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"));
|
||||
command.append("cleartool checkout ").append(
|
||||
clearCaseRepo.getViewName("id"));
|
||||
|
||||
return command.toString();
|
||||
}
|
||||
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");
|
||||
}
|
||||
/**
|
||||
* 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.length() < 5) {
|
||||
throw new IllegalArgumentException(
|
||||
"repository connection is too short");
|
||||
}
|
||||
|
||||
if (!connection.startsWith("scm:")) {
|
||||
throw new IllegalArgumentException(
|
||||
"repository connection must start with scm:");
|
||||
}
|
||||
if (!connection.startsWith("scm:")) {
|
||||
throw new IllegalArgumentException(
|
||||
"repository connection must start with scm:");
|
||||
}
|
||||
|
||||
String delimiter = getSCMConnectionSeparator(connection);
|
||||
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);
|
||||
// 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);
|
||||
EnhancedStringTokenizer tok = new EnhancedStringTokenizer(
|
||||
modifiedConnection, delimiter);
|
||||
|
||||
String[] tokens = tokenizerToArray(tok);
|
||||
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];
|
||||
// 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");
|
||||
}
|
||||
}
|
||||
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");
|
||||
}
|
||||
}
|
||||
if (tokens.length != 6) {
|
||||
throw new IllegalArgumentException(
|
||||
"cvs repository connection string doesn't contain six tokens");
|
||||
}
|
||||
}
|
||||
|
||||
return 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");
|
||||
}
|
||||
/**
|
||||
* 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 ":";
|
||||
}
|
||||
}
|
||||
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();
|
||||
/**
|
||||
* 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());
|
||||
}
|
||||
while (tok.hasMoreTokens()) {
|
||||
l.add(tok.nextToken());
|
||||
}
|
||||
|
||||
return (String[]) l.toArray(new String[l.size()]);
|
||||
}
|
||||
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;
|
||||
}
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user