Fix Issues With Binary Assembly Licenses, Cleanup

- cleanup / fix supplemental model
- remove unused licenses
- add missing client helper jars, managix, yarn jars to LICENSE
- allow same dependency to be mappped into multiple license
  dependencySets
- prune extraneous supplemental model files

Change-Id: I8b9d1f13960bd5cf8782f0cc785eed8f3414b123
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1442
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <tillw@apache.org>
BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
index eafc8d2..9b326b8 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
@@ -47,6 +47,12 @@
       <groupId>org.apache.wicket</groupId>
       <artifactId>wicket-core</artifactId>
       <version>1.5.2</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-api</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>commons-io</groupId>
diff --git a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java
index 3dfbb1a..fa5429a 100644
--- a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java
+++ b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java
@@ -118,6 +118,7 @@
         }
     }
 
+
     private void resolveLicenseContent() throws IOException {
         Set<LicenseSpec> licenseSpecs = new HashSet<>();
         for (LicensedProjects licensedProjects : licenseMap.values()) {
@@ -125,22 +126,30 @@
         }
         licenseSpecs.addAll(urlToLicenseMap.values());
         for (LicenseSpec license : licenseSpecs) {
-            if (license.getContent() == null) {
-                getLog().debug("Resolving content for " + license.getUrl() + " (" + license.getContentFile() + ")");
-                File cFile = new File(license.getContentFile());
-                if (!cFile.isAbsolute()) {
-                    cFile = new File(licenseDirectory, license.getContentFile());
-                }
-                if (!cFile.exists()) {
+            resolveLicenseContent(license, true);
+        }
+    }
+
+    private String resolveLicenseContent(LicenseSpec license, boolean bestEffort) throws IOException {
+        if (license.getContent() == null) {
+            getLog().debug("Resolving content for " + license.getUrl() + " (" + license.getContentFile() + ")");
+            File cFile = new File(license.getContentFile());
+            if (!cFile.isAbsolute()) {
+                cFile = new File(licenseDirectory, license.getContentFile());
+            }
+            if (!cFile.exists()) {
+                if (!bestEffort) {
                     getLog().warn("MISSING: license content file (" + cFile + ") for url: " + license.getUrl());
                     license.setContent("MISSING: " + license.getContentFile() + " (" + license.getUrl() + ")");
-                } else {
-                    StringWriter sw = new StringWriter();
-                    LicenseUtil.readAndTrim(sw, cFile);
-                    license.setContent(sw.toString());
                 }
+            } else {
+                getLog().info("Reading license content from file: " + cFile);
+                StringWriter sw = new StringWriter();
+                LicenseUtil.readAndTrim(sw, cFile);
+                license.setContent(sw.toString());
             }
         }
+        return license.getContent();
     }
 
     private void combineCommonGavs() {
@@ -231,7 +240,7 @@
         }
     }
 
-    private void rebuildLicenseContentProjectMap() {
+    private void rebuildLicenseContentProjectMap() throws IOException {
         int counter = 0;
         Map<String, LicensedProjects> licenseMap2 = new TreeMap<>(WHITESPACE_NORMALIZED_COMPARATOR);
         for (LicensedProjects lps : licenseMap.values()) {
@@ -239,17 +248,27 @@
                 String licenseText = project.getLicenseText();
                 if (licenseText == null) {
                     getLog().warn("Using license other than from within artifact: " + project.gav());
-                    licenseText = lps.getLicense().getContent();
+                    licenseText = resolveLicenseContent(lps.getLicense(), false);
+                }
+                LicenseSpec spec = lps.getLicense();
+                if (spec.getDisplayName() == null) {
+                    LicenseSpec canonicalLicense = urlToLicenseMap.get(spec.getUrl());
+                    if (canonicalLicense != null) {
+                        spec.setDisplayName(canonicalLicense.getDisplayName());
+                    }
                 }
                 if (!licenseMap2.containsKey(licenseText)) {
-                    LicenseSpec spec = lps.getLicense();
                     if (!licenseText.equals(lps.getLicense().getContent())) {
                         spec = new LicenseSpec(new ArrayList<>(), licenseText, null, spec.getDisplayName(),
                                 spec.getMetric(), spec.getUrl() + (counter++));
                     }
                     licenseMap2.put(licenseText, new LicensedProjects(spec));
                 }
-                licenseMap2.get(licenseText).addProject(project);
+                final LicensedProjects lp2 = licenseMap2.get(licenseText);
+                if (lp2.getLicense().getDisplayName() == null) {
+                    lp2.getLicense().setDisplayName(lps.getLicense().getDisplayName());
+                }
+                lp2.addProject(project);
             }
         }
         licenseMap = licenseMap2;
diff --git a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java
index ea5c878..4363170 100644
--- a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java
+++ b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java
@@ -19,7 +19,6 @@
 package org.apache.hyracks.maven.license;
 
 import java.io.File;
-import java.lang.*;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
@@ -30,13 +29,15 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
+import java.util.TreeSet;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
-import org.apache.hyracks.maven.license.project.LicensedProjects;
-import org.apache.hyracks.maven.license.project.Project;
+import org.apache.commons.lang3.mutable.MutableBoolean;
 import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.commons.lang3.tuple.Pair;
+import org.apache.hyracks.maven.license.project.LicensedProjects;
+import org.apache.hyracks.maven.license.project.Project;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.model.License;
@@ -116,33 +117,49 @@
         Map<MavenProject, List<Pair<String, String>>> dependencyLicenseMap = gatherDependencies();
         for (Map.Entry<MavenProject, List<Pair<String, String>>> dep : dependencyLicenseMap.entrySet()) {
             final MavenProject depProject = dep.getKey();
-            String depLocation = dependencySets.isEmpty() ? location : getIncludedLocation(depProject.getArtifact());
+            Set<String> locations = dependencySets.isEmpty() ? Collections.singleton(location)
+                    : getIncludedLocation(depProject.getArtifact());
             if (isExcluded(depProject.getArtifact())) {
                 getLog().debug("skipping " + depProject + " [excluded]");
-            } else if (depLocation == null) {
+            } else if (locations.isEmpty()) {
                 getLog().debug("skipping " + depProject + " [not included in dependency sets]");
             } else {
-                addDependencyToLicenseMap(depProject, dep.getValue(), depLocation);
+                for (String depLocation : locations) {
+                    addDependencyToLicenseMap(depProject, dep.getValue(), depLocation);
+                }
             }
         }
     }
 
+    private int getLicenseMetric(String url) {
+        LicenseSpec licenseSpec = urlToLicenseMap.get(url);
+        return licenseSpec != null ? licenseSpec.getMetric() : LicenseSpec.UNDEFINED_LICENSE_METRIC;
+    }
+
     private void addDependencyToLicenseMap(MavenProject depProject, List<Pair<String, String>> depLicenses,
                                            String depLocation) {
         final String depGav = toGav(depProject);
         getLog().debug("adding " + depGav + ", location: " + depLocation);
+        final MutableBoolean usedMetric = new MutableBoolean(false);
         if (depLicenses.size() > 1) {
             Collections.sort(depLicenses, (o1, o2) -> {
-                final LicenseSpec l1 = urlToLicenseMap.get(o1.getLeft());
-                final LicenseSpec l2 = urlToLicenseMap.get(o2.getLeft());
-                return Integer.compare(l1 != null ? l1.getMetric() : LicenseSpec.UNDEFINED_LICENSE_METRIC,
-                        l2 != null ? l2.getMetric() : LicenseSpec.UNDEFINED_LICENSE_METRIC);
+                final int metric1 = getLicenseMetric(o1.getLeft());
+                final int metric2 = getLicenseMetric(o2.getLeft());
+                usedMetric.setValue(usedMetric.booleanValue()
+                        || metric1 != LicenseSpec.UNDEFINED_LICENSE_METRIC
+                        || metric2 != LicenseSpec.UNDEFINED_LICENSE_METRIC);
+                return Integer.compare(metric1, metric2);
             });
-            getLog().warn("Multiple licenses for " + depGav + ": " + depLicenses
-                    + "; taking first or lowest metric.");
+            if (usedMetric.booleanValue()) {
+                getLog().info("Multiple licenses for " + depGav + ": " + depLicenses
+                        + "; taking lowest metric: " + depLicenses.get(0));
+            } else {
+                getLog().warn("Multiple licenses for " + depGav + ": " + depLicenses
+                        + "; taking first listed: " + depLicenses.get(0));
+            }
         } else if (depLicenses.isEmpty()) {
-            getLog().error("No license defined for " + depGav);
-            depLicenses.add(new ImmutablePair<>("MISSING_LICENSE", "MISSING LICENSE"));
+            getLog().info("no license defined in model for " + depGav);
+            depLicenses.add(new ImmutablePair<>("MISSING_LICENSE", null));
         }
         Pair<String, String> key = depLicenses.get(0);
         String licenseUrl = key.getLeft();
@@ -155,7 +172,7 @@
             } catch (MalformedURLException e) {
                 // we encounter this a lot.  Log a warning, and use an annotated key
                 final String fakeLicenseUrl = depGav.replaceAll(":", "--") + "_" + licenseUrl;
-                getLog().warn("- URL for " + depGav + " is malformed: " + licenseUrl + "; using: "
+                getLog().info("- URL for " + depGav + " is malformed: " + licenseUrl + "; using: "
                         + fakeLicenseUrl);
                 licenseUrl = fakeLicenseUrl;
             }
@@ -211,13 +228,12 @@
             if (dep == null) {
                 getLog().warn("Unused override dependency " + gav + "; ignoring...");
             } else {
-                final List<Pair<String, String>> newUrl = Collections.singletonList(
+                final List<Pair<String, String>> newLicense = Collections.singletonList(
                         new ImmutablePair<>(override.getUrl(), override.getName()));
-                List<Pair<String, String>> prev = dependencyLicenseMap.put(dep, newUrl);
-                if (!prev.isEmpty()) {
-                    getLog().warn("NOTICE: replacing license(s) " + prev + " for dependency " + gav + " with "
-                            + newUrl);
-                }
+                List<Pair<String, String>> prevLicense = dependencyLicenseMap.put(dep, newLicense);
+                getLog().warn("license list for " + toGav(dep)
+                        + " changed with <override>; was: " + prevLicense
+                        + ", now: " + newLicense);
             }
         }
         return dependencyLicenseMap;
@@ -308,15 +324,16 @@
         return false;
     }
 
-    protected String getIncludedLocation(Artifact artifact) {
+    protected Set<String> getIncludedLocation(Artifact artifact) {
+        Set<String> locations = new TreeSet<>();
         for (DependencySet set : dependencySets) {
             for (Pattern include : set.getPatterns()) {
                 if (include.matcher(artifact.getGroupId() + ":" + artifact.getArtifactId()).matches()) {
-                    return set.getLocation();
+                    locations.add(set.getLocation());
                 }
             }
         }
-        return null;
+        return locations;
     }
 }
 
diff --git a/hyracks-fullstack/src/main/appended-resources/supplemental-models.xml b/hyracks-fullstack/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index 0d69dc6..0000000
--- a/hyracks-fullstack/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,742 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<supplementalDataModels>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.bind</groupId>
-      <artifactId>jaxb-impl</artifactId>
-      <name>Sun JAXB Reference Implementation Runtime</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.bind</groupId>
-      <artifactId>jaxb-xjc</artifactId>
-      <name>Sun JAXB Reference Implementation Tools</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.messaging.saaj</groupId>
-      <artifactId>saaj-impl</artifactId>
-      <name>Sun SAAJ Reference Implementation</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.soap</groupId>
-      <artifactId>saaj-api</artifactId>
-      <name>Sun SAAJ API</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.neethi</groupId>
-      <artifactId>neethi</artifactId>
-      <name>Neethi</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.ws</groupId>
-      <artifactId>jaxws-api</artifactId>
-      <name>Java API for XML-Based Web Services (JAX-WS API)</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.bind</groupId>
-      <artifactId>jaxb-api</artifactId>
-      <name>Java Architecture for XML Binding (JAXB API)</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml</groupId>
-      <artifactId>jaxb-api</artifactId>
-      <name>Java Architecture for XML Binding (JAXB API)</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <name>Apache Xalan-Java</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>net.java.dev.stax-utils</groupId>
-      <artifactId>stax-utils</artifactId>
-      <name>StAX Utilities</name>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>wss4j</groupId>
-      <artifactId>wss4j</artifactId>
-      <name>Apache WSS4J</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>jdom</groupId>
-      <artifactId>jdom</artifactId>
-      <name>JDOM</name>
-      <organization>
-        <name>jdom.org</name>
-        <url>http://www.jdom.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Modified Apache Software License</name>
-          <url>licenses/jdom.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xml-security</groupId>
-      <artifactId>xmlsec</artifactId>
-      <name>XML Security</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xml-apis</groupId>
-      <artifactId>xml-apis</artifactId>
-      <name>XML APIs</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>ant</groupId>
-      <artifactId>ant</artifactId>
-      <name>Apache Ant</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>ant</groupId>
-      <artifactId>ant-nodeps</artifactId>
-      <name>Apache Ant (nodeps)</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <name>Jettison</name>
-      <organization>
-        <name>Envoi Solutions LLC</name>
-        <url>http://www.envoisolutions.com</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://jettison.codehaus.org/License</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <name>Apache Commons Codec</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-      <name>Apache Commons Collections</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-beanutils</groupId>
-      <artifactId>commons-beanutils</artifactId>
-      <name>Apache Commons BeanUtils</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-jexl</groupId>
-      <artifactId>commons-jexl</artifactId>
-      <name>Apache Commons JEXL</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <name>Apache Commons Logging</name>
-      <url>http://commons.apache.org/logging</url>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging-api</artifactId>
-      <name>Apache Commons Logging Api</name>
-      <url>http://commons.apache.org/logging</url>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
-      <name>Apache Commons Pool</name>
-      <url>http://commons.apache.org/pool</url>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-vfs</groupId>
-      <artifactId>commons-vfs</artifactId>
-      <name>Apache Commons VFS</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <name>Apache Commons Codec</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.aries.blueprint</groupId>
-      <artifactId>org.apache.aries.blueprint</artifactId>
-      <name>Apache Aries Blueprint</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.activemq</groupId>
-      <artifactId>activemq-core</artifactId>
-      <name>ActiveMQ :: Core</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-      <name>Camel :: Core</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.xbean</groupId>
-      <artifactId>xbean-classloader</artifactId>
-      <name>XBean :: Classloader</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <name>SLF4J API Module</name>
-      <organization>
-        <name>QOS.ch</name>
-        <url>http://www.qos.ch</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>MIT style</name>
-          <url>http://www.slf4j.org/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-jdk14</artifactId>
-      <name>SLF4J JDK14 Binding</name>
-      <organization>
-        <name>QOS.ch</name>
-        <url>http://www.qos.ch</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>MIT style</name>
-          <url>http://www.slf4j.org/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <name>Log4j</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-classworlds</artifactId>
-      <name>Plexus Classworlds</name>
-      <url>http://plexus.codehaus.org/plexus-classworlds/</url>
-      <organization>
-        <name>Codehaus</name>
-        <url>http://www.codehaus.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>jline</groupId>
-      <artifactId>jline</artifactId>
-      <name>JLine</name>
-      <url>http://jline.sourceforge.net</url>
-      <organization>
-        <name>JLine</name>
-        <url>http://jline.sourceforge.net</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The BSD License</name>
-          <url>http://jline.sourceforge.net/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
-      <name>Jetty Server</name>
-      <url>http://jetty.mortbay.org/</url>
-      <organization>
-        <name>Mort Bay Consulting</name>
-        <url>http://www.mortbay.com</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty-util</artifactId>
-      <name>Jetty Utilities</name>
-      <url>http://jetty.mortbay.org/</url>
-      <organization>
-        <name>Mort Bay Consulting</name>
-        <url>http://www.mortbay.com</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <name>XML Pull Parsing API</name>
-      <organization>
-        <name>AOP Alliance</name>
-        <url>http://aopalliance.sourceforge.net/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Public Domain</name>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-      <name>Java Servlet API</name>
-      <organization>
-        <name>Oracle Corporation</name>
-        <url>http://www.oracle.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.servlet</groupId>
-      <artifactId>jsp-api</artifactId>
-      <name>Java Servlet API</name>
-      <organization>
-        <name>Oracle Corporation</name>
-        <url>http://www.oracle.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.transaction</groupId>
-      <artifactId>jta</artifactId>
-      <name>Java Transaction API</name>
-      <organization>
-        <name>Oracle Corporation</name>
-        <url>http://www.oracle.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.antlr</groupId>
-      <artifactId>antlr-runtime</artifactId>
-      <licenses>
-        <license>
-          <name>MIT style</name>
-          <url>http://www.slf4j.org/license.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>rome</groupId>
-      <artifactId>rome</artifactId>
-      <name>ROME</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>oro</groupId>
-      <artifactId>oro</artifactId>
-      <name>Jakarta ORO</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-</supplementalDataModels>