1
22
23 package com.liferay.util.xml;
24
25 import java.io.File;
26
27 import org.apache.tools.ant.BuildException;
28 import org.apache.tools.ant.Task;
29
30
36 public class XMLMergerTask extends Task {
37
38 public void setMasterFile(File masterFile) {
39 _masterFile = masterFile;
40 }
41
42 public void setOutputFile(File outputFile) {
43 _outputFile = outputFile;
44 }
45
46 public void setSlaveFile(File slaveFile) {
47 _slaveFile = slaveFile;
48 }
49
50 public void setType(String type) {
51 _type = type;
52 }
53
54 public void execute() throws BuildException {
55 _validateAttributes();
56
57 try {
58 XMLMergerRunner runner = new XMLMergerRunner(_type);
59
60 runner.mergeAndSave(_masterFile, _slaveFile, _outputFile);
61 }
62 catch (Exception e) {
63 throw new BuildException(e);
64 }
65 }
66
67 private void _validateAttributes() {
68 _validateMandatoryAttribute(_masterFile, "masterFile");
69 _validateMandatoryAttribute(_slaveFile, "slaveFile");
70 _validateMandatoryAttribute(_outputFile, "outputFile");
71 }
72
73 private void _validateMandatoryAttribute(File value, String name) {
74 if (value == null) {
75 throw new BuildException(name + " is a required attribute");
76 }
77 }
78
79 private File _masterFile;
80 private File _slaveFile;
81 private File _outputFile;
82 private String _type;
83
84 }