package org.xins.common.ant;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
public class UppercaseTask extends Task {
private String _propertyName;
private String _text;
public void setProperty(String newPropertyName) {
_propertyName = newPropertyName;
}
public void setText(String text) {
_text = text;
}
public void execute() throws BuildException {
if (_propertyName == null) {
throw new BuildException("A property value needs to be specified.");
}
if (_text == null) {
throw new BuildException("A text value needs to be specified.");
}
if (getProject().getUserProperty(_propertyName) != null) {
String message = "Override ignored for property \""
+ _propertyName
+ "\".";
log(message, Project.MSG_VERBOSE);
return;
}
String uppercase = _text.toUpperCase();
uppercase = uppercase.replace('-', '_');
uppercase = uppercase.replace('.', '_');
getProject().setUserProperty(_propertyName, uppercase);
}
}