Shade exificient 77/77277/11
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 25 Oct 2018 00:02:50 +0000 (02:02 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 1 Nov 2018 19:47:49 +0000 (20:47 +0100)
Shade exificient and xerces, so they do not end up polluting
the container with a full XML stack.

JIRA: CONTROLLER-1867
Change-Id: If9e5d468de08dd820636a5eeb8ecdb2871fe1a3f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 files changed:
netconf/netconf-artifacts/pom.xml
netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientSessionNegotiatorFactory.java
netconf/netconf-netty-util/pom.xml
netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/AbstractNetconfSession.java
netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/handler/NetconfEXICodec.java
netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/handler/NetconfEXIToMessageDecoder.java
netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/handler/NetconfMessageToEXIEncoder.java
netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/handler/exi/EXIParameters.java
netconf/netconf-netty-util/src/test/java/org/opendaylight/netconf/nettyutil/handler/NetconfEXIHandlersTest.java
netconf/netconf-netty-util/src/test/java/org/opendaylight/netconf/nettyutil/handler/exi/EXIParametersTest.java
netconf/netconf-netty-util/src/test/java/org/opendaylight/netconf/nettyutil/handler/exi/NetconfStartExiMessageTest.java
netconf/pom.xml
netconf/shaded-exificient-jar/pom.xml [new file with mode: 0644]
netconf/shaded-exificient/pom.xml [new file with mode: 0644]

index 02400653634e938aeea18907fefa19740084f57d..7a90e8444de8ddd6903c87ecf5fc925382ae4f24 100644 (file)
                 <version>1.2.1-SNAPSHOT</version>
             </dependency>
 
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>shaded-exificient</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
             <!-- netconf features -->
             <dependency>
                 <groupId>${project.groupId}</groupId>
index d6cc5b18c75518eb152aa77a578987f337b2d199..cdd450e44f594f7f6dbb775082e6af7994712188 100644 (file)
@@ -11,9 +11,6 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableSet;
-import com.siemens.ct.exi.core.CodingMode;
-import com.siemens.ct.exi.core.FidelityOptions;
-import com.siemens.ct.exi.core.exceptions.UnsupportedOption;
 import io.netty.channel.Channel;
 import io.netty.util.Timer;
 import io.netty.util.concurrent.Promise;
@@ -25,6 +22,9 @@ import org.opendaylight.netconf.api.messages.NetconfHelloMessageAdditionalHeader
 import org.opendaylight.netconf.api.xml.XmlNetconfConstants;
 import org.opendaylight.netconf.nettyutil.handler.exi.EXIParameters;
 import org.opendaylight.netconf.nettyutil.handler.exi.NetconfStartExiMessage;
+import org.opendaylight.netconf.shaded.exificient.core.CodingMode;
+import org.opendaylight.netconf.shaded.exificient.core.FidelityOptions;
+import org.opendaylight.netconf.shaded.exificient.core.exceptions.UnsupportedOption;
 import org.opendaylight.protocol.framework.SessionListenerFactory;
 import org.opendaylight.protocol.framework.SessionNegotiator;
 import org.opendaylight.protocol.framework.SessionNegotiatorFactory;
index f088b783026753c2c1044a456064d27beb99758a..ba292e4a61a65a62d79aaa3e26676f3eb7d52cfb 100644 (file)
   <version>1.5.1-SNAPSHOT</version>
   <name>${project.artifactId}</name>
 
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>com.siemens.ct.exi</groupId>
-        <artifactId>exificient</artifactId>
-        <version>1.0.1</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
   <dependencies>
     <!-- compile dependencies -->
     <dependency>
       <artifactId>sshd-netty</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.siemens.ct.exi</groupId>
-      <artifactId>exificient</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>xml-apis</groupId>
-      <artifactId>xml-apis</artifactId>
-      <version>1.4.01</version>
+      <groupId>org.opendaylight.netconf</groupId>
+      <artifactId>shaded-exificient</artifactId>
     </dependency>
+
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
index 29fe99fcb043dee6d76cf3073b1e7be60d6372c2..9aedfcebafbefc2a43cc139baf7f4c5dfdb90aff 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.netconf.nettyutil;
 
-import com.siemens.ct.exi.core.exceptions.EXIException;
-import com.siemens.ct.exi.core.exceptions.UnsupportedOption;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
 import io.netty.channel.ChannelHandler;
@@ -26,6 +24,8 @@ import org.opendaylight.netconf.nettyutil.handler.NetconfEXICodec;
 import org.opendaylight.netconf.nettyutil.handler.NetconfEXIToMessageDecoder;
 import org.opendaylight.netconf.nettyutil.handler.NetconfMessageToEXIEncoder;
 import org.opendaylight.netconf.nettyutil.handler.exi.EXIParameters;
+import org.opendaylight.netconf.shaded.exificient.core.exceptions.EXIException;
+import org.opendaylight.netconf.shaded.exificient.core.exceptions.UnsupportedOption;
 import org.opendaylight.protocol.framework.AbstractProtocolSession;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index b8924bbcdc8b4a7bbfe680d67e3ff3250c01fc0c..7c74416e6226059a98ba00c094f9147bbcf26f71 100644 (file)
@@ -13,11 +13,11 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
-import com.siemens.ct.exi.core.EXIFactory;
-import com.siemens.ct.exi.core.exceptions.EXIException;
-import com.siemens.ct.exi.main.api.sax.SAXEncoder;
-import com.siemens.ct.exi.main.api.sax.SAXFactory;
 import org.opendaylight.netconf.nettyutil.handler.exi.EXIParameters;
+import org.opendaylight.netconf.shaded.exificient.core.EXIFactory;
+import org.opendaylight.netconf.shaded.exificient.core.exceptions.EXIException;
+import org.opendaylight.netconf.shaded.exificient.main.api.sax.SAXEncoder;
+import org.opendaylight.netconf.shaded.exificient.main.api.sax.SAXFactory;
 import org.xml.sax.EntityResolver;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
index 1ddacb8bb512f9b1abc0c5df3e4f2236723af36b..4ea4202adc6a0f5e50f0bcdda641e339bb61068c 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.netconf.nettyutil.handler;
 
 import static java.util.Objects.requireNonNull;
 
-import com.siemens.ct.exi.core.exceptions.EXIException;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufInputStream;
 import io.netty.buffer.ByteBufUtil;
@@ -26,6 +25,7 @@ import javax.xml.transform.dom.DOMResult;
 import javax.xml.transform.sax.SAXTransformerFactory;
 import javax.xml.transform.sax.TransformerHandler;
 import org.opendaylight.netconf.api.NetconfMessage;
+import org.opendaylight.netconf.shaded.exificient.core.exceptions.EXIException;
 import org.opendaylight.yangtools.util.xml.UntrustedXML;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index 932613cfd119d1e2aa0e92d3c555ff09db38305a..4f27742f40906a444843e2520eb63b8d8b571627 100644 (file)
@@ -9,8 +9,6 @@ package org.opendaylight.netconf.nettyutil.handler;
 
 import static java.util.Objects.requireNonNull;
 
-import com.siemens.ct.exi.core.exceptions.EXIException;
-import com.siemens.ct.exi.main.api.sax.SAXEncoder;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufOutputStream;
 import io.netty.channel.ChannelHandlerContext;
@@ -22,6 +20,8 @@ import javax.xml.transform.TransformerException;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXResult;
 import org.opendaylight.netconf.api.NetconfMessage;
+import org.opendaylight.netconf.shaded.exificient.core.exceptions.EXIException;
+import org.opendaylight.netconf.shaded.exificient.main.api.sax.SAXEncoder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
index 5340baa6e44b77299f660ed04a54f5a8dd74ce97..fc50384e112e2b2a68b738c9a3586041753e4216 100644 (file)
@@ -10,14 +10,14 @@ package org.opendaylight.netconf.nettyutil.handler.exi;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.siemens.ct.exi.core.CodingMode;
-import com.siemens.ct.exi.core.EXIFactory;
-import com.siemens.ct.exi.core.EncodingOptions;
-import com.siemens.ct.exi.core.FidelityOptions;
-import com.siemens.ct.exi.core.exceptions.UnsupportedOption;
-import com.siemens.ct.exi.core.helpers.DefaultEXIFactory;
 import java.util.Objects;
 import org.opendaylight.netconf.api.xml.XmlElement;
+import org.opendaylight.netconf.shaded.exificient.core.CodingMode;
+import org.opendaylight.netconf.shaded.exificient.core.EXIFactory;
+import org.opendaylight.netconf.shaded.exificient.core.EncodingOptions;
+import org.opendaylight.netconf.shaded.exificient.core.FidelityOptions;
+import org.opendaylight.netconf.shaded.exificient.core.exceptions.UnsupportedOption;
+import org.opendaylight.netconf.shaded.exificient.core.helpers.DefaultEXIFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Element;
index 80be3858d9a5f3988d3f6c80bf4bb7d5149be58d..6559825b5441c66b561cb0c01c6fd9dd4a73b1a2 100644 (file)
@@ -5,14 +5,11 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.netconf.nettyutil.handler;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
-import com.siemens.ct.exi.core.exceptions.EXIException;
-import com.siemens.ct.exi.main.api.sax.SAXEncoder;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import java.io.ByteArrayOutputStream;
@@ -29,6 +26,8 @@ import org.junit.Test;
 import org.opendaylight.netconf.api.NetconfMessage;
 import org.opendaylight.netconf.api.xml.XmlUtil;
 import org.opendaylight.netconf.nettyutil.handler.exi.EXIParameters;
+import org.opendaylight.netconf.shaded.exificient.core.exceptions.EXIException;
+import org.opendaylight.netconf.shaded.exificient.main.api.sax.SAXEncoder;
 
 public class NetconfEXIHandlersTest {
 
index 5e1bd3896d5e66ca1a38ac1d9dbab01140c1fdde..407615f78969df7927df4261f5f35d466089766c 100644 (file)
@@ -10,15 +10,15 @@ package org.opendaylight.netconf.nettyutil.handler.exi;
 
 import static org.junit.Assert.assertEquals;
 
-import com.siemens.ct.exi.core.CodingMode;
-import com.siemens.ct.exi.core.EXIFactory;
-import com.siemens.ct.exi.core.FidelityOptions;
 import java.util.Arrays;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.opendaylight.netconf.api.xml.XmlElement;
 import org.opendaylight.netconf.api.xml.XmlUtil;
+import org.opendaylight.netconf.shaded.exificient.core.CodingMode;
+import org.opendaylight.netconf.shaded.exificient.core.EXIFactory;
+import org.opendaylight.netconf.shaded.exificient.core.FidelityOptions;
 
 @RunWith(Parameterized.class)
 public class EXIParametersTest {
index fa3d2081bbb450169e5d9fdda367b6a588e6d881..bfeb73dba97897992ce8aab354f54ee109215d8a 100644 (file)
@@ -10,14 +10,14 @@ package org.opendaylight.netconf.nettyutil.handler.exi;
 
 import static org.junit.Assert.assertTrue;
 
-import com.siemens.ct.exi.core.CodingMode;
-import com.siemens.ct.exi.core.FidelityOptions;
 import java.util.Arrays;
 import org.custommonkey.xmlunit.Diff;
 import org.custommonkey.xmlunit.XMLUnit;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
+import org.opendaylight.netconf.shaded.exificient.core.CodingMode;
+import org.opendaylight.netconf.shaded.exificient.core.FidelityOptions;
 
 @RunWith(Parameterized.class)
 public class NetconfStartExiMessageTest {
index ccd2eb0fe217a66cd937dd0222d3d5cd0de35ddf..77cd2173473bc0b1c9c67866ebdc3cd95efe883f 100644 (file)
@@ -61,5 +61,8 @@
     <module>callhome-provider</module>
 
     <module>netconf-artifacts</module>
+
+    <module>shaded-exificient-jar</module>
+    <module>shaded-exificient</module>
   </modules>
 </project>
diff --git a/netconf/shaded-exificient-jar/pom.xml b/netconf/shaded-exificient-jar/pom.xml
new file mode 100644 (file)
index 0000000..285a798
--- /dev/null
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+  ~
+  ~ This program and the accompanying materials are made available under the
+  ~ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+  ~ and is available at http://www.eclipse.org/legal/epl-v10.html
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>odlparent</artifactId>
+        <version>3.1.4</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.opendaylight.netconf</groupId>
+    <artifactId>shaded-exificient-jar</artifactId>
+    <packaging>jar</packaging>
+    <version>1.5.1-SNAPSHOT</version>
+    <name>${project.artifactId}</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.siemens.ct.exi</groupId>
+            <artifactId>exificient</artifactId>
+            <version>1.0.1</version>
+        </dependency>
+        <dependency>
+            <!-- Override until exificient ships a newer version -->
+            <groupId>xerces</groupId>
+            <artifactId>xercesImpl</artifactId>
+            <version>2.12.0</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <createDependencyReducedPom>false</createDependencyReducedPom>
+                            <shadeSourcesContent>true</shadeSourcesContent>
+                            <createSourcesJar>true</createSourcesJar>
+                            <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
+                            <artifactSet>
+                                <includes>
+                                    <include>com.siemens.ct.exi</include>
+                                    <include>xerces:xercesImpl</include>
+                                    <include>xmlpull:xmlpull</include>
+                                    <include>xml-apis:xml-apis</include>
+                                </includes>
+                            </artifactSet>
+                            <filters>
+                                <filter>
+                                    <artifact>com.siemens.ct.exi</artifact>
+                                    <includes>
+                                        <include>com/siemens/ct/exi/**</include>
+                                    </includes>
+                                    <excludes>
+                                        <exclude>com/siemens/ct/exi/grammars/persistency/Grammars2JavaSourceCode*</exclude>
+                                    </excludes>
+                                </filter>
+                                <filter>
+                                    <artifact>xerces:xercesImpl</artifact>
+                                    <includes>
+                                        <include>org/apache/xerces/dom/*</include>
+                                        <include>org/apache/xerces/dom/events/*</include>
+                                        <include>org/apache/xerces/impl/*</include>
+                                        <include>org/apache/xerces/impl/dtd/*</include>
+                                        <include>org/apache/xerces/impl/dtd/models/*</include>
+                                        <include>org/apache/xerces/impl/dv/*</include>
+                                        <include>org/apache/xerces/impl/dv/util/*</include>
+                                        <include>org/apache/xerces/impl/dv/xs/*</include>
+                                        <include>org/apache/xerces/impl/io/*</include>
+                                        <include>org/apache/xerces/impl/validation/*</include>
+                                        <include>org/apache/xerces/impl/xpath/*</include>
+                                        <include>org/apache/xerces/impl/xpath/regex/*</include>
+                                        <include>org/apache/xerces/impl/xs/*</include>
+                                        <include>org/apache/xerces/impl/xs/identity/*</include>
+                                        <include>org/apache/xerces/impl/xs/models/*</include>
+                                        <include>org/apache/xerces/jaxp/datatype/*</include>
+                                        <include>org/apache/xerces/xni/grammars/*</include>
+                                        <include>org/apache/xerces/xni/parser/*</include>
+                                        <include>org/apache/xerces/xs/datatypes/*</include>
+                                        <include>org/apache/xml/serialize/*</include>
+
+
+                                        <include>org/apache/xerces/impl/msg/DOMErrorHandlerWrapper*</include>
+                                        <include>org/apache/xerces/impl/msg/XMLMessageFormatter*</include>
+
+                                        <include>org/apache/xerces/impl/xs/opti/AttrImpl*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/NamedNodeMapImpl*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/DefaultDocument*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/DefaultElement*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/DefaultNode*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/DefaultXMLDocumentHandler*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/ElementImpl*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/NodeImpl*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/SchemaDOM*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/SchemaDOMParser*</include>
+                                        <include>org/apache/xerces/impl/xs/opti/SchemaParsingConfig*</include>
+
+                                        <include>org/apache/xerces/impl/xs/traversers/SchemaContentHandler*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/StAXSchemaParser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSAnnotationInfo*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSAttributeChecker*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDAbstractIDConstraintTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDAbstractParticleTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDAttributeGroupTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDElementTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDGroupTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDHandler*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDKeyrefTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDNotationTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDocumentInfo*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDUniqueOrKeyTraverser*</include>
+                                        <include>org/apache/xerces/impl/xs/traversers/XSDWildcardTraverser*</include>
+
+                                        <include>org/apache/xerces/impl/xs/util/ObjectListImpl*</include>
+                                        <include>org/apache/xerces/impl/xs/util/ShortListImpl*</include>
+                                        <include>org/apache/xerces/impl/xs/util/SimpleLocator*</include>
+                                        <include>org/apache/xerces/impl/xs/util/StringListImpl*</include>
+                                        <include>org/apache/xerces/impl/xs/util/XInt*</include>
+                                        <include>org/apache/xerces/impl/xs/util/XIntPool*</include>
+                                        <include>org/apache/xerces/impl/xs/util/XS10TypeHelper*</include>
+                                        <include>org/apache/xerces/impl/xs/util/XSInputSource*</include>
+                                        <include>org/apache/xerces/impl/xs/util/XSNamedMap4Types*</include>
+                                        <include>org/apache/xerces/impl/xs/util/XSNamedMapImpl*</include>
+                                        <include>org/apache/xerces/impl/xs/util/XSObjectListImpl*</include>
+
+                                        <include>org/apache/xerces/parsers/AbstractDOMParser*</include>
+                                        <include>org/apache/xerces/parsers/AbstractSAXParser*</include>
+                                        <include>org/apache/xerces/parsers/AbstractXMLDocumentParser*</include>
+                                        <include>org/apache/xerces/parsers/BasicParserConfiguration*</include>
+                                        <include>org/apache/xerces/parsers/ObjectFactory*</include>
+                                        <include>org/apache/xerces/parsers/DOMParser*</include>
+                                        <include>org/apache/xerces/parsers/SAXParser*</include>
+                                        <include>org/apache/xerces/parsers/SecuritySupport*</include>
+                                        <include>org/apache/xerces/parsers/XML11Configurable*</include>
+                                        <include>org/apache/xerces/parsers/XML11Configuration*</include>
+                                        <include>org/apache/xerces/parsers/XMLDTDContentModelHandler*</include>
+                                        <include>org/apache/xerces/parsers/XMLParser*</include>
+
+                                        <include>org/apache/xerces/util/AugmentationsImpl*</include>
+                                        <include>org/apache/xerces/util/DatatypeMessageFormatter*</include>
+                                        <include>org/apache/xerces/util/DefaultErrorHandler*</include>
+                                        <include>org/apache/xerces/util/DOMEntityResolverWrapper*</include>
+                                        <include>org/apache/xerces/util/DOMErrorHandlerWrapper*</include>
+                                        <include>org/apache/xerces/util/DOMInputSource*</include>
+                                        <include>org/apache/xerces/util/DOMUtil*</include>
+                                        <include>org/apache/xerces/util/EncodingMap*</include>
+                                        <include>org/apache/xerces/util/EntityResolver2Wrapper*</include>
+                                        <include>org/apache/xerces/util/EntityResolverWrapper*</include>
+                                        <include>org/apache/xerces/util/ErrorHandlerProxy*</include>
+                                        <include>org/apache/xerces/util/ErrorHandlerWrapper*</include>
+                                        <include>org/apache/xerces/util/HTTPInputSource*</include>
+                                        <include>org/apache/xerces/util/IntStack*</include>
+                                        <include>org/apache/xerces/util/JAXPNamespaceContextWrapper*</include>
+                                        <include>org/apache/xerces/util/MessageFormatter*</include>
+                                        <include>org/apache/xerces/util/NamespaceSupport*</include>
+                                        <include>org/apache/xerces/util/ParserConfigurationSettings*</include>
+                                        <include>org/apache/xerces/util/PrimeNumberSequenceGenerator*</include>
+                                        <include>org/apache/xerces/util/SAXInputSource*</include>
+                                        <include>org/apache/xerces/util/SAXLocatorWrapper*</include>
+                                        <include>org/apache/xerces/util/SAXMessageFormatter*</include>
+                                        <include>org/apache/xerces/util/SecurityManager*</include>
+                                        <include>org/apache/xerces/util/StAXInputSource*</include>
+                                        <include>org/apache/xerces/util/StAXLocationWrapper*</include>
+                                        <include>org/apache/xerces/util/SymbolHash*</include>
+                                        <include>org/apache/xerces/util/SymbolTable*</include>
+                                        <include>org/apache/xerces/util/URI*</include>
+                                        <include>org/apache/xerces/util/XML11Char*</include>
+                                        <include>org/apache/xerces/util/XMLAttributesImpl*</include>
+                                        <include>org/apache/xerces/util/XMLChar*</include>
+                                        <include>org/apache/xerces/util/XMLEntityDescriptionImpl*</include>
+                                        <include>org/apache/xerces/util/XMLErrorCode*</include>
+                                        <include>org/apache/xerces/util/XMLResourceIdentifierImpl*</include>
+                                        <include>org/apache/xerces/util/XMLStringBuffer*</include>
+                                        <include>org/apache/xerces/util/XMLSymbols*</include>
+
+                                        <include>org/apache/xerces/xni/Augmentations*</include>
+                                        <include>org/apache/xerces/xni/NamespaceContext*</include>
+                                        <include>org/apache/xerces/xni/QName*</include>
+                                        <include>org/apache/xerces/xni/XMLAttributes*</include>
+                                        <include>org/apache/xerces/xni/XMLDocumentHandler*</include>
+                                        <include>org/apache/xerces/xni/XMLDTDContentModelHandler*</include>
+                                        <include>org/apache/xerces/xni/XMLDTDHandler*</include>
+                                        <include>org/apache/xerces/xni/XMLLocator*</include>
+                                        <include>org/apache/xerces/xni/XMLResourceIdentifier*</include>
+                                        <include>org/apache/xerces/xni/XMLString*</include>
+                                        <include>org/apache/xerces/xni/XNIException*</include>
+
+                                        <include>org/apache/xerces/xs/AttributePSVI*</include>
+                                        <include>org/apache/xerces/xs/ElementPSVI*</include>
+                                        <include>org/apache/xerces/xs/ItemPSVI*</include>
+                                        <include>org/apache/xerces/xs/LSInputList*</include>
+                                        <include>org/apache/xerces/xs/PSVIProvider*</include>
+                                        <include>org/apache/xerces/xs/ShortList*</include>
+                                        <include>org/apache/xerces/xs/StringList*</include>
+                                        <include>org/apache/xerces/xs/XSAnnotation*</include>
+                                        <include>org/apache/xerces/xs/XSAttributeDeclaration*</include>
+                                        <include>org/apache/xerces/xs/XSAttributeGroupDefinition*</include>
+                                        <include>org/apache/xerces/xs/XSAttributeUse*</include>
+                                        <include>org/apache/xerces/xs/XSComplexTypeDecl*</include>
+                                        <include>org/apache/xerces/xs/XSComplexTypeDefinition*</include>
+                                        <include>org/apache/xerces/xs/XSConstants*</include>
+                                        <include>org/apache/xerces/xs/XSElementDeclaration*</include>
+                                        <include>org/apache/xerces/xs/XSException*</include>
+                                        <include>org/apache/xerces/xs/XSFacet*</include>
+                                        <include>org/apache/xerces/xs/XSIDCDefinition*</include>
+                                        <include>org/apache/xerces/xs/XSLoader*</include>
+                                        <include>org/apache/xerces/xs/XSModelGroup*</include>
+                                        <include>org/apache/xerces/xs/XSModel*</include>
+                                        <include>org/apache/xerces/xs/XSMultiValueFacet*</include>
+                                        <include>org/apache/xerces/xs/XSNamedMap*</include>
+                                        <include>org/apache/xerces/xs/XSNamespaceItem*</include>
+                                        <include>org/apache/xerces/xs/XSNotationDeclaration*</include>
+                                        <include>org/apache/xerces/xs/XSObject*</include>
+                                        <include>org/apache/xerces/xs/XSObjectList*</include>
+                                        <include>org/apache/xerces/xs/XSParticle*</include>
+                                        <include>org/apache/xerces/xs/XSSimpleTypeDefinition*</include>
+                                        <include>org/apache/xerces/xs/XSTerm*</include>
+                                        <include>org/apache/xerces/xs/XSTypeDefinition*</include>
+                                        <include>org/apache/xerces/xs/XSValue*</include>
+                                        <include>org/apache/xerces/xs/XSWildcard*</include>
+                                    </includes>
+                                    <excludes>
+                                        <exclude>org/apache/xerces/dom/ASModelImpl*</exclude>
+                                        <exclude>org/apache/xerces/dom/ASDOMImplementationImpl*</exclude>
+                                    </excludes>
+                                </filter>
+                                <filter>
+                                    <artifact>xml-apis</artifact>
+                                    <includes>
+                                        <include>org/w3c/dom/ElementTraversal*</include>
+                                    </includes>
+                                </filter>
+                            </filters>
+                            <relocations>
+                                <relocation>
+                                    <pattern>com.siemens.ct.exi</pattern>
+                                    <shadedPattern>org.opendaylight.netconf.shaded.exificient</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>org.apache.xerces</pattern>
+                                    <shadedPattern>org.opendaylight.netconf.shaded.xerces</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>org.apache.xml</pattern>
+                                    <shadedPattern>org.opendaylight.netconf.shaded.apache.xml</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>org.w3c.dom.ElementTraversal</pattern>
+                                    <shadedPattern>org.opendaylight.netconf.shaded.org.w3c.dom.ElementTraversal</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>org.xmlpull</pattern>
+                                    <shadedPattern>org.opendaylight.netconf.shaded.xmlpull</shadedPattern>
+                                </relocation>
+                            </relocations>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/netconf/shaded-exificient/pom.xml b/netconf/shaded-exificient/pom.xml
new file mode 100644 (file)
index 0000000..c541d73
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+  ~
+  ~ This program and the accompanying materials are made available under the
+  ~ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+  ~ and is available at http://www.eclipse.org/legal/epl-v10.html
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>bundle-parent</artifactId>
+        <version>3.1.4</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.opendaylight.netconf</groupId>
+    <artifactId>shaded-exificient</artifactId>
+    <packaging>bundle</packaging>
+    <version>1.5.1-SNAPSHOT</version>
+    <name>${project.artifactId}</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.netconf</groupId>
+            <artifactId>shaded-exificient-jar</artifactId>
+            <version>1.5.1-SNAPSHOT</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>unpack</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>unpack</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.opendaylight.netconf</groupId>
+                                    <artifactId>shaded-exificient-jar</artifactId>
+                                    <version>1.5.1-SNAPSHOT</version>
+                                </artifactItem>
+                            </artifactItems>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                            <outputDirectory>${project.build.directory}/classes</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>${project.build.directory}/generated-sources</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Import-Package>
+                            sun.io;resolution:=optional,
+                            *
+                        </Import-Package>
+                        <Export-Package>
+                            org.opendaylight.netconf.shaded.*
+                        </Export-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>