| /* |
| * $Id$ |
| */ |
| |
| package org.codehaus.mojo.archetypeng; |
| |
| //---------------------------------/ |
| //- Imported classes and packages -/ |
| //---------------------------------/ |
| |
| import java.io.OutputStream; |
| import java.io.OutputStreamWriter; |
| import java.io.Writer; |
| import java.util.ArrayList; |
| import java.util.Collection; |
| import java.util.Iterator; |
| import java.util.List; |
| import java.util.ListIterator; |
| import java.util.Map; |
| import java.util.Properties; |
| import org.apache.maven.model.Activation; |
| import org.apache.maven.model.ActivationFile; |
| import org.apache.maven.model.ActivationOS; |
| import org.apache.maven.model.ActivationProperty; |
| import org.apache.maven.model.Build; |
| import org.apache.maven.model.BuildBase; |
| import org.apache.maven.model.CiManagement; |
| import org.apache.maven.model.ConfigurationContainer; |
| import org.apache.maven.model.Contributor; |
| import org.apache.maven.model.Dependency; |
| import org.apache.maven.model.DependencyManagement; |
| import org.apache.maven.model.DeploymentRepository; |
| import org.apache.maven.model.Developer; |
| import org.apache.maven.model.DistributionManagement; |
| import org.apache.maven.model.Exclusion; |
| import org.apache.maven.model.Extension; |
| import org.apache.maven.model.FileSet; |
| import org.apache.maven.model.IssueManagement; |
| import org.apache.maven.model.License; |
| import org.apache.maven.model.MailingList; |
| import org.apache.maven.model.Model; |
| import org.apache.maven.model.ModelBase; |
| import org.apache.maven.model.Notifier; |
| import org.apache.maven.model.Organization; |
| import org.apache.maven.model.Parent; |
| import org.apache.maven.model.PatternSet; |
| import org.apache.maven.model.Plugin; |
| import org.apache.maven.model.PluginConfiguration; |
| import org.apache.maven.model.PluginContainer; |
| import org.apache.maven.model.PluginExecution; |
| import org.apache.maven.model.PluginManagement; |
| import org.apache.maven.model.Prerequisites; |
| import org.apache.maven.model.Profile; |
| import org.apache.maven.model.Relocation; |
| import org.apache.maven.model.ReportPlugin; |
| import org.apache.maven.model.ReportSet; |
| import org.apache.maven.model.Reporting; |
| import org.apache.maven.model.Repository; |
| import org.apache.maven.model.RepositoryBase; |
| import org.apache.maven.model.RepositoryPolicy; |
| import org.apache.maven.model.Resource; |
| import org.apache.maven.model.Scm; |
| import org.apache.maven.model.Site; |
| import org.codehaus.plexus.util.xml.Xpp3Dom; |
| import org.jdom.Content; |
| import org.jdom.DefaultJDOMFactory; |
| import org.jdom.Document; |
| import org.jdom.Element; |
| import org.jdom.Text; |
| import org.jdom.output.Format; |
| import org.jdom.output.XMLOutputter; |
| |
| /** |
| * Class MavenJDOMWriter. |
| * |
| * @version $Revision$ $Date$ |
| */ |
| public class MavenJDOMWriter { |
| |
| |
| //--------------------------/ |
| //- Class/Member Variables -/ |
| //--------------------------/ |
| |
| /** |
| * Field factory |
| */ |
| private DefaultJDOMFactory factory; |
| |
| /** |
| * Field lineSeparator |
| */ |
| private String lineSeparator; |
| |
| |
| //----------------/ |
| //- Constructors -/ |
| //----------------/ |
| |
| public MavenJDOMWriter() { |
| factory = new DefaultJDOMFactory(); |
| lineSeparator = "\n"; |
| } //-- org.apache.maven.model.io.jdom.MavenJDOMWriter() |
| |
| |
| //-----------/ |
| //- Methods -/ |
| //-----------/ |
| |
| /** |
| * Method findAndReplaceProperties |
| * |
| * @param counter |
| * @param props |
| * @param name |
| * @param parent |
| */ |
| protected Element findAndReplaceProperties(Counter counter, Element parent, String name, Map props) |
| { |
| boolean shouldExist = props != null && ! props.isEmpty(); |
| Element element = updateElement(counter, parent, name, shouldExist); |
| if (shouldExist) { |
| Iterator it = props.keySet().iterator(); |
| Counter innerCounter = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| String key = (String) it.next(); |
| findAndReplaceSimpleElement(innerCounter, element, key, (String)props.get(key), null); |
| } |
| ArrayList lst = new ArrayList(props.keySet()); |
| it = element.getChildren().iterator(); |
| while (it.hasNext()) { |
| Element elem = (Element) it.next(); |
| String key = elem.getName(); |
| if (!lst.contains(key)) { |
| it.remove(); |
| } |
| } |
| } |
| return element; |
| } //-- Element findAndReplaceProperties(Counter, Element, String, Map) |
| |
| /** |
| * Method findAndReplaceSimpleElement |
| * |
| * @param counter |
| * @param defaultValue |
| * @param text |
| * @param name |
| * @param parent |
| */ |
| protected Element findAndReplaceSimpleElement(Counter counter, Element parent, String name, String text, String defaultValue) |
| { |
| if (defaultValue != null && text != null && defaultValue.equals(text)) { |
| Element element = parent.getChild(name, parent.getNamespace()); |
| // if exist and is default value or if doesn't exist.. just keep the way it is.. |
| if ((element != null && defaultValue.equals(element.getText())) || element == null) { |
| return element; |
| } |
| } |
| boolean shouldExist = text != null && text.trim().length() > 0; |
| Element element = updateElement(counter, parent, name, shouldExist); |
| if (shouldExist) { |
| element.setText(text); |
| } |
| return element; |
| } //-- Element findAndReplaceSimpleElement(Counter, Element, String, String, String) |
| |
| /** |
| * Method findAndReplaceSimpleLists |
| * |
| * @param counter |
| * @param childName |
| * @param parentName |
| * @param list |
| * @param parent |
| */ |
| protected Element findAndReplaceSimpleLists(Counter counter, Element parent, java.util.Collection list, String parentName, String childName) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentName, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childName, element.getNamespace()).iterator(); |
| if (! elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| String value = (String) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childName, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| el.setText(value); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| return element; |
| } //-- Element findAndReplaceSimpleLists(Counter, Element, java.util.Collection, String, String) |
| |
| /** |
| * Method findAndReplaceXpp3DOM |
| * |
| * @param counter |
| * @param dom |
| * @param name |
| * @param parent |
| */ |
| protected Element findAndReplaceXpp3DOM(Counter counter, Element parent, String name, Xpp3Dom dom) |
| { |
| boolean shouldExist = dom != null && (dom.getChildCount() > 0 || dom.getValue() != null); |
| Element element = updateElement(counter, parent, name, shouldExist); |
| if (shouldExist) { |
| replaceXpp3DOM(element, dom, new Counter(counter.getDepth() + 1)); |
| } |
| return element; |
| } //-- Element findAndReplaceXpp3DOM(Counter, Element, String, Xpp3Dom) |
| |
| /** |
| * Method insertAtPreferredLocation |
| * |
| * @param parent |
| * @param counter |
| * @param child |
| */ |
| protected void insertAtPreferredLocation(Element parent, Element child, Counter counter) |
| { |
| int contentIndex = 0; |
| int elementCounter = 0; |
| Iterator it = parent.getContent().iterator(); |
| Text lastText = null; |
| int offset = 0; |
| while (it.hasNext() && elementCounter <= counter.getCurrentIndex()) { |
| Object next = it.next(); |
| offset = offset + 1; |
| if (next instanceof Element) { |
| elementCounter = elementCounter + 1; |
| contentIndex = contentIndex + offset; |
| offset = 0; |
| } |
| if (next instanceof Text && it.hasNext()) { |
| lastText = (Text)next; |
| } |
| } |
| if (lastText != null && lastText.getTextTrim().length() == 0) { |
| lastText = (Text)lastText.clone(); |
| } else { |
| String starter = lineSeparator; |
| for (int i = 0; i < counter.getDepth(); i++) { |
| starter = starter + " "; //TODO make settable? |
| } |
| lastText = factory.text(starter); |
| } |
| if (parent.getContentSize() == 0) { |
| Text finalText = (Text)lastText.clone(); |
| finalText.setText(finalText.getText().substring(0, finalText.getText().length() - " ".length())); |
| parent.addContent(contentIndex, finalText); |
| } |
| parent.addContent(contentIndex, child); |
| parent.addContent(contentIndex, lastText); |
| } //-- void insertAtPreferredLocation(Element, Element, Counter) |
| |
| /** |
| * Method iterateContributor |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateContributor(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Contributor value = (Contributor) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateContributor(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateContributor(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateDependency |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateDependency(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Dependency value = (Dependency) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateDependency(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateDependency(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateDeveloper |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateDeveloper(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Developer value = (Developer) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateDeveloper(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateDeveloper(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateExclusion |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateExclusion(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Exclusion value = (Exclusion) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateExclusion(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateExclusion(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateExtension |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateExtension(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Extension value = (Extension) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateExtension(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateExtension(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateLicense |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateLicense(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| License value = (License) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateLicense(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateLicense(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateMailingList |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateMailingList(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| MailingList value = (MailingList) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateMailingList(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateMailingList(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateNotifier |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateNotifier(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Notifier value = (Notifier) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateNotifier(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateNotifier(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iteratePlugin |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iteratePlugin(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Plugin value = (Plugin) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updatePlugin(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iteratePlugin(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iteratePluginExecution |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iteratePluginExecution(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| PluginExecution value = (PluginExecution) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updatePluginExecution(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iteratePluginExecution(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateProfile |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateProfile(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Profile value = (Profile) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateProfile(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateProfile(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateReportPlugin |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateReportPlugin(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| ReportPlugin value = (ReportPlugin) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateReportPlugin(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateReportPlugin(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateReportSet |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateReportSet(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| ReportSet value = (ReportSet) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateReportSet(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateReportSet(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateRepository |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateRepository(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Repository value = (Repository) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateRepository(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateRepository(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method iterateResource |
| * |
| * @param counter |
| * @param childTag |
| * @param parentTag |
| * @param list |
| * @param parent |
| */ |
| protected void iterateResource(Counter counter, Element parent, java.util.Collection list, java.lang.String parentTag, java.lang.String childTag) |
| { |
| boolean shouldExist = list != null && list.size() > 0; |
| Element element = updateElement(counter, parent, parentTag, shouldExist); |
| if (shouldExist) { |
| Iterator it = list.iterator(); |
| Iterator elIt = element.getChildren(childTag, element.getNamespace()).iterator(); |
| if (!elIt.hasNext()) elIt = null; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| while (it.hasNext()) { |
| Resource value = (Resource) it.next(); |
| Element el; |
| if (elIt != null && elIt.hasNext()) { |
| el = (Element) elIt.next(); |
| if (! elIt.hasNext()) elIt = null; |
| } else { |
| el = factory.element(childTag, element.getNamespace()); |
| insertAtPreferredLocation(element, el, innerCount); |
| } |
| updateResource(value, childTag, innerCount, el); |
| innerCount.increaseCount(); |
| } |
| if (elIt != null) { |
| while (elIt.hasNext()) { |
| elIt.next(); |
| elIt.remove(); |
| } |
| } |
| } |
| } //-- void iterateResource(Counter, Element, java.util.Collection, java.lang.String, java.lang.String) |
| |
| /** |
| * Method replaceXpp3DOM |
| * |
| * @param parent |
| * @param counter |
| * @param parentDom |
| */ |
| protected void replaceXpp3DOM(Element parent, Xpp3Dom parentDom, Counter counter) |
| { |
| if (parentDom.getChildCount() > 0) { |
| Xpp3Dom[] childs = parentDom.getChildren(); |
| Collection domChilds = new ArrayList(); |
| for (int i = 0; i < childs.length; i++) { |
| domChilds.add(childs[i]); |
| } |
| int domIndex = 0; |
| ListIterator it = parent.getChildren().listIterator(); |
| while (it.hasNext()) { |
| Element elem = (Element) it.next(); |
| Iterator it2 = domChilds.iterator(); |
| Xpp3Dom corrDom = null; |
| while (it2.hasNext()) { |
| Xpp3Dom dm = (Xpp3Dom)it2.next(); |
| if (dm.getName().equals(elem.getName())) { |
| corrDom = dm; |
| break; |
| } |
| } |
| if (corrDom != null) { |
| domChilds.remove(corrDom); |
| replaceXpp3DOM(elem, corrDom, new Counter(counter.getDepth() + 1)); |
| counter.increaseCount(); |
| } else { |
| parent.removeContent(elem); |
| } |
| } |
| Iterator it2 = domChilds.iterator(); |
| while (it2.hasNext()) { |
| Xpp3Dom dm = (Xpp3Dom) it2.next(); |
| Element elem = factory.element(dm.getName(), parent.getNamespace()); |
| insertAtPreferredLocation(parent, elem, counter); |
| counter.increaseCount(); |
| replaceXpp3DOM(elem, dm, new Counter(counter.getDepth() + 1)); |
| } |
| } else if (parentDom.getValue() != null) { |
| parent.setText(parentDom.getValue()); |
| } |
| } //-- void replaceXpp3DOM(Element, Xpp3Dom, Counter) |
| |
| /** |
| * Method updateActivation |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateActivation(Activation value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "activeByDefault", value.isActiveByDefault() == false ? null : String.valueOf( value.isActiveByDefault() ), "false"); |
| findAndReplaceSimpleElement(innerCount, root, "jdk", value.getJdk(), null); |
| updateActivationOS( value.getOs(), "os", innerCount, root); |
| updateActivationProperty( value.getProperty(), "property", innerCount, root); |
| updateActivationFile( value.getFile(), "file", innerCount, root); |
| } |
| } //-- void updateActivation(Activation, String, Counter, Element) |
| |
| /** |
| * Method updateActivationFile |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateActivationFile(ActivationFile value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "missing", value.getMissing(), null); |
| findAndReplaceSimpleElement(innerCount, root, "exists", value.getExists(), null); |
| } |
| } //-- void updateActivationFile(ActivationFile, String, Counter, Element) |
| |
| /** |
| * Method updateActivationOS |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateActivationOS(ActivationOS value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "family", value.getFamily(), null); |
| findAndReplaceSimpleElement(innerCount, root, "arch", value.getArch(), null); |
| findAndReplaceSimpleElement(innerCount, root, "version", value.getVersion(), null); |
| } |
| } //-- void updateActivationOS(ActivationOS, String, Counter, Element) |
| |
| /** |
| * Method updateActivationProperty |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateActivationProperty(ActivationProperty value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "value", value.getValue(), null); |
| } |
| } //-- void updateActivationProperty(ActivationProperty, String, Counter, Element) |
| |
| /** |
| * Method updateBuild |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateBuild(Build value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "sourceDirectory", value.getSourceDirectory(), null); |
| findAndReplaceSimpleElement(innerCount, root, "scriptSourceDirectory", value.getScriptSourceDirectory(), null); |
| findAndReplaceSimpleElement(innerCount, root, "testSourceDirectory", value.getTestSourceDirectory(), null); |
| findAndReplaceSimpleElement(innerCount, root, "outputDirectory", value.getOutputDirectory(), null); |
| findAndReplaceSimpleElement(innerCount, root, "testOutputDirectory", value.getTestOutputDirectory(), null); |
| iterateExtension(innerCount, root, value.getExtensions(),"extensions","extension"); |
| findAndReplaceSimpleElement(innerCount, root, "defaultGoal", value.getDefaultGoal(), null); |
| iterateResource(innerCount, root, value.getResources(),"resources","resource"); |
| iterateResource(innerCount, root, value.getTestResources(),"testResources","testResource"); |
| findAndReplaceSimpleElement(innerCount, root, "directory", value.getDirectory(), null); |
| findAndReplaceSimpleElement(innerCount, root, "finalName", value.getFinalName(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getFilters(), "filters", "filter"); |
| updatePluginManagement( value.getPluginManagement(), "pluginManagement", innerCount, root); |
| iteratePlugin(innerCount, root, value.getPlugins(),"plugins","plugin"); |
| } |
| } //-- void updateBuild(Build, String, Counter, Element) |
| |
| /** |
| * Method updateBuildBase |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateBuildBase(BuildBase value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "defaultGoal", value.getDefaultGoal(), null); |
| iterateResource(innerCount, root, value.getResources(),"resources","resource"); |
| iterateResource(innerCount, root, value.getTestResources(),"testResources","testResource"); |
| findAndReplaceSimpleElement(innerCount, root, "directory", value.getDirectory(), null); |
| findAndReplaceSimpleElement(innerCount, root, "finalName", value.getFinalName(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getFilters(), "filters", "filter"); |
| updatePluginManagement( value.getPluginManagement(), "pluginManagement", innerCount, root); |
| iteratePlugin(innerCount, root, value.getPlugins(),"plugins","plugin"); |
| } |
| } //-- void updateBuildBase(BuildBase, String, Counter, Element) |
| |
| /** |
| * Method updateCiManagement |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateCiManagement(CiManagement value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "system", value.getSystem(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| iterateNotifier(innerCount, root, value.getNotifiers(),"notifiers","notifier"); |
| } |
| } //-- void updateCiManagement(CiManagement, String, Counter, Element) |
| |
| /** |
| * Method updateConfigurationContainer |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateConfigurationContainer(ConfigurationContainer value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "inherited", value.getInherited(), null); |
| findAndReplaceXpp3DOM(innerCount, root, "configuration", (Xpp3Dom)value.getConfiguration()); |
| } |
| } //-- void updateConfigurationContainer(ConfigurationContainer, String, Counter, Element) |
| |
| /** |
| * Method updateContributor |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateContributor(Contributor value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "email", value.getEmail(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| findAndReplaceSimpleElement(innerCount, root, "organization", value.getOrganization(), null); |
| findAndReplaceSimpleElement(innerCount, root, "organizationUrl", value.getOrganizationUrl(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getRoles(), "roles", "role"); |
| findAndReplaceSimpleElement(innerCount, root, "timezone", value.getTimezone(), null); |
| findAndReplaceProperties(innerCount, root, "properties", value.getProperties()); |
| } //-- void updateContributor(Contributor, String, Counter, Element) |
| |
| /** |
| * Method updateDependency |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateDependency(Dependency value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "groupId", value.getGroupId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "artifactId", value.getArtifactId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "version", value.getVersion(), null); |
| findAndReplaceSimpleElement(innerCount, root, "type", value.getType(), "jar"); |
| findAndReplaceSimpleElement(innerCount, root, "classifier", value.getClassifier(), null); |
| findAndReplaceSimpleElement(innerCount, root, "scope", value.getScope(), null); |
| findAndReplaceSimpleElement(innerCount, root, "systemPath", value.getSystemPath(), null); |
| iterateExclusion(innerCount, root, value.getExclusions(),"exclusions","exclusion"); |
| findAndReplaceSimpleElement(innerCount, root, "optional", value.isOptional() == false ? null : String.valueOf( value.isOptional() ), "false"); |
| } //-- void updateDependency(Dependency, String, Counter, Element) |
| |
| /** |
| * Method updateDependencyManagement |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateDependencyManagement(DependencyManagement value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| iterateDependency(innerCount, root, value.getDependencies(),"dependencies","dependency"); |
| } |
| } //-- void updateDependencyManagement(DependencyManagement, String, Counter, Element) |
| |
| /** |
| * Method updateDeploymentRepository |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateDeploymentRepository(DeploymentRepository value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "uniqueVersion", value.isUniqueVersion() == true ? null : String.valueOf( value.isUniqueVersion() ), "true"); |
| findAndReplaceSimpleElement(innerCount, root, "id", value.getId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| findAndReplaceSimpleElement(innerCount, root, "layout", value.getLayout(), "default"); |
| } |
| } //-- void updateDeploymentRepository(DeploymentRepository, String, Counter, Element) |
| |
| /** |
| * Method updateDeveloper |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateDeveloper(Developer value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "id", value.getId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "email", value.getEmail(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| findAndReplaceSimpleElement(innerCount, root, "organization", value.getOrganization(), null); |
| findAndReplaceSimpleElement(innerCount, root, "organizationUrl", value.getOrganizationUrl(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getRoles(), "roles", "role"); |
| findAndReplaceSimpleElement(innerCount, root, "timezone", value.getTimezone(), null); |
| findAndReplaceProperties(innerCount, root, "properties", value.getProperties()); |
| } //-- void updateDeveloper(Developer, String, Counter, Element) |
| |
| /** |
| * Method updateDistributionManagement |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateDistributionManagement(DistributionManagement value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| updateDeploymentRepository( value.getRepository(), "repository", innerCount, root); |
| updateDeploymentRepository( value.getSnapshotRepository(), "snapshotRepository", innerCount, root); |
| updateSite( value.getSite(), "site", innerCount, root); |
| findAndReplaceSimpleElement(innerCount, root, "downloadUrl", value.getDownloadUrl(), null); |
| updateRelocation( value.getRelocation(), "relocation", innerCount, root); |
| findAndReplaceSimpleElement(innerCount, root, "status", value.getStatus(), null); |
| } |
| } //-- void updateDistributionManagement(DistributionManagement, String, Counter, Element) |
| |
| /** |
| * Method updateElement |
| * |
| * @param counter |
| * @param shouldExist |
| * @param name |
| * @param parent |
| */ |
| protected Element updateElement(Counter counter, Element parent, String name, boolean shouldExist) |
| { |
| Element element = parent.getChild(name, parent.getNamespace()); |
| if (element != null && shouldExist) { |
| counter.increaseCount(); |
| } |
| if (element == null && shouldExist) { |
| element = factory.element(name, parent.getNamespace()); |
| insertAtPreferredLocation(parent, element, counter); |
| counter.increaseCount(); |
| } |
| if (!shouldExist && element != null) { |
| int index = parent.indexOf(element); |
| if (index > 0) { |
| Content previous = parent.getContent(index - 1); |
| if (previous instanceof Text) { |
| Text txt = (Text)previous; |
| if (txt.getTextTrim().length() == 0) { |
| parent.removeContent(txt); |
| } |
| } |
| } |
| parent.removeContent(element); |
| } |
| return element; |
| } //-- Element updateElement(Counter, Element, String, boolean) |
| |
| /** |
| * Method updateExclusion |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateExclusion(Exclusion value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "artifactId", value.getArtifactId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "groupId", value.getGroupId(), null); |
| } //-- void updateExclusion(Exclusion, String, Counter, Element) |
| |
| /** |
| * Method updateExtension |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateExtension(Extension value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "groupId", value.getGroupId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "artifactId", value.getArtifactId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "version", value.getVersion(), null); |
| } //-- void updateExtension(Extension, String, Counter, Element) |
| |
| /** |
| * Method updateFileSet |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateFileSet(FileSet value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "directory", value.getDirectory(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getIncludes(), "includes", "include"); |
| findAndReplaceSimpleLists(innerCount, root, value.getExcludes(), "excludes", "exclude"); |
| } |
| } //-- void updateFileSet(FileSet, String, Counter, Element) |
| |
| /** |
| * Method updateIssueManagement |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateIssueManagement(IssueManagement value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "system", value.getSystem(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| } |
| } //-- void updateIssueManagement(IssueManagement, String, Counter, Element) |
| |
| /** |
| * Method updateLicense |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateLicense(License value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| findAndReplaceSimpleElement(innerCount, root, "distribution", value.getDistribution(), null); |
| findAndReplaceSimpleElement(innerCount, root, "comments", value.getComments(), null); |
| } //-- void updateLicense(License, String, Counter, Element) |
| |
| /** |
| * Method updateMailingList |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateMailingList(MailingList value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "subscribe", value.getSubscribe(), null); |
| findAndReplaceSimpleElement(innerCount, root, "unsubscribe", value.getUnsubscribe(), null); |
| findAndReplaceSimpleElement(innerCount, root, "post", value.getPost(), null); |
| findAndReplaceSimpleElement(innerCount, root, "archive", value.getArchive(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getOtherArchives(), "otherArchives", "otherArchive"); |
| } //-- void updateMailingList(MailingList, String, Counter, Element) |
| |
| /** |
| * Method updateModel |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateModel(Model value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| updateParent( value.getParent(), "parent", innerCount, root); |
| findAndReplaceSimpleElement(innerCount, root, "modelVersion", value.getModelVersion(), null); |
| findAndReplaceSimpleElement(innerCount, root, "groupId", value.getGroupId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "artifactId", value.getArtifactId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "packaging", value.getPackaging(), "jar"); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "version", value.getVersion(), null); |
| findAndReplaceSimpleElement(innerCount, root, "description", value.getDescription(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| updatePrerequisites( value.getPrerequisites(), "prerequisites", innerCount, root); |
| updateIssueManagement( value.getIssueManagement(), "issueManagement", innerCount, root); |
| updateCiManagement( value.getCiManagement(), "ciManagement", innerCount, root); |
| findAndReplaceSimpleElement(innerCount, root, "inceptionYear", value.getInceptionYear(), null); |
| iterateMailingList(innerCount, root, value.getMailingLists(),"mailingLists","mailingList"); |
| iterateDeveloper(innerCount, root, value.getDevelopers(),"developers","developer"); |
| iterateContributor(innerCount, root, value.getContributors(),"contributors","contributor"); |
| iterateLicense(innerCount, root, value.getLicenses(),"licenses","license"); |
| updateScm( value.getScm(), "scm", innerCount, root); |
| updateOrganization( value.getOrganization(), "organization", innerCount, root); |
| updateBuild( value.getBuild(), "build", innerCount, root); |
| iterateProfile(innerCount, root, value.getProfiles(),"profiles","profile"); |
| findAndReplaceSimpleLists(innerCount, root, value.getModules(), "modules", "module"); |
| iterateRepository(innerCount, root, value.getRepositories(),"repositories","repository"); |
| iterateRepository(innerCount, root, value.getPluginRepositories(),"pluginRepositories","pluginRepository"); |
| iterateDependency(innerCount, root, value.getDependencies(),"dependencies","dependency"); |
| findAndReplaceXpp3DOM(innerCount, root, "reports", (Xpp3Dom)value.getReports()); |
| updateReporting( value.getReporting(), "reporting", innerCount, root); |
| updateDependencyManagement( value.getDependencyManagement(), "dependencyManagement", innerCount, root); |
| updateDistributionManagement( value.getDistributionManagement(), "distributionManagement", innerCount, root); |
| findAndReplaceProperties(innerCount, root, "properties", value.getProperties()); |
| } //-- void updateModel(Model, String, Counter, Element) |
| |
| /** |
| * Method updateModelBase |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateModelBase(ModelBase value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleLists(innerCount, root, value.getModules(), "modules", "module"); |
| iterateRepository(innerCount, root, value.getRepositories(),"repositories","repository"); |
| iterateRepository(innerCount, root, value.getPluginRepositories(),"pluginRepositories","pluginRepository"); |
| iterateDependency(innerCount, root, value.getDependencies(),"dependencies","dependency"); |
| findAndReplaceXpp3DOM(innerCount, root, "reports", (Xpp3Dom)value.getReports()); |
| updateReporting( value.getReporting(), "reporting", innerCount, root); |
| updateDependencyManagement( value.getDependencyManagement(), "dependencyManagement", innerCount, root); |
| updateDistributionManagement( value.getDistributionManagement(), "distributionManagement", innerCount, root); |
| findAndReplaceProperties(innerCount, root, "properties", value.getProperties()); |
| } |
| } //-- void updateModelBase(ModelBase, String, Counter, Element) |
| |
| /** |
| * Method updateNotifier |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateNotifier(Notifier value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "type", value.getType(), "mail"); |
| findAndReplaceSimpleElement(innerCount, root, "sendOnError", value.isSendOnError() == true ? null : String.valueOf( value.isSendOnError() ), "true"); |
| findAndReplaceSimpleElement(innerCount, root, "sendOnFailure", value.isSendOnFailure() == true ? null : String.valueOf( value.isSendOnFailure() ), "true"); |
| findAndReplaceSimpleElement(innerCount, root, "sendOnSuccess", value.isSendOnSuccess() == true ? null : String.valueOf( value.isSendOnSuccess() ), "true"); |
| findAndReplaceSimpleElement(innerCount, root, "sendOnWarning", value.isSendOnWarning() == true ? null : String.valueOf( value.isSendOnWarning() ), "true"); |
| findAndReplaceSimpleElement(innerCount, root, "address", value.getAddress(), null); |
| findAndReplaceProperties(innerCount, root, "configuration", value.getConfiguration()); |
| } //-- void updateNotifier(Notifier, String, Counter, Element) |
| |
| /** |
| * Method updateOrganization |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateOrganization(Organization value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| } |
| } //-- void updateOrganization(Organization, String, Counter, Element) |
| |
| /** |
| * Method updateParent |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateParent(Parent value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "artifactId", value.getArtifactId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "groupId", value.getGroupId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "version", value.getVersion(), null); |
| findAndReplaceSimpleElement(innerCount, root, "relativePath", value.getRelativePath(), "../pom.xml"); |
| } |
| } //-- void updateParent(Parent, String, Counter, Element) |
| |
| /** |
| * Method updatePatternSet |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updatePatternSet(PatternSet value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleLists(innerCount, root, value.getIncludes(), "includes", "include"); |
| findAndReplaceSimpleLists(innerCount, root, value.getExcludes(), "excludes", "exclude"); |
| } |
| } //-- void updatePatternSet(PatternSet, String, Counter, Element) |
| |
| /** |
| * Method updatePlugin |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updatePlugin(Plugin value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "groupId", value.getGroupId(), "org.apache.maven.plugins"); |
| findAndReplaceSimpleElement(innerCount, root, "artifactId", value.getArtifactId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "version", value.getVersion(), null); |
| findAndReplaceSimpleElement(innerCount, root, "extensions", value.isExtensions() == false ? null : String.valueOf( value.isExtensions() ), "false"); |
| iteratePluginExecution(innerCount, root, value.getExecutions(),"executions","execution"); |
| iterateDependency(innerCount, root, value.getDependencies(),"dependencies","dependency"); |
| findAndReplaceXpp3DOM(innerCount, root, "goals", (Xpp3Dom)value.getGoals()); |
| findAndReplaceSimpleElement(innerCount, root, "inherited", value.getInherited(), null); |
| findAndReplaceXpp3DOM(innerCount, root, "configuration", (Xpp3Dom)value.getConfiguration()); |
| } //-- void updatePlugin(Plugin, String, Counter, Element) |
| |
| /** |
| * Method updatePluginConfiguration |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updatePluginConfiguration(PluginConfiguration value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| updatePluginManagement( value.getPluginManagement(), "pluginManagement", innerCount, root); |
| iteratePlugin(innerCount, root, value.getPlugins(),"plugins","plugin"); |
| } |
| } //-- void updatePluginConfiguration(PluginConfiguration, String, Counter, Element) |
| |
| /** |
| * Method updatePluginContainer |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updatePluginContainer(PluginContainer value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| iteratePlugin(innerCount, root, value.getPlugins(),"plugins","plugin"); |
| } |
| } //-- void updatePluginContainer(PluginContainer, String, Counter, Element) |
| |
| /** |
| * Method updatePluginExecution |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updatePluginExecution(PluginExecution value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "id", value.getId(), "default"); |
| findAndReplaceSimpleElement(innerCount, root, "phase", value.getPhase(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getGoals(), "goals", "goal"); |
| findAndReplaceSimpleElement(innerCount, root, "inherited", value.getInherited(), null); |
| findAndReplaceXpp3DOM(innerCount, root, "configuration", (Xpp3Dom)value.getConfiguration()); |
| } //-- void updatePluginExecution(PluginExecution, String, Counter, Element) |
| |
| /** |
| * Method updatePluginManagement |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updatePluginManagement(PluginManagement value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| iteratePlugin(innerCount, root, value.getPlugins(),"plugins","plugin"); |
| } |
| } //-- void updatePluginManagement(PluginManagement, String, Counter, Element) |
| |
| /** |
| * Method updatePrerequisites |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updatePrerequisites(Prerequisites value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "maven", value.getMaven(), "2.0"); |
| } |
| } //-- void updatePrerequisites(Prerequisites, String, Counter, Element) |
| |
| /** |
| * Method updateProfile |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateProfile(Profile value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "id", value.getId(), null); |
| updateActivation( value.getActivation(), "activation", innerCount, root); |
| updateBuildBase( value.getBuild(), "build", innerCount, root); |
| findAndReplaceSimpleLists(innerCount, root, value.getModules(), "modules", "module"); |
| iterateRepository(innerCount, root, value.getRepositories(),"repositories","repository"); |
| iterateRepository(innerCount, root, value.getPluginRepositories(),"pluginRepositories","pluginRepository"); |
| iterateDependency(innerCount, root, value.getDependencies(),"dependencies","dependency"); |
| findAndReplaceXpp3DOM(innerCount, root, "reports", (Xpp3Dom)value.getReports()); |
| updateReporting( value.getReporting(), "reporting", innerCount, root); |
| updateDependencyManagement( value.getDependencyManagement(), "dependencyManagement", innerCount, root); |
| updateDistributionManagement( value.getDistributionManagement(), "distributionManagement", innerCount, root); |
| findAndReplaceProperties(innerCount, root, "properties", value.getProperties()); |
| } //-- void updateProfile(Profile, String, Counter, Element) |
| |
| /** |
| * Method updateRelocation |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateRelocation(Relocation value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "groupId", value.getGroupId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "artifactId", value.getArtifactId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "version", value.getVersion(), null); |
| findAndReplaceSimpleElement(innerCount, root, "message", value.getMessage(), null); |
| } |
| } //-- void updateRelocation(Relocation, String, Counter, Element) |
| |
| /** |
| * Method updateReportPlugin |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateReportPlugin(ReportPlugin value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "groupId", value.getGroupId(), "org.apache.maven.plugins"); |
| findAndReplaceSimpleElement(innerCount, root, "artifactId", value.getArtifactId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "version", value.getVersion(), null); |
| findAndReplaceSimpleElement(innerCount, root, "inherited", value.getInherited(), null); |
| findAndReplaceXpp3DOM(innerCount, root, "configuration", (Xpp3Dom)value.getConfiguration()); |
| iterateReportSet(innerCount, root, value.getReportSets(),"reportSets","reportSet"); |
| } //-- void updateReportPlugin(ReportPlugin, String, Counter, Element) |
| |
| /** |
| * Method updateReportSet |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateReportSet(ReportSet value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "id", value.getId(), "default"); |
| findAndReplaceXpp3DOM(innerCount, root, "configuration", (Xpp3Dom)value.getConfiguration()); |
| findAndReplaceSimpleElement(innerCount, root, "inherited", value.getInherited(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getReports(), "reports", "report"); |
| } //-- void updateReportSet(ReportSet, String, Counter, Element) |
| |
| /** |
| * Method updateReporting |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateReporting(Reporting value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "excludeDefaults", value.isExcludeDefaults() == false ? null : String.valueOf( value.isExcludeDefaults() ), "false"); |
| findAndReplaceSimpleElement(innerCount, root, "outputDirectory", value.getOutputDirectory(), null); |
| iterateReportPlugin(innerCount, root, value.getPlugins(),"plugins","plugin"); |
| } |
| } //-- void updateReporting(Reporting, String, Counter, Element) |
| |
| /** |
| * Method updateRepository |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateRepository(Repository value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| updateRepositoryPolicy( value.getReleases(), "releases", innerCount, root); |
| updateRepositoryPolicy( value.getSnapshots(), "snapshots", innerCount, root); |
| findAndReplaceSimpleElement(innerCount, root, "id", value.getId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| findAndReplaceSimpleElement(innerCount, root, "layout", value.getLayout(), "default"); |
| } //-- void updateRepository(Repository, String, Counter, Element) |
| |
| /** |
| * Method updateRepositoryBase |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateRepositoryBase(RepositoryBase value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "id", value.getId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| findAndReplaceSimpleElement(innerCount, root, "layout", value.getLayout(), "default"); |
| } |
| } //-- void updateRepositoryBase(RepositoryBase, String, Counter, Element) |
| |
| /** |
| * Method updateRepositoryPolicy |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateRepositoryPolicy(RepositoryPolicy value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "enabled", value.isEnabled() == true ? null : String.valueOf( value.isEnabled() ), "true"); |
| findAndReplaceSimpleElement(innerCount, root, "updatePolicy", value.getUpdatePolicy(), null); |
| findAndReplaceSimpleElement(innerCount, root, "checksumPolicy", value.getChecksumPolicy(), null); |
| } |
| } //-- void updateRepositoryPolicy(RepositoryPolicy, String, Counter, Element) |
| |
| /** |
| * Method updateResource |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateResource(Resource value, String xmlTag, Counter counter, Element element) |
| { |
| Element root = element; |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "targetPath", value.getTargetPath(), null); |
| findAndReplaceSimpleElement(innerCount, root, "filtering", value.isFiltering() == false ? null : String.valueOf( value.isFiltering() ), "false"); |
| findAndReplaceSimpleElement(innerCount, root, "directory", value.getDirectory(), null); |
| findAndReplaceSimpleLists(innerCount, root, value.getIncludes(), "includes", "include"); |
| findAndReplaceSimpleLists(innerCount, root, value.getExcludes(), "excludes", "exclude"); |
| } //-- void updateResource(Resource, String, Counter, Element) |
| |
| /** |
| * Method updateScm |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateScm(Scm value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "connection", value.getConnection(), null); |
| findAndReplaceSimpleElement(innerCount, root, "developerConnection", value.getDeveloperConnection(), null); |
| findAndReplaceSimpleElement(innerCount, root, "tag", value.getTag(), "HEAD"); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| } |
| } //-- void updateScm(Scm, String, Counter, Element) |
| |
| /** |
| * Method updateSite |
| * |
| * @param value |
| * @param element |
| * @param counter |
| * @param xmlTag |
| */ |
| protected void updateSite(Site value, String xmlTag, Counter counter, Element element) |
| { |
| boolean shouldExist = value != null; |
| Element root = updateElement(counter, element, xmlTag, shouldExist); |
| if (shouldExist) { |
| Counter innerCount = new Counter(counter.getDepth() + 1); |
| findAndReplaceSimpleElement(innerCount, root, "id", value.getId(), null); |
| findAndReplaceSimpleElement(innerCount, root, "name", value.getName(), null); |
| findAndReplaceSimpleElement(innerCount, root, "url", value.getUrl(), null); |
| } |
| } //-- void updateSite(Site, String, Counter, Element) |
| |
| /** |
| * Method write |
| * @deprecated |
| * |
| * @param project |
| * @param stream |
| * @param document |
| */ |
| public void write(Model project, Document document, OutputStream stream) |
| throws java.io.IOException |
| { |
| updateModel(project, "project", new Counter(0), document.getRootElement()); |
| XMLOutputter outputter = new XMLOutputter(); |
| outputter.setFormat(Format.getPrettyFormat() |
| .setIndent(" ") |
| .setLineSeparator(System.getProperty("line.separator"))); |
| outputter.output(document, stream); |
| } //-- void write(Model, Document, OutputStream) |
| |
| /** |
| * Method write |
| * |
| * @param project |
| * @param writer |
| * @param document |
| */ |
| public void write(Model project, Document document, OutputStreamWriter writer) |
| throws java.io.IOException |
| { |
| Format format = Format.getRawFormat() |
| .setEncoding(writer.getEncoding()) |
| .setLineSeparator(System.getProperty("line.separator")); |
| write(project, document, writer, format); |
| } //-- void write(Model, Document, OutputStreamWriter) |
| |
| /** |
| * Method write |
| * |
| * @param project |
| * @param jdomFormat |
| * @param writer |
| * @param document |
| */ |
| public void write(Model project, Document document, Writer writer, Format jdomFormat) |
| throws java.io.IOException |
| { |
| updateModel(project, "project", new Counter(0), document.getRootElement()); |
| XMLOutputter outputter = new XMLOutputter(); |
| outputter.setFormat(jdomFormat); |
| outputter.output(document, writer); |
| } //-- void write(Model, Document, Writer, Format) |
| |
| |
| //-----------------/ |
| //- Inner Classes -/ |
| //-----------------/ |
| |
| /** |
| * Class Counter. |
| * |
| * @version $Revision$ $Date$ |
| */ |
| public class Counter { |
| |
| |
| //--------------------------/ |
| //- Class/Member Variables -/ |
| //--------------------------/ |
| |
| /** |
| * Field currentIndex |
| */ |
| private int currentIndex = 0; |
| |
| /** |
| * Field level |
| */ |
| private int level; |
| |
| |
| //----------------/ |
| //- Constructors -/ |
| //----------------/ |
| |
| public Counter(int depthLevel) { |
| level = depthLevel; |
| } //-- org.apache.maven.model.io.jdom.Counter(int) |
| |
| |
| //-----------/ |
| //- Methods -/ |
| //-----------/ |
| |
| /** |
| * Method getCurrentIndex |
| */ |
| public int getCurrentIndex() |
| { |
| return currentIndex; |
| } //-- int getCurrentIndex() |
| |
| /** |
| * Method getDepth |
| */ |
| public int getDepth() |
| { |
| return level; |
| } //-- int getDepth() |
| |
| /** |
| * Method increaseCount |
| */ |
| public void increaseCount() |
| { |
| currentIndex = currentIndex + 1; |
| } //-- void increaseCount() |
| |
| } |
| |
| } |