You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2007/08/29 04:43:59 UTC
svn commit: r570618 [4/14] - in /maven/sandbox/trunk/archetypeng: ./
archetype-common/ archetype-common/src/ archetype-common/src/main/
archetype-common/src/main/java/ archetype-common/src/main/java/org/
archetype-common/src/main/java/org/apache/ arche...
Added: maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java?rev=570618&view=auto
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java (added)
+++ maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java Tue Aug 28 19:43:33 2007
@@ -0,0 +1,3171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * $Id$
+ */
+
+package org.apache.maven.archetype.common;
+
+// ---------------------------------/
+// - Imported classes and packages -/
+// ---------------------------------/
+
+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;
+
+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.ListIterator;
+import java.util.Map;
+
+/**
+ * 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()
+
+ /**
+ * Method write.
+ *
+ * @param project
+ * @param stream
+ * @param document
+ *
+ * @deprecated
+ */
+ 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)
+
+ // -----------/
+ // - 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" );
+ } // end if
+ } // -- 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;
[... 569 lines stripped ...]