use of org.apache.tools.ant.types.resources.JavaResource in project ant by apache.
the class LoadProperties method getRequiredJavaResource.
private synchronized JavaResource getRequiredJavaResource() {
if (src == null) {
src = new JavaResource();
src.setProject(getProject());
} else if (!(src instanceof JavaResource)) {
throw new BuildException("expected a java resource as source");
}
return (JavaResource) src;
}
use of org.apache.tools.ant.types.resources.JavaResource in project ant by apache.
the class LoadProperties method execute.
/**
* load Ant properties from the source file or resource
*
* @exception BuildException if something goes wrong with the build
*/
@Override
public final void execute() throws BuildException {
// validation
if (src == null) {
throw new BuildException("A source resource is required.");
}
if (!src.isExists()) {
if (src instanceof JavaResource) {
// dreaded backwards compatibility
log("Unable to find resource " + src, Project.MSG_WARN);
return;
}
throw new BuildException("Source resource does not exist: " + src);
}
Charset charset = encoding == null ? Charset.defaultCharset() : Charset.forName(encoding);
try (ChainReader instream = new ChainReaderHelper(getProject(), new InputStreamReader(new BufferedInputStream(src.getInputStream()), charset), filterChains).getAssembledReader()) {
String text = instream.readFully();
if (text != null && !text.isEmpty()) {
if (!text.endsWith("\n")) {
text = text + "\n";
}
ByteArrayInputStream tis = new ByteArrayInputStream(text.getBytes(ResourceUtils.ISO_8859_1));
final Properties props = new Properties();
props.load(tis);
Property propertyTask = new Property();
propertyTask.bindToOwner(this);
propertyTask.setPrefix(prefix);
propertyTask.setPrefixValues(prefixValues);
propertyTask.addProperties(props);
}
} catch (final IOException ioe) {
throw new BuildException("Unable to load file: " + ioe, ioe, getLocation());
}
}
Aggregations