From: Giovanni Meo Date: Mon, 12 May 2014 11:05:43 +0000 (+0000) Subject: Merge "Bug 849: Fixed NPE in Translated Data Change Events." X-Git-Tag: autorelease-tag-v20140601202136_82eb3f9~102 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=494d528befd3908cc1b5f1c7706d34414819ef03;hp=69d25be6296c54b98deaabb7671a66b9ba5e3f12 Merge "Bug 849: Fixed NPE in Translated Data Change Events." --- diff --git a/opendaylight/appauth/pom.xml b/opendaylight/appauth/pom.xml index f07c855877..e74e3cb915 100644 --- a/opendaylight/appauth/pom.xml +++ b/opendaylight/appauth/pom.xml @@ -35,7 +35,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true @@ -48,7 +47,6 @@ org.apache.felix.dm, org.opendaylight.controller.appauth, org.opendaylight.controller.appauth.authorization - diff --git a/opendaylight/arphandler/pom.xml b/opendaylight/arphandler/pom.xml index 8d62c1da4b..064d04c25c 100644 --- a/opendaylight/arphandler/pom.xml +++ b/opendaylight/arphandler/pom.xml @@ -50,7 +50,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/clustering/services/pom.xml b/opendaylight/clustering/services/pom.xml index 3806421df8..3ff6bac21f 100644 --- a/opendaylight/clustering/services/pom.xml +++ b/opendaylight/clustering/services/pom.xml @@ -24,7 +24,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheConfigException.java b/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheConfigException.java index 32c3d08c91..e030142016 100644 --- a/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheConfigException.java +++ b/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheConfigException.java @@ -24,6 +24,7 @@ package org.opendaylight.controller.clustering.services; * passed and so on. */ public class CacheConfigException extends Exception { + private static final long serialVersionUID = 1L; /** * Instantiates a new cache config exception. diff --git a/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheExistException.java b/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheExistException.java index 583de7cb50..70165cce1f 100644 --- a/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheExistException.java +++ b/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheExistException.java @@ -23,6 +23,7 @@ package org.opendaylight.controller.clustering.services; * allocated already exists */ public class CacheExistException extends Exception { + private static final long serialVersionUID = 1L; /** * Instantiates a new cache exist exception. diff --git a/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheListenerAddException.java b/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheListenerAddException.java index 34ba41c5d4..996e0a0767 100644 --- a/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheListenerAddException.java +++ b/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/CacheListenerAddException.java @@ -21,6 +21,7 @@ package org.opendaylight.controller.clustering.services; * Listener being added fails for any reason */ public class CacheListenerAddException extends Exception { + private static final long serialVersionUID = 1L; /** * Instantiates a new cache listener add exception. diff --git a/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/ListenRoleChangeAddException.java b/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/ListenRoleChangeAddException.java index 523a1340c5..dd2585b17e 100644 --- a/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/ListenRoleChangeAddException.java +++ b/opendaylight/clustering/services/src/main/java/org/opendaylight/controller/clustering/services/ListenRoleChangeAddException.java @@ -20,7 +20,9 @@ package org.opendaylight.controller.clustering.services; * @deprecated for internal use * The Class ListenRoleChangeAddException. */ +@Deprecated public class ListenRoleChangeAddException extends Exception { + private static final long serialVersionUID = 1L; /** * Instantiates a new listen role change add exception. diff --git a/opendaylight/clustering/services_implementation/pom.xml b/opendaylight/clustering/services_implementation/pom.xml index 4acfae0d29..8d3f53b6c4 100644 --- a/opendaylight/clustering/services_implementation/pom.xml +++ b/opendaylight/clustering/services_implementation/pom.xml @@ -63,7 +63,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true @@ -75,9 +74,8 @@ !org.hornetq.*, !org.jboss.*, javax.transaction, - *, org.opendaylight.controller.clustering.services, - org.opendaylight.controller.sal.core + org.opendaylight.controller.sal.core,* org.opendaylight.controller.clustering.services_implementation.internal.Activator diff --git a/opendaylight/clustering/stub/pom.xml b/opendaylight/clustering/stub/pom.xml index 7a0c1378b6..6a0b3082fb 100644 --- a/opendaylight/clustering/stub/pom.xml +++ b/opendaylight/clustering/stub/pom.xml @@ -31,7 +31,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/clustering/test/pom.xml b/opendaylight/clustering/test/pom.xml index 02a231b78c..9021c9419e 100644 --- a/opendaylight/clustering/test/pom.xml +++ b/opendaylight/clustering/test/pom.xml @@ -60,7 +60,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexClass.java b/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexClass.java index 076ec05e32..51f8128382 100644 --- a/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexClass.java +++ b/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexClass.java @@ -12,6 +12,7 @@ package org.opendaylight.controller.clustering.test.internal; import java.io.Serializable; public class ComplexClass implements IComplex, Serializable { + private static final long serialVersionUID = 1L; private String identity; public ComplexClass(String i) { diff --git a/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexClass1.java b/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexClass1.java index fda2ff10aa..876fb656ac 100644 --- a/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexClass1.java +++ b/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexClass1.java @@ -12,6 +12,7 @@ package org.opendaylight.controller.clustering.test.internal; import java.io.Serializable; public class ComplexClass1 implements IComplex, Serializable { + private static final long serialVersionUID = 1L; private String identity; public ComplexClass1(String i) { diff --git a/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexContainer.java b/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexContainer.java index adc062d4c4..d07c192241 100644 --- a/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexContainer.java +++ b/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/ComplexContainer.java @@ -12,9 +12,10 @@ package org.opendaylight.controller.clustering.test.internal; import java.io.Serializable; public class ComplexContainer implements Serializable { - private IComplex f; - private IComplex f1; - private Integer state; + private static final long serialVersionUID = 1L; + private final IComplex f; + private final IComplex f1; + private final Integer state; public ComplexContainer(String i, Integer s) { this.state = s; diff --git a/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/StringContainer.java b/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/StringContainer.java index 39ef1b0e29..7cdb032988 100644 --- a/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/StringContainer.java +++ b/opendaylight/clustering/test/src/main/java/org/opendaylight/controller/clustering/test/internal/StringContainer.java @@ -12,6 +12,7 @@ package org.opendaylight.controller.clustering.test.internal; import java.io.Serializable; public class StringContainer implements Serializable { + private static final long serialVersionUID = 1L; private String mystring; public StringContainer() { diff --git a/opendaylight/commons/concepts/pom.xml b/opendaylight/commons/concepts/pom.xml index de263cb41f..01dd61a1cb 100644 --- a/opendaylight/commons/concepts/pom.xml +++ b/opendaylight/commons/concepts/pom.xml @@ -23,7 +23,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/commons/httpclient/pom.xml b/opendaylight/commons/httpclient/pom.xml index f068fded4e..07d3cdda96 100644 --- a/opendaylight/commons/httpclient/pom.xml +++ b/opendaylight/commons/httpclient/pom.xml @@ -38,7 +38,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/commons/opendaylight/pom.xml b/opendaylight/commons/opendaylight/pom.xml index c0fc4024ce..aaab66d4b0 100644 --- a/opendaylight/commons/opendaylight/pom.xml +++ b/opendaylight/commons/opendaylight/pom.xml @@ -22,7 +22,7 @@ 4.1 1.50 - 2.3.7 + 2.4.0 0.4.2-SNAPSHOT 2.10 0.5.1-SNAPSHOT @@ -52,11 +52,11 @@ 2.5.0 1.3.1 - 1.26.2 + 1.28 3.0.0 - 0000.0002.0038.0-SNAPSHOT + 0000.0002.0038.0 2.15 1.0.1 3.0.1 @@ -1339,16 +1339,6 @@ ganymed 1.1-SNAPSHOT - - org.opendaylight.controller.thirdparty - nagasena - ${exi.nagasena.version} - - - org.opendaylight.controller.thirdparty - nagasena-rta - ${exi.nagasena.version} - org.opendaylight.controller.thirdparty @@ -1483,6 +1473,16 @@ yang-ext ${yang-ext.version} + + org.openexi + nagasena + ${exi.nagasena.version} + + + org.openexi + nagasena-rta + ${exi.nagasena.version} + org.osgi org.osgi.compendium @@ -1773,6 +1773,11 @@ enunciate.xml + + org.codehaus.enunciate + enunciate-swagger + ${enunciate.version} + org.opendaylight.controller commons.logback_settings diff --git a/opendaylight/config/feature/pom.xml b/opendaylight/config/feature/pom.xml new file mode 100644 index 0000000000..aaf33ccc0f --- /dev/null +++ b/opendaylight/config/feature/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + org.opendaylight.controller + config-subsystem + 0.2.5-SNAPSHOT + + config-features + + pom + + + features.xml + + + + + + + + true + src/main/resources + + + + + org.apache.maven.plugins + maven-resources-plugin + + + filter + + resources + + generate-resources + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + attach-artifacts + + attach-artifact + + package + + + + ${project.build.directory}/classes/${features.file} + xml + features + + + + + + + + + + scm:git:ssh://git.opendaylight.org:29418/controller.git + scm:git:ssh://git.opendaylight.org:29418/controller.git + HEAD + https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL + + diff --git a/opendaylight/config/feature/src/main/resources/features.xml b/opendaylight/config/feature/src/main/resources/features.xml new file mode 100644 index 0000000000..81972c3661 --- /dev/null +++ b/opendaylight/config/feature/src/main/resources/features.xml @@ -0,0 +1,27 @@ + + + + + odl-config-subsystem + + + + yangtools-concepts + yangtools-binding + yangtools-binding-generator + odl-mdsal-commons + mvn:org.opendaylight.controller/config-api/${project.version} + mvn:org.opendaylight.controller/config-manager/${project.version} + mvn:org.opendaylight.controller/yang-jmx-generator/${project.version} + mvn:org.opendaylight.controller/config-persister-api/${project.version} + mvn:org.opendaylight.controller/config-persister-file-xml-adapter/${project.version} + mvn:org.opendaylight.controller/config-persister-directory-xml-adapter/${project.version} + mvn:org.opendaylight.controller/shutdown-api/${project.version} + mvn:org.opendaylight.controller/shutdown-impl/${project.version} + mvn:org.osgi/org.osgi.core/${osgi.core.version} + wrap:mvn:com.google.guava/guava/${guava.version} + mvn:org.javassist/javassist/${javassist.version} + + \ No newline at end of file diff --git a/opendaylight/config/pom.xml b/opendaylight/config/pom.xml index 20b1b411a4..613940144b 100644 --- a/opendaylight/config/pom.xml +++ b/opendaylight/config/pom.xml @@ -40,6 +40,7 @@ shutdown-impl netconf-config-dispatcher config-module-archetype + feature @@ -162,7 +163,6 @@ org.jacoco jacoco-maven-plugin - ${jacoco.version} diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/gofactory/ConcreteModuleGeneratedObjectFactory.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/gofactory/ConcreteModuleGeneratedObjectFactory.java index fbc507d0b4..051b1a7f5b 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/gofactory/ConcreteModuleGeneratedObjectFactory.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/gofactory/ConcreteModuleGeneratedObjectFactory.java @@ -1,7 +1,7 @@ package org.opendaylight.controller.config.yangjmxgenerator.plugin.gofactory; -import com.google.common.base.Joiner; -import com.google.common.base.Optional; +import java.util.LinkedHashMap; + import org.opendaylight.controller.config.api.DependencyResolver; import org.opendaylight.controller.config.api.ModuleIdentifier; import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry; @@ -11,7 +11,8 @@ import org.opendaylight.controller.config.yangjmxgenerator.plugin.java.Generated import org.opendaylight.controller.config.yangjmxgenerator.plugin.java.JavaFileInputBuilder; import org.opendaylight.controller.config.yangjmxgenerator.plugin.java.TypeName; -import java.util.LinkedHashMap; +import com.google.common.base.Joiner; +import com.google.common.base.Optional; public class ConcreteModuleGeneratedObjectFactory { @@ -46,12 +47,10 @@ public class ConcreteModuleGeneratedObjectFactory { } private static String getNewCtor(FullyQualifiedName fqn) { - LinkedHashMap parameters = new LinkedHashMap(){ - { - put(ModuleIdentifier.class.getCanonicalName(), "identifier"); - put(DependencyResolver.class.getCanonicalName(), "dependencyResolver"); - } - }; + LinkedHashMap parameters = new LinkedHashMap<>(); + parameters.put(ModuleIdentifier.class.getCanonicalName(), "identifier"); + parameters.put(DependencyResolver.class.getCanonicalName(), "dependencyResolver"); + StringBuilder stringBuilder = getCtor(fqn, parameters); return stringBuilder.toString(); } @@ -72,14 +71,11 @@ public class ConcreteModuleGeneratedObjectFactory { } private static String getCopyCtor(final FullyQualifiedName fqn) { - LinkedHashMap parameters = new LinkedHashMap(){ - { - put(ModuleIdentifier.class.getCanonicalName(), "identifier"); - put(DependencyResolver.class.getCanonicalName(), "dependencyResolver"); - put(fqn.toString(), "oldModule"); - put(AutoCloseable.class.getCanonicalName(), "oldInstance"); - } - }; + LinkedHashMap parameters = new LinkedHashMap<>(); + parameters.put(ModuleIdentifier.class.getCanonicalName(), "identifier"); + parameters.put(DependencyResolver.class.getCanonicalName(), "dependencyResolver"); + parameters.put(fqn.toString(), "oldModule"); + parameters.put(AutoCloseable.class.getCanonicalName(), "oldInstance"); StringBuilder stringBuilder = getCtor(fqn, parameters); return stringBuilder.toString(); } diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/StringUtil.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/StringUtil.java index 265aea10c5..bcc55a203e 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/StringUtil.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/StringUtil.java @@ -4,14 +4,11 @@ import com.google.common.base.Joiner; import com.google.common.base.Optional; import com.google.common.base.Splitter; import com.google.common.base.Strings; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.opendaylight.controller.config.yangjmxgenerator.plugin.java.FullyQualifiedName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.io.InputStream; import java.util.List; import java.util.regex.Pattern; @@ -61,13 +58,18 @@ public class StringUtil { public static Optional loadCopyright() { - try (InputStream in = StringUtil.class.getResourceAsStream("/copyright.txt")) { - if (in != null) { - return Optional.of(IOUtils.toString(in)); + /* + * FIXME: BUG-980: this is a nice feature, but the copyright needs to come + * from the project being processed, not this one. + try (InputStream in = StringUtil.class.getResourceAsStream("/copyright.txt")) { + if (in != null) { + return Optional.of(IOUtils.toString(in)); + } + } catch (IOException e) { + logger.warn("Cannot load copyright.txt", e); } - } catch (IOException e) { - logger.warn("Cannot load copyright.txt", e); - } + + */ return Optional.absent(); } diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/resources/copyright.txt b/opendaylight/config/yang-jmx-generator-plugin/src/main/resources/copyright.txt deleted file mode 100644 index 4a0c355685..0000000000 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/resources/copyright.txt +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (c) 2013 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 diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/StringUtilTest.java b/opendaylight/config/yang-jmx-generator-plugin/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/StringUtilTest.java index b0217a4ba9..1ad0207c2b 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/StringUtilTest.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/util/StringUtilTest.java @@ -1,5 +1,6 @@ package org.opendaylight.controller.config.yangjmxgenerator.plugin.util; +import org.junit.Ignore; import org.junit.Test; import org.opendaylight.controller.config.yangjmxgenerator.plugin.java.FullyQualifiedName; @@ -24,6 +25,7 @@ public class StringUtilTest { } @Test + @Ignore public void testCopyright() throws IOException { assertTrue(StringUtil.loadCopyright().isPresent()); } diff --git a/opendaylight/configuration/api/pom.xml b/opendaylight/configuration/api/pom.xml index 992e4b08d1..ef27bfd5e4 100644 --- a/opendaylight/configuration/api/pom.xml +++ b/opendaylight/configuration/api/pom.xml @@ -23,7 +23,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/configuration/implementation/pom.xml b/opendaylight/configuration/implementation/pom.xml index b6d2229121..a4a7ba6746 100644 --- a/opendaylight/configuration/implementation/pom.xml +++ b/opendaylight/configuration/implementation/pom.xml @@ -35,7 +35,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/connectionmanager/api/pom.xml b/opendaylight/connectionmanager/api/pom.xml index b3a427a8f7..c4ced042d0 100644 --- a/opendaylight/connectionmanager/api/pom.xml +++ b/opendaylight/connectionmanager/api/pom.xml @@ -27,7 +27,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/connectionmanager/implementation/pom.xml b/opendaylight/connectionmanager/implementation/pom.xml index 5adcc89ee8..8be119d507 100644 --- a/opendaylight/connectionmanager/implementation/pom.xml +++ b/opendaylight/connectionmanager/implementation/pom.xml @@ -39,7 +39,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/containermanager/api/pom.xml b/opendaylight/containermanager/api/pom.xml index 5bfededfe5..a19e27189a 100644 --- a/opendaylight/containermanager/api/pom.xml +++ b/opendaylight/containermanager/api/pom.xml @@ -27,7 +27,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/containermanager/implementation/pom.xml b/opendaylight/containermanager/implementation/pom.xml index b7b9e0abda..3ead8be65a 100644 --- a/opendaylight/containermanager/implementation/pom.xml +++ b/opendaylight/containermanager/implementation/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/containermanager/it.implementation/pom.xml b/opendaylight/containermanager/it.implementation/pom.xml index 2727f77d90..a3f140d7e1 100644 --- a/opendaylight/containermanager/it.implementation/pom.xml +++ b/opendaylight/containermanager/it.implementation/pom.xml @@ -35,7 +35,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/distribution/opendaylight-karaf/pom.xml b/opendaylight/distribution/opendaylight-karaf/pom.xml index 60f660a193..1414fac2f3 100644 --- a/opendaylight/distribution/opendaylight-karaf/pom.xml +++ b/opendaylight/distribution/opendaylight-karaf/pom.xml @@ -22,6 +22,14 @@ ${karaf.version} kar + + org.opendaylight.controller + config-features + ${config.version} + features + xml + runtime + @@ -42,6 +50,15 @@ xml runtime + --> + + org.opendaylight.controller + mdsal-features + ${mdsal.version} + features + xml + runtime + org.opendaylight.yangtools features-file @@ -50,7 +67,6 @@ xml runtime - --> @@ -172,6 +188,29 @@ **\/target\/,**\/bin\/,**\/target-ide\/,**\/configuration\/initial\/ + + maven-resources-plugin + 2.6 + + + copy-resources + + copy-resources + + + process-resources + + ${basedir}/target/assembly + true + + + ${basedir}/src/main/resources + + + + + + diff --git a/opendaylight/distribution/opendaylight/pom.xml b/opendaylight/distribution/opendaylight/pom.xml index 615668f5eb..72ce89d14e 100644 --- a/opendaylight/distribution/opendaylight/pom.xml +++ b/opendaylight/distribution/opendaylight/pom.xml @@ -1095,14 +1095,6 @@ org.opendaylight.controller.thirdparty ganymed - - org.opendaylight.controller.thirdparty - nagasena - - - org.opendaylight.controller.thirdparty - nagasena-rta - org.opendaylight.yangtools binding-generator-api @@ -1111,17 +1103,14 @@ org.opendaylight.yangtools binding-generator-impl - ${yangtools.version} org.opendaylight.yangtools binding-generator-spi - ${yangtools.version} org.opendaylight.yangtools binding-generator-util - ${yangtools.version} org.opendaylight.yangtools @@ -1131,7 +1120,6 @@ org.opendaylight.yangtools binding-type-provider - ${yangtools.version} org.opendaylight.yangtools @@ -1177,12 +1165,10 @@ org.opendaylight.yangtools yang-parser-api - ${yangtools.version} org.opendaylight.yangtools yang-parser-impl - ${yangtools.version} @@ -1216,6 +1202,14 @@ xtend-lib-osgi 2.4.3 + + org.openexi + nagasena + + + org.openexi + nagasena-rta + org.zeromq jeromq diff --git a/opendaylight/distribution/opendaylight/src/main/resources/run.sh b/opendaylight/distribution/opendaylight/src/main/resources/run.sh index 21245a0259..dba996a994 100755 --- a/opendaylight/distribution/opendaylight/src/main/resources/run.sh +++ b/opendaylight/distribution/opendaylight/src/main/resources/run.sh @@ -161,7 +161,7 @@ fi ######################################## # Now add to classpath the OSGi JAR ######################################## -CLASSPATH="${basedir}"/lib/org.eclipse.osgi-3.8.1.v20120830-144521.jar +CLASSPATH=${CLASSPATH}:${basedir}/lib/org.eclipse.osgi-3.8.1.v20120830-144521.jar FWCLASSPATH=file:"${basedir}"/lib/org.eclipse.osgi-3.8.1.v20120830-144521.jar ######################################## diff --git a/opendaylight/distribution/sanitytest/pom.xml b/opendaylight/distribution/sanitytest/pom.xml index 893776c567..793e835647 100644 --- a/opendaylight/distribution/sanitytest/pom.xml +++ b/opendaylight/distribution/sanitytest/pom.xml @@ -23,7 +23,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/dummy-console/README b/opendaylight/dummy-console/README new file mode 100644 index 0000000000..09974d5e54 --- /dev/null +++ b/opendaylight/dummy-console/README @@ -0,0 +1,2 @@ +This bundle is temporary only and should be removed as soon as possible +it is only for compatibility layer in Karaf. diff --git a/opendaylight/dummy-console/pom.xml b/opendaylight/dummy-console/pom.xml new file mode 100644 index 0000000000..6d90eb39da --- /dev/null +++ b/opendaylight/dummy-console/pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + + org.opendaylight.controller + commons.opendaylight + 1.4.2-SNAPSHOT + ../commons/opendaylight + + dummy-console + 1.1.0-SNAPSHOT + bundle + Dummy Console Interfaces for Equinox-specific CLI + + + + org.apache.felix + maven-bundle-plugin + ${bundle.plugin.version} + true + + + * + org.eclipse.osgi.framework.console + + + + + + + scm:git:ssh://git.opendaylight.org:29418/controller.git + scm:git:ssh://git.opendaylight.org:29418/controller.git + HEAD + https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main + + diff --git a/opendaylight/dummy-console/src/main/java/org/eclipse/osgi/framework/console/CommandInterpreter.java b/opendaylight/dummy-console/src/main/java/org/eclipse/osgi/framework/console/CommandInterpreter.java new file mode 100644 index 0000000000..29e9fc931b --- /dev/null +++ b/opendaylight/dummy-console/src/main/java/org/eclipse/osgi/framework/console/CommandInterpreter.java @@ -0,0 +1,12 @@ +/* + * Copyright(c)2014 Inocybe Technologies, 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 + * + */ +package org.eclipse.osgi.framework.console; + +/** Empty tag interface for Command Interpreter **/ +public interface CommandInterpreter {} diff --git a/opendaylight/dummy-console/src/main/java/org/eclipse/osgi/framework/console/CommandProvider.java b/opendaylight/dummy-console/src/main/java/org/eclipse/osgi/framework/console/CommandProvider.java new file mode 100644 index 0000000000..a781f6f908 --- /dev/null +++ b/opendaylight/dummy-console/src/main/java/org/eclipse/osgi/framework/console/CommandProvider.java @@ -0,0 +1,12 @@ +/* + * Copyright(c)2014 Inocybe Technologies, 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 + * + */ +package org.eclipse.osgi.framework.console; + +/** Empty tag interface for Command Provider **/ +public interface CommandProvider {} diff --git a/opendaylight/forwarding/staticrouting/pom.xml b/opendaylight/forwarding/staticrouting/pom.xml index 6a73a21e73..37c0a3a09d 100644 --- a/opendaylight/forwarding/staticrouting/pom.xml +++ b/opendaylight/forwarding/staticrouting/pom.xml @@ -39,7 +39,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/forwardingrulesmanager/api/pom.xml b/opendaylight/forwardingrulesmanager/api/pom.xml index 82f5f9b9e9..b6e1dd68d1 100644 --- a/opendaylight/forwardingrulesmanager/api/pom.xml +++ b/opendaylight/forwardingrulesmanager/api/pom.xml @@ -35,7 +35,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/forwardingrulesmanager/implementation/pom.xml b/opendaylight/forwardingrulesmanager/implementation/pom.xml index a5a15f685c..f87bed8780 100644 --- a/opendaylight/forwardingrulesmanager/implementation/pom.xml +++ b/opendaylight/forwardingrulesmanager/implementation/pom.xml @@ -55,7 +55,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/ForwardingRulesManager.java b/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/ForwardingRulesManager.java index f7b647dd72..46008b24c6 100644 --- a/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/ForwardingRulesManager.java +++ b/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/ForwardingRulesManager.java @@ -2342,7 +2342,7 @@ public class ForwardingRulesManager implements for (FlowConfig flowConfig : flowConfigForNode) { if (doesFlowContainNodeConnector(flowConfig.getFlow(), nodeConnector)) { if (flowConfig.installInHw() && !flowConfig.getStatus().equals(StatusCode.SUCCESS.toString())) { - Status status = this.installFlowEntry(flowConfig.getFlowEntry()); + Status status = this.installFlowEntryAsync(flowConfig.getFlowEntry()); if (!status.isSuccess()) { flowConfig.setStatus(status.getDescription()); } else { diff --git a/opendaylight/hosttracker/api/pom.xml b/opendaylight/hosttracker/api/pom.xml index d8f31ca65a..b48d7abd72 100644 --- a/opendaylight/hosttracker/api/pom.xml +++ b/opendaylight/hosttracker/api/pom.xml @@ -26,7 +26,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/hosttracker/implementation/pom.xml b/opendaylight/hosttracker/implementation/pom.xml index 9da62bdfe7..cb09322b64 100644 --- a/opendaylight/hosttracker/implementation/pom.xml +++ b/opendaylight/hosttracker/implementation/pom.xml @@ -58,7 +58,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/hosttracker_new/api/pom.xml b/opendaylight/hosttracker_new/api/pom.xml index 1dec4e5574..240976b9c8 100644 --- a/opendaylight/hosttracker_new/api/pom.xml +++ b/opendaylight/hosttracker_new/api/pom.xml @@ -38,7 +38,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/hosttracker_new/implementation/pom.xml b/opendaylight/hosttracker_new/implementation/pom.xml index aaaf3abacf..036dd5dd31 100644 --- a/opendaylight/hosttracker_new/implementation/pom.xml +++ b/opendaylight/hosttracker_new/implementation/pom.xml @@ -62,7 +62,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/logging/bridge/pom.xml b/opendaylight/logging/bridge/pom.xml index 26fd11c5ef..82bc6cd9c1 100644 --- a/opendaylight/logging/bridge/pom.xml +++ b/opendaylight/logging/bridge/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/NodeMapping.java b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/NodeMapping.java index fad37ae4f3..c4c1ee9351 100644 --- a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/NodeMapping.java +++ b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/NodeMapping.java @@ -1,15 +1,16 @@ /** * 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 */ package org.opendaylight.controller.sal.compatibility; -import com.google.common.base.Objects; -import com.google.common.base.Preconditions; -import org.eclipse.xtext.xbase.lib.Exceptions; +import java.util.Date; +import java.util.HashSet; +import java.util.List; + import org.opendaylight.controller.sal.common.util.Arguments; import org.opendaylight.controller.sal.core.AdvertisedBandwidth; import org.opendaylight.controller.sal.core.Bandwidth; @@ -58,36 +59,30 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.IdentifiableItem; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument; -import java.util.Date; -import java.util.HashSet; -import java.util.List; +import com.google.common.base.Objects; +import com.google.common.base.Preconditions; -@SuppressWarnings("all") -public class NodeMapping { +public final class NodeMapping { public final static String MD_SAL_TYPE = "MD_SAL"; - + private final static Class NODE_CLASS = Node.class; - + private final static Class NODECONNECTOR_CLASS = NodeConnector.class; - + private NodeMapping() { throw new UnsupportedOperationException("Utility class. Instantiation is not allowed."); } - + public static org.opendaylight.controller.sal.core.Node toADNode(final InstanceIdentifier node) throws ConstructionException { NodeId nodeId = NodeMapping.toNodeId(node); return NodeMapping.toADNode(nodeId); } - - public static org.opendaylight.controller.sal.core.Node toADNode(final NodeId id) { - try { + + public static org.opendaylight.controller.sal.core.Node toADNode(final NodeId id) throws ConstructionException { String aDNodeId = NodeMapping.toADNodeId(id); return new org.opendaylight.controller.sal.core.Node(NodeMapping.MD_SAL_TYPE, aDNodeId); - } catch (Throwable e) { - throw Exceptions.sneakyThrow(e); - } } - + public static NodeId toNodeId(final InstanceIdentifier node) { Preconditions.>checkNotNull(node); List path = node.getPath(); @@ -96,16 +91,16 @@ public class NodeMapping { Preconditions.checkArgument(size >= 2); final PathArgument arg = path.get(1); final IdentifiableItem item = Arguments.checkInstanceOf(arg, IdentifiableItem.class); - Identifier key = item.getKey(); + Identifier key = item.getKey(); final NodeKey nodeKey = Arguments.checkInstanceOf(key, NodeKey.class); return nodeKey.getId(); } - + public static String toADNodeId(final NodeId nodeId) { Preconditions.checkNotNull(nodeId); return nodeId.getValue(); } - + public static org.opendaylight.controller.sal.core.NodeConnector toADNodeConnector(final NodeConnectorRef source) throws ConstructionException { Preconditions.checkNotNull(source); final InstanceIdentifier path = Preconditions.>checkNotNull(source.getValue()); @@ -115,18 +110,14 @@ public class NodeMapping { final NodeConnectorKey connectorKey = Arguments.checkInstanceOf(item.getKey(), NodeConnectorKey.class); return NodeMapping.toADNodeConnector(connectorKey.getId(), NodeMapping.toNodeId(path)); } - - public static org.opendaylight.controller.sal.core.NodeConnector toADNodeConnector(final NodeConnectorId ncid, final NodeId nid) { - try { - String nodeConnectorType = NodeMapping.toNodeConnectorType(ncid, nid); - Object aDNodeConnectorId = NodeMapping.toADNodeConnectorId(ncid, nid); - org.opendaylight.controller.sal.core.Node aDNode = NodeMapping.toADNode(nid); - return new org.opendaylight.controller.sal.core.NodeConnector(nodeConnectorType, aDNodeConnectorId, aDNode); - } catch (Throwable e) { - throw Exceptions.sneakyThrow(e); - } + + public static org.opendaylight.controller.sal.core.NodeConnector toADNodeConnector(final NodeConnectorId ncid, final NodeId nid) throws ConstructionException { + String nodeConnectorType = NodeMapping.toNodeConnectorType(ncid, nid); + Object aDNodeConnectorId = NodeMapping.toADNodeConnectorId(ncid, nid); + org.opendaylight.controller.sal.core.Node aDNode = NodeMapping.toADNode(nid); + return new org.opendaylight.controller.sal.core.NodeConnector(nodeConnectorType, aDNodeConnectorId, aDNode); } - + public static String toNodeConnectorType(final NodeConnectorId ncId, final NodeId nodeId) { if (ncId.equals(toLocalNodeConnectorId(nodeId))) { return NodeConnectorIDType.SWSTACK; @@ -146,19 +137,19 @@ public class NodeMapping { } return nodeConnectorId.getValue(); } - + public static NodeConnectorId toControllerNodeConnectorId(final NodeId node) { return new NodeConnectorId(node.getValue() + ":" + 4294967293L); } - + public static NodeConnectorId toLocalNodeConnectorId(final NodeId node) { return new NodeConnectorId(node.getValue() + ":" + 4294967294L); } - + public static NodeConnectorId toNormalNodeConnectorId(final NodeId node) { return new NodeConnectorId(node.getValue() + ":" + 4294967290L); } - + public static NodeRef toNodeRef(final org.opendaylight.controller.sal.core.Node node) { Preconditions.checkArgument(MD_SAL_TYPE.equals(node.getType())); final String nodeId = Arguments.checkInstanceOf(node.getID(), String.class); @@ -166,7 +157,7 @@ public class NodeMapping { final InstanceIdentifier nodePath = InstanceIdentifier.builder(Nodes.class).child(NODE_CLASS, nodeKey).toInstance(); return new NodeRef(nodePath); } - + public static NodeConnectorRef toNodeConnectorRef(final org.opendaylight.controller.sal.core.NodeConnector nodeConnector) { final NodeRef node = NodeMapping.toNodeRef(nodeConnector.getNode()); @@ -187,14 +178,14 @@ public class NodeMapping { nodeConnectorId = new NodeConnectorId(Arguments.checkInstanceOf(nodeConnector.getID(), String.class)); } final NodeConnectorKey connectorKey = new NodeConnectorKey(nodeConnectorId); - final InstanceIdentifier path = InstanceIdentifier.builder(nodePath).child(NODECONNECTOR_CLASS, connectorKey).toInstance(); + final InstanceIdentifier path = nodePath.child(NODECONNECTOR_CLASS, connectorKey); return new NodeConnectorRef(path); } - + public static org.opendaylight.controller.sal.core.Node toADNode(final NodeRef node) throws ConstructionException { return NodeMapping.toADNode(node.getValue()); } - + public static HashSet toADNodeConnectorProperties(final NodeConnectorUpdated nc) { final FlowCapableNodeConnectorUpdated fcncu = nc.getAugmentation(FlowCapableNodeConnectorUpdated.class); if (!Objects.equal(fcncu, null)) { @@ -202,7 +193,7 @@ public class NodeMapping { } return new HashSet(); } - + public static HashSet toADNodeConnectorProperties(final NodeConnector nc) { final FlowCapableNodeConnector fcnc = nc.getAugmentation(FlowCapableNodeConnector.class); if (!Objects.equal(fcnc, null)) { @@ -210,7 +201,7 @@ public class NodeMapping { } return new HashSet(); } - + public static HashSet toADNodeConnectorProperties(final FlowNodeConnector fcncu) { final HashSet props = new HashSet<>(); @@ -239,11 +230,11 @@ public class NodeMapping { } return props; } - + public static Name toAdName(final String name) { return new Name(name); } - + public static Config toAdConfig(final PortConfig pc) { Config config = null; if (pc.isPORTDOWN()) { @@ -253,7 +244,7 @@ public class NodeMapping { } return config; } - + public static org.opendaylight.controller.sal.core.State toAdState(final State s) { org.opendaylight.controller.sal.core.State state = null; @@ -264,7 +255,7 @@ public class NodeMapping { } return state; } - + public static Bandwidth toAdBandwidth(final PortFeatures pf) { Bandwidth bw = null; if (pf.isTenMbHd() || pf.isTenMbFd()) { @@ -286,7 +277,7 @@ public class NodeMapping { } return bw; } - + public static AdvertisedBandwidth toAdAdvertizedBandwidth(final PortFeatures pf) { AdvertisedBandwidth abw = null; final Bandwidth bw = toAdBandwidth(pf); @@ -295,7 +286,7 @@ public class NodeMapping { } return abw; } - + public static SupportedBandwidth toAdSupportedBandwidth(final PortFeatures pf) { SupportedBandwidth sbw = null; final Bandwidth bw = toAdBandwidth(pf); @@ -304,7 +295,7 @@ public class NodeMapping { } return sbw; } - + public static PeerBandwidth toAdPeerBandwidth(final PortFeatures pf) { PeerBandwidth pbw = null; final Bandwidth bw = toAdBandwidth(pf); @@ -313,7 +304,7 @@ public class NodeMapping { } return pbw; } - + public static HashSet toADNodeProperties(final NodeUpdated nu) { final FlowCapableNodeUpdated fcnu = nu.getAugmentation(FlowCapableNodeUpdated.class); if (fcnu != null) { @@ -321,7 +312,7 @@ public class NodeMapping { } return new HashSet(); } - + public static HashSet toADNodeProperties(final FlowNode fcnu, final NodeId id) { final HashSet props = new HashSet<>(); @@ -348,13 +339,13 @@ public class NodeMapping { } return props; } - + public static TimeStamp toADTimestamp() { final Date date = new Date(); final TimeStamp timestamp = new TimeStamp(date.getTime(), "connectedSince"); return timestamp; } - + public static MacAddress toADMacAddress(final NodeId id) { final String nodeId = id.getValue().replaceAll("openflow:", ""); long lNodeId = Long.parseLong(nodeId); @@ -362,11 +353,11 @@ public class NodeMapping { byte[] bytesFromDpid = ToSalConversionsUtils.bytesFromDpid(lNodeId); return new MacAddress(bytesFromDpid); } - + public static Tables toADTables(final Short tables) { return new Tables(tables.byteValue()); } - + public static Capabilities toADCapabiliities(final List> capabilities) { int b = 0; @@ -389,7 +380,7 @@ public class NodeMapping { } return new Capabilities(b); } - + public static Buffers toADBuffers(final Long buffers) { return new Buffers(buffers.intValue()); } diff --git a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/topology/TopologyCommitHandler.java b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/topology/TopologyCommitHandler.java index a35c3ed98c..e798b681df 100644 --- a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/topology/TopologyCommitHandler.java +++ b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/topology/TopologyCommitHandler.java @@ -68,7 +68,7 @@ public class TopologyCommitHandler implements DataChangeListener { for (InstanceIdentifier path : modification.getRemovedOperationalData()) { if (path.getTargetType() == Link.class) { Link link = (Link) modification.getOriginalOperationalData().get(path); - msg.add(toTopoEdgeUpdate(toAdEdge(link, topology), UpdateType.CHANGED, reader)); + msg.add(toTopoEdgeUpdate(toAdEdge(link, topology), UpdateType.REMOVED, reader)); } } diff --git a/opendaylight/md-sal/feature/pom.xml b/opendaylight/md-sal/feature/pom.xml new file mode 100644 index 0000000000..c08c3e5606 --- /dev/null +++ b/opendaylight/md-sal/feature/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + org.opendaylight.controller + sal-parent + 1.1-SNAPSHOT + + mdsal-features + + pom + + + features.xml + + + + + + + + true + src/main/resources + + + + + org.apache.maven.plugins + maven-resources-plugin + + + filter + + resources + + generate-resources + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + attach-artifacts + + attach-artifact + + package + + + + ${project.build.directory}/classes/${features.file} + xml + features + + + + + + + + + + scm:git:ssh://git.opendaylight.org:29418/controller.git + scm:git:ssh://git.opendaylight.org:29418/controller.git + HEAD + https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL + + diff --git a/opendaylight/md-sal/feature/src/main/resources/features.xml b/opendaylight/md-sal/feature/src/main/resources/features.xml new file mode 100644 index 0000000000..f816018519 --- /dev/null +++ b/opendaylight/md-sal/feature/src/main/resources/features.xml @@ -0,0 +1,49 @@ + + + + + odl-mdsal-commons + odl-mdsal-broker + odl-mdsal-restconf + + + yangtools-concepts + yangtools-binding + mvn:org.opendaylight.controller/sal-common/${project.version} + mvn:org.opendaylight.controller/sal-common-api/${project.version} + mvn:org.opendaylight.controller/sal-common-impl/${project.version} + mvn:org.opendaylight.controller/sal-common-util/${project.version} + wrap:mvn:com.google.guava/guava/${guava.version} + wrap:mvn:org.eclipse.xtend/org.eclipse.xtend.lib/${xtend.version} + + + yangtools-concepts + yangtools-binding + odl-mdsal-commons + odl-config-subsystem + mvn:org.opendaylight.controller/sal-core-api/${project.version} + mvn:org.opendaylight.controller/sal-core-spi/${project.version} + mvn:org.opendaylight.controller/sal-broker-impl/${project.version} + mvn:org.opendaylight.controller/sal-binding-api/${project.version} + mvn:org.opendaylight.controller/sal-binding-config/${project.version} + mvn:org.opendaylight.controller/sal-binding-broker-impl/${project.version} + mvn:org.opendaylight.controller/sal-binding-util/${project.version} + mvn:org.opendaylight.controller/sal-connector-api/${project.version} + + + odl-mdsal-broker + mvn:org.opendaylight.controller/sal-rest-connector/${project.version} + wrap:mvn:com.google.code.gson/gson/${gson.version} + wrap:mvn:com.sun.jersey/jersey-core/${jersey.version} + wrap:mvn:com.sun.jersey/jersey-server/${jersey.version} + mvn:org.opendaylight.controller.thirdparty/com.sun.jersey.jersey-servlet/${jersey.version} + wrap:mvn:io.netty/netty-buffer/${netty.version} + wrap:mvn:io.netty/netty-codec/${netty.version} + wrap:mvn:io.netty/netty-codec-http/${netty.version} + wrap:mvn:io.netty/netty-common/${netty.version} + wrap:mvn:io.netty/netty-handler/${netty.version} + wrap:mvn:io.netty/netty-transport/${netty.version} + + \ No newline at end of file diff --git a/opendaylight/md-sal/inventory-manager/src/main/java/org/opendaylight/controller/md/inventory/manager/NodeChangeCommiter.java b/opendaylight/md-sal/inventory-manager/src/main/java/org/opendaylight/controller/md/inventory/manager/NodeChangeCommiter.java index 03cdf973af..2a3d8fd37e 100644 --- a/opendaylight/md-sal/inventory-manager/src/main/java/org/opendaylight/controller/md/inventory/manager/NodeChangeCommiter.java +++ b/opendaylight/md-sal/inventory-manager/src/main/java/org/opendaylight/controller/md/inventory/manager/NodeChangeCommiter.java @@ -7,7 +7,6 @@ */ package org.opendaylight.controller.md.inventory.manager; -import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; @@ -37,10 +36,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.base.Objects; +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.JdkFutureAdapters; public class NodeChangeCommiter implements OpendaylightInventoryListener { - private final static Logger LOG = LoggerFactory.getLogger(NodeChangeCommiter.class); + protected final static Logger LOG = LoggerFactory.getLogger(NodeChangeCommiter.class); private final FlowCapableInventoryProvider manager; @@ -57,15 +59,10 @@ public class NodeChangeCommiter implements OpendaylightInventoryListener { final NodeConnectorRef ref = connector.getNodeConnectorRef(); final DataModificationTransaction it = this.getManager().startChange(); - NodeChangeCommiter.LOG.debug("removing node connector {} ", ref.getValue()); + LOG.debug("removing node connector {} ", ref.getValue()); it.removeOperationalData(ref.getValue()); Future> commitResult = it.commit(); - try { - commitResult.get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Node Connector {} not removed.", ref.getValue(), e); - } - + listenOnTransactionState(it.getIdentifier(), commitResult, "nodeConnector removal", ref.getValue()); } @Override @@ -85,16 +82,11 @@ public class NodeChangeCommiter implements OpendaylightInventoryListener { data.addAugmentation(FlowCapableNodeConnector.class, augment); } InstanceIdentifier value = ref.getValue(); - NodeChangeCommiter.LOG.debug("updating node connector : {}.", value); + LOG.debug("updating node connector : {}.", value); NodeConnector build = data.build(); it.putOperationalData((value), build); Future> commitResult = it.commit(); - try { - commitResult.get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Node Connector {} not updated.", ref.getValue(), e); - } - + listenOnTransactionState(it.getIdentifier(), commitResult, "nodeConnector update", ref.getValue()); } @Override @@ -102,14 +94,10 @@ public class NodeChangeCommiter implements OpendaylightInventoryListener { final NodeRef ref = node.getNodeRef(); final DataModificationTransaction it = this.manager.startChange(); - NodeChangeCommiter.LOG.debug("removing node : {}", ref.getValue()); + LOG.debug("removing node : {}", ref.getValue()); it.removeOperationalData((ref.getValue())); Future> commitResult = it.commit(); - try { - commitResult.get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Node {} not removed.", ref.getValue(), e); - } + listenOnTransactionState(it.getIdentifier(), commitResult, "node removal", ref.getValue()); } @Override @@ -128,19 +116,39 @@ public class NodeChangeCommiter implements OpendaylightInventoryListener { final FlowCapableNode augment = InventoryMapping.toInventoryAugment(flowNode); nodeBuilder.addAugmentation(FlowCapableNode.class, augment); InstanceIdentifier value = ref.getValue(); - InstanceIdentifierBuilder builder = InstanceIdentifier. builder(((InstanceIdentifier) value)); + InstanceIdentifierBuilder builder = ((InstanceIdentifier) value).builder(); InstanceIdentifierBuilder augmentation = builder . augmentation(FlowCapableNode.class); final InstanceIdentifier path = augmentation.build(); - NodeChangeCommiter.LOG.debug("updating node :{} ", path); + LOG.debug("updating node :{} ", path); it.putOperationalData(path, augment); Future> commitResult = it.commit(); - try { - commitResult.get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Node {} not updated.", ref.getValue(), e); - } - + listenOnTransactionState(it.getIdentifier(), commitResult, "node update", ref.getValue()); + } + + /** + * @param txId transaction identificator + * @param future transaction result + * @param action performed by transaction + * @param nodeConnectorPath target value + */ + private static void listenOnTransactionState(final Object txId, Future> future, + final String action, final InstanceIdentifier nodeConnectorPath) { + Futures.addCallback(JdkFutureAdapters.listenInPoolThread(future),new FutureCallback>() { + + @Override + public void onFailure(Throwable t) { + LOG.error("Action {} [{}] failed for Tx:{}", action, nodeConnectorPath, txId, t); + + } + + @Override + public void onSuccess(RpcResult result) { + if(!result.isSuccessful()) { + LOG.error("Action {} [{}] failed for Tx:{}", action, nodeConnectorPath, txId); + } + } + }); } } diff --git a/opendaylight/md-sal/pom.xml b/opendaylight/md-sal/pom.xml index 451edfdf78..a13d2bb06f 100644 --- a/opendaylight/md-sal/pom.xml +++ b/opendaylight/md-sal/pom.xml @@ -61,6 +61,10 @@ --> sal-rest-docgen + + + feature + @@ -157,7 +161,6 @@ org.opendaylight.yangtools yang-maven-plugin - ${yangtools.version} org.opendaylight.controller diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/RuntimeMappingModule.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/RuntimeMappingModule.java index 14006a3fce..750defc0e9 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/RuntimeMappingModule.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/RuntimeMappingModule.java @@ -7,11 +7,10 @@ */ package org.opendaylight.controller.config.yang.md.sal.binding.impl; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import java.util.Hashtable; import java.util.Map.Entry; import java.util.Set; + import org.opendaylight.controller.sal.binding.codegen.impl.SingletonHolder; import org.opendaylight.yangtools.concepts.Delegator; import org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl; @@ -28,6 +27,9 @@ import org.opendaylight.yangtools.yang.model.api.SchemaServiceListener; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; + /** * */ @@ -61,14 +63,13 @@ public final class RuntimeMappingModule extends @Override public java.lang.AutoCloseable createInstance() { - + RuntimeGeneratedMappingServiceProxy potential = tryToReuseGlobalInstance(); if(potential != null) { return potential; } - RuntimeGeneratedMappingServiceImpl service = new RuntimeGeneratedMappingServiceImpl(); - service.setPool(SingletonHolder.CLASS_POOL); - service.init(); + + final RuntimeGeneratedMappingServiceImpl service = new RuntimeGeneratedMappingServiceImpl(SingletonHolder.CLASS_POOL); bundleContext.registerService(SchemaServiceListener.class, service, new Hashtable()); return service; } @@ -98,7 +99,7 @@ public final class RuntimeMappingModule extends BindingIndependentMappingService, // Delegator, // AutoCloseable { - + private BindingIndependentMappingService delegate; private ServiceReference reference; private BundleContext bundleContext; @@ -111,35 +112,42 @@ public final class RuntimeMappingModule extends this.delegate = Preconditions.checkNotNull(delegate); } + @Override public CodecRegistry getCodecRegistry() { return delegate.getCodecRegistry(); } + @Override public CompositeNode toDataDom(DataObject data) { return delegate.toDataDom(data); } + @Override public Entry toDataDom( Entry, DataObject> entry) { return delegate.toDataDom(entry); } + @Override public InstanceIdentifier toDataDom( org.opendaylight.yangtools.yang.binding.InstanceIdentifier path) { return delegate.toDataDom(path); } + @Override public DataObject dataObjectFromDataDom( org.opendaylight.yangtools.yang.binding.InstanceIdentifier path, CompositeNode result) throws DeserializationException { return delegate.dataObjectFromDataDom(path, result); } + @Override public org.opendaylight.yangtools.yang.binding.InstanceIdentifier fromDataDom(InstanceIdentifier entry) throws DeserializationException { return delegate.fromDataDom(entry); } + @Override public Set getRpcQNamesFor(Class service) { return delegate.getRpcQNamesFor(service); } @@ -149,10 +157,11 @@ public final class RuntimeMappingModule extends return delegate.getRpcServiceClassFor(namespace,revision); } + @Override public DataContainer dataObjectFromDataDom(Class inputClass, CompositeNode domInput) { return delegate.dataObjectFromDataDom(inputClass, domInput); } - + @Override public void close() throws Exception { if(delegate != null) { diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedDataBroker.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedDataBroker.java index 6982a72969..5155e42b82 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedDataBroker.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedDataBroker.java @@ -99,7 +99,7 @@ public abstract class AbstractForwardedDataBroker implements Delegator, DataObject> binding = getCodec().toBinding(entry); newMap.put(binding.getKey(), binding.getValue()); } catch (DeserializationException e) { - LOG.debug("Omitting {}", entry, e); + LOG.warn("Failed to transform {}, omitting it", entry, e); } } return newMap; @@ -113,7 +113,7 @@ public abstract class AbstractForwardedDataBroker implements Delegator binding = getCodec().toBinding(normalizedPath); hashSet.add(binding); } catch (DeserializationException e) { - LOG.debug("Omitting {}", normalizedPath, e); + LOG.warn("Failed to transform {}, omitting it", normalizedPath, e); } } return hashSet; diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java index cc9c6ebaa6..a935a33a5e 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java @@ -17,7 +17,6 @@ import java.util.concurrent.TimeUnit; import javax.annotation.Nullable; -import org.eclipse.xtext.xbase.lib.Exceptions; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -79,17 +78,21 @@ public class AbstractForwardedTransaction apply(@Nullable final Optional> normalizedNode) { - try { - final DataObject dataObject = normalizedNode.isPresent() ? codec.toBinding(path, - normalizedNode.get()) : null; + if (normalizedNode.isPresent()) { + final DataObject dataObject; + try { + dataObject = codec.toBinding(path, normalizedNode.get()); + } catch (DeserializationException e) { + LOG.warn("Failed to create dataobject from node {}", normalizedNode.get(), e); + throw new IllegalStateException("Failed to create dataobject", e); + } + if (dataObject != null) { updateCache(store, path, dataObject); + return Optional.of(dataObject); } - return Optional.fromNullable(dataObject); - } catch (DeserializationException e) { - Exceptions.sneakyThrow(e); } - return null; + return Optional.absent(); } }); } @@ -108,10 +111,10 @@ public class AbstractForwardedTransaction> normalized = codec .toNormalizedNode(path, data); - org.opendaylight.yangtools.yang.data.api.InstanceIdentifier normalizedPath = normalized.getKey(); - ensureParentsByMerge(writeTransaction, store, normalized.getKey(), path); - LOG.debug("Tx: {} : Putting data {}",getDelegate().getIdentifier(),normalized.getKey()); - writeTransaction.put(store, normalized.getKey(), normalized.getValue()); + final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier normalizedPath = normalized.getKey(); + ensureParentsByMerge(writeTransaction, store, normalizedPath, path); + LOG.debug("Tx: {} : Putting data {}", getDelegate().getIdentifier(), normalizedPath); + writeTransaction.put(store, normalizedPath, normalized.getValue()); } protected void doMergeWithEnsureParents(final DOMDataReadWriteTransaction writeTransaction, @@ -120,10 +123,10 @@ public class AbstractForwardedTransaction> normalized = codec .toNormalizedNode(path, data); - org.opendaylight.yangtools.yang.data.api.InstanceIdentifier normalizedPath = normalized.getKey(); - ensureParentsByMerge(writeTransaction, store, normalized.getKey(), path); - LOG.debug("Tx: {} : Merge data {}",getDelegate().getIdentifier(),normalized.getKey()); - writeTransaction.merge(store, normalized.getKey(), normalized.getValue()); + final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier normalizedPath = normalized.getKey(); + ensureParentsByMerge(writeTransaction, store, normalizedPath, path); + LOG.debug("Tx: {} : Merge data {}",getDelegate().getIdentifier(),normalizedPath); + writeTransaction.merge(store, normalizedPath, normalized.getValue()); } private void ensureParentsByMerge(final DOMDataReadWriteTransaction writeTransaction, diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/RuntimeCodeHelper.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/RuntimeCodeHelper.java index ea8b6c0972..ae90a7739e 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/RuntimeCodeHelper.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/RuntimeCodeHelper.java @@ -7,151 +7,89 @@ */ package org.opendaylight.controller.sal.binding.codegen; -import com.google.common.base.Objects; import java.lang.reflect.Field; import java.util.Map; -import org.eclipse.xtext.xbase.lib.Exceptions; -import org.opendaylight.controller.sal.binding.codegen.RuntimeCodeSpecification; + import org.opendaylight.yangtools.yang.binding.BaseIdentity; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.RpcService; -@SuppressWarnings("all") -public class RuntimeCodeHelper { - /** - * Helper method to return delegate from ManagedDirectedProxy with use of reflection. - * - * Note: This method uses reflection, but access to delegate field should be - * avoided and called only if neccessary. - */ - public static T getDelegate(final RpcService proxy) { - try { - Class _class = proxy.getClass(); - final Field field = _class.getField(RuntimeCodeSpecification.DELEGATE_FIELD); - boolean _equals = Objects.equal(field, null); - if (_equals) { - UnsupportedOperationException _unsupportedOperationException = new UnsupportedOperationException("Unable to get delegate from proxy"); - throw _unsupportedOperationException; - } - try { - Object _get = field.get(proxy); - return ((T) _get); - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } catch (Throwable _e_1) { - throw Exceptions.sneakyThrow(_e_1); +public final class RuntimeCodeHelper { + private RuntimeCodeHelper() { + throw new UnsupportedOperationException("Utility class should never be instantiated"); + } + + private static Field getField(final Class cls, final String name) { + try { + return cls.getField(name); + } catch (NoSuchFieldException e) { + throw new IllegalArgumentException( + String.format("Class %s is missing field %s", cls, name), e); + } catch (SecurityException e) { + throw new IllegalStateException(String.format("Failed to examine class %s", cls), e); + } } - } - /** - * Helper method to set delegate to ManagedDirectedProxy with use of reflection. - * - * Note: This method uses reflection, but setting delegate field should not occur too much - * to introduce any significant performance hits. - */ - public static void setDelegate(final RpcService proxy, final RpcService delegate) { - try { - Class _class = proxy.getClass(); - final Field field = _class.getField(RuntimeCodeSpecification.DELEGATE_FIELD); - boolean _equals = Objects.equal(field, null); - if (_equals) { - UnsupportedOperationException _unsupportedOperationException = new UnsupportedOperationException("Unable to set delegate to proxy"); - throw _unsupportedOperationException; - } - boolean _or = false; - boolean _equals_1 = Objects.equal(delegate, null); - if (_equals_1) { - _or = true; - } else { - Class _type = field.getType(); - Class _class_1 = delegate.getClass(); - boolean _isAssignableFrom = _type.isAssignableFrom(_class_1); - _or = (_equals_1 || _isAssignableFrom); - } - if (_or) { - field.set(proxy, delegate); - } else { - IllegalArgumentException _illegalArgumentException = new IllegalArgumentException("delegate class is not assignable to proxy"); - throw _illegalArgumentException; - } - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); + private static Field getDelegateField(final Class cls) { + return getField(cls, RuntimeCodeSpecification.DELEGATE_FIELD); } - } - /** - * Helper method to set delegate to ManagedDirectedProxy with use of reflection. - * - * Note: This method uses reflection, but setting delegate field should not occur too much - * to introduce any significant performance hits. - */ - public static void setDelegate(final Object proxy, final Object delegate) { - try { - Class _class = proxy.getClass(); - final Field field = _class.getField(RuntimeCodeSpecification.DELEGATE_FIELD); - boolean _equals = Objects.equal(field, null); - if (_equals) { - UnsupportedOperationException _unsupportedOperationException = new UnsupportedOperationException("Unable to set delegate to proxy"); - throw _unsupportedOperationException; - } - boolean _or = false; - boolean _equals_1 = Objects.equal(delegate, null); - if (_equals_1) { - _or = true; - } else { - Class _type = field.getType(); - Class _class_1 = delegate.getClass(); - boolean _isAssignableFrom = _type.isAssignableFrom(_class_1); - _or = (_equals_1 || _isAssignableFrom); - } - if (_or) { - field.set(proxy, delegate); - } else { - IllegalArgumentException _illegalArgumentException = new IllegalArgumentException("delegate class is not assignable to proxy"); - throw _illegalArgumentException; - } - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); + private static Object getFieldValue(final Field field, final Object obj) { + try { + return field.get(obj); + } catch (IllegalAccessException e) { + throw new IllegalStateException(String.format("Failed to get field %s of object %s", field, obj), e); + } + } + + private static void setFieldValue(final Field field, final Object obj, final Object value) { + try { + field.set(obj, value); + } catch (IllegalAccessException e) { + throw new IllegalStateException(String.format("Failed to set field %s to %s", field, value), e); + } + } + + /** + * Helper method to return delegate from ManagedDirectedProxy with use of reflection. + * + * Note: This method uses reflection, but access to delegate field should be + * avoided and called only if necessary. + */ + @SuppressWarnings("unchecked") + public static T getDelegate(final RpcService proxy) { + return (T)getFieldValue(getDelegateField(proxy.getClass()), proxy); + } + + /** + * Helper method to set delegate to ManagedDirectedProxy with use of reflection. + * + * Note: This method uses reflection, but setting delegate field should not occur too much + * to introduce any significant performance hits. + */ + public static void setDelegate(final Object proxy, final Object delegate) { + final Field field = getDelegateField(proxy.getClass()); + + if (delegate != null) { + final Class ft = field.getType(); + if (!ft.isAssignableFrom(delegate.getClass())) { + throw new IllegalArgumentException( + String.format("Field %s type %s is not compatible with delegate type %s", + field, ft, delegate.getClass())); + } + } + + setFieldValue(field, proxy, delegate); } - } - public static Map,? extends RpcService> getRoutingTable(final RpcService target, final Class tableClass) { - try { - Class _class = target.getClass(); - String _routingTableField = RuntimeCodeSpecification.getRoutingTableField(tableClass); - final Field field = _class.getField(_routingTableField); - boolean _equals = Objects.equal(field, null); - if (_equals) { - UnsupportedOperationException _unsupportedOperationException = new UnsupportedOperationException( - "Unable to get routing table. Table field does not exists"); - throw _unsupportedOperationException; - } - try { - Object _get = field.get(target); - return ((Map,? extends RpcService>) _get); - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } catch (Throwable _e_1) { - throw Exceptions.sneakyThrow(_e_1); + @SuppressWarnings("unchecked") + public static Map,? extends RpcService> getRoutingTable(final RpcService target, final Class tableClass) { + final Field field = getField(target.getClass(), RuntimeCodeSpecification.getRoutingTableField(tableClass)); + return (Map,? extends RpcService>) getFieldValue(field, target); } - } - public static void setRoutingTable(final RpcService target, final Class tableClass, final Map,? extends RpcService> routingTable) { - try { - Class _class = target.getClass(); - String _routingTableField = RuntimeCodeSpecification.getRoutingTableField(tableClass); - final Field field = _class.getField(_routingTableField); - boolean _equals = Objects.equal(field, null); - if (_equals) { - UnsupportedOperationException _unsupportedOperationException = new UnsupportedOperationException( - "Unable to set routing table. Table field does not exists"); - throw _unsupportedOperationException; - } - field.set(target, routingTable); - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); + public static void setRoutingTable(final RpcService target, final Class tableClass, final Map,? extends RpcService> routingTable) { + final Field field = getField(target.getClass(), RuntimeCodeSpecification.getRoutingTableField(tableClass)); + setFieldValue(field, target, routingTable); } - } -} \ No newline at end of file +} diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend index 6723713645..465a1f7d9d 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend @@ -43,13 +43,11 @@ import javassist.LoaderClassPath class RuntimeCodeGenerator implements org.opendaylight.controller.sal.binding.codegen.RuntimeCodeGenerator, NotificationInvokerFactory { val CtClass BROKER_NOTIFICATION_LISTENER; - val ClassPool classPool; val extension JavassistUtils utils; val Map, RuntimeGeneratedInvokerPrototype> invokerClasses; new(ClassPool pool) { - classPool = pool; utils = new JavassistUtils(pool); invokerClasses = new WeakHashMap(); BROKER_NOTIFICATION_LISTENER = org.opendaylight.controller.sal.binding.api.NotificationListener.asCtClass; diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/SingletonHolder.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/SingletonHolder.java index 4141bba2d4..8276446766 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/SingletonHolder.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/SingletonHolder.java @@ -7,13 +7,6 @@ */ package org.opendaylight.controller.sal.binding.codegen.impl; -import com.google.common.util.concurrent.ListeningExecutorService; -import com.google.common.util.concurrent.MoreExecutors; -import com.google.common.util.concurrent.ThreadFactoryBuilder; -import javassist.ClassPool; -import org.opendaylight.controller.sal.binding.codegen.RuntimeCodeGenerator; -import org.opendaylight.controller.sal.binding.spi.NotificationInvokerFactory; - import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -23,7 +16,20 @@ import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import javassist.ClassPool; + +import org.apache.commons.lang3.StringUtils; +import org.opendaylight.controller.sal.binding.codegen.RuntimeCodeGenerator; +import org.opendaylight.controller.sal.binding.spi.NotificationInvokerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.common.util.concurrent.ThreadFactoryBuilder; + public class SingletonHolder { + private static final Logger logger = LoggerFactory.getLogger(SingletonHolder.class); public static final ClassPool CLASS_POOL = ClassPool.getDefault(); public static final org.opendaylight.controller.sal.binding.codegen.impl.RuntimeCodeGenerator RPC_GENERATOR_IMPL = new org.opendaylight.controller.sal.binding.codegen.impl.RuntimeCodeGenerator( @@ -34,8 +40,9 @@ public class SingletonHolder { public static final int CORE_NOTIFICATION_THREADS = 4; public static final int MAX_NOTIFICATION_THREADS = 32; // block caller thread after MAX_NOTIFICATION_THREADS + MAX_NOTIFICATION_QUEUE_SIZE pending notifications - public static final int MAX_NOTIFICATION_QUEUE_SIZE = 10; + public static final int MAX_NOTIFICATION_QUEUE_SIZE = 1000; public static final int NOTIFICATION_THREAD_LIFE = 15; + private static final String NOTIFICATION_QUEUE_SIZE_PROPERTY = "mdsal.notificationqueue.size"; private static ListeningExecutorService NOTIFICATION_EXECUTOR = null; private static ListeningExecutorService COMMIT_EXECUTOR = null; @@ -46,14 +53,27 @@ public class SingletonHolder { * should use service injection to make the executor configurable. */ @Deprecated - public static synchronized final ListeningExecutorService getDefaultNotificationExecutor() { + public static synchronized ListeningExecutorService getDefaultNotificationExecutor() { if (NOTIFICATION_EXECUTOR == null) { + int queueSize = MAX_NOTIFICATION_QUEUE_SIZE; + String queueValue = System.getProperty(NOTIFICATION_QUEUE_SIZE_PROPERTY); + if (StringUtils.isNotBlank(queueValue)) { + try { + queueSize = Integer.parseInt(queueValue); + logger.trace("Queue size was set to {}", queueSize); + }catch(NumberFormatException e) { + logger.warn("Cannot parse {} as set by {}, using default {}", queueValue, + NOTIFICATION_QUEUE_SIZE_PROPERTY, queueSize); + } + } // Overriding the queue: // ThreadPoolExecutor would not create new threads if the queue is not full, thus adding // occurs in RejectedExecutionHandler. // This impl saturates threadpool first, then queue. When both are full caller will get blocked. - BlockingQueue queue = new LinkedBlockingQueue(MAX_NOTIFICATION_QUEUE_SIZE) { + BlockingQueue queue = new LinkedBlockingQueue(queueSize) { + private static final long serialVersionUID = 1L; + @Override public boolean offer(Runnable r) { // ThreadPoolExecutor will spawn a new thread after core size is reached only if the queue.offer returns false. @@ -89,7 +109,7 @@ public class SingletonHolder { * should use service injection to make the executor configurable. */ @Deprecated - public static synchronized final ListeningExecutorService getDefaultCommitExecutor() { + public static synchronized ListeningExecutorService getDefaultCommitExecutor() { if (COMMIT_EXECUTOR == null) { ThreadFactory factory = new ThreadFactoryBuilder().setDaemon(true).setNameFormat("md-sal-binding-commit-%d").build(); /* diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/MultipleAugmentationPuts.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/MultipleAugmentationPuts.java index b147e03d56..6b2568aba7 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/MultipleAugmentationPuts.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/MultipleAugmentationPuts.java @@ -61,9 +61,8 @@ public class MultipleAugmentationPuts extends AbstractDataServiceTest implements private static final InstanceIdentifier NODES_INSTANCE_ID_BA = InstanceIdentifier.builder(Nodes.class) // .toInstance(); - private static final InstanceIdentifier NODE_INSTANCE_ID_BA = InstanceIdentifier - .builder(NODES_INSTANCE_ID_BA) // - .child(Node.class, NODE_KEY).toInstance(); + private static final InstanceIdentifier NODE_INSTANCE_ID_BA = + NODES_INSTANCE_ID_BA.child(Node.class, NODE_KEY); private static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier NODE_INSTANCE_ID_BI = // org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.builder() // @@ -74,7 +73,7 @@ public class MultipleAugmentationPuts extends AbstractDataServiceTest implements /** * Test for Bug 148 - * + * * @throws Exception */ @Test @@ -111,12 +110,12 @@ public class MultipleAugmentationPuts extends AbstractDataServiceTest implements // Node meterStatsNodeWithDuration = createTestNode(NodeMeterStatistics.class, nodeMeterStatistics(5, true)); // commitNodeAndVerifyTransaction(meterStatsNodeWithDuration); // -// +// // Node nodeWithUpdatedList = (Node) baDataService.readOperationalData(NODE_INSTANCE_ID_BA); // AugmentationVerifier.from(nodeWithUpdatedList) // // .assertHasAugmentation(FlowCapableNode.class) // // .assertHasAugmentation(NodeMeterStatistics.class); -// +// // List meterStats = nodeWithUpdatedList.getAugmentation(NodeMeterStatistics.class).getMeterStatistics().getMeterStats(); // assertNotNull(meterStats); // assertFalse(meterStats.isEmpty()); diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java index 9cdf70322c..ae65c8889a 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java @@ -267,9 +267,7 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider public void startBindingToDomMappingService() { checkState(classPool != null, "ClassPool needs to be present"); - mappingServiceImpl = new RuntimeGeneratedMappingServiceImpl(); - mappingServiceImpl.setPool(classPool); - mappingServiceImpl.init(); + mappingServiceImpl = new RuntimeGeneratedMappingServiceImpl(classPool); } public void updateYangSchema(final String[] files) { diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ConcurrentImplicitCreateTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ConcurrentImplicitCreateTest.java index 61a73d63f4..c5dbdcecae 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ConcurrentImplicitCreateTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ConcurrentImplicitCreateTest.java @@ -30,10 +30,8 @@ public class ConcurrentImplicitCreateTest extends AbstractDataServiceTest { private static final NodeKey NODE_FOO_KEY = new NodeKey(new NodeId("foo")); private static final NodeKey NODE_BAR_KEY = new NodeKey(new NodeId("foo")); private static InstanceIdentifier NODES_PATH = InstanceIdentifier.builder(Nodes.class).build(); - private static InstanceIdentifier NODE_FOO_PATH = InstanceIdentifier.builder(NODES_PATH) - .child(Node.class, NODE_FOO_KEY).build(); - private static InstanceIdentifier NODE_BAR_PATH = InstanceIdentifier.builder(NODES_PATH) - .child(Node.class, NODE_FOO_KEY).build(); + private static InstanceIdentifier NODE_FOO_PATH = NODES_PATH.child(Node.class, NODE_FOO_KEY); + private static InstanceIdentifier NODE_BAR_PATH = NODES_PATH.child(Node.class, NODE_FOO_KEY); @Test public void testConcurrentCreate() throws InterruptedException, ExecutionException { diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ListProcessingAndOrderingTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ListProcessingAndOrderingTest.java index 0925e9bff4..800c1b4cc4 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ListProcessingAndOrderingTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ListProcessingAndOrderingTest.java @@ -75,13 +75,13 @@ public class ListProcessingAndOrderingTest extends AbstractDataServiceTest { private static final UnorderedListKey UNORDERED_FOO_KEY = new UnorderedListKey("foo"); private static final UnorderedListKey UNORDERED_BAR_KEY = new UnorderedListKey("bar"); - private static final InstanceIdentifier UNORDERED_FOO_PATH = InstanceIdentifier.builder(UNORDERED_CONTAINER_PATH).child(UnorderedList.class,UNORDERED_FOO_KEY).build(); - private static final InstanceIdentifier UNORDERED_BAR_PATH = InstanceIdentifier.builder(UNORDERED_CONTAINER_PATH).child(UnorderedList.class,UNORDERED_BAR_KEY).build(); + private static final InstanceIdentifier UNORDERED_FOO_PATH = UNORDERED_CONTAINER_PATH.child(UnorderedList.class,UNORDERED_FOO_KEY); + private static final InstanceIdentifier UNORDERED_BAR_PATH = UNORDERED_CONTAINER_PATH.child(UnorderedList.class,UNORDERED_BAR_KEY); private static final OrderedListKey ORDERED_FOO_KEY = new OrderedListKey("foo"); private static final OrderedListKey ORDERED_BAR_KEY = new OrderedListKey("bar"); - private static final InstanceIdentifier ORDERED_FOO_PATH = InstanceIdentifier.builder(ORDERED_CONTAINER_PATH).child(OrderedList.class,ORDERED_FOO_KEY).build(); - private static final InstanceIdentifier ORDERED_BAR_PATH = InstanceIdentifier.builder(ORDERED_CONTAINER_PATH).child(OrderedList.class,ORDERED_BAR_KEY).build(); + private static final InstanceIdentifier ORDERED_FOO_PATH = ORDERED_CONTAINER_PATH.child(OrderedList.class,ORDERED_FOO_KEY); + private static final InstanceIdentifier ORDERED_BAR_PATH = ORDERED_CONTAINER_PATH.child(OrderedList.class,ORDERED_BAR_KEY); @Test diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/WildcardedDataChangeListenerTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/WildcardedDataChangeListenerTest.java index 450ca1cb3b..6b4cc57798 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/WildcardedDataChangeListenerTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/WildcardedDataChangeListenerTest.java @@ -78,14 +78,12 @@ public class WildcardedDataChangeListenerTest extends AbstractDataServiceTest { private static final FlowKey FLOW_KEY = new FlowKey(new FlowId("test")); - private static final InstanceIdentifier NODE_0_FLOW_PATH = InstanceIdentifier.builder(NODE_0_TABLE_PATH) - .child(Flow.class, FLOW_KEY).build(); + private static final InstanceIdentifier NODE_0_FLOW_PATH = NODE_0_TABLE_PATH.child(Flow.class, FLOW_KEY); - private static final InstanceIdentifier NODE_1_FLOW_PATH = InstanceIdentifier.builder(NODE_1_TABLE_PATH) - .child(Flow.class, FLOW_KEY).build(); + private static final InstanceIdentifier NODE_1_FLOW_PATH = NODE_1_TABLE_PATH.child(Flow.class, FLOW_KEY); - private static final InstanceIdentifier NODE_0_TABLE_FEATURES_PATH = InstanceIdentifier - .builder(NODE_0_TABLE_PATH).child(TableFeatures.class, TABLE_FEATURES_KEY).build(); + private static final InstanceIdentifier NODE_0_TABLE_FEATURES_PATH = + NODE_0_TABLE_PATH.child(TableFeatures.class, TABLE_FEATURES_KEY); private static final TableFeatures TABLE_FEATURES = new TableFeaturesBuilder()// .setKey(TABLE_FEATURES_KEY) // diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/DOMCodecBug03Test.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/DOMCodecBug03Test.java index e89371337e..ccbd52fc77 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/DOMCodecBug03Test.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/DOMCodecBug03Test.java @@ -60,13 +60,11 @@ public class DOMCodecBug03Test extends AbstractDataServiceTest implements DataCh .toInstance(); - private static final InstanceIdentifier NODE_INSTANCE_ID_BA = InstanceIdentifier// - .builder(NODES_INSTANCE_ID_BA) // - .child(Node.class, NODE_KEY).toInstance(); + private static final InstanceIdentifier NODE_INSTANCE_ID_BA = NODES_INSTANCE_ID_BA.child(Node.class, NODE_KEY); - private static final InstanceIdentifier SUPPORTED_ACTIONS_INSTANCE_ID_BA = InstanceIdentifier// - .builder(NODES_INSTANCE_ID_BA) // + private static final InstanceIdentifier SUPPORTED_ACTIONS_INSTANCE_ID_BA = // + NODES_INSTANCE_ID_BA.builder() // .child(Node.class, NODE_KEY) // .augmentation(FlowCapableNode.class) // .child(SupportedActions.class) @@ -163,7 +161,7 @@ public class DOMCodecBug03Test extends AbstractDataServiceTest implements DataCh NodeConnectorId ncId = new NodeConnectorId("openflow:1:bar"); NodeConnectorKey nodeKey = new NodeConnectorKey(ncId ); - InstanceIdentifier ncInstanceId = InstanceIdentifier.builder(NODE_INSTANCE_ID_BA).child(NodeConnector.class, nodeKey).toInstance(); + InstanceIdentifier ncInstanceId = NODE_INSTANCE_ID_BA.child(NodeConnector.class, nodeKey); NodeConnectorBuilder ncBuilder = new NodeConnectorBuilder(); ncBuilder.setId(ncId); ncBuilder.setKey(nodeKey); diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/FlagsSerializationTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/FlagsSerializationTest.java index 023bd795af..30c7af705f 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/FlagsSerializationTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/FlagsSerializationTest.java @@ -7,7 +7,15 @@ */ package org.opendaylight.controller.sal.binding.test.bugfix; -import com.google.common.collect.ImmutableSet; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + import org.junit.Test; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; @@ -44,14 +52,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.data.api.CompositeNode; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import com.google.common.collect.ImmutableSet; public class FlagsSerializationTest extends AbstractDataServiceTest { @@ -65,7 +66,7 @@ public class FlagsSerializationTest extends AbstractDataServiceTest { private static final NodeKey NODE_KEY = new NodeKey(new NodeId(NODE_ID)); private static final FlowKey FLOW_KEY = new FlowKey(new FlowId(FLOW_ID)); private static final TableKey TABLE_KEY = new TableKey(TABLE_ID); - + private static final Map NODE_KEY_BI = Collections. singletonMap(NODE_ID_QNAME, NODE_ID); @@ -83,12 +84,12 @@ public class FlagsSerializationTest extends AbstractDataServiceTest { // private static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier FLOW_INSTANCE_ID_BI = // // org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.builder() // -// +// // .node(Flows.QNAME) // // .nodeWithKey(Flow.QNAME, FLOW_KEY_BI) // // .toInstance(); private static final InstanceIdentifier FLOW_INSTANCE_ID_BA = // - InstanceIdentifier.builder(NODE_INSTANCE_ID_BA) // + NODE_INSTANCE_ID_BA.builder() // .augmentation(FlowCapableNode.class) .child(Table.class,TABLE_KEY) .child(Flow.class, FLOW_KEY) // @@ -101,34 +102,34 @@ public class FlagsSerializationTest extends AbstractDataServiceTest { FlowModFlags checkOverlapFlags = new FlowModFlags(true,false,false,false,false); ImmutableSet domCheckOverlapFlags = ImmutableSet.of("CHECK_OVERLAP"); testFlags(checkOverlapFlags,domCheckOverlapFlags); - - - + + + FlowModFlags allFalseFlags = new FlowModFlags(false,false,false,false,false); ImmutableSet domAllFalseFlags = ImmutableSet.of(); testFlags(allFalseFlags,domAllFalseFlags); - + FlowModFlags allTrueFlags = new FlowModFlags(true,true,true,true,true); ImmutableSet domAllTrueFlags = ImmutableSet.of("CHECK_OVERLAP","NO_BYT_COUNTS", "NO_PKT_COUNTS", "RESET_COUNTS", "SEND_FLOW_REM"); testFlags(allTrueFlags,domAllTrueFlags); - + FlowModFlags nullFlags = null; ImmutableSet domNullFlags = null; testFlags(null,null); - - + + } private void testFlags(FlowModFlags flagsToTest, ImmutableSet domFlags) throws Exception { Flow flow = createFlow(flagsToTest); assertNotNull(flow); - + CompositeNode domFlow = biDataService.readConfigurationData(mappingService.toDataDom(FLOW_INSTANCE_ID_BA)); - + assertNotNull(domFlow); org.opendaylight.yangtools.yang.data.api.Node readedFlags = domFlow.getFirstSimpleByName(FLOW_FLAGS_QNAME); - + if(domFlags != null) { assertNotNull(readedFlags); assertEquals(domFlags,readedFlags.getValue()); @@ -136,12 +137,12 @@ public class FlagsSerializationTest extends AbstractDataServiceTest { assertNull(readedFlags); } assertEquals(flagsToTest, flow.getFlags()); - + DataModificationTransaction transaction = baDataService.beginTransaction(); transaction.removeConfigurationData(FLOW_INSTANCE_ID_BA); RpcResult result = transaction.commit().get(); assertEquals(TransactionStatus.COMMITED, result.getResult()); - + } private Flow createFlow(FlowModFlags flagsToTest) throws Exception { @@ -158,12 +159,12 @@ public class FlagsSerializationTest extends AbstractDataServiceTest { flow.setKey(FLOW_KEY); flow.setMatch(match.build()); - + flow.setFlags(flagsToTest); - + InstructionsBuilder instructions = new InstructionsBuilder(); InstructionBuilder instruction = new InstructionBuilder(); - + instruction.setOrder(10); ApplyActionsBuilder applyActions = new ApplyActionsBuilder(); List actionList = new ArrayList<>(); diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/PutAugmentationTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/PutAugmentationTest.java index 027a8eeb9f..7f16320814 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/PutAugmentationTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/PutAugmentationTest.java @@ -58,18 +58,18 @@ public class PutAugmentationTest extends AbstractDataServiceTest implements Data private static final InstanceIdentifier NODES_INSTANCE_ID_BA = InstanceIdentifier.builder(Nodes.class) // .toInstance(); - private static final InstanceIdentifier NODE_INSTANCE_ID_BA = InstanceIdentifier// - .builder(NODES_INSTANCE_ID_BA) // + private static final InstanceIdentifier NODE_INSTANCE_ID_BA = // + NODES_INSTANCE_ID_BA.builder() // .child(Node.class, NODE_KEY).toInstance(); - private static final InstanceIdentifier SUPPORTED_ACTIONS_INSTANCE_ID_BA = InstanceIdentifier// - .builder(NODES_INSTANCE_ID_BA) // + private static final InstanceIdentifier SUPPORTED_ACTIONS_INSTANCE_ID_BA = // + NODES_INSTANCE_ID_BA.builder() // .child(Node.class, NODE_KEY) // .augmentation(FlowCapableNode.class) // .child(SupportedActions.class).toInstance(); - private static final InstanceIdentifier ALL_FLOW_CAPABLE_NODES = InstanceIdentifier // - .builder(NODES_INSTANCE_ID_BA) // + private static final InstanceIdentifier ALL_FLOW_CAPABLE_NODES = // + NODES_INSTANCE_ID_BA.builder() // .child(Node.class) // .augmentation(FlowCapableNode.class) // .build(); @@ -88,8 +88,8 @@ public class PutAugmentationTest extends AbstractDataServiceTest implements Data .nodeWithKey(Node.QNAME, NODE_KEY_BI) // .node(SUPPORTED_ACTIONS_QNAME) // .toInstance(); - private static final InstanceIdentifier FLOW_AUGMENTATION_PATH = InstanceIdentifier // - .builder(NODE_INSTANCE_ID_BA) // + private static final InstanceIdentifier FLOW_AUGMENTATION_PATH = + NODE_INSTANCE_ID_BA.builder() // .augmentation(FlowCapableNode.class) // .build(); @@ -126,8 +126,8 @@ public class PutAugmentationTest extends AbstractDataServiceTest implements Data fnub.setDescription("Description Foo"); fnub.setSoftware("JUnit emulated"); FlowCapableNode fnu = fnub.build(); - InstanceIdentifier augmentIdentifier = InstanceIdentifier.builder(NODE_INSTANCE_ID_BA) - .augmentation(FlowCapableNode.class).toInstance(); + InstanceIdentifier augmentIdentifier = NODE_INSTANCE_ID_BA + .augmentation(FlowCapableNode.class); DataModificationTransaction augmentedTransaction = baDataService.beginTransaction(); augmentedTransaction.putOperationalData(augmentIdentifier, fnu); @@ -183,8 +183,8 @@ public class PutAugmentationTest extends AbstractDataServiceTest implements Data lastReceivedChangeEvent = SettableFuture.create(); assertEquals(TransactionStatus.COMMITED, result.getResult()); - FlowCapableNode readedAugmentation = (FlowCapableNode) baDataService.readOperationalData(InstanceIdentifier - .builder(NODE_INSTANCE_ID_BA).augmentation(FlowCapableNode.class).toInstance()); + FlowCapableNode readedAugmentation = (FlowCapableNode) baDataService.readOperationalData( + NODE_INSTANCE_ID_BA.augmentation(FlowCapableNode.class)); assertNotNull(readedAugmentation); assertEquals(fnu.getHardware(), readedAugmentation.getHardware()); @@ -198,10 +198,10 @@ public class PutAugmentationTest extends AbstractDataServiceTest implements Data private void testPutNodeConnectorWithAugmentation() throws Exception { NodeConnectorKey ncKey = new NodeConnectorKey(new NodeConnectorId("test:0:0")); - InstanceIdentifier ncPath = InstanceIdentifier.builder(NODE_INSTANCE_ID_BA) - .child(NodeConnector.class, ncKey).toInstance(); - InstanceIdentifier ncAugmentPath = InstanceIdentifier.builder(ncPath) - .augmentation(FlowCapableNodeConnector.class).toInstance(); + InstanceIdentifier ncPath = NODE_INSTANCE_ID_BA + .child(NodeConnector.class, ncKey); + InstanceIdentifier ncAugmentPath = ncPath + .augmentation(FlowCapableNodeConnector.class); NodeConnectorBuilder nc = new NodeConnectorBuilder(); nc.setKey(ncKey); diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/WriteParentReadChildTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/WriteParentReadChildTest.java index 35b4e92db4..f7b81a44e9 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/WriteParentReadChildTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/WriteParentReadChildTest.java @@ -54,13 +54,11 @@ public class WriteParentReadChildTest extends AbstractDataServiceTest { .child(Node.class, NODE_KEY).toInstance(); private static final InstanceIdentifier TABLE_INSTANCE_ID_BA = // - InstanceIdentifier.builder(NODE_INSTANCE_ID_BA) // + NODE_INSTANCE_ID_BA.builder() // .augmentation(FlowCapableNode.class).child(Table.class, TABLE_KEY).build(); private static final InstanceIdentifier FLOW_INSTANCE_ID_BA = // - InstanceIdentifier.builder(TABLE_INSTANCE_ID_BA) // - .child(Flow.class, FLOW_KEY) // - .toInstance(); + TABLE_INSTANCE_ID_BA.child(Flow.class, FLOW_KEY); /** * * The scenario tests writing parent node, which also contains child items @@ -103,11 +101,11 @@ public class WriteParentReadChildTest extends AbstractDataServiceTest { DataObject readedTable = baDataService.readConfigurationData(TABLE_INSTANCE_ID_BA); assertNotNull("Readed table should not be nul.", readedTable); assertTrue(readedTable instanceof Table); - + DataObject readedFlow = baDataService.readConfigurationData(FLOW_INSTANCE_ID_BA); assertNotNull("Readed flow should not be null.",readedFlow); assertTrue(readedFlow instanceof Flow); assertEquals(flow, readedFlow); } -} \ No newline at end of file +} diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/ChangeOriginatedInDomBrokerTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/ChangeOriginatedInDomBrokerTest.java index 1661ff230d..422b9ccee5 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/ChangeOriginatedInDomBrokerTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/ChangeOriginatedInDomBrokerTest.java @@ -110,16 +110,14 @@ public class ChangeOriginatedInDomBrokerTest extends AbstractDataServiceTest { private static final TableKey TABLE_KEY_BA = new TableKey((short) 0); private static final InstanceIdentifier FLOWS_PATH_BA = // - InstanceIdentifier.builder(NODE_INSTANCE_ID_BA) // + NODE_INSTANCE_ID_BA.builder() // .augmentation(FlowCapableNode.class) // .child(Table.class, TABLE_KEY_BA) // .child(Flow.class) // .toInstance(); private static final InstanceIdentifier FLOW_INSTANCE_ID_BA = // - InstanceIdentifier.builder(FLOWS_PATH_BA.firstIdentifierOf(Table.class)) // - .child(Flow.class, FLOW_KEY) // - .toInstance(); + FLOWS_PATH_BA.firstIdentifierOf(Table.class).child(Flow.class, FLOW_KEY); @Test public void simpleModifyOperation() throws Exception { diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerMountPointTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerMountPointTest.java index 63094ef3cb..94570510ab 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerMountPointTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerMountPointTest.java @@ -61,8 +61,8 @@ public class CrossBrokerMountPointTest { .child(Node.class, NODE_KEY).toInstance(); private static GroupKey GROUP_KEY = new GroupKey(new GroupId(0L)); - private static final InstanceIdentifier GROUP_STATISTICS_ID_BA = InstanceIdentifier - .builder(NODE_INSTANCE_ID_BA).augmentation(FlowCapableNode.class) // + private static final InstanceIdentifier GROUP_STATISTICS_ID_BA = NODE_INSTANCE_ID_BA + .builder().augmentation(FlowCapableNode.class) // .child(Group.class, GROUP_KEY) // .augmentation(NodeGroupStatistics.class) // .child(GroupStatistics.class) // diff --git a/opendaylight/md-sal/sal-binding-it/pom.xml b/opendaylight/md-sal/sal-binding-it/pom.xml index 0d20a07ad5..70847aabea 100644 --- a/opendaylight/md-sal/sal-binding-it/pom.xml +++ b/opendaylight/md-sal/sal-binding-it/pom.xml @@ -77,14 +77,6 @@ org.opendaylight.controller sal-binding-broker-impl - - org.opendaylight.controller.thirdparty - nagasena - - - org.opendaylight.controller.thirdparty - nagasena-rta - org.opendaylight.yangtools.thirdparty antlr4-runtime-osgi-nohead @@ -100,6 +92,14 @@ xtend-lib-osgi 2.4.3 + + org.openexi + nagasena + + + org.openexi + nagasena-rta + org.ops4j.pax.exam pax-exam diff --git a/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java b/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java index 166216b226..734733a19c 100644 --- a/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java +++ b/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java @@ -68,8 +68,8 @@ public class TestHelper { mavenBundle(CONTROLLER, "netconf-client").versionAsInProject(), // mavenBundle(CONTROLLER, "netconf-util").versionAsInProject(), // - mavenBundle(CONTROLLER + ".thirdparty", "nagasena").versionAsInProject(), // - mavenBundle(CONTROLLER + ".thirdparty", "nagasena-rta").versionAsInProject(), // + mavenBundle("org.openexi", "nagasena").versionAsInProject(), // + mavenBundle("org.openexi", "nagasena-rta").versionAsInProject(), // mavenBundle(CONTROLLER + ".thirdparty", "ganymed").versionAsInProject(), // mavenBundle(CONTROLLER, "netconf-mapping-api").versionAsInProject(), // diff --git a/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractTest.java b/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractTest.java index 3d78f94861..b2f89cf779 100644 --- a/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractTest.java +++ b/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractTest.java @@ -70,8 +70,8 @@ public abstract class AbstractTest { mavenBundle("org.slf4j", "log4j-over-slf4j").versionAsInProject(), // mavenBundle("ch.qos.logback", "logback-core").versionAsInProject(), // mavenBundle("ch.qos.logback", "logback-classic").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena-rta").versionAsInProject(), + mavenBundle("org.openexi", "nagasena").versionAsInProject(), + mavenBundle("org.openexi", "nagasena-rta").versionAsInProject(), // systemProperty("osgi.bundles.defaultStartLevel").value("4"), systemPackages("sun.nio.ch"), diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/routing/RoutedRegistration.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/routing/RoutedRegistration.java index 5200c90561..6ce7b5a5c7 100644 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/routing/RoutedRegistration.java +++ b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/routing/RoutedRegistration.java @@ -15,4 +15,6 @@ public interface RoutedRegistration, S> extends Registratio void registerPath(C context, P path); void unregisterPath(C context, P path); + @Override + void close(); } diff --git a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.java b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.java index 82ce44c5e9..d8bde3d41a 100644 --- a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.java +++ b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.java @@ -14,14 +14,12 @@ import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import org.eclipse.xtext.xbase.lib.Exceptions; import org.opendaylight.controller.md.sal.common.api.RegistrationListener; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent; @@ -46,6 +44,7 @@ import org.slf4j.LoggerFactory; import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; +import com.google.common.base.Supplier; import com.google.common.collect.FluentIterable; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableList; @@ -120,9 +119,9 @@ public abstract class AbstractDataBroker

, D extends Object, DC } protected ImmutableList> affectedCommitHandlers(final Set

paths) { - final Callable>> _function = new Callable>>() { + final Supplier>> _function = new Supplier>>() { @Override - public ImmutableList> call() throws Exception { + public ImmutableList> get() { Map>> _asMap = commitHandlers.asMap(); Set>>> _entrySet = _asMap.entrySet(); FluentIterable>>> _from = FluentIterable @@ -163,9 +162,9 @@ public abstract class AbstractDataBroker

, D extends Object, DC } protected ImmutableList> probablyAffectedCommitHandlers(final HashSet

paths) { - final Callable>> _function = new Callable>>() { + final Supplier>> _function = new Supplier>>() { @Override - public ImmutableList> call() throws Exception { + public ImmutableList> get() { Map>> _asMap = commitHandlers.asMap(); Set>>> _entrySet = _asMap.entrySet(); FluentIterable>>> _from = FluentIterable @@ -221,12 +220,10 @@ public abstract class AbstractDataBroker

, D extends Object, DC return _dataReadRouter.readOperationalData(path); } - private static T withLock(final Lock lock, final Callable method) { + private static T withLock(final Lock lock, final Supplier method) { lock.lock(); try { - return method.call(); - } catch (Exception e) { - throw Exceptions.sneakyThrow(e); + return method.get(); } finally { lock.unlock(); } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ChangeListenerNotifyTask.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ChangeListenerNotifyTask.java index a7952ac824..375376f383 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ChangeListenerNotifyTask.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ChangeListenerNotifyTask.java @@ -1,3 +1,10 @@ +/* + * 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 + */ package org.opendaylight.controller.md.sal.dom.store.impl; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DOMImmutableDataChangeEvent.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DOMImmutableDataChangeEvent.java index 3dfca40b40..af479743aa 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DOMImmutableDataChangeEvent.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DOMImmutableDataChangeEvent.java @@ -1,3 +1,10 @@ +/* + * 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 + */ package org.opendaylight.controller.md.sal.dom.store.impl; import java.util.Collections; diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataAndMetadataSnapshot.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataAndMetadataSnapshot.java index 9961fcce8d..11028dc842 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataAndMetadataSnapshot.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataAndMetadataSnapshot.java @@ -16,7 +16,6 @@ import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import com.google.common.base.Optional; -import com.google.common.primitives.UnsignedLong; class DataAndMetadataSnapshot { @@ -39,22 +38,14 @@ class DataAndMetadataSnapshot { public static DataAndMetadataSnapshot createEmpty(final NodeIdentifier rootNode) { NormalizedNode data = Builders.containerBuilder().withNodeIdentifier(rootNode).build(); - StoreMetadataNode metadata = StoreMetadataNode.builder() - .setNodeVersion(UnsignedLong.ZERO) - .setSubtreeVersion(UnsignedLong.ZERO) - .setData(data) - .build(); + StoreMetadataNode metadata = StoreMetadataNode.createEmpty(data); return new DataAndMetadataSnapshot(metadata,Optional.absent()); } public static DataAndMetadataSnapshot createEmpty(final SchemaContext ctx) { NodeIdentifier rootNodeIdentifier = new NodeIdentifier(ctx.getQName()); NormalizedNode data = Builders.containerBuilder().withNodeIdentifier(rootNodeIdentifier).build(); - StoreMetadataNode metadata = StoreMetadataNode.builder() - .setData(data) - .setNodeVersion(UnsignedLong.ZERO) - .setSubtreeVersion(UnsignedLong.ZERO) - .build(); + StoreMetadataNode metadata = StoreMetadataNode.createEmpty(data); return new DataAndMetadataSnapshot(metadata, Optional.of(ctx)); } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataChangeListenerRegistration.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataChangeListenerRegistration.java index d3a892a2cd..d8f024017f 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataChangeListenerRegistration.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataChangeListenerRegistration.java @@ -1,3 +1,10 @@ +/* + * 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 + */ package org.opendaylight.controller.md.sal.dom.store.impl; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope; @@ -6,17 +13,11 @@ import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -public interface DataChangeListenerRegistration>> -extends ListenerRegistration { - - +public interface DataChangeListenerRegistration>> extends ListenerRegistration { @Override - public L getInstance(); + L getInstance(); InstanceIdentifier getPath(); DataChangeScope getScope(); - - - } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java index 9bbba1e24d..0a2b66c2d0 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java @@ -90,7 +90,7 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable, Sch @Override public DOMStoreWriteTransaction newWriteOnlyTransaction() { - return new SnaphostBackedWriteTransaction(nextIdentifier(), snapshot.get(), this, operationTree); + return new SnapshotBackedWriteTransaction(nextIdentifier(), snapshot.get(), this, operationTree); } @Override @@ -139,7 +139,7 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable, Sch } private synchronized DOMStoreThreePhaseCommitCohort submit( - final SnaphostBackedWriteTransaction writeTx) { + final SnapshotBackedWriteTransaction writeTx) { LOG.debug("Tx: {} is submitted. Modifications: {}",writeTx.getIdentifier(),writeTx.getMutatedView()); return new ThreePhaseCommitImpl(writeTx); } @@ -226,12 +226,12 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable, Sch } } - private static class SnaphostBackedWriteTransaction extends AbstractDOMStoreTransaction implements DOMStoreWriteTransaction { + private static class SnapshotBackedWriteTransaction extends AbstractDOMStoreTransaction implements DOMStoreWriteTransaction { private MutableDataTree mutableTree; private InMemoryDOMDataStore store; private boolean ready = false; - public SnaphostBackedWriteTransaction(final Object identifier, final DataAndMetadataSnapshot snapshot, + public SnapshotBackedWriteTransaction(final Object identifier, final DataAndMetadataSnapshot snapshot, final InMemoryDOMDataStore store, final ModificationApplyOperation applyOper) { super(identifier); mutableTree = MutableDataTree.from(snapshot, applyOper); @@ -310,7 +310,7 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable, Sch } } - private static class SnapshotBackedReadWriteTransaction extends SnaphostBackedWriteTransaction implements + private static class SnapshotBackedReadWriteTransaction extends SnapshotBackedWriteTransaction implements DOMStoreReadWriteTransaction { protected SnapshotBackedReadWriteTransaction(final Object identifier, final DataAndMetadataSnapshot snapshot, @@ -332,14 +332,14 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable, Sch private class ThreePhaseCommitImpl implements DOMStoreThreePhaseCommitCohort { - private final SnaphostBackedWriteTransaction transaction; + private final SnapshotBackedWriteTransaction transaction; private final NodeModification modification; private DataAndMetadataSnapshot storeSnapshot; private Optional proposedSubtree; private ResolveDataChangeEventsTask listenerResolver; - public ThreePhaseCommitImpl(final SnaphostBackedWriteTransaction writeTransaction) { + public ThreePhaseCommitImpl(final SnapshotBackedWriteTransaction writeTransaction) { this.transaction = writeTransaction; this.modification = transaction.getMutatedView().getRootModification(); } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ModificationApplyOperation.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ModificationApplyOperation.java index d02f1109d7..838afe31c6 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ModificationApplyOperation.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ModificationApplyOperation.java @@ -87,8 +87,5 @@ public interface ModificationApplyOperation extends StoreTreeNode getChild(PathArgument child); - - - + Optional getChild(PathArgument child); } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/OperationWithModification.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/OperationWithModification.java index 35864b6bc2..8aefb925e7 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/OperationWithModification.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/OperationWithModification.java @@ -1,3 +1,10 @@ +/* + * 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 + */ package org.opendaylight.controller.md.sal.dom.store.impl; import org.opendaylight.controller.md.sal.dom.store.impl.tree.NodeModification; @@ -63,4 +70,4 @@ public class OperationWithModification { Optional childOp = applyOperation.getChild(childId); return from(childOp.get(),childMod); } -} \ No newline at end of file +} diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperation.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperation.java index 7ea4d4e09f..4bb5aed20c 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperation.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperation.java @@ -1,3 +1,10 @@ +/* + * 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 + */ package org.opendaylight.controller.md.sal.dom.store.impl; import static com.google.common.base.Preconditions.checkArgument; @@ -27,11 +34,12 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; +import org.opendaylight.yangtools.yang.data.api.schema.OrderedLeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.OrderedMapNode; import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode; -import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAugmentationNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableChoiceNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafSetNodeBuilder; @@ -59,8 +67,6 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.ImmutableSet.Builder; import com.google.common.primitives.UnsignedLong; public abstract class SchemaAwareApplyOperation implements ModificationApplyOperation { @@ -321,30 +327,28 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @Override protected StoreMetadataNode applyWrite(final NodeModification modification, final Optional currentMeta, final UnsignedLong subtreeVersion) { - // + NormalizedNode newValue = modification.getWritenValue(); - UnsignedLong nodeVersion = subtreeVersion; + final UnsignedLong nodeVersion; if (currentMeta.isPresent()) { nodeVersion = StoreUtils.increase(currentMeta.get().getNodeVersion()); + } else { + nodeVersion = subtreeVersion; } - StoreMetadataNode newValueMeta = StoreMetadataNode.createRecursively(newValue, nodeVersion, nodeVersion); + final StoreMetadataNode newValueMeta = StoreMetadataNode.createRecursively(newValue, nodeVersion, nodeVersion); if (!modification.hasAdditionalModifications()) { return newValueMeta; } + @SuppressWarnings("rawtypes") - NormalizedNodeContainerBuilder dataBuilder = createBuilder(modification.getIdentifier()); + NormalizedNodeContainerBuilder dataBuilder = createBuilder(newValue); StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.from(dataBuilder) // .setNodeVersion(nodeVersion) // .setSubtreeVersion(subtreeVersion); - Set processedPreexisting = applyPreexistingChildren(modification, newValueMeta.getChildren(), - builder, nodeVersion); - applyNewChildren(modification, processedPreexisting, builder, nodeVersion); - - return builder.build(); - + return mutateChildren(modification.getModifications(), newValueMeta, builder, nodeVersion); } @Override @@ -357,55 +361,34 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @Override public StoreMetadataNode applySubtreeChange(final NodeModification modification, final StoreMetadataNode currentMeta, final UnsignedLong subtreeVersion) { + // Bump subtree version to its new target + final UnsignedLong updatedSubtreeVersion = StoreUtils.increase(currentMeta.getSubtreeVersion()); - UnsignedLong updatedSubtreeVersion = StoreUtils.increase(currentMeta.getSubtreeVersion()); @SuppressWarnings("rawtypes") - NormalizedNodeContainerBuilder dataBuilder = createBuilder(modification.getIdentifier()); - StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.from(dataBuilder) + NormalizedNodeContainerBuilder dataBuilder = createBuilder(currentMeta.getData()); + StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.from(dataBuilder, currentMeta) .setIdentifier(modification.getIdentifier()).setNodeVersion(currentMeta.getNodeVersion()) .setSubtreeVersion(updatedSubtreeVersion); - // We process preexisting nodes - Set processedPreexisting = applyPreexistingChildren(modification, currentMeta.getChildren(), - builder, updatedSubtreeVersion); - applyNewChildren(modification, processedPreexisting, builder, updatedSubtreeVersion); - return builder.build(); + + return mutateChildren(modification.getModifications(), currentMeta, builder, updatedSubtreeVersion); } - private void applyNewChildren(final NodeModification modification, final Set ignore, - final StoreNodeCompositeBuilder builder, final UnsignedLong subtreeVersion) { - for (NodeModification childModification : modification.getModifications()) { - PathArgument childIdentifier = childModification.getIdentifier(); - // We skip allready processed modifications - if (ignore.contains(childIdentifier)) { - continue; - } + private StoreMetadataNode mutateChildren(final Iterable modifications, final StoreMetadataNode meta, + final StoreNodeCompositeBuilder builder, final UnsignedLong nodeVersion) { - builder.addIfPresent(resolveChildOperation(childIdentifier) // - .apply(childModification, Optional. absent(), subtreeVersion)); - } - } + for (NodeModification mod : modifications) { + final PathArgument id = mod.getIdentifier(); + final Optional cm = meta.getChild(id); - private Set applyPreexistingChildren(final NodeModification modification, - final Iterable children, final StoreNodeCompositeBuilder nodeBuilder, - final UnsignedLong subtreeVersion) { - Builder processedModifications = ImmutableSet. builder(); - for (StoreMetadataNode childMeta : children) { - PathArgument childIdentifier = childMeta.getIdentifier(); - // We retrieve Child modification metadata - Optional childModification = modification.getChild(childIdentifier); - // Node is modified - if (childModification.isPresent()) { - processedModifications.add(childIdentifier); - Optional result = resolveChildOperation(childIdentifier) // - .apply(childModification.get(), Optional.of(childMeta), subtreeVersion); - nodeBuilder.addIfPresent(result); + Optional result = resolveChildOperation(id).apply(mod, cm, nodeVersion); + if (result.isPresent()) { + builder.add(result.get()); } else { - // Child is unmodified - reuse existing metadata and data - // snapshot - nodeBuilder.add(childMeta); + builder.remove(id); } } - return processedModifications.build(); + + return builder.build(); } @Override @@ -425,7 +408,7 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper } @SuppressWarnings("rawtypes") - protected abstract NormalizedNodeContainerBuilder createBuilder(PathArgument identifier); + protected abstract NormalizedNodeContainerBuilder createBuilder(NormalizedNode original); } public static abstract class DataNodeContainerModificationStrategy extends @@ -470,7 +453,7 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @Override @SuppressWarnings("rawtypes") - protected abstract DataContainerNodeBuilder createBuilder(PathArgument identifier); + protected abstract DataContainerNodeBuilder createBuilder(NormalizedNode original); @Override public String toString() { @@ -488,12 +471,10 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @Override @SuppressWarnings("rawtypes") - protected DataContainerNodeBuilder createBuilder(final PathArgument identifier) { - // TODO Auto-generated method stub - checkArgument(identifier instanceof NodeIdentifier); - return ImmutableContainerNodeBuilder.create().withNodeIdentifier((NodeIdentifier) identifier); + protected DataContainerNodeBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof ContainerNode); + return ImmutableContainerNodeBuilder.create((ContainerNode) original); } - } public static class UnkeyedListItemModificationStrategy extends @@ -505,11 +486,10 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @Override @SuppressWarnings("rawtypes") - protected DataContainerNodeBuilder createBuilder(final PathArgument identifier) { - checkArgument(identifier instanceof NodeIdentifier); - return ImmutableUnkeyedListEntryNodeBuilder.create().withNodeIdentifier((NodeIdentifier) identifier); + protected DataContainerNodeBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof UnkeyedListEntryNode); + return ImmutableUnkeyedListEntryNodeBuilder.create((UnkeyedListEntryNode) original); } - } public static class AugmentationModificationStrategy extends @@ -522,10 +502,11 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper } @Override - protected DataContainerNodeBuilder createBuilder(final PathArgument identifier) { - return Builders.augmentationBuilder().withNodeIdentifier((AugmentationIdentifier) identifier); + @SuppressWarnings("rawtypes") + protected DataContainerNodeBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof AugmentationNode); + return ImmutableAugmentationNodeBuilder.create((AugmentationNode) original); } - } public static class ChoiceModificationStrategy extends NormalizedNodeContainerModificationStrategy { @@ -554,11 +535,10 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @Override @SuppressWarnings("rawtypes") - protected DataContainerNodeBuilder createBuilder(final PathArgument identifier) { - checkArgument(identifier instanceof NodeIdentifier); - return ImmutableChoiceNodeBuilder.create().withNodeIdentifier((NodeIdentifier) identifier); + protected DataContainerNodeBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode); + return ImmutableChoiceNodeBuilder.create((org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode) original); } - } public static class ListEntryModificationStrategy extends DataNodeContainerModificationStrategy { @@ -569,10 +549,10 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @Override @SuppressWarnings("rawtypes") - protected final DataContainerNodeBuilder createBuilder(final PathArgument identifier) { - return ImmutableMapEntryNodeBuilder.create().withNodeIdentifier((NodeIdentifierWithPredicates) identifier); + protected final DataContainerNodeBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof MapEntryNode); + return ImmutableMapEntryNodeBuilder.create((MapEntryNode) original); } - } public static class UnorderedLeafSetModificationStrategy extends NormalizedNodeContainerModificationStrategy { @@ -587,8 +567,9 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @SuppressWarnings("rawtypes") @Override - protected NormalizedNodeContainerBuilder createBuilder(final PathArgument identifier) { - return ImmutableLeafSetNodeBuilder.create().withNodeIdentifier((NodeIdentifier) identifier); + protected NormalizedNodeContainerBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof LeafSetNode); + return ImmutableLeafSetNodeBuilder.create((LeafSetNode) original); } @Override @@ -598,7 +579,6 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper } return Optional.absent(); } - } public static class OrderedLeafSetModificationStrategy extends NormalizedNodeContainerModificationStrategy { @@ -613,8 +593,9 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @SuppressWarnings("rawtypes") @Override - protected NormalizedNodeContainerBuilder createBuilder(final PathArgument identifier) { - return ImmutableOrderedLeafSetNodeBuilder.create().withNodeIdentifier((NodeIdentifier) identifier); + protected NormalizedNodeContainerBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof OrderedLeafSetNode); + return ImmutableOrderedLeafSetNodeBuilder.create((OrderedLeafSetNode) original); } @Override @@ -624,7 +605,6 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper } return Optional.absent(); } - } public static class UnkeyedListModificationStrategy extends SchemaAwareApplyOperation { @@ -685,8 +665,9 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @SuppressWarnings("rawtypes") @Override - protected NormalizedNodeContainerBuilder createBuilder(final PathArgument identifier) { - return ImmutableMapNodeBuilder.create().withNodeIdentifier((NodeIdentifier) identifier); + protected NormalizedNodeContainerBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof MapNode); + return ImmutableMapNodeBuilder.create((MapNode) original); } @Override @@ -714,8 +695,9 @@ public abstract class SchemaAwareApplyOperation implements ModificationApplyOper @SuppressWarnings("rawtypes") @Override - protected NormalizedNodeContainerBuilder createBuilder(final PathArgument identifier) { - return ImmutableOrderedMapNodeBuilder.create().withNodeIdentifier((NodeIdentifier) identifier); + protected NormalizedNodeContainerBuilder createBuilder(final NormalizedNode original) { + checkArgument(original instanceof OrderedMapNode); + return ImmutableOrderedMapNodeBuilder.create((OrderedMapNode) original); } @Override diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperationRoot.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperationRoot.java index e7265dedb5..8a539ff36e 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperationRoot.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperationRoot.java @@ -7,16 +7,14 @@ */ package org.opendaylight.controller.md.sal.dom.store.impl; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaContext; public class SchemaAwareApplyOperationRoot extends SchemaAwareApplyOperation.DataNodeContainerModificationStrategy { - private final SchemaContext context; public SchemaAwareApplyOperationRoot(final SchemaContext context) { @@ -24,11 +22,6 @@ public class SchemaAwareApplyOperationRoot extends SchemaAwareApplyOperation.Dat this.context = context; } - @Override - protected DataContainerNodeBuilder createBuilder(final PathArgument identifier) { - return ImmutableContainerNodeBuilder.create().withNodeIdentifier((NodeIdentifier) identifier); - } - public SchemaContext getContext() { return context; } @@ -38,4 +31,9 @@ public class SchemaAwareApplyOperationRoot extends SchemaAwareApplyOperation.Dat return "SchemaAwareApplyOperationRoot [context=" + context + "]"; } + @Override + @SuppressWarnings("rawtypes") + protected DataContainerNodeBuilder createBuilder(NormalizedNode original) { + return ImmutableContainerNodeBuilder.create((ContainerNode) original); + } } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java index 830d7e3dc4..0f77ac504a 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java @@ -1,3 +1,10 @@ +/* + * 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 + */ package org.opendaylight.controller.md.sal.dom.store.impl; import java.util.Collections; diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreMetadataNode.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreMetadataNode.java index d42f36fb90..455777b7fb 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreMetadataNode.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreMetadataNode.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.md.sal.dom.store.impl.tree; import static com.google.common.base.Preconditions.checkState; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; @@ -46,10 +47,24 @@ public class StoreMetadataNode implements Immutable, Identifiable, this.children = Preconditions.checkNotNull(children); } + public static StoreMetadataNode createEmpty(final NormalizedNode data) { + return new StoreMetadataNode(data, UnsignedLong.ZERO, UnsignedLong.ZERO, + Collections.emptyMap()); + } + + public StoreMetadataNode(final NormalizedNode data, final UnsignedLong nodeVersion, + final UnsignedLong subtreeVersion) { + this(data, nodeVersion, subtreeVersion, Collections.emptyMap()); + } + public static Builder builder() { return new Builder(); } + public static Builder builder(StoreMetadataNode node) { + return new Builder(node); + } + public UnsignedLong getNodeVersion() { return this.nodeVersion; } @@ -118,11 +133,16 @@ public class StoreMetadataNode implements Immutable, Identifiable, private UnsignedLong nodeVersion; private UnsignedLong subtreeVersion; private NormalizedNode data; - private Map children = new LinkedHashMap<>(); + private Map children; private boolean dirty = false; - private Builder() {} + private Builder() { + children = new LinkedHashMap<>(); + } + public Builder(StoreMetadataNode node) { + children = new LinkedHashMap<>(node.children); + } public UnsignedLong getVersion() { return nodeVersion; @@ -153,6 +173,15 @@ public class StoreMetadataNode implements Immutable, Identifiable, return this; } + public Builder remove(final PathArgument id) { + if (dirty) { + children = new LinkedHashMap<>(children); + dirty = false; + } + children.remove(id); + return this; + } + public StoreMetadataNode build() { checkState(data != null, "Data node should not be null."); checkState(subtreeVersion.compareTo(nodeVersion) >= 0, @@ -165,5 +194,4 @@ public class StoreMetadataNode implements Immutable, Identifiable, public static StoreMetadataNode createRecursively(final NormalizedNode node, final UnsignedLong version) { return createRecursively(node, version, version); } - } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreNodeCompositeBuilder.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreNodeCompositeBuilder.java index 41fc8239fb..a66a1d5b1c 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreNodeCompositeBuilder.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreNodeCompositeBuilder.java @@ -10,7 +10,7 @@ package org.opendaylight.controller.md.sal.dom.store.impl.tree; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder; -import com.google.common.base.Optional; +import com.google.common.base.Preconditions; import com.google.common.primitives.UnsignedLong; /** @@ -28,7 +28,12 @@ public class StoreNodeCompositeBuilder { private StoreNodeCompositeBuilder(final NormalizedNodeContainerBuilder nodeBuilder) { this.metadata = StoreMetadataNode.builder(); - this.data = nodeBuilder; + this.data = Preconditions.checkNotNull(nodeBuilder); + } + + public StoreNodeCompositeBuilder(NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) { + this.metadata = StoreMetadataNode.builder(currentMeta); + this.data = Preconditions.checkNotNull(nodeBuilder); } @SuppressWarnings("unchecked") @@ -39,12 +44,9 @@ public class StoreNodeCompositeBuilder { } @SuppressWarnings("unchecked") - public StoreNodeCompositeBuilder addIfPresent(final Optional potential) { - if (potential.isPresent()) { - StoreMetadataNode node = potential.get(); - metadata.add(node); - data.addChild(node.getData()); - } + public StoreNodeCompositeBuilder remove(PathArgument id) { + metadata.remove(id); + data.removeChild(id); return this; } @@ -56,6 +58,10 @@ public class StoreNodeCompositeBuilder { return new StoreNodeCompositeBuilder(nodeBuilder); } + public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) { + return new StoreNodeCompositeBuilder(nodeBuilder, currentMeta); + } + @SuppressWarnings("unchecked") public StoreNodeCompositeBuilder setIdentifier(final PathArgument identifier) { data.withNodeIdentifier(identifier); @@ -71,5 +77,4 @@ public class StoreNodeCompositeBuilder { metadata.setSubtreeVersion(updatedSubtreeVersion); return this; } - } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/TreeNodeUtils.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/TreeNodeUtils.java index 339d9cb44e..732352dd34 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/TreeNodeUtils.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/TreeNodeUtils.java @@ -21,7 +21,10 @@ import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Predicates; -public class TreeNodeUtils { +public final class TreeNodeUtils { + private TreeNodeUtils() { + throw new UnsupportedOperationException("Utility class should not be instantiated"); + } /** * Finds a node in tree @@ -40,7 +43,6 @@ public class TreeNodeUtils { return current; } - public static > T findNodeChecked(final T tree, final InstanceIdentifier path) { T current = tree; List nested = new ArrayList<>(path.getPath().size()); diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/SchemaAwareRpcBroker.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/SchemaAwareRpcBroker.java index 3e7b115f11..f47e1efc3f 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/SchemaAwareRpcBroker.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/SchemaAwareRpcBroker.java @@ -457,7 +457,7 @@ public class SchemaAwareRpcBroker implements RpcRouter, Identifiable, Ro try { listener.onRouteChange(initial); } catch (Exception e) { - LOG.error("Unhandled exception during sending initial route change event {} to {}",initial,listener); + LOG.error("Unhandled exception during sending initial route change event {} to {}",initial,listener, e); } return reg; } diff --git a/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/DataNormalizerTest.java b/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/DataNormalizerTest.java index 9aa558b5ac..ac7b87a9f5 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/DataNormalizerTest.java +++ b/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/DataNormalizerTest.java @@ -49,12 +49,8 @@ public class DataNormalizerTest { InstanceIdentifier normalizedPath = normalizer.toNormalized(LEAF_TWO_PATH_LEGACY); - Node outerListLegacy = normalizer.toLegacy(OUTER_LIST_WITH_CHOICE); + Node outerListLegacy = DataNormalizer.toLegacy(OUTER_LIST_WITH_CHOICE); assertNotNull(outerListLegacy); - - - - } } diff --git a/opendaylight/md-sal/sal-netconf-connector/pom.xml b/opendaylight/md-sal/sal-netconf-connector/pom.xml index ef485bbadf..9ad95c18d9 100644 --- a/opendaylight/md-sal/sal-netconf-connector/pom.xml +++ b/opendaylight/md-sal/sal-netconf-connector/pom.xml @@ -13,6 +13,7 @@ + ${project.groupId} netconf-client ${netconf.version} @@ -37,7 +38,6 @@ org.opendaylight.controller netconf-client - ${netconf.version} org.opendaylight.controller @@ -47,10 +47,18 @@ org.opendaylight.controller netty-threadgroup-config + + org.opendaylight.controller + sal-binding-api + org.opendaylight.controller threadpool-config-api + + org.opendaylight.controller.model + model-inventory + org.opendaylight.yangtools yang-data-impl diff --git a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java index 6e924221cf..7bf8ee860d 100644 --- a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java +++ b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java @@ -10,35 +10,38 @@ package org.opendaylight.controller.config.yang.md.sal.connector.netconf; import static org.opendaylight.controller.config.api.JmxAttributeValidationException.checkCondition; import static org.opendaylight.controller.config.api.JmxAttributeValidationException.checkNotNull; +import com.google.common.net.InetAddresses; import io.netty.util.HashedWheelTimer; import io.netty.util.concurrent.GlobalEventExecutor; - import java.io.File; import java.io.InputStream; import java.net.InetAddress; import java.net.InetSocketAddress; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; - import org.opendaylight.controller.netconf.client.NetconfClientDispatcher; import org.opendaylight.controller.netconf.client.NetconfClientDispatcherImpl; import org.opendaylight.controller.netconf.client.conf.NetconfClientConfiguration; import org.opendaylight.controller.netconf.client.conf.NetconfClientConfigurationBuilder; import org.opendaylight.controller.netconf.util.handler.ssh.authentication.LoginPassword; +import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.opendaylight.controller.sal.connect.netconf.NetconfDevice; import org.opendaylight.controller.sal.connect.netconf.NetconfDeviceListener; import org.opendaylight.protocol.framework.ReconnectStrategy; import org.opendaylight.protocol.framework.TimedReconnectStrategy; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.inventory.rev140108.NetconfNode; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.model.util.repo.AbstractCachingSchemaSourceProvider; import org.opendaylight.yangtools.yang.model.util.repo.FilesystemSchemaCachingProvider; import org.opendaylight.yangtools.yang.model.util.repo.SchemaSourceProvider; import org.opendaylight.yangtools.yang.model.util.repo.SchemaSourceProviders; import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.net.InetAddresses; - /** * */ @@ -88,6 +91,10 @@ public final class NetconfConnectorModule extends org.opendaylight.controller.co @Override public java.lang.AutoCloseable createInstance() { + ServiceReference serviceReference = bundleContext.getServiceReference(DataProviderService.class); + + DataProviderService dataProviderService = + bundleContext.getService(serviceReference); getDomRegistryDependency(); NetconfDevice device = new NetconfDevice(getIdentifier().getInstanceName()); @@ -99,7 +106,7 @@ public final class NetconfConnectorModule extends org.opendaylight.controller.co device.setEventExecutor(getEventExecutorDependency()); device.setDispatcher(getClientDispatcher() == null ? createDispatcher() : getClientDispatcherDependency()); device.setSchemaSourceProvider(getGlobalNetconfSchemaProvider(bundleContext)); - + device.setDataProviderService(dataProviderService); getDomRegistryDependency().registerProvider(device, bundleContext); device.start(); return device; diff --git a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/NetconfDevice.java b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/NetconfDevice.java index 1209e88f52..54242cf26d 100644 --- a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/NetconfDevice.java +++ b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/NetconfDevice.java @@ -40,6 +40,7 @@ import org.opendaylight.controller.md.sal.common.api.data.DataModification; import org.opendaylight.controller.md.sal.common.api.data.DataReader; import org.opendaylight.controller.netconf.client.NetconfClientDispatcher; import org.opendaylight.controller.netconf.client.conf.NetconfClientConfiguration; +import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.opendaylight.controller.sal.core.api.Broker.ProviderSession; import org.opendaylight.controller.sal.core.api.Broker.RpcRegistration; import org.opendaylight.controller.sal.core.api.Provider; @@ -49,6 +50,8 @@ import org.opendaylight.controller.sal.core.api.data.DataModificationTransaction import org.opendaylight.controller.sal.core.api.mount.MountProvisionInstance; import org.opendaylight.controller.sal.core.api.mount.MountProvisionService; import org.opendaylight.protocol.framework.ReconnectStrategy; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.inventory.rev140108.NetconfNode; import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResult; @@ -117,13 +120,14 @@ public class NetconfDevice implements Provider, // SchemaSourceProvider remoteSourceProvider; - DataBrokerService dataBroker; + private volatile DataBrokerService dataBroker; NetconfDeviceListener listener; private boolean rollbackSupported; private NetconfClientConfiguration clientConfig; + private volatile DataProviderService dataProviderService; public NetconfDevice(String name) { this.name = name; @@ -217,6 +221,8 @@ public class NetconfDevice implements Provider, // } private void updateDeviceState(boolean up, Set capabilities) { + checkDataStoreState(); + DataModificationTransaction transaction = dataBroker.beginTransaction(); CompositeNodeBuilder it = ImmutableCompositeNode.builder(); @@ -305,6 +311,22 @@ public class NetconfDevice implements Provider, // public void onSessionInitiated(ProviderSession session) { dataBroker = session.getService(DataBrokerService.class); + processingExecutor.submit(new Runnable() { + @Override + public void run() { + updateInitialState(); + } + }); + + mountService = session.getService(MountProvisionService.class); + if (mountService != null) { + mountInstance = mountService.createOrGetMountPoint(path); + } + } + + private void updateInitialState() { + checkDataStoreState(); + DataModificationTransaction transaction = dataBroker.beginTransaction(); if (operationalNodeNotExisting(transaction)) { transaction.putOperationalData(path, getNodeWithId()); @@ -320,13 +342,13 @@ public class NetconfDevice implements Provider, // } catch (ExecutionException e) { throw new RuntimeException("Read configuration data " + path + " failed", e); } - - mountService = session.getService(MountProvisionService.class); - if (mountService != null) { - mountInstance = mountService.createOrGetMountPoint(path); - } } + private void checkDataStoreState() { + // read data from Nodes/Node in order to wait with write until schema for Nodes/Node is present in datastore + dataProviderService.readOperationalData(org.opendaylight.yangtools.yang.binding.InstanceIdentifier.builder( + Nodes.class).child(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node.class).augmentation(NetconfNode.class).build()); } + CompositeNode getNodeWithId() { SimpleNodeTOImpl id = new SimpleNodeTOImpl(INVENTORY_ID, null, name); return new CompositeNodeTOImpl(INVENTORY_NODE, null, Collections.> singletonList(id)); @@ -473,6 +495,9 @@ public class NetconfDevice implements Provider, // this.clientConfig = clientConfig; } + public void setDataProviderService(final DataProviderService dataProviderService) { + this.dataProviderService = dataProviderService; + } } class NetconfDeviceSchemaContextProvider { diff --git a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/NetconfMapping.java b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/NetconfMapping.java index 55e17c56b3..f76ec28624 100644 --- a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/NetconfMapping.java +++ b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/NetconfMapping.java @@ -99,7 +99,11 @@ public class NetconfMapping { for (org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument component : Lists .reverse(identifier.getPath())) { - previous = toNode(component, previous); + if (component instanceof NodeIdentifierWithPredicates) { + previous = toNode((NodeIdentifierWithPredicates)component, previous); + } else { + previous = toNode(component, previous); + } } return filter("subtree", previous); } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/RemoteRpcProvider.java b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/RemoteRpcProvider.java index edcef83574..53fbb929bb 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/RemoteRpcProvider.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/RemoteRpcProvider.java @@ -8,7 +8,7 @@ package org.opendaylight.controller.sal.connector.remoterpc; -import static com.google.common.base.Preconditions.checkNotNull; +import static com.google.common.base.Preconditions.checkState; import java.util.Collection; import java.util.Collections; @@ -174,7 +174,7 @@ public class RemoteRpcProvider implements Optional> routingTable = routingTableProvider.getRoutingTable(); - checkNotNull(routingTable.isPresent(), "Routing table is null"); + checkState(routingTable.isPresent(), "Routing table is null"); return routingTable.get(); } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/dto/Message.java b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/dto/Message.java index 519791a195..21d02be7d7 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/dto/Message.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/dto/Message.java @@ -8,11 +8,17 @@ package org.opendaylight.controller.sal.connector.remoterpc.dto; -import org.opendaylight.controller.sal.connector.api.RpcRouter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; -import java.io.*; +import org.opendaylight.controller.sal.connector.api.RpcRouter; public class Message implements Serializable { + private static final long serialVersionUID = 1L; public static enum MessageType { PING((byte) 0), @@ -118,12 +124,13 @@ public class Message implements Serializable { } public static class Response extends Message implements RpcRouter.RpcReply { + private static final long serialVersionUID = 1L; private ResponseCode code; // response code public static enum ResponseCode { SUCCESS(200), BADREQUEST(400), TIMEOUT(408), GONE(410), SERVERERROR(500), SERVICEUNAVAILABLE(503); - private int code; + private final int code; ResponseCode(int code) { this.code = code; @@ -144,7 +151,7 @@ public class Message implements Serializable { */ public static class MessageBuilder{ - private Message message; + private final Message message; public MessageBuilder(){ message = new Message(); diff --git a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/dto/RouteIdentifierImpl.java b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/dto/RouteIdentifierImpl.java index 4ffcf3e099..53c7cc0b8d 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/dto/RouteIdentifierImpl.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/dto/RouteIdentifierImpl.java @@ -7,13 +7,14 @@ */ package org.opendaylight.controller.sal.connector.remoterpc.dto; +import java.io.Serializable; + import org.opendaylight.controller.sal.connector.api.RpcRouter; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import java.io.Serializable; - public class RouteIdentifierImpl implements RpcRouter.RouteIdentifier,Serializable { + private static final long serialVersionUID = 1L; private QName context; private QName type; diff --git a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/ClientRequestHandlerTest.java b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/ClientRequestHandlerTest.java index a5c4d85fed..1edd004d37 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/ClientRequestHandlerTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/ClientRequestHandlerTest.java @@ -7,7 +7,14 @@ */ package org.opendaylight.controller.sal.connector.remoterpc; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.FutureTask; +import java.util.concurrent.TimeUnit; + import junit.framework.Assert; + import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -17,9 +24,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.zeromq.ZMQ; -import java.io.IOException; -import java.util.concurrent.*; - /** * */ @@ -69,7 +73,7 @@ public class ClientRequestHandlerTest { serverThread.execute(MessagingUtil.startReplyServer(context, serverAddress, 1)); threadPool.execute(createEmptyMessageTaskAndHandle(handler, serverAddress)); } - Thread.currentThread().sleep(5000);//wait for all messages to get processed + Thread.sleep(5000);//wait for all messages to get processed //should be connected to 5 remote server Assert.assertEquals(5, handler.getWorkerCount()); } diff --git a/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/client/SalRemoteClientImpl.java b/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/client/SalRemoteClientImpl.java index ec62568a1b..a6ab915413 100644 --- a/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/client/SalRemoteClientImpl.java +++ b/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/client/SalRemoteClientImpl.java @@ -19,7 +19,6 @@ import org.opendaylight.yangtools.restconf.client.api.RestconfClientContext; import org.opendaylight.yangtools.restconf.client.api.UnsupportedProtocolException; import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext; import org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl; -import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.binding.util.BindingReflections; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,9 +36,7 @@ class SalRemoteClientImpl implements SalRemoteClient { public SalRemoteClientImpl(final URL url) { Preconditions.checkNotNull(url); - this.mappingService = new RuntimeGeneratedMappingServiceImpl(); - this.mappingService.setPool(ClassPool.getDefault()); - this.mappingService.init(); + this.mappingService = new RuntimeGeneratedMappingServiceImpl(ClassPool.getDefault()); final ModuleInfoBackedContext moduleInfo = ModuleInfoBackedContext.create(); moduleInfo.addModuleInfos(BindingReflections.loadModuleInfos()); diff --git a/opendaylight/md-sal/samples/l2switch/implementation/src/main/java/org/opendaylight/controller/sample/l2switch/md/flow/FlowWriterServiceImpl.java b/opendaylight/md-sal/samples/l2switch/implementation/src/main/java/org/opendaylight/controller/sample/l2switch/md/flow/FlowWriterServiceImpl.java index 065d0ee7ba..fccda9d578 100644 --- a/opendaylight/md-sal/samples/l2switch/implementation/src/main/java/org/opendaylight/controller/sample/l2switch/md/flow/FlowWriterServiceImpl.java +++ b/opendaylight/md-sal/samples/l2switch/implementation/src/main/java/org/opendaylight/controller/sample/l2switch/md/flow/FlowWriterServiceImpl.java @@ -234,6 +234,7 @@ public class FlowWriterServiceImpl implements FlowWriterService { Uri destPortUri = destPort.getValue().firstKeyOf(NodeConnector.class, NodeConnectorKey.class).getId(); Action outputToControllerAction = new ActionBuilder() // + .setOrder(0) .setAction(new OutputActionCaseBuilder() // .setOutputAction(new OutputActionBuilder() // .setMaxLength(new Integer(0xffff)) // @@ -248,6 +249,7 @@ public class FlowWriterServiceImpl implements FlowWriterService { // Wrap our Apply Action in an Instruction Instruction applyActionsInstruction = new InstructionBuilder() // + .setOrder(0) .setInstruction(new ApplyActionsCaseBuilder()// .setApplyActions(applyActions) // .build()) // diff --git a/opendaylight/md-sal/samples/toaster-it/pom.xml b/opendaylight/md-sal/samples/toaster-it/pom.xml index 60db8f9ba6..2fcb2f6d63 100644 --- a/opendaylight/md-sal/samples/toaster-it/pom.xml +++ b/opendaylight/md-sal/samples/toaster-it/pom.xml @@ -17,7 +17,6 @@ org.opendaylight.controller sal-binding-it - 1.1-SNAPSHOT org.opendaylight.controller.samples @@ -36,11 +35,11 @@ 1.1-SNAPSHOT - org.opendaylight.controller.thirdparty + org.openexi nagasena - org.opendaylight.controller.thirdparty + org.openexi nagasena-rta diff --git a/opendaylight/md-sal/samples/toaster-it/src/test/java/org/opendaylight/controller/sample/toaster/it/ToasterTest.java b/opendaylight/md-sal/samples/toaster-it/src/test/java/org/opendaylight/controller/sample/toaster/it/ToasterTest.java index add523157f..eb82605529 100644 --- a/opendaylight/md-sal/samples/toaster-it/src/test/java/org/opendaylight/controller/sample/toaster/it/ToasterTest.java +++ b/opendaylight/md-sal/samples/toaster-it/src/test/java/org/opendaylight/controller/sample/toaster/it/ToasterTest.java @@ -77,8 +77,8 @@ public class ToasterTest { mavenBundle("org.opendaylight.controller.samples", "sample-toaster-provider").versionAsInProject(), mavenBundle("org.opendaylight.controller.samples", "sample-toaster-consumer").versionAsInProject(), mavenBundle("org.opendaylight.controller.samples", "sample-toaster").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena-rta").versionAsInProject() + mavenBundle("org.openexi", "nagasena").versionAsInProject(), + mavenBundle("org.openexi", "nagasena-rta").versionAsInProject() ); } diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/AbstractStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/AbstractStatsTracker.java index e922656d91..e23ad0acdb 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/AbstractStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/AbstractStatsTracker.java @@ -32,9 +32,9 @@ import com.google.common.util.concurrent.JdkFutureAdapters; abstract class AbstractStatsTracker { private static final Logger logger = LoggerFactory.getLogger(AbstractStatsTracker.class); - + private static final int WAIT_FOR_REQUEST_CYCLE = 2; - + private final FutureCallback> callback = new FutureCallback>() { @Override @@ -73,7 +73,7 @@ abstract class AbstractStatsTracker { } protected final InstanceIdentifierBuilder getNodeIdentifierBuilder() { - return InstanceIdentifier.builder(getNodeIdentifier()); + return getNodeIdentifier().builder(); } protected final NodeRef getNodeRef() { diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java index 06d6e82112..add46bd162 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java @@ -41,17 +41,17 @@ final class FlowStatsTracker extends AbstractListeningStatsTracker flowRef = getNodeIdentifierBuilder() .augmentation(FlowCapableNode.class) .child(Table.class, new TableKey(item.getTableId())) @@ -61,7 +61,7 @@ final class FlowStatsTracker extends AbstractListeningStatsTracker, DataObject> change) { + public void onDataChanged(final DataChangeEvent, DataObject> change) { for (Entry, DataObject> e : change.getCreatedConfigurationData().entrySet()) { if (Flow.class.equals(e.getKey().getTargetType())) { final Flow flow = (Flow) e.getValue(); @@ -270,11 +270,8 @@ final class FlowStatsTracker extends AbstractListeningStatsTracker flow = (InstanceIdentifier)key; - final InstanceIdentifier del = InstanceIdentifier.builder(flow) - .augmentation(FlowStatisticsData.class).build(); - logger.debug("Key {} triggered remove of augmentation {}", key, del); - - trans.removeOperationalData(del); + logger.debug("Key {} triggered remove of Flow from operational space.", key); + trans.removeOperationalData(flow); } } trans.commit(); diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupDescStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupDescStatsTracker.java index e180aaf5fc..a775b73169 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupDescStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupDescStatsTracker.java @@ -96,7 +96,7 @@ final class GroupDescStatsTracker extends AbstractListeningStatsTracker group = (InstanceIdentifier)key; - InstanceIdentifier del = InstanceIdentifier.builder(group).augmentation(NodeGroupDescStats.class).toInstance(); + InstanceIdentifier del = group.augmentation(NodeGroupDescStats.class); logger.debug("Key {} triggered remove of augmentation {}", key, del); trans.removeOperationalData(del); diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupStatsTracker.java index 9735fea069..c3c23c9b58 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupStatsTracker.java @@ -87,7 +87,7 @@ final class GroupStatsTracker extends AbstractListeningStatsTracker group = (InstanceIdentifier)key; - InstanceIdentifier del = InstanceIdentifier.builder(group).augmentation(NodeGroupStatistics.class).toInstance(); + InstanceIdentifier del = group.augmentation(NodeGroupStatistics.class); logger.debug("Key {} triggered remove of augmentation {}", key, del); trans.removeOperationalData(del); diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterConfigStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterConfigStatsTracker.java index e8b7fb7164..ea412a09e1 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterConfigStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterConfigStatsTracker.java @@ -82,7 +82,7 @@ final class MeterConfigStatsTracker extends AbstractListeningStatsTracker meter = (InstanceIdentifier)key; InstanceIdentifier nodeMeterStatisticsAugmentation = - InstanceIdentifier.builder(meter).augmentation(NodeMeterConfigStats.class).toInstance(); + meter.augmentation(NodeMeterConfigStats.class); trans.removeOperationalData(nodeMeterStatisticsAugmentation); } } diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterStatsTracker.java index b373020f1c..be53a38f18 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterStatsTracker.java @@ -86,7 +86,7 @@ final class MeterStatsTracker extends AbstractListeningStatsTracker meter = (InstanceIdentifier)key; InstanceIdentifier nodeMeterStatisticsAugmentation = - InstanceIdentifier.builder(meter).augmentation(NodeMeterStatistics.class).toInstance(); + meter.augmentation(NodeMeterStatistics.class); trans.removeOperationalData(nodeMeterStatisticsAugmentation); } } diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/QueueStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/QueueStatsTracker.java index 6f93eeb617..03f7808c8f 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/QueueStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/QueueStatsTracker.java @@ -122,8 +122,8 @@ final class QueueStatsTracker extends AbstractListeningStatsTracker queue = (InstanceIdentifier)key; - final InstanceIdentifier del = InstanceIdentifier.builder(queue) - .augmentation(FlowCapableNodeConnectorQueueStatisticsData.class).build(); + final InstanceIdentifier del = queue + .augmentation(FlowCapableNodeConnectorQueueStatisticsData.class); logger.debug("Key {} triggered remove of augmentation {}", key, del); trans.removeOperationalData(del); diff --git a/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyExporter.java b/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyExporter.java index 54f1fc0bb4..542e972deb 100644 --- a/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyExporter.java +++ b/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyExporter.java @@ -15,9 +15,10 @@ import static org.opendaylight.md.controller.topology.manager.FlowCapableNodeMap import static org.opendaylight.md.controller.topology.manager.FlowCapableNodeMapping.toTopologyNode; import static org.opendaylight.md.controller.topology.manager.FlowCapableNodeMapping.toTopologyNodeId; -import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; import org.opendaylight.controller.md.sal.binding.util.TypeSafeDataReader; +import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnectorUpdated; @@ -48,15 +49,20 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.common.RpcResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.JdkFutureAdapters; + class FlowCapableTopologyExporter implements // FlowTopologyDiscoveryListener, // OpendaylightInventoryListener // { - private final static Logger LOG = LoggerFactory.getLogger(FlowCapableTopologyExporter.class); + protected final static Logger LOG = LoggerFactory.getLogger(FlowCapableTopologyExporter.class); public static TopologyKey topology = new TopologyKey(new TopologyId("flow:1")); // FIXME: Flow capable topology exporter should use transaction chaining API @@ -79,7 +85,7 @@ class FlowCapableTopologyExporter implements // Topology top = tb.build(); DataModificationTransaction tx = dataService.beginTransaction(); tx.putOperationalData(topologyPath, top); - tx.commit(); + listenOnTransactionState(tx.getIdentifier(),tx.commit()); } @Override @@ -90,11 +96,7 @@ class FlowCapableTopologyExporter implements // DataModificationTransaction tx = dataService.beginTransaction(); tx.removeOperationalData(nodeInstance); removeAffectedLinks(tx, nodeId); - try { - tx.commit().get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Topology state export not successful. ",e); - } + listenOnTransactionState(tx.getIdentifier(),tx.commit()); } @Override @@ -105,11 +107,7 @@ class FlowCapableTopologyExporter implements // InstanceIdentifier path = getNodePath(toTopologyNodeId(notification.getId())); DataModificationTransaction tx = dataService.beginTransaction(); tx.putOperationalData(path, node); - try { - tx.commit().get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Topology state export not successful. ",e); - } + listenOnTransactionState(tx.getIdentifier(),tx.commit()); } } @@ -121,11 +119,7 @@ class FlowCapableTopologyExporter implements // DataModificationTransaction tx = dataService.beginTransaction(); tx.removeOperationalData(tpInstance); removeAffectedLinks(tx, tpId); - try { - tx.commit().get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Topology state export not successful. ",e); - } + listenOnTransactionState(tx.getIdentifier(),tx.commit()); } @@ -144,11 +138,7 @@ class FlowCapableTopologyExporter implements // || (fcncu.getConfiguration() != null && fcncu.getConfiguration().isPORTDOWN())) { removeAffectedLinks(tx, point.getTpId()); } - try { - tx.commit().get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Topology state export not successful. ",e); - } + listenOnTransactionState(tx.getIdentifier(),tx.commit()); } } @@ -158,11 +148,8 @@ class FlowCapableTopologyExporter implements // InstanceIdentifier path = linkPath(link); DataModificationTransaction tx = dataService.beginTransaction(); tx.putOperationalData(path, link); - try { - tx.commit().get(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Topology state export not successful. ",e); - } + listenOnTransactionState(tx.getIdentifier(),tx.commit()); + } @Override @@ -175,7 +162,7 @@ class FlowCapableTopologyExporter implements // InstanceIdentifier path = linkPath(toTopologyLink(notification)); DataModificationTransaction tx = dataService.beginTransaction(); tx.removeOperationalData(path); - ; + listenOnTransactionState(tx.getIdentifier(),tx.commit()); } @Override @@ -206,8 +193,7 @@ class FlowCapableTopologyExporter implements // } for (Link link : topologyData.getLink()) { if (id.equals(link.getSource().getSourceNode()) || id.equals(link.getDestination().getDestNode())) { - InstanceIdentifier path = InstanceIdentifier.builder(topologyPath) - .child(Link.class, link.getKey()).build(); + InstanceIdentifier path = topologyPath.child(Link.class, link.getKey()); transaction.removeOperationalData(path); } } @@ -221,8 +207,7 @@ class FlowCapableTopologyExporter implements // } for (Link link : topologyData.getLink()) { if (id.equals(link.getSource().getSourceTp()) || id.equals(link.getDestination().getDestTp())) { - InstanceIdentifier path = InstanceIdentifier.builder(topologyPath) - .child(Link.class, link.getKey()).build(); + InstanceIdentifier path = topologyPath.child(Link.class, link.getKey()); transaction.removeOperationalData(path); } } @@ -246,4 +231,26 @@ class FlowCapableTopologyExporter implements // .child(Topology.class, topology).child(Link.class, link.getKey()).build(); return linkInstanceId; } + + /** + * @param txId transaction identificator + * @param future transaction result + */ + private static void listenOnTransactionState(final Object txId, Future> future) { + Futures.addCallback(JdkFutureAdapters.listenInPoolThread(future),new FutureCallback>() { + + @Override + public void onFailure(Throwable t) { + LOG.error("Topology export failed for Tx:{}", txId, t); + + } + + @Override + public void onSuccess(RpcResult result) { + if(!result.isSuccessful()) { + LOG.error("Topology export failed for Tx:{}", txId); + } + } + }); + } } diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/NetconfConfigHandlingException.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/NetconfConfigHandlingException.java index be44a71e06..f6d070b2a8 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/NetconfConfigHandlingException.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/NetconfConfigHandlingException.java @@ -7,12 +7,13 @@ */ package org.opendaylight.controller.netconf.confignetconfconnector.exception; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; - import java.util.Collections; import java.util.Map; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; + public class NetconfConfigHandlingException extends NetconfDocumentedException { + private static final long serialVersionUID = 1L; public NetconfConfigHandlingException(final String message, final ErrorType errorType, final ErrorTag errorTag, final ErrorSeverity errorSeverity) { diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/NoTransactionFoundException.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/NoTransactionFoundException.java index ebb8054c71..dea8443c29 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/NoTransactionFoundException.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/NoTransactionFoundException.java @@ -7,12 +7,13 @@ */ package org.opendaylight.controller.netconf.confignetconfconnector.exception; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; - import java.util.Collections; import java.util.Map; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; + public class NoTransactionFoundException extends NetconfDocumentedException { + private static final long serialVersionUID = 1L; public NoTransactionFoundException(final String message, final ErrorType errorType, final ErrorTag errorTag, final ErrorSeverity errorSeverity) { diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/OperationNotPermittedException.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/OperationNotPermittedException.java index e0d63c1418..49276663b8 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/OperationNotPermittedException.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/exception/OperationNotPermittedException.java @@ -7,12 +7,13 @@ */ package org.opendaylight.controller.netconf.confignetconfconnector.exception; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; - import java.util.Collections; import java.util.Map; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; + public class OperationNotPermittedException extends NetconfDocumentedException { + private static final long serialVersionUID = 1L; public OperationNotPermittedException(final String message, final ErrorType errorType, final ErrorTag errorTag, final ErrorSeverity errorSeverity) { diff --git a/opendaylight/netconf/config-persister-impl/src/main/java/org/opendaylight/controller/netconf/persist/impl/ConfigPusher.java b/opendaylight/netconf/config-persister-impl/src/main/java/org/opendaylight/controller/netconf/persist/impl/ConfigPusher.java index 44e90270e7..957db50c61 100644 --- a/opendaylight/netconf/config-persister-impl/src/main/java/org/opendaylight/controller/netconf/persist/impl/ConfigPusher.java +++ b/opendaylight/netconf/config-persister-impl/src/main/java/org/opendaylight/controller/netconf/persist/impl/ConfigPusher.java @@ -8,10 +8,19 @@ package org.opendaylight.controller.netconf.persist.impl; -import com.google.common.base.Function; -import com.google.common.base.Preconditions; -import com.google.common.base.Stopwatch; -import com.google.common.collect.Collections2; +import java.io.IOException; +import java.io.InputStream; +import java.util.Collection; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; + +import javax.annotation.concurrent.Immutable; + import org.opendaylight.controller.config.api.ConflictingVersionException; import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder; import org.opendaylight.controller.netconf.api.NetconfDocumentedException; @@ -32,17 +41,10 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; -import javax.annotation.concurrent.Immutable; -import java.io.IOException; -import java.io.InputStream; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; +import com.google.common.base.Function; +import com.google.common.base.Preconditions; +import com.google.common.base.Stopwatch; +import com.google.common.collect.Collections2; @Immutable public class ConfigPusher { @@ -110,6 +112,8 @@ public class ConfigPusher { } private static class NotEnoughCapabilitiesException extends Exception { + private static final long serialVersionUID = 1L; + private NotEnoughCapabilitiesException(String message, Throwable cause) { super(message, cause); } diff --git a/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/pax/IdentityRefNetconfTest.java b/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/pax/IdentityRefNetconfTest.java index ebfcff3cd4..981f1148e4 100644 --- a/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/pax/IdentityRefNetconfTest.java +++ b/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/pax/IdentityRefNetconfTest.java @@ -112,8 +112,8 @@ public class IdentityRefNetconfTest { mavenBundle("org.slf4j", "log4j-over-slf4j").versionAsInProject(), mavenBundle("ch.qos.logback", "logback-core").versionAsInProject(), mavenBundle("ch.qos.logback", "logback-classic").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena-rta").versionAsInProject()); + mavenBundle("org.openexi", "nagasena").versionAsInProject(), + mavenBundle("org.openexi", "nagasena-rta").versionAsInProject()); } diff --git a/opendaylight/netconf/netconf-util/pom.xml b/opendaylight/netconf/netconf-util/pom.xml index 65d2954afd..14a71fd9ba 100644 --- a/opendaylight/netconf/netconf-util/pom.xml +++ b/opendaylight/netconf/netconf-util/pom.xml @@ -42,11 +42,11 @@ ganymed - org.opendaylight.controller.thirdparty + org.openexi nagasena - org.opendaylight.controller.thirdparty + org.openexi nagasena-rta diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/MissingNameSpaceException.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/MissingNameSpaceException.java index 0a3e0b3ec3..6cc5006aba 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/MissingNameSpaceException.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/MissingNameSpaceException.java @@ -7,20 +7,21 @@ */ package org.opendaylight.controller.netconf.util.exception; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; - import java.util.Collections; import java.util.Map; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; + public class MissingNameSpaceException extends NetconfDocumentedException { + private static final long serialVersionUID = 1L; public MissingNameSpaceException(final String message, final ErrorType errorType, final ErrorTag errorTag, - final ErrorSeverity errorSeverity) { + final ErrorSeverity errorSeverity) { this(message, errorType, errorTag, errorSeverity, Collections. emptyMap()); } public MissingNameSpaceException(final String message, final ErrorType errorType, final ErrorTag errorTag, - final ErrorSeverity errorSeverity, final Map errorInfo){ + final ErrorSeverity errorSeverity, final Map errorInfo){ super(message,errorType,errorTag,errorSeverity,errorInfo); } } diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedElementException.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedElementException.java index b470ce13a8..7b5f52e396 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedElementException.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedElementException.java @@ -7,20 +7,21 @@ */ package org.opendaylight.controller.netconf.util.exception; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; - import java.util.Collections; import java.util.Map; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; + public class UnexpectedElementException extends NetconfDocumentedException { + private static final long serialVersionUID = 1L; public UnexpectedElementException(final String message, final ErrorType errorType, final ErrorTag errorTag, - final ErrorSeverity errorSeverity) { + final ErrorSeverity errorSeverity) { this(message, errorType, errorTag, errorSeverity, Collections. emptyMap()); } public UnexpectedElementException(final String message, final ErrorType errorType, final ErrorTag errorTag, - final ErrorSeverity errorSeverity, final Map errorInfo){ + final ErrorSeverity errorSeverity, final Map errorInfo) { super(message,errorType,errorTag,errorSeverity,errorInfo); } } diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedNamespaceException.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedNamespaceException.java index 50d7670780..582fd23e16 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedNamespaceException.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/exception/UnexpectedNamespaceException.java @@ -7,12 +7,13 @@ */ package org.opendaylight.controller.netconf.util.exception; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; - import java.util.Collections; import java.util.Map; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; + public class UnexpectedNamespaceException extends NetconfDocumentedException { + private static final long serialVersionUID = 1L; public UnexpectedNamespaceException(final String message, final ErrorType errorType, final ErrorTag errorTag, final ErrorSeverity errorSeverity) { diff --git a/opendaylight/netconf/pom.xml b/opendaylight/netconf/pom.xml index 86ef75d45f..50e84463f5 100644 --- a/opendaylight/netconf/pom.xml +++ b/opendaylight/netconf/pom.xml @@ -29,7 +29,6 @@ netconf-monitoring ietf-netconf-monitoring ietf-netconf-monitoring-extension - ../../third-party/org.openexi diff --git a/opendaylight/networkconfiguration/neutron/implementation/pom.xml b/opendaylight/networkconfiguration/neutron/implementation/pom.xml index 9514ec1ed5..c8f1dd270d 100644 --- a/opendaylight/networkconfiguration/neutron/implementation/pom.xml +++ b/opendaylight/networkconfiguration/neutron/implementation/pom.xml @@ -40,7 +40,6 @@ org.apache.felix maven-bundle-plugin - 2.3.6 true diff --git a/opendaylight/networkconfiguration/neutron/pom.xml b/opendaylight/networkconfiguration/neutron/pom.xml index 4d491a51d2..998dd4488c 100644 --- a/opendaylight/networkconfiguration/neutron/pom.xml +++ b/opendaylight/networkconfiguration/neutron/pom.xml @@ -36,7 +36,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/bundlescanner/api/pom.xml b/opendaylight/northbound/bundlescanner/api/pom.xml index d861e0a7c9..ee83c93580 100644 --- a/opendaylight/northbound/bundlescanner/api/pom.xml +++ b/opendaylight/northbound/bundlescanner/api/pom.xml @@ -24,7 +24,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/bundlescanner/implementation/pom.xml b/opendaylight/northbound/bundlescanner/implementation/pom.xml index dc481ce74a..c06f8b4215 100644 --- a/opendaylight/northbound/bundlescanner/implementation/pom.xml +++ b/opendaylight/northbound/bundlescanner/implementation/pom.xml @@ -41,7 +41,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/commons/pom.xml b/opendaylight/northbound/commons/pom.xml index 83699d2b4b..09c075735a 100644 --- a/opendaylight/northbound/commons/pom.xml +++ b/opendaylight/northbound/commons/pom.xml @@ -72,7 +72,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/connectionmanager/enunciate.xml b/opendaylight/northbound/connectionmanager/enunciate.xml index 124f2d84e8..cb21d7c167 100644 --- a/opendaylight/northbound/connectionmanager/enunciate.xml +++ b/opendaylight/northbound/connectionmanager/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/connectionmanager/pom.xml b/opendaylight/northbound/connectionmanager/pom.xml index 7c17c74800..a0940e3428 100644 --- a/opendaylight/northbound/connectionmanager/pom.xml +++ b/opendaylight/northbound/connectionmanager/pom.xml @@ -42,7 +42,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/containermanager/enunciate.xml b/opendaylight/northbound/containermanager/enunciate.xml index 9dcab30900..c4e08ae897 100644 --- a/opendaylight/northbound/containermanager/enunciate.xml +++ b/opendaylight/northbound/containermanager/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> @@ -8,4 +8,4 @@ - \ No newline at end of file + diff --git a/opendaylight/northbound/containermanager/pom.xml b/opendaylight/northbound/containermanager/pom.xml index 1d91ab590e..457b1bd6a4 100644 --- a/opendaylight/northbound/containermanager/pom.xml +++ b/opendaylight/northbound/containermanager/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/controllermanager/enunciate.xml b/opendaylight/northbound/controllermanager/enunciate.xml index 13a2d27c41..5382d54138 100644 --- a/opendaylight/northbound/controllermanager/enunciate.xml +++ b/opendaylight/northbound/controllermanager/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/controllermanager/pom.xml b/opendaylight/northbound/controllermanager/pom.xml index 6c79f9d6e2..07d34cb6d4 100644 --- a/opendaylight/northbound/controllermanager/pom.xml +++ b/opendaylight/northbound/controllermanager/pom.xml @@ -51,7 +51,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/controllermanager/src/main/java/org/opendaylight/controller/controllermanager/northbound/ControllerProperties.java b/opendaylight/northbound/controllermanager/src/main/java/org/opendaylight/controller/controllermanager/northbound/ControllerProperties.java index 3d45257ce2..cec5a93a9e 100644 --- a/opendaylight/northbound/controllermanager/src/main/java/org/opendaylight/controller/controllermanager/northbound/ControllerProperties.java +++ b/opendaylight/northbound/controllermanager/src/main/java/org/opendaylight/controller/controllermanager/northbound/ControllerProperties.java @@ -11,15 +11,17 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; +import org.opendaylight.controller.sal.core.Property; + import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; -import org.opendaylight.controller.sal.core.Property; /** * The class describes set of properties attached to a controller @@ -29,12 +31,12 @@ import org.opendaylight.controller.sal.core.Property; @XmlAccessorType(XmlAccessType.NONE) public class ControllerProperties { - @XmlElementRef - @XmlElementWrapper - @JsonIgnore /** * Set to store the controller properties */ + @XmlElement(name="property") + @XmlElementWrapper + @JsonIgnore private Set properties; // JAXB required constructor diff --git a/opendaylight/northbound/flowprogrammer/enunciate.xml b/opendaylight/northbound/flowprogrammer/enunciate.xml index 3ac676907b..8a87876af3 100644 --- a/opendaylight/northbound/flowprogrammer/enunciate.xml +++ b/opendaylight/northbound/flowprogrammer/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/flowprogrammer/pom.xml b/opendaylight/northbound/flowprogrammer/pom.xml index 2281aa8e3c..205b68a91c 100644 --- a/opendaylight/northbound/flowprogrammer/pom.xml +++ b/opendaylight/northbound/flowprogrammer/pom.xml @@ -46,7 +46,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/hosttracker/enunciate.xml b/opendaylight/northbound/hosttracker/enunciate.xml index df56dbae36..a8be00a3d3 100644 --- a/opendaylight/northbound/hosttracker/enunciate.xml +++ b/opendaylight/northbound/hosttracker/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/hosttracker/pom.xml b/opendaylight/northbound/hosttracker/pom.xml index d8dee6211a..bf1b082cfe 100644 --- a/opendaylight/northbound/hosttracker/pom.xml +++ b/opendaylight/northbound/hosttracker/pom.xml @@ -46,7 +46,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/httpservice-bridge/pom.xml b/opendaylight/northbound/httpservice-bridge/pom.xml index 33f204885d..c7b9cfc9a0 100644 --- a/opendaylight/northbound/httpservice-bridge/pom.xml +++ b/opendaylight/northbound/httpservice-bridge/pom.xml @@ -19,7 +19,6 @@ org.apache.felix maven-bundle-plugin - 2.4.0 true diff --git a/opendaylight/northbound/java-client/enunciate.xml b/opendaylight/northbound/java-client/enunciate.xml index ce9186eb33..c78243766e 100644 --- a/opendaylight/northbound/java-client/enunciate.xml +++ b/opendaylight/northbound/java-client/enunciate.xml @@ -1,13 +1,13 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> - + diff --git a/opendaylight/northbound/java-client/pom.xml b/opendaylight/northbound/java-client/pom.xml index 6de347fdde..ae8924feb6 100644 --- a/opendaylight/northbound/java-client/pom.xml +++ b/opendaylight/northbound/java-client/pom.xml @@ -7,12 +7,6 @@ 1.4.2-SNAPSHOT ../../commons/opendaylight - - scm:git:ssh://git.opendaylight.org:29418/controller.git - scm:git:ssh://git.opendaylight.org:29418/controller.git - https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main - HEAD - northbound.client 0.0.1-SNAPSHOT @@ -22,56 +16,100 @@ ${project.build.directory}/rest-api-docs ${project.build.directory}/enunciate/build/java-client/full-client.jar ${project.build.directory}/enunciate/build/java-client/full-client-sources.jar - ${project.build.directory}/enunciate/build/java-client/full-json-client.jar - ${project.build.directory}/enunciate/build/java-client/full-json-client-sources.jar + + + org.codehaus.enunciate + enunciate-core-annotations + + + + + org.opendaylight.controller + connectionmanager.northbound + + + org.opendaylight.controller + controllermanager.northbound + + + org.opendaylight.controller + flowprogrammer.northbound + + + org.opendaylight.controller + forwarding.staticrouting.northbound + + + org.opendaylight.controller + hosttracker.northbound + + + org.opendaylight.controller + networkconfig.bridgedomain.northbound + + + org.opendaylight.controller + networkconfig.neutron.northbound + + + org.opendaylight.controller + statistics.northbound + + + org.opendaylight.controller + subnets.northbound + + + org.opendaylight.controller + switchmanager.northbound + + + org.opendaylight.controller + topology.northbound + + + org.opendaylight.controller + usermanager.northbound + + + - - org.codehaus.enunciate - maven-enunciate-plugin - org.apache.maven.plugins maven-antrun-plugin - 1.5 - - - package - - run - - - - + - - + + - + - - - + + + - + - + + + + + + + - - <![CDATA[ + <![CDATA[ <html> <head> <title> OpenDaylight REST API Documentation </title> @@ -80,39 +118,29 @@ <h2>OpenDaylight REST API Documentation</h2> <p> OpenDaylight supports the following <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">Representational State Transfer (REST)</a> APIs: </p> <h4> - ]]> - - - + ]]> + + - - - + + + - - <![CDATA[ + <![CDATA[ </h4> <i>---</i> </body> </html> - ]]> - + ]]> - + - + - - + + @@ -122,6 +150,18 @@ 20020829 + + + + run + + package + + + + + org.codehaus.enunciate + maven-enunciate-plugin @@ -130,10 +170,10 @@ attach-artifacts - package attach-artifact + package @@ -146,16 +186,6 @@ jar full-java-client-sources - - ${json-client} - jar - full-json-client - - - ${json-client-sources} - jar - full-json-client-sources - @@ -163,60 +193,10 @@ - - - org.codehaus.enunciate - enunciate-core-annotations - - - - - org.opendaylight.controller - connectionmanager.northbound - - - org.opendaylight.controller - controllermanager.northbound - - - org.opendaylight.controller - flowprogrammer.northbound - - - org.opendaylight.controller - hosttracker.northbound - - - org.opendaylight.controller - networkconfig.bridgedomain.northbound - - - org.opendaylight.controller - networkconfig.neutron.northbound - - - org.opendaylight.controller - forwarding.staticrouting.northbound - - - org.opendaylight.controller - statistics.northbound - - - org.opendaylight.controller - subnets.northbound - - - org.opendaylight.controller - switchmanager.northbound - - - org.opendaylight.controller - topology.northbound - - - org.opendaylight.controller - usermanager.northbound - - + + scm:git:ssh://git.opendaylight.org:29418/controller.git + scm:git:ssh://git.opendaylight.org:29418/controller.git + HEAD + https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main + diff --git a/opendaylight/northbound/jolokia/pom.xml b/opendaylight/northbound/jolokia/pom.xml index f984d4e8ed..62af41ab46 100644 --- a/opendaylight/northbound/jolokia/pom.xml +++ b/opendaylight/northbound/jolokia/pom.xml @@ -19,7 +19,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/networkconfiguration/bridgedomain/enunciate.xml b/opendaylight/northbound/networkconfiguration/bridgedomain/enunciate.xml index f5a7ef1233..1555743ea8 100644 --- a/opendaylight/northbound/networkconfiguration/bridgedomain/enunciate.xml +++ b/opendaylight/northbound/networkconfiguration/bridgedomain/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> @@ -8,5 +8,5 @@ - + diff --git a/opendaylight/northbound/networkconfiguration/bridgedomain/pom.xml b/opendaylight/northbound/networkconfiguration/bridgedomain/pom.xml index e78035f00c..f112978080 100644 --- a/opendaylight/northbound/networkconfiguration/bridgedomain/pom.xml +++ b/opendaylight/northbound/networkconfiguration/bridgedomain/pom.xml @@ -46,7 +46,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/networkconfiguration/neutron/enunciate.xml b/opendaylight/northbound/networkconfiguration/neutron/enunciate.xml index b9e4f7ecc1..66160255f3 100644 --- a/opendaylight/northbound/networkconfiguration/neutron/enunciate.xml +++ b/opendaylight/northbound/networkconfiguration/neutron/enunciate.xml @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/opendaylight/northbound/networkconfiguration/neutron/pom.xml b/opendaylight/northbound/networkconfiguration/neutron/pom.xml index bc0ab2b78a..728316afab 100644 --- a/opendaylight/northbound/networkconfiguration/neutron/pom.xml +++ b/opendaylight/northbound/networkconfiguration/neutron/pom.xml @@ -10,9 +10,6 @@ networkconfig.neutron.northbound 0.4.2-SNAPSHOT bundle - - 1.26.2 - com.sun.jersey @@ -57,7 +54,6 @@ org.apache.felix maven-bundle-plugin - 2.3.6 true @@ -83,16 +79,6 @@ org.codehaus.enunciate maven-enunciate-plugin - - enunciate.xml - - - - - docs - - - diff --git a/opendaylight/northbound/staticrouting/enunciate.xml b/opendaylight/northbound/staticrouting/enunciate.xml index 402b655371..4d2f1cb611 100644 --- a/opendaylight/northbound/staticrouting/enunciate.xml +++ b/opendaylight/northbound/staticrouting/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/staticrouting/pom.xml b/opendaylight/northbound/staticrouting/pom.xml index 0e496a420f..dd2a2e6223 100644 --- a/opendaylight/northbound/staticrouting/pom.xml +++ b/opendaylight/northbound/staticrouting/pom.xml @@ -42,7 +42,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/statistics/enunciate.xml b/opendaylight/northbound/statistics/enunciate.xml index 63ae439758..c5f9140c76 100644 --- a/opendaylight/northbound/statistics/enunciate.xml +++ b/opendaylight/northbound/statistics/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/statistics/pom.xml b/opendaylight/northbound/statistics/pom.xml index 5935db4893..76ce062424 100644 --- a/opendaylight/northbound/statistics/pom.xml +++ b/opendaylight/northbound/statistics/pom.xml @@ -42,7 +42,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/subnets/enunciate.xml b/opendaylight/northbound/subnets/enunciate.xml index abdc40a174..e75daf94ee 100644 --- a/opendaylight/northbound/subnets/enunciate.xml +++ b/opendaylight/northbound/subnets/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/subnets/pom.xml b/opendaylight/northbound/subnets/pom.xml index 7c68f41cad..5aa2f7f202 100644 --- a/opendaylight/northbound/subnets/pom.xml +++ b/opendaylight/northbound/subnets/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/switchmanager/enunciate.xml b/opendaylight/northbound/switchmanager/enunciate.xml index 6f2dd4d0e7..3db309d46f 100644 --- a/opendaylight/northbound/switchmanager/enunciate.xml +++ b/opendaylight/northbound/switchmanager/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/switchmanager/pom.xml b/opendaylight/northbound/switchmanager/pom.xml index 8f54a28bda..590f0bb533 100644 --- a/opendaylight/northbound/switchmanager/pom.xml +++ b/opendaylight/northbound/switchmanager/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeConnectorProperties.java b/opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeConnectorProperties.java index 00f0d4b054..bb3fc0cc03 100644 --- a/opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeConnectorProperties.java +++ b/opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeConnectorProperties.java @@ -13,18 +13,19 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; import org.opendaylight.controller.sal.core.NodeConnector; import org.opendaylight.controller.sal.core.Property; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + /** * The class describes set of properties attached to a node connector */ @@ -34,7 +35,8 @@ import org.opendaylight.controller.sal.core.Property; public class NodeConnectorProperties { @XmlElement private NodeConnector nodeconnector; - @XmlElementRef + + @XmlElement(name="property") @XmlElementWrapper @JsonIgnore private Set properties; diff --git a/opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeProperties.java b/opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeProperties.java index 51e96c49ea..380d759ab7 100644 --- a/opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeProperties.java +++ b/opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeProperties.java @@ -13,18 +13,19 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; import org.opendaylight.controller.sal.core.Node; import org.opendaylight.controller.sal.core.Property; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + /** * The class describes set of properties attached to a node */ @@ -34,7 +35,8 @@ import org.opendaylight.controller.sal.core.Property; public class NodeProperties { @XmlElement private Node node; - @XmlElementRef + + @XmlElement(name="property") @XmlElementWrapper @JsonIgnore private Set properties; diff --git a/opendaylight/northbound/topology/enunciate.xml b/opendaylight/northbound/topology/enunciate.xml index fed0f68e30..b70ea74071 100644 --- a/opendaylight/northbound/topology/enunciate.xml +++ b/opendaylight/northbound/topology/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/topology/pom.xml b/opendaylight/northbound/topology/pom.xml index 838a15db98..4a1142bb18 100644 --- a/opendaylight/northbound/topology/pom.xml +++ b/opendaylight/northbound/topology/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/northbound/topology/src/main/java/org/opendaylight/controller/topology/northbound/EdgeProperties.java b/opendaylight/northbound/topology/src/main/java/org/opendaylight/controller/topology/northbound/EdgeProperties.java index 1d4a8a66ee..d43b9bc893 100644 --- a/opendaylight/northbound/topology/src/main/java/org/opendaylight/controller/topology/northbound/EdgeProperties.java +++ b/opendaylight/northbound/topology/src/main/java/org/opendaylight/controller/topology/northbound/EdgeProperties.java @@ -13,24 +13,26 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; import org.opendaylight.controller.sal.core.Edge; import org.opendaylight.controller.sal.core.Property; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) public class EdgeProperties { @XmlElement private Edge edge; - @XmlElementRef + + @XmlElement(name="property") @XmlElementWrapper @JsonIgnore private Set properties; diff --git a/opendaylight/northbound/usermanager/enunciate.xml b/opendaylight/northbound/usermanager/enunciate.xml index a0b9546539..0386c759b2 100644 --- a/opendaylight/northbound/usermanager/enunciate.xml +++ b/opendaylight/northbound/usermanager/enunciate.xml @@ -1,6 +1,6 @@ + xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"> diff --git a/opendaylight/northbound/usermanager/pom.xml b/opendaylight/northbound/usermanager/pom.xml index 01e43085b6..c7ab2fa712 100644 --- a/opendaylight/northbound/usermanager/pom.xml +++ b/opendaylight/northbound/usermanager/pom.xml @@ -39,7 +39,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/protocol_plugins/openflow/pom.xml b/opendaylight/protocol_plugins/openflow/pom.xml index e47933548a..a8fceec2bf 100644 --- a/opendaylight/protocol_plugins/openflow/pom.xml +++ b/opendaylight/protocol_plugins/openflow/pom.xml @@ -39,7 +39,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/protocol_plugins/stub/pom.xml b/opendaylight/protocol_plugins/stub/pom.xml index fc760e4919..540c9afb2c 100644 --- a/opendaylight/protocol_plugins/stub/pom.xml +++ b/opendaylight/protocol_plugins/stub/pom.xml @@ -26,7 +26,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/routing/dijkstra_implementation/pom.xml b/opendaylight/routing/dijkstra_implementation/pom.xml index d923c452e6..b691308e97 100644 --- a/opendaylight/routing/dijkstra_implementation/pom.xml +++ b/opendaylight/routing/dijkstra_implementation/pom.xml @@ -47,7 +47,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/sal/api/pom.xml b/opendaylight/sal/api/pom.xml index 070029f891..3ee239a0f4 100644 --- a/opendaylight/sal/api/pom.xml +++ b/opendaylight/sal/api/pom.xml @@ -39,7 +39,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/sal/connection/api/pom.xml b/opendaylight/sal/connection/api/pom.xml index 2340a829fd..b194f76a45 100644 --- a/opendaylight/sal/connection/api/pom.xml +++ b/opendaylight/sal/connection/api/pom.xml @@ -27,7 +27,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/sal/connection/implementation/pom.xml b/opendaylight/sal/connection/implementation/pom.xml index e771f846ae..7150683597 100644 --- a/opendaylight/sal/connection/implementation/pom.xml +++ b/opendaylight/sal/connection/implementation/pom.xml @@ -27,7 +27,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/sal/implementation/pom.xml b/opendaylight/sal/implementation/pom.xml index d8a7d7beef..88986dcdd0 100644 --- a/opendaylight/sal/implementation/pom.xml +++ b/opendaylight/sal/implementation/pom.xml @@ -32,7 +32,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/sal/networkconfiguration/api/pom.xml b/opendaylight/sal/networkconfiguration/api/pom.xml index ed3b391947..5b2269ae6d 100644 --- a/opendaylight/sal/networkconfiguration/api/pom.xml +++ b/opendaylight/sal/networkconfiguration/api/pom.xml @@ -23,7 +23,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/sal/networkconfiguration/implementation/pom.xml b/opendaylight/sal/networkconfiguration/implementation/pom.xml index 38944e6314..508c9bd3f5 100644 --- a/opendaylight/sal/networkconfiguration/implementation/pom.xml +++ b/opendaylight/sal/networkconfiguration/implementation/pom.xml @@ -27,7 +27,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/samples/loadbalancer/pom.xml b/opendaylight/samples/loadbalancer/pom.xml index 4d8212209b..7939083891 100644 --- a/opendaylight/samples/loadbalancer/pom.xml +++ b/opendaylight/samples/loadbalancer/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/samples/northbound/loadbalancer/pom.xml b/opendaylight/samples/northbound/loadbalancer/pom.xml index 9dd0f99be6..5854d5577f 100644 --- a/opendaylight/samples/northbound/loadbalancer/pom.xml +++ b/opendaylight/samples/northbound/loadbalancer/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/samples/simpleforwarding/pom.xml b/opendaylight/samples/simpleforwarding/pom.xml index d65980e26c..1208506bd5 100644 --- a/opendaylight/samples/simpleforwarding/pom.xml +++ b/opendaylight/samples/simpleforwarding/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/SimpleForwardingImpl.java b/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/SimpleForwardingImpl.java index 94e67247c8..a48d331773 100644 --- a/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/SimpleForwardingImpl.java +++ b/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/SimpleForwardingImpl.java @@ -19,7 +19,10 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; +import java.util.Timer; +import java.util.TimerTask; import org.opendaylight.controller.clustering.services.CacheConfigException; import org.opendaylight.controller.clustering.services.CacheExistException; @@ -100,6 +103,97 @@ public class SimpleForwardingImpl implements IfNewHostNotify, private ISwitchManager switchManager; private IDataPacketService dataPacketService; + /** + * Ip packets that are punted may not have their destination known by hostTracker at the time it + * is presented to SimpleForwardingImpl. Instead of dropping the packet, we will keep it around + * for a 'little' while, to accommodate any transients. See bug 590 for more details. + */ + private class PendingPacketData { + private final static byte MAX_AGE = 2; + + public final IPv4 pkt; + public final NodeConnector incomingNodeConnector; + private byte age; + + public PendingPacketData(IPv4 pkt, NodeConnector incomingNodeConnector) { + this.pkt = pkt; + this.incomingNodeConnector = incomingNodeConnector; + this.age = 0; + } + boolean bumpAgeAndCheckIfTooOld() { return ++age > MAX_AGE; } + } + private static final int MAX_PENDING_PACKET_DESTINATIONS = 64; + private ConcurrentMap pendingPacketDestinations; + private Timer pendingPacketsAgerTimer; + + private class PendingPacketsAgerTimerHandler extends TimerTask { + @Override + public void run() { + if (pendingPacketDestinations == null) { + return; + } + try { + Iterator> iterator = + pendingPacketDestinations.entrySet().iterator(); + while (iterator.hasNext()) { + ConcurrentHashMap.Entry entry = iterator.next(); + InetAddress dIP = entry.getKey(); + PendingPacketData pendingPacketData = entry.getValue(); + + if (pendingPacketData.bumpAgeAndCheckIfTooOld()) { + iterator.remove(); // safe to remove while iterating... + log.debug("Pending packet for {} has been aged out", dIP); + } else { + /** Replace the entry for a key only if currently mapped to some value. + * This will protect the concurrent map against a race where this thread + * would be re-adding an entry that just got taken out. + */ + pendingPacketDestinations.replace(dIP, pendingPacketData); + } + } + } catch (IllegalStateException e) { + log.warn("IllegalStateException Received by PendingPacketsAgerTimerHandler from: {}", + e.getMessage()); + } + } + } + + /** + * Add punted packet to pendingPackets + */ + private void addToPendingPackets(InetAddress dIP, IPv4 pkt, NodeConnector incomingNodeConnector) { + if (pendingPacketDestinations.size() >= MAX_PENDING_PACKET_DESTINATIONS) { + log.info("Will not pend packet for {}: Too many destinations", dIP); + return; + } + + /** TODO: The current implementation allows for up to 1 pending packet per InetAddress. + * This limitation is done for sake of simplicity. A potential enhancement could be to use a + * ConcurrentMultiMap instead of ConcurrentMap. + */ + if (pendingPacketDestinations.containsKey(dIP)) { + log.trace("Will not pend packet for {}: Already have a packet pending", dIP); + return; + } + + PendingPacketData pendingPacketData = new PendingPacketData(pkt, incomingNodeConnector); + pendingPacketDestinations.put(dIP, pendingPacketData); + log.debug("Pending packet for {}", dIP); + } + + /** + * Send punted packet to given destination. This is invoked when there is a certain level of + * hope that the destination is known by hostTracker. + */ + private void sendPendingPacket(InetAddress dIP) { + PendingPacketData pendingPacketData = pendingPacketDestinations.get(dIP); + if (pendingPacketData != null) { + handlePuntedIPPacket(pendingPacketData.pkt, pendingPacketData.incomingNodeConnector, false); + log.trace("Packet for {} is no longer pending", dIP); + pendingPacketDestinations.remove(dIP); + } + } + /** * Return codes from the programming of the perHost rules in HW */ @@ -170,6 +264,15 @@ public class SimpleForwardingImpl implements IfNewHostNotify, public void startUp() { allocateCaches(); retrieveCaches(); + nonClusterObjectCreate(); + } + + public void nonClusterObjectCreate() { + pendingPacketDestinations = new ConcurrentHashMap(); + + /* Pending Packets Ager Timer to go off every 6 seconds to implement pending packet aging */ + pendingPacketsAgerTimer = new Timer(); + pendingPacketsAgerTimer.schedule(new PendingPacketsAgerTimerHandler(), 6000, 6000); } /** @@ -838,6 +941,9 @@ public class SimpleForwardingImpl implements IfNewHostNotify, Set switches = preparePerHostRules(host); if (switches != null) { installPerHostRules(host, switches); + + // Green light for sending pending packet to this host. Safe to call if there are none. + sendPendingPacket(host.getNetworkAddress()); } } @@ -962,6 +1068,8 @@ public class SimpleForwardingImpl implements IfNewHostNotify, * */ void stop() { + pendingPacketsAgerTimer.cancel(); + pendingPacketDestinations.clear(); } public void setSwitchManager(ISwitchManager switchManager) { @@ -985,14 +1093,14 @@ public class SimpleForwardingImpl implements IfNewHostNotify, Object nextPak = formattedPak.getPayload(); if (nextPak instanceof IPv4) { log.trace("Handle punted IP packet: {}", formattedPak); - handlePuntedIPPacket((IPv4) nextPak, inPkt.getIncomingNodeConnector()); + handlePuntedIPPacket((IPv4) nextPak, inPkt.getIncomingNodeConnector(), true); } } return PacketResult.IGNORED; } - private void handlePuntedIPPacket(IPv4 pkt, NodeConnector incomingNodeConnector) { + private void handlePuntedIPPacket(IPv4 pkt, NodeConnector incomingNodeConnector, boolean allowAddPending) { InetAddress dIP = NetUtils.getInetAddress(pkt.getDestinationAddress()); if (dIP == null || hostTracker == null) { log.debug("Invalid param(s) in handlePuntedIPPacket.. DestIP: {}. hostTracker: {}", dIP, hostTracker); @@ -1026,7 +1134,12 @@ public class SimpleForwardingImpl implements IfNewHostNotify, rp.setOutgoingNodeConnector(nc); this.dataPacketService.transmitDataPacket(rp); } - + } else if (allowAddPending) { + // If we made it here, let's hang on to the punted packet, with hopes that its destination + // will become available soon. + addToPendingPackets(dIP, pkt, incomingNodeConnector); + } else { + log.warn("Dropping punted IP packet received at {} to Host {}", incomingNodeConnector, dIP); } } } diff --git a/opendaylight/security/pom.xml b/opendaylight/security/pom.xml index 7ac2dbbe31..896e7184b2 100644 --- a/opendaylight/security/pom.xml +++ b/opendaylight/security/pom.xml @@ -30,7 +30,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/statisticsmanager/api/pom.xml b/opendaylight/statisticsmanager/api/pom.xml index bcc4f407f0..aa9b88e1b2 100644 --- a/opendaylight/statisticsmanager/api/pom.xml +++ b/opendaylight/statisticsmanager/api/pom.xml @@ -26,7 +26,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/statisticsmanager/implementation/pom.xml b/opendaylight/statisticsmanager/implementation/pom.xml index 623c028a56..10abb3d251 100644 --- a/opendaylight/statisticsmanager/implementation/pom.xml +++ b/opendaylight/statisticsmanager/implementation/pom.xml @@ -65,7 +65,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/switchmanager/api/pom.xml b/opendaylight/switchmanager/api/pom.xml index 223bb889bc..94ba0216cc 100644 --- a/opendaylight/switchmanager/api/pom.xml +++ b/opendaylight/switchmanager/api/pom.xml @@ -47,7 +47,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/switchmanager/implementation/pom.xml b/opendaylight/switchmanager/implementation/pom.xml index 542470acf1..a0718db48a 100644 --- a/opendaylight/switchmanager/implementation/pom.xml +++ b/opendaylight/switchmanager/implementation/pom.xml @@ -66,7 +66,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/topologymanager/implementation/pom.xml b/opendaylight/topologymanager/implementation/pom.xml index 746135891e..196982b361 100644 --- a/opendaylight/topologymanager/implementation/pom.xml +++ b/opendaylight/topologymanager/implementation/pom.xml @@ -44,7 +44,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/usermanager/api/pom.xml b/opendaylight/usermanager/api/pom.xml index ab2bb4fa12..c932a7cb31 100644 --- a/opendaylight/usermanager/api/pom.xml +++ b/opendaylight/usermanager/api/pom.xml @@ -43,7 +43,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true @@ -67,7 +66,6 @@ org.springframework.security.core.userdetails, javax.xml.bind.annotation org.opendaylight.controller.usermanager, - ${project.basedir}/META-INF diff --git a/opendaylight/usermanager/implementation/pom.xml b/opendaylight/usermanager/implementation/pom.xml index 58539ae698..9567db0293 100644 --- a/opendaylight/usermanager/implementation/pom.xml +++ b/opendaylight/usermanager/implementation/pom.xml @@ -55,7 +55,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/web/devices/pom.xml b/opendaylight/web/devices/pom.xml index 8ec05a1102..8906946423 100644 --- a/opendaylight/web/devices/pom.xml +++ b/opendaylight/web/devices/pom.xml @@ -50,7 +50,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/web/flows/pom.xml b/opendaylight/web/flows/pom.xml index 718b6dfc50..f62c6ac4d4 100644 --- a/opendaylight/web/flows/pom.xml +++ b/opendaylight/web/flows/pom.xml @@ -42,7 +42,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/web/osgi-brandfragment/pom.xml b/opendaylight/web/osgi-brandfragment/pom.xml index fc680a5493..fc04088961 100644 --- a/opendaylight/web/osgi-brandfragment/pom.xml +++ b/opendaylight/web/osgi-brandfragment/pom.xml @@ -19,7 +19,6 @@ org.apache.felix maven-bundle-plugin - 2.4.0 true diff --git a/opendaylight/web/osgi-brandfragment/src/main/resources/META-INF/webconsole.properties b/opendaylight/web/osgi-brandfragment/src/main/resources/META-INF/webconsole.properties index 566c43b8c8..2cc8e912c1 100644 --- a/opendaylight/web/osgi-brandfragment/src/main/resources/META-INF/webconsole.properties +++ b/opendaylight/web/osgi-brandfragment/src/main/resources/META-INF/webconsole.properties @@ -3,7 +3,8 @@ webconsole.product.name = OpenDaylight Controller webconsole.product.url = http://www.opendaylight.org/ webconsole.product.image = /res/imgs/odl/logo.png webconsole.favicon = /res/imgs/odl/favicon.ico - +#To disable web console authentication clear default username +webconsole.username = # webconsole.vendor.name = Linux Foundation # webconsole.vendor.url = http://www.linuxfoundation.org/ # webconsole.vendor.image = /res/imgs/vendor.png diff --git a/opendaylight/web/root/pom.xml b/opendaylight/web/root/pom.xml index 441aab835e..6f0a0989b8 100644 --- a/opendaylight/web/root/pom.xml +++ b/opendaylight/web/root/pom.xml @@ -63,7 +63,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/web/topology/pom.xml b/opendaylight/web/topology/pom.xml index fbd07fb4fd..e65c19ff84 100644 --- a/opendaylight/web/topology/pom.xml +++ b/opendaylight/web/topology/pom.xml @@ -51,7 +51,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/opendaylight/web/troubleshoot/pom.xml b/opendaylight/web/troubleshoot/pom.xml index 1c03f30aae..b66889284d 100644 --- a/opendaylight/web/troubleshoot/pom.xml +++ b/opendaylight/web/troubleshoot/pom.xml @@ -46,7 +46,6 @@ org.apache.felix maven-bundle-plugin - ${bundle.plugin.version} true diff --git a/pom.xml b/pom.xml index 64ed6c7d80..3408c0513c 100644 --- a/pom.xml +++ b/pom.xml @@ -124,8 +124,8 @@ opendaylight/commons/logback_settings + feature --> + opendaylight/dummy-console opendaylight/distribution/opendaylight-karaf diff --git a/third-party/org.openexi/nagasena-rta/nagasena-rta-0000.0002.0038.0.jar b/third-party/org.openexi/nagasena-rta/nagasena-rta-0000.0002.0038.0.jar deleted file mode 100644 index 1b6a02710a..0000000000 Binary files a/third-party/org.openexi/nagasena-rta/nagasena-rta-0000.0002.0038.0.jar and /dev/null differ diff --git a/third-party/org.openexi/nagasena-rta/pom.xml b/third-party/org.openexi/nagasena-rta/pom.xml deleted file mode 100644 index 98da51aca8..0000000000 --- a/third-party/org.openexi/nagasena-rta/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - 4.0.0 - - - org.opendaylight.controller.thirdparty - org.openexi - 0000.0002.0038.0-SNAPSHOT - - - org.opendaylight.controller.thirdparty - nagasena-rta - bundle - - - nagasena-rta-0000.0002.0038.0.jar - - - - - - org.codehaus.mojo - truezip-maven-plugin - - - extract - - copy - - compile - - - - ${archive} - ${project.build.outputDirectory} - - ** - - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - ${project.groupId}.${project.artifactId} - - - - - - - diff --git a/third-party/org.openexi/nagasena/nagasena-0000.0002.0038.0.jar b/third-party/org.openexi/nagasena/nagasena-0000.0002.0038.0.jar deleted file mode 100644 index ffc28ead4b..0000000000 Binary files a/third-party/org.openexi/nagasena/nagasena-0000.0002.0038.0.jar and /dev/null differ diff --git a/third-party/org.openexi/nagasena/pom.xml b/third-party/org.openexi/nagasena/pom.xml deleted file mode 100644 index a890431ca6..0000000000 --- a/third-party/org.openexi/nagasena/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - 4.0.0 - - - org.opendaylight.controller.thirdparty - org.openexi - 0000.0002.0038.0-SNAPSHOT - - - org.opendaylight.controller.thirdparty - nagasena - bundle - - - nagasena-0000.0002.0038.0.jar - - - - - - org.codehaus.mojo - truezip-maven-plugin - - - extract - - copy - - compile - - - - ${archive} - ${project.build.outputDirectory} - - ** - - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - ${project.groupId}.${project.artifactId} - - - - - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-frame.html deleted file mode 100644 index 11f9ed5153..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-frame.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -All Classes - - - - - - - - - - -All Classes -
- -

- - - -
AlignmentType -
-BinaryDataHandler -
-BinaryDataSink -
-BinaryDataSource -
-CharacterBuffer -
-Characters -
-EmptySchema -
-EntityResolverEx -
-EventDescription -
-EventType -
-EXIDecoder -
-EXIOptions -
-EXIReader -
-EXISchema -
-EXISchemaFactory -
-EXISchemaFactoryErrorHandler -
-EXISchemaFactoryException -
-EXISchemaReader -
-EXISchemaResolver -
-GrammarCache -
-GrammarOptions -
-HeaderOptionsOutputType -
-QName -
-ReaderSupport -
-SAXTransmogrifier -
-Scanner -
-Transmogrifier -
-TransmogrifierException -
-
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-noframe.html b/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-noframe.html deleted file mode 100644 index 8f32ae6587..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-noframe.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -All Classes - - - - - - - - - - -All Classes -
- - - - - -
AlignmentType -
-BinaryDataHandler -
-BinaryDataSink -
-BinaryDataSource -
-CharacterBuffer -
-Characters -
-EmptySchema -
-EntityResolverEx -
-EventDescription -
-EventType -
-EXIDecoder -
-EXIOptions -
-EXIReader -
-EXISchema -
-EXISchemaFactory -
-EXISchemaFactoryErrorHandler -
-EXISchemaFactoryException -
-EXISchemaReader -
-EXISchemaResolver -
-GrammarCache -
-GrammarOptions -
-HeaderOptionsOutputType -
-QName -
-ReaderSupport -
-SAXTransmogrifier -
-Scanner -
-Transmogrifier -
-TransmogrifierException -
-
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/constant-values.html b/third-party/org.openexi/nagasena/src/main/resources/doc/constant-values.html deleted file mode 100644 index 6c4e3d2837..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/constant-values.html +++ /dev/null @@ -1,553 +0,0 @@ - - - - - - - -Constant Field Values - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Constant Field Values

-
-
-Contents - - - - - - -
-org.openexi.*
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
org.openexi.proc.common.EventDescription
-public static final byteEVENT_AT3
-public static final byteEVENT_BLOB13
-public static final byteEVENT_CH6
-public static final byteEVENT_CM10
-public static final byteEVENT_DTD12
-public static final byteEVENT_ED1
-public static final byteEVENT_EE7
-public static final byteEVENT_ER11
-public static final byteEVENT_NL5
-public static final byteEVENT_NS8
-public static final byteEVENT_PI9
-public static final byteEVENT_SD0
-public static final byteEVENT_SE2
-public static final byteEVENT_TP4
- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
org.openexi.proc.common.EventType
-public static final byteITEM_AT12
-public static final byteITEM_AT_WC_ANY_UNTYPED8
-public static final byteITEM_CH3
-public static final byteITEM_CM1
-public static final byteITEM_DTD10
-public static final byteITEM_ED4
-public static final byteITEM_EE9
-public static final byteITEM_ER2
-public static final byteITEM_NS7
-public static final byteITEM_PI0
-public static final byteITEM_SC6
-public static final byteITEM_SCHEMA_AT16
-public static final byteITEM_SCHEMA_AT_INVALID_VALUE23
-public static final byteITEM_SCHEMA_AT_WC_ANY17
-public static final byteITEM_SCHEMA_AT_WC_NS18
-public static final byteITEM_SCHEMA_CH19
-public static final byteITEM_SCHEMA_CH_MIXED20
-public static final byteITEM_SCHEMA_NIL21
-public static final byteITEM_SCHEMA_TYPE22
-public static final byteITEM_SCHEMA_WC_ANY14
-public static final byteITEM_SCHEMA_WC_NS15
-public static final byteITEM_SD13
-public static final byteITEM_SE11
-public static final byteITEM_SE_WC5
- -

- -

- - - - - - - - - - - - - - - - - - - - - - -
org.openexi.proc.common.GrammarOptions
-public static final shortDEFAULT_OPTIONS2
-public static final shortOPTIONS_UNUSED0
-public static final shortSTRICT_OPTIONS1
- -

- -

- - - - - - - - - - - - -
org.openexi.proc.io.CharacterBuffer
-public static final intBUFSIZE_DEFAULT4096
- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
org.openexi.sax.TransmogrifierException
-public static final intPREFIX_BOUND_TO_ANOTHER_NAMESPACE11
-public static final intPREFIX_NOT_BOUND10
-public static final intSAX_ERROR6
-public static final intSCRIBER_ERROR12
-public static final intUNEXPECTED_ATTR2
-public static final intUNEXPECTED_BINARY_VALUE4
-public static final intUNEXPECTED_CHARS3
-public static final intUNEXPECTED_ED8
-public static final intUNEXPECTED_ELEM1
-public static final intUNEXPECTED_END_ELEM7
-public static final intUNEXPECTED_SD9
-public static final intUNHANDLED_SAXPARSER_FEATURE5
- -

- -

- - - - - - - - - - - - -
org.openexi.scomp.EXISchemaFactoryException
-public static final intXMLSCHEMA_ERROR1002
- -

- -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/deprecated-list.html b/third-party/org.openexi/nagasena/src/main/resources/doc/deprecated-list.html deleted file mode 100644 index 60ad3edb6c..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/deprecated-list.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -Deprecated List - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Deprecated API

-
-
-Contents
    -
- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/help-doc.html b/third-party/org.openexi/nagasena/src/main/resources/doc/help-doc.html deleted file mode 100644 index 81850ce70b..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/help-doc.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - -API Help - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-How This API Document Is Organized

-
-This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

-Overview

-
- -

-The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

-

-Package

-
- -

-Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    -
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
-
-

-Class/Interface

-
- -

-Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    -
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description -

    -

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary -

    -

  • Field Detail
  • Constructor Detail
  • Method Detail
-Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
- -

-Annotation Type

-
- -

-Each annotation type has its own separate page with the following sections:

    -
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
-
- -

-Enum

-
- -

-Each enum has its own separate page with the following sections:

    -
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
-
-

-Tree (Class Hierarchy)

-
-There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    -
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
-
-

-Deprecated API

-
-The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
-

-Index

-
-The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
-

-Prev/Next

-These links take you to the next or previous class, interface, package, or related page.

-Frames/No Frames

-These links show and hide the HTML frames. All pages are available with or without frames. -

-

-Serialized Form

-Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. -

-

-Constant Field Values

-The Constant Field Values page lists the static final fields and their values. -

- - -This help file applies to API documentation generated using the standard doclet. - -
-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/index-all.html b/third-party/org.openexi/nagasena/src/main/resources/doc/index-all.html deleted file mode 100644 index 3fc6b297e3..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/index-all.html +++ /dev/null @@ -1,970 +0,0 @@ - - - - - - - -Index - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -A B C D E F G H I L M N O P Q R S T U V W X _
-

-A

-
-
addCM(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Sets Preserve Comments to true. -
addDTD(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Sets Preserve Document Type Definition to true. -
addNS(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Sets Preserve Namespaces to true. -
addPI(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Sets Preserve Processing Instructions to true. -
AlignmentType - Enum in org.openexi.proc.common
AlignmentType represents one of the following bit alignment - styles so as to provide an extra degree of control over the - way information is stored in EXI format.
ancestryIds - -Variable in class org.openexi.schema.EXISchema -
  -
-
-

-B

-
-
binaryData(byte[], int, int, BinaryDataSink) - -Method in interface org.openexi.sax.BinaryDataHandler -
Writes a binary value where the schema expects a binary value. -
BinaryDataHandler - Interface in org.openexi.sax
 
BinaryDataSink - Interface in org.openexi.proc.io
BinaryDataSink represents a sink that accepts successive chunks of binary data.
BinaryDataSource - Class in org.openexi.proc.common
 
BinaryDataSource() - -Constructor for class org.openexi.proc.common.BinaryDataSource -
  -
BUFSIZE_DEFAULT - -Static variable in class org.openexi.proc.io.CharacterBuffer -
  -
-
-

-C

-
-
CharacterBuffer - Class in org.openexi.proc.io
 
CharacterBuffer(int) - -Constructor for class org.openexi.proc.io.CharacterBuffer -
  -
Characters - Class in org.openexi.schema
 
Characters(char[], int, int, boolean) - -Constructor for class org.openexi.schema.Characters -
  -
characters - -Variable in class org.openexi.schema.Characters -
  -
CHARACTERS_EMPTY - -Static variable in class org.openexi.schema.Characters -
  -
closeInputStream() - -Method in class org.openexi.proc.io.Scanner -
Close the input stream. -
compile(InputSource) - -Method in class org.openexi.scomp.EXISchemaFactory -
Compile an XML Schema Document into an EXISchema. -
-
-

-D

-
-
DEFAULT_OPTIONS - -Static variable in class org.openexi.proc.common.GrammarOptions -
Indicates that undeclared elements and attributes will be - processed when the XML stream is encoded and decoded. -
-
-

-E

-
-
EmptySchema - Class in org.openexi.schema
EmptySchema provides an EXISchema that supports all datatypes inherent - in XML Schema such as xsd:int and xsd:dateTime, but with no - user-specific definitions.
encode(InputSource) - -Method in class org.openexi.sax.Transmogrifier -
Parses XML input source and converts it to an EXI stream. -
endBinaryData(BinaryDataSink) - -Method in interface org.openexi.sax.BinaryDataHandler -
Mark the end of a binary value. -
EntityResolverEx - Interface in org.openexi.scomp
Extended SAX EntityResolver interface for resolving entities and - schema documents.
equals(Object) - -Method in class org.openexi.proc.common.QName -
  -
equals(Object) - -Method in class org.openexi.schema.Characters -
  -
error(EXISchemaFactoryException) - -Method in interface org.openexi.scomp.EXISchemaFactoryErrorHandler -
Report an error found during schema processing. -
EVENT_AT - -Static variable in interface org.openexi.proc.common.EventDescription -
Attribute event. -
EVENT_BLOB - -Static variable in interface org.openexi.proc.common.EventDescription -
BLOB event (content of an element). -
EVENT_CH - -Static variable in interface org.openexi.proc.common.EventDescription -
Character event (content of an element). -
EVENT_CM - -Static variable in interface org.openexi.proc.common.EventDescription -
Comment event. -
EVENT_DTD - -Static variable in interface org.openexi.proc.common.EventDescription -
Document Type Definition event. -
EVENT_ED - -Static variable in interface org.openexi.proc.common.EventDescription -
End Document event. -
EVENT_EE - -Static variable in interface org.openexi.proc.common.EventDescription -
End Element event. -
EVENT_ER - -Static variable in interface org.openexi.proc.common.EventDescription -
Entity Reference event. -
EVENT_NL - -Static variable in interface org.openexi.proc.common.EventDescription -
Attribute xsi:nil. -
EVENT_NS - -Static variable in interface org.openexi.proc.common.EventDescription -
Namespace declaration event. -
EVENT_PI - -Static variable in interface org.openexi.proc.common.EventDescription -
Processing Instruction event. -
EVENT_SD - -Static variable in interface org.openexi.proc.common.EventDescription -
Start Document event. -
EVENT_SE - -Static variable in interface org.openexi.proc.common.EventDescription -
Start Element event. -
EVENT_TP - -Static variable in interface org.openexi.proc.common.EventDescription -
Attribute xsi:type. -
EventDescription - Interface in org.openexi.proc.common
EventDescription provides accessors to the current EXI event data - during the decode process.
EventType - Class in org.openexi.proc.common
EventType denotes terminal symbols of grammar productions - defined in the EXI 1.0 specification.
EXIDecoder - Class in org.openexi.proc
EXIDecoder provides methods to configure and - instantiate a Scanner object - you can use to parse the contents of an EXI stream.
EXIDecoder() - -Constructor for class org.openexi.proc.EXIDecoder -
Creates an instance of EXIDecoder with the default inflator - buffer size of 8192 bytes. -
EXIDecoder(int, boolean) - -Constructor for class org.openexi.proc.EXIDecoder -
Creates an instance of EXIDecoder with the specified inflator buffer - size. -
EXIOptions - Class in org.openexi.proc.common
EXIOptions provides accessors for values associated with - EXI options in the EXI header of an EXI stream.
EXIReader - Class in org.openexi.sax
EXIReader implements the SAX XMLReader to provide a convenient and - familiar interface for decoding an EXI stream.
EXIReader() - -Constructor for class org.openexi.sax.EXIReader -
  -
EXISchema - Class in org.openexi.schema
EXISchema provides methods to read and write compiled EXI schemas.
EXISchemaFactory - Class in org.openexi.scomp
EXISchemaFactory compiles XML Schema into an EXISchema instance.
EXISchemaFactory() - -Constructor for class org.openexi.scomp.EXISchemaFactory -
  -
EXISchemaFactoryErrorHandler - Interface in org.openexi.scomp
This interface reports exceptions from EXISchemaFactory during schema - processing.
EXISchemaFactoryException - Exception in org.openexi.scomp
Any errors encountered during schema compilation are communicated to - an application as EXISchemaFactoryException objects.
EXISchemaReader - Class in org.openexi.scomp
EXISchemaReader parses EXI-encoded EXI Grammar into an EXISchema.
EXISchemaReader() - -Constructor for class org.openexi.scomp.EXISchemaReader -
  -
EXISchemaResolver - Interface in org.openexi.proc
Developers have the option of implementing the EXISchemaResolver interface - to help EXIReader and EXIDecoder locate the correct grammar cache for parsing - an EXI stream.
-
-

-F

-
-
fatalError(EXISchemaFactoryException) - -Method in interface org.openexi.scomp.EXISchemaFactoryErrorHandler -
Report a fatal error found during schema processing. -
-
-

-G

-
-
getAlignmentType() - -Method in class org.openexi.proc.common.EXIOptions -
Get the bit alignment setting. -
getBinaryDataSource() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the value of an EVENT_BLOB. -
getBlockSize() - -Method in class org.openexi.proc.common.EXIOptions -
Returns the number of element and attribute values that are read and processed - as a group. -
getByteArray() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
getCharacters() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the value of an EVENT_CH, - Attribute (EVENT_AT, EVENT_NL, EVENT_TP), EVENT_CM, - EVENT_DTD or EVENT_PI event. -
getCode() - -Method in exception org.openexi.sax.TransmogrifierException -
Returns a code that represents the type of the exception. -
getCode() - -Method in exception org.openexi.scomp.EXISchemaFactoryException -
Returns a code that represents the type of the exception. -
getContentHandler() - -Method in class org.openexi.sax.ReaderSupport -
Get the SAX content handler currently in use. -
getDatatypeRepresentationMap() - -Method in class org.openexi.proc.common.EXIOptions -
Returns an array of qualified names that map XMLSchema datatypes to - non-standard equivalents in EXI. -
getDatatypeRepresentationMapBindingsCount() - -Method in class org.openexi.proc.common.EXIOptions -
Returns the number of Datatype Representation Map QName pairs. -
getEventKind() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the event kind of which instance data this EventDescription is describing. -
getEventType() - -Method in interface org.openexi.proc.common.EventDescription -
Returns the EventType from which this event is derived. -
getException() - -Method in exception org.openexi.sax.TransmogrifierException -
Returns an Exception object. -
getException() - -Method in exception org.openexi.scomp.EXISchemaFactoryException -
Returns an Exception object. -
getEXISchema() - -Method in class org.openexi.proc.grammars.GrammarCache -
Gets the compiled EXI Schema. -
getEXISchema() - -Static method in class org.openexi.schema.EmptySchema -
Returns an EXISchema that supports all datatypes inherent in XML Schema. -
getFeature(String) - -Method in class org.openexi.sax.EXIReader -
Get features for the SAX parser. -
getGrammarCache() - -Method in interface org.openexi.sax.SAXTransmogrifier -
Returns the GrammarCache that is in use by this SAXTransmogrifier. -
getGrammarCache() - -Method in class org.openexi.sax.Transmogrifier -
Returns the GrammarCache that was previously set. -
getHeaderOptions() - -Method in class org.openexi.proc.io.Scanner -
Returns the EXI Header options from the header of the - EXI stream, if present. -
getLength() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
getLocator() - -Method in exception org.openexi.sax.TransmogrifierException -
Returns the locator that is associated with this compilation error. -
getLocator() - -Method in exception org.openexi.scomp.EXISchemaFactoryException -
Returns the locator that is associated with this compilation error. -
getMessage() - -Method in exception org.openexi.sax.TransmogrifierException -
Returns a message that describes the exception. -
getMessage() - -Method in exception org.openexi.scomp.EXISchemaFactoryException -
Returns a message that describes the exception. -
getName() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the name of the EXI event. -
getPrefix() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the namespace prefix of the event. -
getPreserveComments() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether comments are conserved in the EXI Stream. -
getPreserveDTD() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether the document type definition is conserved in the EXI Stream. -
getPreserveLexicalValues() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether lexical values (literal strings) are preserved rather - than the logical values of elements and attributes. -
getPreserveNS() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether the namespaces are preserved in the EXI stream. -
getPreservePIs() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether processing instructions are conserved in the EXI Stream. -
getProperty(String) - -Method in class org.openexi.sax.EXIReader -
Use to retrieve the name of the lexical handler, currently the only - property recognized by this class. -
getRemainingBytesCount() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
getSAXTransmogrifier() - -Method in class org.openexi.sax.Transmogrifier -
Returns the SAXTransmogrifier, which implements both the ContentHandler - and LexicalHandler. -
getStartIndex() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
getURI() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the URI of the EXI event. -
getValueMaxLength() - -Method in class org.openexi.proc.common.EXIOptions -
Returns the maximum length in characters of strings that will be included - in the String Table. -
getValuePartitionCapacity() - -Method in class org.openexi.proc.common.EXIOptions -
Returns the maximum number of entries in the String Table. -
GrammarCache - Class in org.openexi.proc.grammars
A GrammarCache object represents a set of EXI grammars used - for processing EXI streams using specific grammar options.
GrammarCache(EXISchema) - -Constructor for class org.openexi.proc.grammars.GrammarCache -
Creates an instance of GrammarCache informed by a schema with default - grammar options. -
GrammarCache(short) - -Constructor for class org.openexi.proc.grammars.GrammarCache -
Creates an instance of GrammarCache with the specified grammar options. -
GrammarCache(EXISchema, short) - -Constructor for class org.openexi.proc.grammars.GrammarCache -
Creates an instance of GrammarCache informed by a schema with the - specified grammar options. -
GrammarOptions - Class in org.openexi.proc.common
GrammarOptions computes a short integer that represents settings in the EXI Grammar settings - that determine how an EXI file will be encoded or decoded.
grammarOptions - -Variable in class org.openexi.proc.grammars.GrammarCache -
Short integer that encapsulates GrammarOptions - for the EXI stream. -
-
-

-H

-
-
hasCM(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if Preserve Comments is true. -
hasDTD(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if Preserve Document Type Definition is true. -
hashCode() - -Method in class org.openexi.schema.Characters -
  -
hasNext() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
hasNS(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if Preserve Namespaces is true. -
hasPI(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if Preserve Processing Instructions is true. -
HeaderOptionsOutputType - Enum in org.openexi.proc
This enumeration provides three possible settings for header options output.
-
-

-I

-
-
indexOf(char) - -Method in class org.openexi.schema.Characters -
  -
isFragment() - -Method in class org.openexi.proc.common.EXIOptions -
An XML fragment is a non-compliant XML document with multiple root - elements. -
isPermitDeviation(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if DEFAULT_OPTIONS is set to true. -
isSimpleType(int) - -Method in class org.openexi.schema.EXISchema -
  -
isStrict() - -Method in class org.openexi.proc.common.EXIOptions -
The Strict option applies to streams that have an associated XML Schema - and the data in the XML stream is 100% compliant with the schema. -
isVolatile - -Variable in class org.openexi.schema.Characters -
  -
ITEM_AT - -Static variable in class org.openexi.proc.common.EventType -
Event type for an Attribute learned by built-in element grammars - from prior attribute occurrences. -
ITEM_AT_WC_ANY_UNTYPED - -Static variable in class org.openexi.proc.common.EventType -
Wildcard event type for an Attribute where the attribute's defined - datatype (if any) is disregarded. -
ITEM_CH - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Character event (character events store values as strings). -
ITEM_CM - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Comment. -
ITEM_DTD - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Document Type Definition. -
ITEM_ED - -Static variable in class org.openexi.proc.common.EventType -
Event type for End of Document. -
ITEM_EE - -Static variable in class org.openexi.proc.common.EventType -
Event type for End of Element. -
ITEM_ER - -Static variable in class org.openexi.proc.common.EventType -
Event type for an Entity Reference. -
ITEM_NS - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Namespace declaration. -
ITEM_PI - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Processing Instruction. -
ITEM_SC - -Static variable in class org.openexi.proc.common.EventType -
Self-contained items are not supported in this release of OpenEXI. -
ITEM_SCHEMA_AT - -Static variable in class org.openexi.proc.common.EventType -
Event type for AttributeUse that matches an attribute event with - a valid value. -
ITEM_SCHEMA_AT_INVALID_VALUE - -Static variable in class org.openexi.proc.common.EventType -
Event type for AttributeUse that matches an attribute event with an - invalid value. -
ITEM_SCHEMA_AT_WC_ANY - -Static variable in class org.openexi.proc.common.EventType -
Attribute wildcard event type stemming from a schema, where the attribute's - defined datatype (if any) is applied. -
ITEM_SCHEMA_AT_WC_NS - -Static variable in class org.openexi.proc.common.EventType -
Attribute wildcard event type, qualified with a specific namespace, stemming - from a schema where the attribute's defined datatype (if any) is applied. -
ITEM_SCHEMA_CH - -Static variable in class org.openexi.proc.common.EventType -
Event type for a defined Character event in an EXI stream processed - using a schema. -
ITEM_SCHEMA_CH_MIXED - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Character event that occurs in the context of an element - defined so as to permit mixed content (mark up and data) in an EXI - stream processed using a schema. -
ITEM_SCHEMA_NIL - -Static variable in class org.openexi.proc.common.EventType -
Special Attribute that indicates the value of the associated element is - explicitly nil rather than an empty string. -
ITEM_SCHEMA_TYPE - -Static variable in class org.openexi.proc.common.EventType -
Special Attribute that describes a data type for the associated - element. -
ITEM_SCHEMA_WC_ANY - -Static variable in class org.openexi.proc.common.EventType -
Attribute wildcard event type stemming from a schema where the - attribute's defined datatype (if any) is applied. -
ITEM_SCHEMA_WC_NS - -Static variable in class org.openexi.proc.common.EventType -
Event type for an element defined in a namespace in an EXI stream - processed using a schema. -
ITEM_SD - -Static variable in class org.openexi.proc.common.EventType -
Event type for Start Document. -
ITEM_SE - -Static variable in class org.openexi.proc.common.EventType -
Event type for Start Element. -
ITEM_SE_WC - -Static variable in class org.openexi.proc.common.EventType -
Wildcard event type for an element. -
-
-

-L

-
-
length - -Variable in class org.openexi.schema.Characters -
  -
localName - -Variable in class org.openexi.proc.common.QName -
Local name of the datatype. -
-
-

-M

-
-
makeString() - -Method in class org.openexi.schema.Characters -
  -
-
-

-N

-
-
name - -Variable in class org.openexi.proc.common.EventType -
Local name of event type definition. -
namespaceName - -Variable in class org.openexi.proc.common.QName -
If namespaceName is null, this indicates a failure of - namespace-prefix binding. -
next() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
nextEvent() - -Method in class org.openexi.proc.io.Scanner -
Gets the next event from the EXI stream. -
-
-

-O

-
-
OPTIONS_UNUSED - -Static variable in class org.openexi.proc.common.GrammarOptions -
OPTIONS_UNUSED is an internal value. -
org.openexi.proc - package org.openexi.proc
- - -The Proc (Processor) package contains the EXIDecoder, which is used to convert EXI streams to XML format.
org.openexi.proc.common - package org.openexi.proc.common
- - -The common package contains classes, interfaces, and enumerators that define the vocabulary used to describe EXI streams (events, options, alignment, and character string values).
org.openexi.proc.grammars - package org.openexi.proc.grammars
- - -The grammars package contains the GrammarCache, which combines an XML Schema Definition with EXI grammar options to create an EXI Schema.
org.openexi.proc.io - package org.openexi.proc.io
- - -The IO package contains the Scanner, which is used by EXIDecoder to read and interpret EXI streams.
org.openexi.sax - package org.openexi.sax
- - -The SAX package contains the Transmogrifier, which encodes an XML file to an EXI stream, and the EXIReader, which restores an EXI stream to its logical XML equivalent.
org.openexi.schema - package org.openexi.schema
- - -The schema package contains classes that are used to represent XML Schema Documents (XSDs).
org.openexi.scomp - package org.openexi.scomp
- - -The scomp (schema compiler) package contains the EXISchemaFactory, which is used to compile XML Schema Documents (XSDs) to EXISchemas.
-
-

-P

-
-
parse(InputStream) - -Method in class org.openexi.scomp.EXISchemaReader -
Parses EXI-encoded EXI Grammar into an EXISchema. -
PREFIX_BOUND_TO_ANOTHER_NAMESPACE - -Static variable in exception org.openexi.sax.TransmogrifierException -
Prefix is bound to another namespace. -
PREFIX_NOT_BOUND - -Static variable in exception org.openexi.sax.TransmogrifierException -
Prefix is not bound. -
processHeader() - -Method in class org.openexi.proc.EXIDecoder -
This method reads and configures any header options present - in the EXI stream, then returns a Scanner - object you can use to parse the values from the EXI stream. -
-
-

-Q

-
-
QName - Class in org.openexi.proc.common
QName is a pair comprised of a namespace name and a local name - to be used in a Datatype Representation Map (DTRM) definition - to denote an XSD datatype or an EXI datatype representation.
QName() - -Constructor for class org.openexi.proc.common.QName -
  -
QName(String, String) - -Constructor for class org.openexi.proc.common.QName -
Creates a QName based on its literal qualified name - (see http://www.w3.org/TR/xml-names/#ns-qualnames - for definition) and namespace name. -
-
-

-R

-
-
ReaderSupport - Class in org.openexi.sax
 
readIn(DataInputStream) - -Static method in class org.openexi.schema.EXISchema -
Reads an EXI Schema from a DataInputStream. -
resolveEntity(String, String, String) - -Method in interface org.openexi.scomp.EntityResolverEx -
This method will be called for resolving schema documents upon - occurrences of XML Schema directives such as "include", "import" and - "redefine" within schemas. -
resolveSchema(String, short) - -Method in interface org.openexi.proc.EXISchemaResolver -
Return a GrammarCache based on a schemaId and grammar options discovered - in the header options of an EXI stream. -
-
-

-S

-
-
SAX_ERROR - -Static variable in exception org.openexi.sax.TransmogrifierException -
SAX error reported by XML parser. -
SAXTransmogrifier - Interface in org.openexi.sax
Applications can directly feed SAX events into a transmogrifier through SAXTransmogrifier.
Scanner - Class in org.openexi.proc.io
The Scanner class provides methods for scanning events - in the body of an EXI stream.
SCRIBER_ERROR - -Static variable in exception org.openexi.sax.TransmogrifierException -
Errors reported by Scriber. -
setAlignmentType(AlignmentType) - -Method in class org.openexi.proc.EXIDecoder -
Set the bit alignment style of the stream to be decoded. -
setAlignmentType(AlignmentType) - -Method in class org.openexi.sax.EXIReader -
Set the bit alignment style used to compile the EXI input stream. -
setAlignmentType(AlignmentType) - -Method in class org.openexi.sax.Transmogrifier -
Set the bit alignment style for the encoded EXI stream. -
setBinaryChunkSize(int) - -Method in class org.openexi.proc.io.Scanner -
Binary values are read in chunks of the specified size when the - use of binary data is enabled. -
setBlockSize(int) - -Method in class org.openexi.proc.EXIDecoder -
Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream. -
setBlockSize(int) - -Method in class org.openexi.sax.EXIReader -
Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream. -
setBlockSize(int) - -Method in class org.openexi.sax.Transmogrifier -
Set the size, in number of values, of the information that will be - processed as a chunk of the entire XML stream. -
setCompilerErrorHandler(EXISchemaFactoryErrorHandler) - -Method in class org.openexi.scomp.EXISchemaFactory -
Set an error handler to report any errors encountered during - schema compilation. -
setContentHandler(ContentHandler) - -Method in class org.openexi.sax.ReaderSupport -
Set a SAX content handler to receive SAX events. -
setDatatypeRepresentationMap(QName[], int) - -Method in class org.openexi.proc.EXIDecoder -
Set a datatype representation map (DTRM). -
setDatatypeRepresentationMap(QName[], int) - -Method in class org.openexi.sax.EXIReader -
Set a datatype representation map. -
setDatatypeRepresentationMap(QName[], int) - -Method in class org.openexi.sax.Transmogrifier -
Set a datatype representation map (DTRM). -
setEnableBinaryData(boolean) - -Method in class org.openexi.proc.EXIDecoder -
Each binary value will be returned as in a EventDescription of EVENT_BLOB - instead of EVENT_CH when enabled. -
setEntityResolver(EntityResolver) - -Method in class org.openexi.sax.Transmogrifier -
Set an external SAX entity resolver. -
setEntityResolver(EntityResolverEx) - -Method in class org.openexi.scomp.EXISchemaFactory -
Set an entity resolver for use to resolve entities and schema documents. -
setEXISchemaResolver(EXISchemaResolver) - -Method in class org.openexi.sax.EXIReader -
Set the EXISchemaResolver to retrieve the schema needed to decode the - current EXI stream. -
setFeature(String, boolean) - -Method in class org.openexi.sax.EXIReader -
Set features for the SAX parser. -
setFragment(boolean) - -Method in class org.openexi.proc.EXIDecoder -
Set whether the document is a fragment. -
setFragment(boolean) - -Method in class org.openexi.sax.EXIReader -
Set to true if the EXI input stream is an XML fragment (a non-compliant - XML document with multiple root elements). -
setFragment(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Set to true if the XML input stream is an XML fragment (a non-compliant - XML document with multiple root elements). -
setGrammarCache(GrammarCache) - -Method in class org.openexi.proc.EXIDecoder -
Set the GrammarCache used in decoding EXI streams. -
setGrammarCache(GrammarCache) - -Method in class org.openexi.sax.ReaderSupport -
Set the GrammarCache used in parsing EXI streams. -
setGrammarCache(GrammarCache) - -Method in class org.openexi.sax.Transmogrifier -
Set the GrammarCache used in transmogrifying XML data to EXI. -
setGrammarCache(GrammarCache, SchemaId) - -Method in class org.openexi.sax.Transmogrifier -
Set the GrammarCache to be used in encoding XML streams into EXI streams - by the transmogrifier. -
setInitialBinaryDataBufferSize(int) - -Method in class org.openexi.proc.EXIDecoder -
  -
setInputStream(InputStream) - -Method in class org.openexi.proc.EXIDecoder -
Set an input stream from which the encoded stream is read. -
setLexicalHandler(LexicalHandler) - -Method in class org.openexi.sax.EXIReader -
Set a SAX lexical handler to receive SAX lexical events. -
setOutputCookie(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Tells the encoder whether to or not to start the stream by - adding an EXI cookie. -
setOutputOptions(HeaderOptionsOutputType) - -Method in class org.openexi.sax.Transmogrifier -
Set the header output options. -
setOutputStream(OutputStream) - -Method in class org.openexi.sax.Transmogrifier -
Set an output stream to which encoded streams are written. -
setPreserveLexicalValues(boolean) - -Method in class org.openexi.proc.EXIDecoder -
Set to true to preserve the original string values from the EXI - stream. -
setPreserveLexicalValues(boolean) - -Method in class org.openexi.sax.EXIReader -
Set to true if the EXI input stream was compiled with the Preserve Lexical - Values set to true. -
setPreserveLexicalValues(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Set to true to preserve the original string values from the XML - stream. -
setPreserveWhitespaces(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Set to true to preserve whitespace (for example, spaces, tabs, and - line breaks) in the encoded EXI stream. -
setProperty(String, Object) - -Method in class org.openexi.sax.EXIReader -
This method wraps the friendlier setLexicalHandler method to provide - syntax familiar to experienced SAX programmers. -
setResolveExternalGeneralEntities(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Change the way a Transmogrifier handles external general entities. -
setSchema(EXISchema, QName[], int) - -Method in class org.openexi.proc.io.Scanner -
  -
setValueMaxLength(int) - -Method in class org.openexi.proc.EXIDecoder -
Set the maximum length of a string that will be stored for reuse in the - String Table. -
setValueMaxLength(int) - -Method in class org.openexi.sax.EXIReader -
Set the maximum length of a string that will be stored for reuse in the - String Table. -
setValueMaxLength(int) - -Method in class org.openexi.sax.Transmogrifier -
Set the maximum length of a string that will be stored for reuse in the - String Table. -
setValuePartitionCapacity(int) - -Method in class org.openexi.proc.EXIDecoder -
Set the maximum number of values in the String Table. -
setValuePartitionCapacity(int) - -Method in class org.openexi.sax.EXIReader -
Set the maximum number of values in the String Table. -
setValuePartitionCapacity(int) - -Method in class org.openexi.sax.Transmogrifier -
Set the maximum number of values in the String Table. -
startBinaryData(long) - -Method in interface org.openexi.sax.BinaryDataHandler -
Mark the start of a binary value. -
startIndex - -Variable in class org.openexi.schema.Characters -
  -
STRICT_OPTIONS - -Static variable in class org.openexi.proc.common.GrammarOptions -
Indicates that undeclared elements and attributes will throw an - exception when the XML stream is encoded and decoded. -
substring(int, int) - -Method in class org.openexi.schema.Characters -
  -
-
-

-T

-
-
Transmogrifier - Class in org.openexi.sax
The Transmogrifier converts an XML stream to an EXI stream.
Transmogrifier() - -Constructor for class org.openexi.sax.Transmogrifier -
Create an instance of the Transmogrifier with a default SAX parser. -
Transmogrifier(SAXParserFactory) - -Constructor for class org.openexi.sax.Transmogrifier -
Create an instance of the Transmogrifier, specifying the SAXParserFactory - from which to create the SAX parser. -
TransmogrifierException - Exception in org.openexi.sax
Exception handler for the Transmogrifier.
turnPermanent() - -Method in class org.openexi.schema.Characters -
  -
-
-

-U

-
-
ucsCount - -Variable in class org.openexi.schema.Characters -
  -
UNEXPECTED_ATTR - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Attribute. -
UNEXPECTED_BINARY_VALUE - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Binary value. -
UNEXPECTED_CHARS - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Character Sequence. -
UNEXPECTED_ED - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected End of Document event. -
UNEXPECTED_ELEM - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Element. -
UNEXPECTED_END_ELEM - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected End of Element event. -
UNEXPECTED_SD - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Start of Document event. -
UNHANDLED_SAXPARSER_FEATURE - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unhandled SAX parser feature. -
uri - -Variable in class org.openexi.proc.common.EventType -
URI of event type definition. -
-
-

-V

-
-
valueOf(String) - -Static method in enum org.openexi.proc.common.AlignmentType -
Returns the enum constant of this type with the specified name. -
valueOf(String) - -Static method in enum org.openexi.proc.HeaderOptionsOutputType -
Returns the enum constant of this type with the specified name. -
values() - -Static method in enum org.openexi.proc.common.AlignmentType -
Returns an array containing the constants of this enum type, in -the order they're declared. -
values() - -Static method in enum org.openexi.proc.HeaderOptionsOutputType -
Returns an array containing the constants of this enum type, in -the order they're declared. -
-
-

-W

-
-
warning(EXISchemaFactoryException) - -Method in interface org.openexi.scomp.EXISchemaFactoryErrorHandler -
Report a warning found during schema processing. -
writeOut(DataOutputStream) - -Method in class org.openexi.schema.EXISchema -
Writes out a serialized EXISchema. -
writeXml(OutputStream, boolean) - -Method in class org.openexi.schema.EXISchema -
  -
-
-

-X

-
-
XMLSCHEMA_ERROR - -Static variable in exception org.openexi.scomp.EXISchemaFactoryException -
The underlying XMLSchema parser found an error in the schema. -
-
-

-_

-
-
_isSimpleType(int, int[]) - -Static method in class org.openexi.schema.EXISchema -
  -
-
-A B C D E F G H I L M N O P Q R S T U V W X _ - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/index.html b/third-party/org.openexi/nagasena/src/main/resources/doc/index.html deleted file mode 100644 index f8c172cd85..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -Generated Documentation (Untitled) - - - - - - - - - - - -<H2> -Frame Alert</H2> - -<P> -This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. -<BR> -Link to<A HREF="overview-summary.html">Non-frame version.</A> - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXIDecoder.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXIDecoder.html deleted file mode 100644 index 15bd150a78..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXIDecoder.html +++ /dev/null @@ -1,580 +0,0 @@ - - - - - - - -EXIDecoder - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc -
-Class EXIDecoder

-
-java.lang.Object
-  extended by org.openexi.proc.EXIDecoder
-
-
-
-
public class EXIDecoder
extends java.lang.Object
- - -

-EXIDecoder provides methods to configure and - instantiate a Scanner object - you can use to parse the contents of an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - -
-Constructor Summary
EXIDecoder() - -
-          Creates an instance of EXIDecoder with the default inflator - buffer size of 8192 bytes.
EXIDecoder(int inflatorBufSize, - boolean useThreadedInflater) - -
-          Creates an instance of EXIDecoder with the specified inflator buffer - size.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- ScannerprocessHeader() - -
-          This method reads and configures any header options present - in the EXI stream, then returns a Scanner - object you can use to parse the values from the EXI stream.
- voidsetAlignmentType(AlignmentType alignmentType) - -
-          Set the bit alignment style of the stream to be decoded.
- voidsetBlockSize(int blockSize) - -
-          Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream.
- voidsetDatatypeRepresentationMap(QName[] dtrm, - int n_bindings) - -
-          Set a datatype representation map (DTRM).
- voidsetEnableBinaryData(boolean enable) - -
-          Each binary value will be returned as in a EventDescription of EVENT_BLOB - instead of EVENT_CH when enabled.
- voidsetFragment(boolean isFragment) - -
-          Set whether the document is a fragment.
- voidsetGrammarCache(GrammarCache grammarCache) - -
-          Set the GrammarCache used in decoding EXI streams.
- voidsetInitialBinaryDataBufferSize(int initialSize) - -
-           
- voidsetInputStream(java.io.InputStream istream) - -
-          Set an input stream from which the encoded stream is read.
- voidsetPreserveLexicalValues(boolean preserveLexicalValues) - -
-          Set to true to preserve the original string values from the EXI - stream.
- voidsetValueMaxLength(int valueMaxLength) - -
-          Set the maximum length of a string that will be stored for reuse in the - String Table.
- voidsetValuePartitionCapacity(int valuePartitionCapacity) - -
-          Set the maximum number of values in the String Table.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-EXIDecoder

-
-public EXIDecoder()
-
-
Creates an instance of EXIDecoder with the default inflator - buffer size of 8192 bytes. Buffer size is only used when - the EXI stream is encoded with EXI compression. -

-

-
- -

-EXIDecoder

-
-public EXIDecoder(int inflatorBufSize,
-                  boolean useThreadedInflater)
-
-
Creates an instance of EXIDecoder with the specified inflator buffer - size. When dynamic memory is limited on the target device, reducing - the buffer size can improve performance and avoid runtime errors. Buffer - size is only used when the EXI stream is encoded with EXI compression. -

-

-
Parameters:
inflatorBufSize - size of the buffer, in bytes.
useThreadedInflater - Inflater will be run in its own thread if true
-
- - - - - - - - -
-Method Detail
- -

-setInputStream

-
-public final void setInputStream(java.io.InputStream istream)
-
-
Set an input stream from which the encoded stream is read. -

-

-
Parameters:
istream - InputSream to be read.
-
-
-
- -

-setAlignmentType

-
-public final void setAlignmentType(AlignmentType alignmentType)
-                            throws org.openexi.proc.common.EXIOptionsException
-
-
Set the bit alignment style of the stream to be decoded. -

-

-
Parameters:
alignmentType - AlignmentType object -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setFragment

-
-public final void setFragment(boolean isFragment)
-
-
Set whether the document is a fragment. Fragments are nonstandard - XML documents with multiple root elements. Default is false. -

-

-
Parameters:
isFragment - true if the stream is an XML fragment
-
-
-
- -

-setGrammarCache

-
-public final void setGrammarCache(GrammarCache grammarCache)
-                           throws org.openexi.proc.common.EXIOptionsException
-
-
Set the GrammarCache used in decoding EXI streams. -

-

-
Parameters:
grammarCache - GrammarCache -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setBlockSize

-
-public final void setBlockSize(int blockSize)
-                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream. Reducing the block size - can improve performance for devices with limited dynamic memory. - Default is 1,000,000 items (not 1MB, but 1,000,000 complete Attribute - and Element values). Block size is only used when the EXI stream is - encoded with EXI-compression. -

-

-
Parameters:
blockSize - number of values in each processing block. Default is 1,000,000. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setValueMaxLength

-
-public final void setValueMaxLength(int valueMaxLength)
-
-
Set the maximum length of a string that will be stored for reuse in the - String Table. By default, there is no maximum length. However, in data - sets that have long, unique strings of information, you can improve - performance by limiting the size to the length of strings that are more - likely to appear more than once. -

-

-
Parameters:
valueMaxLength - maximum length of entries in the String Table.
-
-
-
- -

-setValuePartitionCapacity

-
-public final void setValuePartitionCapacity(int valuePartitionCapacity)
-
-
Set the maximum number of values in the String Table. By default, there - is no limit. If the target device has limited dynamic memory, limiting - the number of entries in the String Table can improve performance and - reduce the likelihood that you will exceed memory capacity. -

-

-
Parameters:
valuePartitionCapacity - maximum number of entries in the String Table
-
-
-
- -

-setPreserveLexicalValues

-
-public final void setPreserveLexicalValues(boolean preserveLexicalValues)
-                                    throws org.openexi.proc.common.EXIOptionsException
-
-
Set to true to preserve the original string values from the EXI - stream. For example, a date string might be converted to a different - format when interpreted by the EXIDecoder. Preserving the lexical values - ensures that the identical strings are restored, and not just their - logical values. -

-

-
Parameters:
preserveLexicalValues - true to keep original strings intact -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setDatatypeRepresentationMap

-
-public final void setDatatypeRepresentationMap(QName[] dtrm,
-                                               int n_bindings)
-                                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set a datatype representation map (DTRM). The DTRM allows you to remap - XMLSchema datatypes to EXI datatypes other than their default equivalents. - The map is created using a sequence of Qualified Name pairs that identify - a datatype definition in the XMLSchema namespace followed by the new - corresponding datatype mapping in the EXI namespace. -

- For example, the following lines map the boolean datatype from XMLSchema - to the integer datatype in EXI. -
-   QName q1 = new QName("xsd:boolean","http://www.w3.org/2001/XMLSchema");
-   QName q2 = new QName("exi:integer","http://www.w3.org/2009/exi");
-   QName[] dtrm = new QName[2];
-   dtrm = {q1, q2}; // Each mapping requires 2 qualified names.
-   decoderInstance.setDatatypeRepresentationMap(dtrm, 1); // The array, and the number of pairs (1).
- 
-

-

-
Parameters:
dtrm - a sequence of pairs of datatype QName and datatype representation QName
n_bindings - the number of QName pairs -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setEnableBinaryData

-
-public final void setEnableBinaryData(boolean enable)
-
-
Each binary value will be returned as in a EventDescription of EVENT_BLOB - instead of EVENT_CH when enabled. -

-

-
Parameters:
enable -
-
-
-
- -

-setInitialBinaryDataBufferSize

-
-public final void setInitialBinaryDataBufferSize(int initialSize)
-
-
-
-
-
-
- -

-processHeader

-
-public Scanner processHeader()
-                      throws java.io.IOException,
-                             org.openexi.proc.common.EXIOptionsException
-
-
This method reads and configures any header options present - in the EXI stream, then returns a Scanner - object you can use to parse the values from the EXI stream. -

-

- -
Returns:
Scanner parsable object with header options applied. -
Throws: -
java.io.IOException -
org.openexi.proc.common.EXIOptionsException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXISchemaResolver.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXISchemaResolver.html deleted file mode 100644 index 7c90b7d5fb..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXISchemaResolver.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - -EXISchemaResolver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc -
-Interface EXISchemaResolver

-
-
-
public interface EXISchemaResolver
- - -

-Developers have the option of implementing the EXISchemaResolver interface - to help EXIReader and EXIDecoder locate the correct grammar cache for parsing - an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - - -
-Method Summary
- GrammarCacheresolveSchema(java.lang.String schemaId, - short grammarOptions) - -
-          Return a GrammarCache based on a schemaId and grammar options discovered - in the header options of an EXI stream.
-  -

- - - - - - - - -
-Method Detail
- -

-resolveSchema

-
-GrammarCache resolveSchema(java.lang.String schemaId,
-                           short grammarOptions)
-
-
Return a GrammarCache based on a schemaId and grammar options discovered - in the header options of an EXI stream. -

-

-
Parameters:
schemaId - the specific schema used to decode an EXI stream
grammarOptions - the specific grammar options used to decode an EXI stream -
Returns:
a GrammarCache object
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/HeaderOptionsOutputType.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/HeaderOptionsOutputType.html deleted file mode 100644 index db42f8f040..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/HeaderOptionsOutputType.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - - -HeaderOptionsOutputType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc -
-Enum HeaderOptionsOutputType

-
-java.lang.Object
-  extended by java.lang.Enum<HeaderOptionsOutputType>
-      extended by org.openexi.proc.HeaderOptionsOutputType
-
-
-
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<HeaderOptionsOutputType>
-
-
-
-
public enum HeaderOptionsOutputType
extends java.lang.Enum<HeaderOptionsOutputType>
- - -

-This enumeration provides three possible settings for header options output. -

-

    -
  • none – Header options are not included in the header. - The receiver of the document must have precise knowledge of the - settings used to encode the document.

    -
  • -
  • - lessSchemaId – Header options are present. Every - setting used is written out in the header options, except SchemaID. - The receiver of the document must know which schema is used to - encode the document.

    -
  • -
  • - all – All header options are present. Every setting - used is written to the header options, including SchemaID. -
  • -
-

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - -
-Enum Constant Summary
all - -
-           
lessSchemaId - -
-           
none - -
-           
-  - - - - - - - - - - - - - - - -
-Method Summary
-static HeaderOptionsOutputTypevalueOf(java.lang.String name) - -
-          Returns the enum constant of this type with the specified name.
-static HeaderOptionsOutputType[]values() - -
-          Returns an array containing the constants of this enum type, in -the order they're declared.
- - - - - - - -
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
- - - - - - - -
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
-  -

- - - - - - - - -
-Enum Constant Detail
- -

-none

-
-public static final HeaderOptionsOutputType none
-
-
-
-
-
- -

-lessSchemaId

-
-public static final HeaderOptionsOutputType lessSchemaId
-
-
-
-
-
- -

-all

-
-public static final HeaderOptionsOutputType all
-
-
-
-
- - - - - - - - -
-Method Detail
- -

-values

-
-public static final HeaderOptionsOutputType[] values()
-
-
Returns an array containing the constants of this enum type, in -the order they're declared. This method may be used to iterate -over the constants as follows: -
-for(HeaderOptionsOutputType c : HeaderOptionsOutputType.values())
-        System.out.println(c);
-
-

-

- -
Returns:
an array containing the constants of this enum type, in -the order they're declared
-
-
-
- -

-valueOf

-
-public static HeaderOptionsOutputType valueOf(java.lang.String name)
-
-
Returns the enum constant of this type with the specified name. -The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are -not permitted.) -

-

-
Parameters:
name - the name of the enum constant to be returned. -
Returns:
the enum constant with the specified name -
Throws: -
java.lang.IllegalArgumentException - if this enum type has no constant -with the specified name
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/AlignmentType.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/AlignmentType.html deleted file mode 100644 index cd6ca90e7d..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/AlignmentType.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - - -AlignmentType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Enum AlignmentType

-
-java.lang.Object
-  extended by java.lang.Enum<AlignmentType>
-      extended by org.openexi.proc.common.AlignmentType
-
-
-
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<AlignmentType>
-
-
-
-
public enum AlignmentType
extends java.lang.Enum<AlignmentType>
- - -

-AlignmentType represents one of the following bit alignment - styles so as to provide an extra degree of control over the - way information is stored in EXI format. -
-

  • bitPacked is the default setting. Data are - stored in the fewest number of bits in sequential streams - that cross byte barriers. Conceptually, 8 boolean values - might be stored in a single byte, for example.

  • -
  • byteAligned stores data using EXI tags with - byte barriers intact. Byte-aligned files are useful for - troubleshooting, because the data are often human-readable - when the values are literally encoded as strings. It - is not meant for data transfer, as the file has not been - optimized.

  • -
  • preCompress is a byte-aligned format that arranges - the data into channels. It is intended for use cases where - file compression is part of the transfer process, so as - not to perform the compression step twice.

  • -
  • compress is not a bit alignment in and of itself, - but the Deflate algorithm requires that files be byte-aligned. - When compression is selected, byte-alignment is used, the - data are arranged in channels, and the file is compressed - at the end of processing.
  • -
-

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - -
-Enum Constant Summary
bitPacked - -
-           
byteAligned - -
-           
compress - -
-           
preCompress - -
-           
-  - - - - - - - - - - - - - - - -
-Method Summary
-static AlignmentTypevalueOf(java.lang.String name) - -
-          Returns the enum constant of this type with the specified name.
-static AlignmentType[]values() - -
-          Returns an array containing the constants of this enum type, in -the order they're declared.
- - - - - - - -
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
- - - - - - - -
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
-  -

- - - - - - - - -
-Enum Constant Detail
- -

-bitPacked

-
-public static final AlignmentType bitPacked
-
-
-
-
-
- -

-byteAligned

-
-public static final AlignmentType byteAligned
-
-
-
-
-
- -

-preCompress

-
-public static final AlignmentType preCompress
-
-
-
-
-
- -

-compress

-
-public static final AlignmentType compress
-
-
-
-
- - - - - - - - -
-Method Detail
- -

-values

-
-public static final AlignmentType[] values()
-
-
Returns an array containing the constants of this enum type, in -the order they're declared. This method may be used to iterate -over the constants as follows: -
-for(AlignmentType c : AlignmentType.values())
-        System.out.println(c);
-
-

-

- -
Returns:
an array containing the constants of this enum type, in -the order they're declared
-
-
-
- -

-valueOf

-
-public static AlignmentType valueOf(java.lang.String name)
-
-
Returns the enum constant of this type with the specified name. -The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are -not permitted.) -

-

-
Parameters:
name - the name of the enum constant to be returned. -
Returns:
the enum constant with the specified name -
Throws: -
java.lang.IllegalArgumentException - if this enum type has no constant -with the specified name
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/BinaryDataSource.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/BinaryDataSource.html deleted file mode 100644 index 27a32a0db3..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/BinaryDataSource.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - -BinaryDataSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class BinaryDataSource

-
-java.lang.Object
-  extended by org.openexi.proc.common.BinaryDataSource
-
-
-
-
public final class BinaryDataSource
extends java.lang.Object
- - -

-

- -
-
- -

- - - - - - - - - - - -
-Constructor Summary
BinaryDataSource() - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- byte[]getByteArray() - -
-           
- intgetLength() - -
-           
- longgetRemainingBytesCount() - -
-           
- intgetStartIndex() - -
-           
- booleanhasNext() - -
-           
- intnext() - -
-           
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-BinaryDataSource

-
-public BinaryDataSource()
-
-
- - - - - - - - -
-Method Detail
- -

-getByteArray

-
-public final byte[] getByteArray()
-
-
-
-
-
-
- -

-getStartIndex

-
-public final int getStartIndex()
-
-
-
-
-
-
- -

-getLength

-
-public final int getLength()
-
-
-
-
-
-
- -

-getRemainingBytesCount

-
-public final long getRemainingBytesCount()
-
-
-
-
-
-
- -

-hasNext

-
-public boolean hasNext()
-
-
-
-
-
-
- -

-next

-
-public int next()
-         throws java.io.IOException
-
-
- -
Throws: -
java.io.IOException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EXIOptions.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EXIOptions.html deleted file mode 100644 index 27d78e0a99..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EXIOptions.html +++ /dev/null @@ -1,502 +0,0 @@ - - - - - - - -EXIOptions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class EXIOptions

-
-java.lang.Object
-  extended by org.openexi.proc.common.EXIOptions
-
-
-
-
public final class EXIOptions
extends java.lang.Object
- - -

-EXIOptions provides accessors for values associated with - EXI options in the EXI header of an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- AlignmentTypegetAlignmentType() - -
-          Get the bit alignment setting.
- intgetBlockSize() - -
-          Returns the number of element and attribute values that are read and processed - as a group.
- QName[]getDatatypeRepresentationMap() - -
-          Returns an array of qualified names that map XMLSchema datatypes to - non-standard equivalents in EXI.
- intgetDatatypeRepresentationMapBindingsCount() - -
-          Returns the number of Datatype Representation Map QName pairs.
- booleangetPreserveComments() - -
-          Returns whether comments are conserved in the EXI Stream.
- booleangetPreserveDTD() - -
-          Returns whether the document type definition is conserved in the EXI Stream.
- booleangetPreserveLexicalValues() - -
-          Returns whether lexical values (literal strings) are preserved rather - than the logical values of elements and attributes.
- booleangetPreserveNS() - -
-          Returns whether the namespaces are preserved in the EXI stream.
- booleangetPreservePIs() - -
-          Returns whether processing instructions are conserved in the EXI Stream.
- intgetValueMaxLength() - -
-          Returns the maximum length in characters of strings that will be included - in the String Table.
- intgetValuePartitionCapacity() - -
-          Returns the maximum number of entries in the String Table.
- booleanisFragment() - -
-          An XML fragment is a non-compliant XML document with multiple root - elements.
- booleanisStrict() - -
-          The Strict option applies to streams that have an associated XML Schema - and the data in the XML stream is 100% compliant with the schema.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Method Detail
- -

-getAlignmentType

-
-public AlignmentType getAlignmentType()
-
-
Get the bit alignment setting. -

-

- -
Returns:
AlignmentType
-
-
-
- -

-isFragment

-
-public boolean isFragment()
-
-
An XML fragment is a non-compliant XML document with multiple root - elements. -

-

- -
Returns:
true if the stream is an XML fragment.
-
-
-
- -

-isStrict

-
-public boolean isStrict()
-
-
The Strict option applies to streams that have an associated XML Schema - and the data in the XML stream is 100% compliant with the schema. -

-

- -
Returns:
true if using strict interpretation of an associated XML Schema.
-
-
-
- -

-getPreserveComments

-
-public boolean getPreserveComments()
-
-
Returns whether comments are conserved in the EXI Stream. -

-

- -
Returns:
true if comments are preserved.
-
-
-
- -

-getPreservePIs

-
-public boolean getPreservePIs()
-
-
Returns whether processing instructions are conserved in the EXI Stream. -

-

- -
Returns:
true if processing instructions are preserved.
-
-
-
- -

-getPreserveDTD

-
-public boolean getPreserveDTD()
-
-
Returns whether the document type definition is conserved in the EXI Stream. -

-

- -
Returns:
true if the document type definition is preserved.
-
-
-
- -

-getPreserveNS

-
-public boolean getPreserveNS()
-
-
Returns whether the namespaces are preserved in the EXI stream. -

-

- -
Returns:
true if namespaces are preserved.
-
-
-
- -

-getBlockSize

-
-public int getBlockSize()
-
-
Returns the number of element and attribute values that are read and processed - as a group. -

-

- -
Returns:
the current block size. Default is 1,000,000.
-
-
-
- -

-getValueMaxLength

-
-public int getValueMaxLength()
-
-
Returns the maximum length in characters of strings that will be included - in the String Table. -

-

- -
Returns:
the maximum length of values added to the String Table. Default is unbounded (-1).
-
-
-
- -

-getValuePartitionCapacity

-
-public int getValuePartitionCapacity()
-
-
Returns the maximum number of entries in the String Table. -

-

- -
Returns:
the maximum number of partitions (entries) in the String Table. Default is unbounded (-1).
-
-
-
- -

-getPreserveLexicalValues

-
-public boolean getPreserveLexicalValues()
-
-
Returns whether lexical values (literal strings) are preserved rather - than the logical values of elements and attributes. -

-

- -
Returns:
true if lexical values are preserved.
-
-
-
- -

-getDatatypeRepresentationMapBindingsCount

-
-public int getDatatypeRepresentationMapBindingsCount()
-
-
Returns the number of Datatype Representation Map QName pairs. -

-

- -
Returns:
the number of DTRM bindings.
-
-
-
- -

-getDatatypeRepresentationMap

-
-public QName[] getDatatypeRepresentationMap()
-
-
Returns an array of qualified names that map XMLSchema datatypes to - non-standard equivalents in EXI. -

-

- -
Returns:
an array of qualified names comprising a DTRM.
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventDescription.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventDescription.html deleted file mode 100644 index 396802fbc6..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventDescription.html +++ /dev/null @@ -1,653 +0,0 @@ - - - - - - - -EventDescription - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Interface EventDescription

-
-
All Known Implementing Classes:
EventType
-
-
-
-
public interface EventDescription
- - -

-

EventDescription provides accessors to the current EXI event data - during the decode process.

- -

Note that the content of EventDescription is transient, which means - its content may change when the decoder is asked for access to the - next EXI event data.

-

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
-static byteEVENT_AT - -
-          Attribute event.
-static byteEVENT_BLOB - -
-          BLOB event (content of an element).
-static byteEVENT_CH - -
-          Character event (content of an element).
-static byteEVENT_CM - -
-          Comment event.
-static byteEVENT_DTD - -
-          Document Type Definition event.
-static byteEVENT_ED - -
-          End Document event.
-static byteEVENT_EE - -
-          End Element event.
-static byteEVENT_ER - -
-          Entity Reference event.
-static byteEVENT_NL - -
-          Attribute xsi:nil.
-static byteEVENT_NS - -
-          Namespace declaration event.
-static byteEVENT_PI - -
-          Processing Instruction event.
-static byteEVENT_SD - -
-          Start Document event.
-static byteEVENT_SE - -
-          Start Element event.
-static byteEVENT_TP - -
-          Attribute xsi:type.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- BinaryDataSourcegetBinaryDataSource() - -
-          Gets the value of an EVENT_BLOB.
- CharactersgetCharacters() - -
-          Gets the value of an EVENT_CH, - Attribute (EVENT_AT, EVENT_NL, EVENT_TP), EVENT_CM, - EVENT_DTD or EVENT_PI event.
- bytegetEventKind() - -
-          Gets the event kind of which instance data this EventDescription is describing.
- EventTypegetEventType() - -
-          Returns the EventType from which this event is derived.
- java.lang.StringgetName() - -
-          Gets the name of the EXI event.
- java.lang.StringgetPrefix() - -
-          Gets the namespace prefix of the event.
- java.lang.StringgetURI() - -
-          Gets the URI of the EXI event.
-  -

- - - - - - - - -
-Field Detail
- -

-EVENT_SD

-
-static final byte EVENT_SD
-
-
Start Document event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_ED

-
-static final byte EVENT_ED
-
-
End Document event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_SE

-
-static final byte EVENT_SE
-
-
Start Element event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_AT

-
-static final byte EVENT_AT
-
-
Attribute event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_TP

-
-static final byte EVENT_TP
-
-
Attribute xsi:type. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_NL

-
-static final byte EVENT_NL
-
-
Attribute xsi:nil. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_CH

-
-static final byte EVENT_CH
-
-
Character event (content of an element). -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_EE

-
-static final byte EVENT_EE
-
-
End Element event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_NS

-
-static final byte EVENT_NS
-
-
Namespace declaration event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_PI

-
-static final byte EVENT_PI
-
-
Processing Instruction event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_CM

-
-static final byte EVENT_CM
-
-
Comment event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_ER

-
-static final byte EVENT_ER
-
-
Entity Reference event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_DTD

-
-static final byte EVENT_DTD
-
-
Document Type Definition event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_BLOB

-
-static final byte EVENT_BLOB
-
-
BLOB event (content of an element). -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Method Detail
- -

-getEventKind

-
-byte getEventKind()
-
-
Gets the event kind of which instance data this EventDescription is describing. -

-

- -
Returns:
a byte representing the event kind.
-
-
-
- -

-getURI

-
-java.lang.String getURI()
-
-
Gets the URI of the EXI event. -

-

- -
Returns:
the URI as a String.
-
-
-
- -

-getName

-
-java.lang.String getName()
-
-
Gets the name of the EXI event. -

-

- -
Returns:
the name of the event as a String.
-
-
-
- -

-getPrefix

-
-java.lang.String getPrefix()
-
-
Gets the namespace prefix of the event. -

-

- -
Returns:
the prefix as a String.
-
-
-
- -

-getCharacters

-
-Characters getCharacters()
-
-
Gets the value of an EVENT_CH, - Attribute (EVENT_AT, EVENT_NL, EVENT_TP), EVENT_CM, - EVENT_DTD or EVENT_PI event. -

-

- -
Returns:
a Characters of the corresponding value
-
-
-
- -

-getBinaryDataSource

-
-BinaryDataSource getBinaryDataSource()
-
-
Gets the value of an EVENT_BLOB. -

-

- -
Returns:
a BinaryData of the corresponding value
-
-
-
- -

-getEventType

-
-EventType getEventType()
-
-
Returns the EventType from which this event is derived. -

-

-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventType.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventType.html deleted file mode 100644 index aaef0c43ed..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventType.html +++ /dev/null @@ -1,829 +0,0 @@ - - - - - - - -EventType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class EventType

-
-java.lang.Object
-  extended by org.openexi.proc.common.EventCode
-      extended by org.openexi.proc.common.EventType
-
-
-
All Implemented Interfaces:
EventDescription
-
-
-
-
public class EventType
extends org.openexi.proc.common.EventCode
implements EventDescription
- - -

-EventType denotes terminal symbols of grammar productions - defined in the EXI 1.0 specification. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
-static byteITEM_AT - -
-          Event type for an Attribute learned by built-in element grammars - from prior attribute occurrences.
-static byteITEM_AT_WC_ANY_UNTYPED - -
-          Wildcard event type for an Attribute where the attribute's defined - datatype (if any) is disregarded.
-static byteITEM_CH - -
-          Event type for a Character event (character events store values as strings).
-static byteITEM_CM - -
-          Event type for a Comment.
-static byteITEM_DTD - -
-          Event type for a Document Type Definition.
-static byteITEM_ED - -
-          Event type for End of Document.
-static byteITEM_EE - -
-          Event type for End of Element.
-static byteITEM_ER - -
-          Event type for an Entity Reference.
-static byteITEM_NS - -
-          Event type for a Namespace declaration.
-static byteITEM_PI - -
-          Event type for a Processing Instruction.
-static byteITEM_SC - -
-          Self-contained items are not supported in this release of OpenEXI.
-static byteITEM_SCHEMA_AT - -
-          Event type for AttributeUse that matches an attribute event with - a valid value.
-static byteITEM_SCHEMA_AT_INVALID_VALUE - -
-          Event type for AttributeUse that matches an attribute event with an - invalid value.
-static byteITEM_SCHEMA_AT_WC_ANY - -
-          Attribute wildcard event type stemming from a schema, where the attribute's - defined datatype (if any) is applied.
-static byteITEM_SCHEMA_AT_WC_NS - -
-          Attribute wildcard event type, qualified with a specific namespace, stemming - from a schema where the attribute's defined datatype (if any) is applied.
-static byteITEM_SCHEMA_CH - -
-          Event type for a defined Character event in an EXI stream processed - using a schema.
-static byteITEM_SCHEMA_CH_MIXED - -
-          Event type for a Character event that occurs in the context of an element - defined so as to permit mixed content (mark up and data) in an EXI - stream processed using a schema.
-static byteITEM_SCHEMA_NIL - -
-          Special Attribute that indicates the value of the associated element is - explicitly nil rather than an empty string.
-static byteITEM_SCHEMA_TYPE - -
-          Special Attribute that describes a data type for the associated - element.
-static byteITEM_SCHEMA_WC_ANY - -
-          Attribute wildcard event type stemming from a schema where the - attribute's defined datatype (if any) is applied.
-static byteITEM_SCHEMA_WC_NS - -
-          Event type for an element defined in a namespace in an EXI stream - processed using a schema.
-static byteITEM_SD - -
-          Event type for Start Document.
-static byteITEM_SE - -
-          Event type for Start Element.
-static byteITEM_SE_WC - -
-          Wildcard event type for an element.
- java.lang.Stringname - -
-          Local name of event type definition.
- java.lang.Stringuri - -
-          URI of event type definition.
- - - - - - - -
Fields inherited from class org.openexi.proc.common.EventCode
EVENT_CODE_DEPTH_ONE, EVENT_CODE_DEPTH_THREE, EVENT_CODE_DEPTH_TWO, ITEM_TUPLE, itemType, parent, position
- - - - - - - -
Fields inherited from interface org.openexi.proc.common.EventDescription
EVENT_AT, EVENT_BLOB, EVENT_CH, EVENT_CM, EVENT_DTD, EVENT_ED, EVENT_EE, EVENT_ER, EVENT_NL, EVENT_NS, EVENT_PI, EVENT_SD, EVENT_SE, EVENT_TP
-  - - - - - - - -
-Method Summary
- - - - - - - -
Methods inherited from class org.openexi.proc.common.EventCode
setParentalContext
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- - - - - - - -
Methods inherited from interface org.openexi.proc.common.EventDescription
getBinaryDataSource, getCharacters, getEventKind, getEventType, getName, getPrefix, getURI
-  -

- - - - - - - - -
-Field Detail
- -

-ITEM_PI

-
-public static final byte ITEM_PI
-
-
Event type for a Processing Instruction. Value is 0. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_CM

-
-public static final byte ITEM_CM
-
-
Event type for a Comment. -
Value is 1. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_ER

-
-public static final byte ITEM_ER
-
-
Event type for an Entity Reference. -
Value is 2. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_CH

-
-public static final byte ITEM_CH
-
-
Event type for a Character event (character events store values as strings). -
Value is 3. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_ED

-
-public static final byte ITEM_ED
-
-
Event type for End of Document. -
Value is 4. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SE_WC

-
-public static final byte ITEM_SE_WC
-
-
Wildcard event type for an element. OpenEXI will first attempt - to find a corresponding element name in the schema, if present. If - no definition is available, it is given this tag. -
Value is 5. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SC

-
-public static final byte ITEM_SC
-
-
Self-contained items are not supported in this release of OpenEXI. - Event type for self-contained item. -
Value is 6. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_NS

-
-public static final byte ITEM_NS
-
-
Event type for a Namespace declaration.
-
Value is 7. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_AT_WC_ANY_UNTYPED

-
-public static final byte ITEM_AT_WC_ANY_UNTYPED
-
-
Wildcard event type for an Attribute where the attribute's defined - datatype (if any) is disregarded. - This is the "catch-all" for Attributes that do not match any of the - other Event Types in an EXI stream processed using Default options. -
Value is 8. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_EE

-
-public static final byte ITEM_EE
-
-
Event type for End of Element. -
Value is 9. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_DTD

-
-public static final byte ITEM_DTD
-
-
Event type for a Document Type Definition. -
Value is 10. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SE

-
-public static final byte ITEM_SE
-
-
Event type for Start Element. -
Value is 11. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_AT

-
-public static final byte ITEM_AT
-
-
Event type for an Attribute learned by built-in element grammars - from prior attribute occurrences. -
Value is 12. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SD

-
-public static final byte ITEM_SD
-
-
Event type for Start Document. -
Value is 13. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_WC_ANY

-
-public static final byte ITEM_SCHEMA_WC_ANY
-
-
Attribute wildcard event type stemming from a schema where the - attribute's defined datatype (if any) is applied. -
Value is 14. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_WC_NS

-
-public static final byte ITEM_SCHEMA_WC_NS
-
-
Event type for an element defined in a namespace in an EXI stream - processed using a schema. -
Value is 15. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_AT

-
-public static final byte ITEM_SCHEMA_AT
-
-
Event type for AttributeUse that matches an attribute event with - a valid value. -
Value is 16. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_AT_WC_ANY

-
-public static final byte ITEM_SCHEMA_AT_WC_ANY
-
-
Attribute wildcard event type stemming from a schema, where the attribute's - defined datatype (if any) is applied. -
Value is 17. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_AT_WC_NS

-
-public static final byte ITEM_SCHEMA_AT_WC_NS
-
-
Attribute wildcard event type, qualified with a specific namespace, stemming - from a schema where the attribute's defined datatype (if any) is applied. -
Value is 18. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_CH

-
-public static final byte ITEM_SCHEMA_CH
-
-
Event type for a defined Character event in an EXI stream processed - using a schema. -
Value is 19. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_CH_MIXED

-
-public static final byte ITEM_SCHEMA_CH_MIXED
-
-
Event type for a Character event that occurs in the context of an element - defined so as to permit mixed content (mark up and data) in an EXI - stream processed using a schema. -
Value is 20. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_NIL

-
-public static final byte ITEM_SCHEMA_NIL
-
-
Special Attribute that indicates the value of the associated element is - explicitly nil rather than an empty string. -
Value is 21. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_TYPE

-
-public static final byte ITEM_SCHEMA_TYPE
-
-
Special Attribute that describes a data type for the associated - element. For example, the schema might define a String value, but - the XML document being processed can declare that the element contains a - date-time field. -
Value is 22. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_AT_INVALID_VALUE

-
-public static final byte ITEM_SCHEMA_AT_INVALID_VALUE
-
-
Event type for AttributeUse that matches an attribute event with an - invalid value. -
Value is 23. -

-

-
See Also:
Constant Field Values
-
-
- -

-uri

-
-public final java.lang.String uri
-
-
URI of event type definition. -

-

-
-
-
- -

-name

-
-public final java.lang.String name
-
-
Local name of event type definition. -

-

-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/GrammarOptions.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/GrammarOptions.html deleted file mode 100644 index 7ea6e13a8c..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/GrammarOptions.html +++ /dev/null @@ -1,528 +0,0 @@ - - - - - - - -GrammarOptions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class GrammarOptions

-
-java.lang.Object
-  extended by org.openexi.proc.common.GrammarOptions
-
-
-
-
public final class GrammarOptions
extends java.lang.Object
- - -

-GrammarOptions computes a short integer that represents settings in the EXI Grammar settings - that determine how an EXI file will be encoded or decoded. -

- Values are set using binary switch values (represented as short integers). -

- If no options have been set, the value is 0 (this is an temporary internal - value, rather than a valid setting). -

- If an XSD is available, and the file to be processed is 100% compatible with the XSD, choosing - STRICT_OPTIONS (1) provides the best performance. No other options can be set - when files are encoded or decoded in strict mode. -

- The DEFAULT_OPTIONS setting is 2. The following table lists all of the options and their values. -

- - - - - - - - -
ConstantValue
STRICT_OPTIONS1
DEFAULT_OPTIONS2
- ADD_NS4 -
- ADD_SCN/A* -
- ADD_DTD16 -
- ADD_CM32 -
- ADD_PI64 -
*The self-contained option is not supported in this release. -
-

- The value of DEFAULT_OPTIONS is 2. When you pass the options variable to an add[??] method, - the binary switch value is added to the current value of the options variable. - The sum of all additional switches becomes a concise list of the selected options. -

- For example, if you preserve comments and processing instructions, the total is - 98 (2 + 32 + 64). The bitwise options are set correctly, because there is one and only one - combination of options that sums up to 98. -

- If your application uses the same options every time, you can hard code the numeric value - as a short integer and use it to create your GrammarCache. For example: -

- GrammarCache gc = new GrammarCache((EXISchema)null,98);
- 
- Be careful to use the correct numeric value, to avoid unexpected results. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - -
-Field Summary
-static shortDEFAULT_OPTIONS - -
-          Indicates that undeclared elements and attributes will be - processed when the XML stream is encoded and decoded.
-static shortOPTIONS_UNUSED - -
-          OPTIONS_UNUSED is an internal value.
-static shortSTRICT_OPTIONS - -
-          Indicates that undeclared elements and attributes will throw an - exception when the XML stream is encoded and decoded.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
-static shortaddCM(short options) - -
-          Sets Preserve Comments to true.
-static shortaddDTD(short options) - -
-          Sets Preserve Document Type Definition to true.
-static shortaddNS(short options) - -
-          Sets Preserve Namespaces to true.
-static shortaddPI(short options) - -
-          Sets Preserve Processing Instructions to true.
-static booleanhasCM(short options) - -
-          Returns true if Preserve Comments is true.
-static booleanhasDTD(short options) - -
-          Returns true if Preserve Document Type Definition is true.
-static booleanhasNS(short options) - -
-          Returns true if Preserve Namespaces is true.
-static booleanhasPI(short options) - -
-          Returns true if Preserve Processing Instructions is true.
-static booleanisPermitDeviation(short options) - -
-          Returns true if DEFAULT_OPTIONS is set to true.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-OPTIONS_UNUSED

-
-public static final short OPTIONS_UNUSED
-
-
OPTIONS_UNUSED is an internal value. - It indicates that the grammar options value has not yet been set. -

-

-
See Also:
Constant Field Values
-
-
- -

-DEFAULT_OPTIONS

-
-public static final short DEFAULT_OPTIONS
-
-
Indicates that undeclared elements and attributes will be - processed when the XML stream is encoded and decoded. -

-

-
See Also:
Constant Field Values
-
-
- -

-STRICT_OPTIONS

-
-public static final short STRICT_OPTIONS
-
-
Indicates that undeclared elements and attributes will throw an - exception when the XML stream is encoded and decoded. When - STRICT_OPTIONS is set, all other Grammar Options are ignored. -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Method Detail
- -

-isPermitDeviation

-
-public static boolean isPermitDeviation(short options)
-
-
Returns true if DEFAULT_OPTIONS is set to true. -

-

-
-
-
-
- -

-hasNS

-
-public static boolean hasNS(short options)
-
-
Returns true if Preserve Namespaces is true. -

-

-
-
-
-
- -

-hasDTD

-
-public static boolean hasDTD(short options)
-
-
Returns true if Preserve Document Type Definition is true. -

-

-
-
-
-
- -

-hasCM

-
-public static boolean hasCM(short options)
-
-
Returns true if Preserve Comments is true. -

-

-
-
-
-
- -

-hasPI

-
-public static boolean hasPI(short options)
-
-
Returns true if Preserve Processing Instructions is true. -

-

-
-
-
-
- -

-addNS

-
-public static short addNS(short options)
-
-
Sets Preserve Namespaces to true. (Adds 4 to the options value.) -

-

- -
Returns:
the new options short integer value
-
-
-
- -

-addDTD

-
-public static short addDTD(short options)
-
-
Sets Preserve Document Type Definition to true. (Adds 16 to the options value.) -

-

- -
Returns:
the new options short integer value
-
-
-
- -

-addCM

-
-public static short addCM(short options)
-
-
Sets Preserve Comments to true. (Adds 32 to the options value.) -

-

- -
Returns:
the new options short integer value
-
-
-
- -

-addPI

-
-public static short addPI(short options)
-
-
Sets Preserve Processing Instructions to true. (Adds 64 to the options value.) -

-

- -
Returns:
the new options short integer value
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/QName.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/QName.html deleted file mode 100644 index 61485ec734..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/QName.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - -QName - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class QName

-
-java.lang.Object
-  extended by org.openexi.proc.common.QName
-
-
-
-
public final class QName
extends java.lang.Object
- - -

-QName is a pair comprised of a namespace name and a local name - to be used in a Datatype Representation Map (DTRM) definition - to denote an XSD datatype or an EXI datatype representation. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - - -
-Field Summary
- java.lang.StringlocalName - -
-          Local name of the datatype.
- java.lang.StringnamespaceName - -
-          If namespaceName is null, this indicates a failure of - namespace-prefix binding.
-  - - - - - - - - - - - - - -
-Constructor Summary
QName() - -
-           
QName(java.lang.String qname, - java.lang.String uri) - -
-          Creates a QName based on its literal qualified name - (see http://www.w3.org/TR/xml-names/#ns-qualnames - for definition) and namespace name.
-  - - - - - - - - - - - -
-Method Summary
- booleanequals(java.lang.Object obj) - -
-           
- - - - - - - -
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-namespaceName

-
-public java.lang.String namespaceName
-
-
If namespaceName is null, this indicates a failure of - namespace-prefix binding. No namespace binding for the - unprefixed QName is indicated by an empty namespace - name "". -

-

-
-
-
- -

-localName

-
-public java.lang.String localName
-
-
Local name of the datatype. -

-

-
-
- - - - - - - - -
-Constructor Detail
- -

-QName

-
-public QName()
-
-
-
- -

-QName

-
-public QName(java.lang.String qname,
-             java.lang.String uri)
-
-
Creates a QName based on its literal qualified name - (see http://www.w3.org/TR/xml-names/#ns-qualnames - for definition) and namespace name. -

-

-
Parameters:
qname - literal qualified name in its entirety
uri - namespace name (nullable) of the QName
See Also:
http://www.w3.org/TR/xml-names/#ns-qualnames
-
- - - - - - - - -
-Method Detail
- -

-equals

-
-public boolean equals(java.lang.Object obj)
-
-
-
Overrides:
equals in class java.lang.Object
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-frame.html deleted file mode 100644 index fcab6106d9..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-frame.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - -org.openexi.proc.common - - - - - - - - - - - -org.openexi.proc.common - - - - -
-Interfaces  - -
-EventDescription
- - - - - - -
-Classes  - -
-BinaryDataSource -
-EventType -
-EXIOptions -
-GrammarOptions -
-QName
- - - - - - -
-Enums  - -
-AlignmentType
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-summary.html deleted file mode 100644 index c4f3e1c6fe..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-summary.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -org.openexi.proc.common - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.proc.common -

- - - -The common package contains classes, interfaces, and enumerators that define the vocabulary used to describe EXI streams (events, options, alignment, and character string values). -

-See: -
-          Description -

- - - - - - - - - -
-Interface Summary
EventDescriptionEventDescription provides accessors to the current EXI event data - during the decode process.
-  - -

- - - - - - - - - - - - - - - - - - - - - - - - - -
-Class Summary
BinaryDataSource 
EventTypeEventType denotes terminal symbols of grammar productions - defined in the EXI 1.0 specification.
EXIOptionsEXIOptions provides accessors for values associated with - EXI options in the EXI header of an EXI stream.
GrammarOptionsGrammarOptions computes a short integer that represents settings in the EXI Grammar settings - that determine how an EXI file will be encoded or decoded.
QNameQName is a pair comprised of a namespace name and a local name - to be used in a Datatype Representation Map (DTRM) definition - to denote an XSD datatype or an EXI datatype representation.
-  - -

- - - - - - - - - -
-Enum Summary
AlignmentTypeAlignmentType represents one of the following bit alignment - styles so as to provide an extra degree of control over the - way information is stored in EXI format.
-  - -

-

-Package org.openexi.proc.common Description -

- -

- - - - - -
-

The common package contains classes, interfaces, and enumerators that define the vocabulary used to describe EXI streams (events, options, alignment, and character string values). -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-tree.html deleted file mode 100644 index 778ae7c56b..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-tree.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -org.openexi.proc.common Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.proc.common -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -

-Enum Hierarchy -

-
    -
  • java.lang.Object
      -
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) - -
    -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/GrammarCache.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/GrammarCache.html deleted file mode 100644 index 55b03fa67b..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/GrammarCache.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - -GrammarCache - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.grammars -
-Class GrammarCache

-
-java.lang.Object
-  extended by org.openexi.proc.grammars.GrammarCache
-
-
-
All Implemented Interfaces:
org.openexi.proc.common.IGrammarCache
-
-
-
-
public final class GrammarCache
extends java.lang.Object
implements org.openexi.proc.common.IGrammarCache
- - -

-A GrammarCache object represents a set of EXI grammars used - for processing EXI streams using specific grammar options. - The GrammarCache is passed as an argument to - the EXIReader and Transmogrifier prior to processing an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Field Summary
- shortgrammarOptions - -
-          Short integer that encapsulates GrammarOptions - for the EXI stream.
-  - - - - - - - - - - - - - - - - -
-Constructor Summary
GrammarCache(EXISchema schema) - -
-          Creates an instance of GrammarCache informed by a schema with default - grammar options.
GrammarCache(EXISchema schema, - short grammarOptions) - -
-          Creates an instance of GrammarCache informed by a schema with the - specified grammar options.
GrammarCache(short grammarOptions) - -
-          Creates an instance of GrammarCache with the specified grammar options.
-  - - - - - - - - - - - -
-Method Summary
- EXISchemagetEXISchema() - -
-          Gets the compiled EXI Schema.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- - - - - - - -
Methods inherited from interface org.openexi.proc.common.IGrammarCache
getElementGrammarUse
-  -

- - - - - - - - -
-Field Detail
- -

-grammarOptions

-
-public final short grammarOptions
-
-
Short integer that encapsulates GrammarOptions - for the EXI stream. -

-

-
-
- - - - - - - - -
-Constructor Detail
- -

-GrammarCache

-
-public GrammarCache(EXISchema schema)
-
-
Creates an instance of GrammarCache informed by a schema with default - grammar options. -

-

-
Parameters:
EXISchema - compiled schema
-
-
- -

-GrammarCache

-
-public GrammarCache(short grammarOptions)
-
-
Creates an instance of GrammarCache with the specified grammar options. -

-

-
Parameters:
grammarOptions - integer value that represents a grammar option configuration
-
-
- -

-GrammarCache

-
-public GrammarCache(EXISchema schema,
-                    short grammarOptions)
-
-
Creates an instance of GrammarCache informed by a schema with the - specified grammar options. -

-

-
Parameters:
EXISchema - compiled schema
grammarOptions - integer value that represents a grammar option configuration
-
- - - - - - - - -
-Method Detail
- -

-getEXISchema

-
-public EXISchema getEXISchema()
-
-
Gets the compiled EXI Schema. -

-

-
Specified by:
getEXISchema in interface org.openexi.proc.common.IGrammarCache
-
-
- -
Returns:
an EXI schema.
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-frame.html deleted file mode 100644 index 5eb44a3df0..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-frame.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - -org.openexi.proc.grammars - - - - - - - - - - - -org.openexi.proc.grammars - - - - -
-Classes  - -
-GrammarCache
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-summary.html deleted file mode 100644 index 3ae5291fc4..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-summary.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -org.openexi.proc.grammars - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.proc.grammars -

- - - -The grammars package contains the GrammarCache, which combines an XML Schema Definition with EXI grammar options to create an EXI Schema. -

-See: -
-          Description -

- - - - - - - - - -
-Class Summary
GrammarCacheA GrammarCache object represents a set of EXI grammars used - for processing EXI streams using specific grammar options.
-  - -

-

-Package org.openexi.proc.grammars Description -

- -

- - - - - -
-

The grammars package contains the GrammarCache, which combines an XML Schema Definition with EXI grammar options to create an EXI Schema. -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-tree.html deleted file mode 100644 index 542514937f..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-tree.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -org.openexi.proc.grammars Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.proc.grammars -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

-
    -
  • java.lang.Object
      -
    • org.openexi.proc.grammars.GrammarCache (implements org.openexi.proc.common.IGrammarCache) -
    -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/BinaryDataSink.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/BinaryDataSink.html deleted file mode 100644 index 0f9e531c25..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/BinaryDataSink.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - -BinaryDataSink - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.io -
-Interface BinaryDataSink

-
-
-
public interface BinaryDataSink
- - -

-BinaryDataSink represents a sink that accepts successive chunks of binary data. -

- -

-

- -
-
- -

- -

- -


- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/CharacterBuffer.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/CharacterBuffer.html deleted file mode 100644 index 7b7e75e920..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/CharacterBuffer.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - -CharacterBuffer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.io -
-Class CharacterBuffer

-
-java.lang.Object
-  extended by org.openexi.proc.io.CharacterBuffer
-
-
-
-
public final class CharacterBuffer
extends java.lang.Object
- - -

-

- -
-
- -

- - - - - - - - - - - -
-Field Summary
-static intBUFSIZE_DEFAULT - -
-           
-  - - - - - - - - - - -
-Constructor Summary
CharacterBuffer(int bufSize) - -
-           
-  - - - - - - - -
-Method Summary
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-BUFSIZE_DEFAULT

-
-public static final int BUFSIZE_DEFAULT
-
-
-
See Also:
Constant Field Values
-
- - - - - - - - -
-Constructor Detail
- -

-CharacterBuffer

-
-public CharacterBuffer(int bufSize)
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/Scanner.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/Scanner.html deleted file mode 100644 index 82b51284e6..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/Scanner.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - -Scanner - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.io -
-Class Scanner

-
-java.lang.Object
-  extended by org.openexi.proc.grammars.Apparatus
-      extended by org.openexi.proc.io.Scanner
-
-
-
-
public abstract class Scanner
extends org.openexi.proc.grammars.Apparatus
- - -

-The Scanner class provides methods for scanning events - in the body of an EXI stream. -

- -

-

- -
-
- -

- - - - - - - -
-Field Summary
- - - - - - - -
Fields inherited from class org.openexi.proc.grammars.Apparatus
CODEC_BASE64BINARY, CODEC_BOOLEAN, CODEC_DATE, CODEC_DATETIME, CODEC_DECIMAL, CODEC_DOUBLE, CODEC_ENUMERATION, CODEC_GDAY, CODEC_GMONTH, CODEC_GMONTHDAY, CODEC_GYEAR, CODEC_GYEARMONTH, CODEC_HEXBINARY, CODEC_INTEGER, CODEC_LEXICAL, CODEC_LIST, CODEC_STRING, CODEC_TIME, currentState, eventTypesWorkSpace, schema, stringTable
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voidcloseInputStream() - -
-          Close the input stream.
- EXIOptionsgetHeaderOptions() - -
-          Returns the EXI Header options from the header of the - EXI stream, if present.
-abstract  EventDescriptionnextEvent() - -
-          Gets the next event from the EXI stream.
-abstract  voidsetBinaryChunkSize(int chunkSize) - -
-          Binary values are read in chunks of the specified size when the - use of binary data is enabled.
- voidsetSchema(EXISchema schema, - QName[] dtrm, - int n_bindings) - -
-           
- - - - - - - -
Methods inherited from class org.openexi.proc.grammars.Apparatus
attribute, characters, endDocument, endElement, getAlignmentType, getNextEventCodes, getNextEventTypes, getPreserveLexicalValues, miscContent, nillify, reset, setPreserveLexicalValues, setStringTable, startDocument, startElement, startWildcardElement, undeclaredCharacters, wildcardAttribute, xsitp
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Method Detail
- -

-setSchema

-
-public void setSchema(EXISchema schema,
-                      QName[] dtrm,
-                      int n_bindings)
-
-
-
Overrides:
setSchema in class org.openexi.proc.grammars.Apparatus
-
-
-
-
-
-
- -

-nextEvent

-
-public abstract EventDescription nextEvent()
-                                    throws java.io.IOException
-
-
Gets the next event from the EXI stream. -

-

- -
Returns:
EXIEvent -
Throws: -
java.io.IOException
-
-
-
- -

-closeInputStream

-
-public void closeInputStream()
-                      throws java.io.IOException
-
-
Close the input stream. -

-

- -
Throws: -
java.io.IOException
-
-
-
- -

-getHeaderOptions

-
-public final EXIOptions getHeaderOptions()
-
-
Returns the EXI Header options from the header of the - EXI stream, if present. Otherwise, returns null. -

-

- -
Returns:
EXIOptions or null if no header options are set.
-
-
-
- -

-setBinaryChunkSize

-
-public abstract void setBinaryChunkSize(int chunkSize)
-
-
Binary values are read in chunks of the specified size when the - use of binary data is enabled. -

-

-
Parameters:
chunkSize -
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-frame.html deleted file mode 100644 index fe7bf70760..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-frame.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - -org.openexi.proc.io - - - - - - - - - - - -org.openexi.proc.io - - - - -
-Interfaces  - -
-BinaryDataSink
- - - - - - -
-Classes  - -
-CharacterBuffer -
-Scanner
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-summary.html deleted file mode 100644 index 42831b8609..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-summary.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -org.openexi.proc.io - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.proc.io -

- - - -The IO package contains the Scanner, which is used by EXIDecoder to read and interpret EXI streams. -

-See: -
-          Description -

- - - - - - - - - -
-Interface Summary
BinaryDataSinkBinaryDataSink represents a sink that accepts successive chunks of binary data.
-  - -

- - - - - - - - - - - - - -
-Class Summary
CharacterBuffer 
ScannerThe Scanner class provides methods for scanning events - in the body of an EXI stream.
-  - -

-

-Package org.openexi.proc.io Description -

- -

- - - - - -
-

The IO package contains the Scanner, which is used by EXIDecoder to read and interpret EXI streams. -

-

-The IO package also contains the non-public Scriber class, which is used by the Transmogrifier to encode EXI streams (which is why this is called the IO package). Scriber settings are fully implemented in the Transmogrifier. -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-tree.html deleted file mode 100644 index b0cbe124ae..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-tree.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -org.openexi.proc.io Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.proc.io -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

-
    -
  • java.lang.Object -
-

-Interface Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-frame.html deleted file mode 100644 index 31406d379f..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-frame.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - -org.openexi.proc - - - - - - - - - - - -org.openexi.proc - - - - -
-Interfaces  - -
-EXISchemaResolver
- - - - - - -
-Classes  - -
-EXIDecoder
- - - - - - -
-Enums  - -
-HeaderOptionsOutputType
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-summary.html deleted file mode 100644 index 957e54a056..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-summary.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - -org.openexi.proc - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.proc -

- - - -The Proc (Processor) package contains the EXIDecoder, which is used to convert EXI streams to XML format. -

-See: -
-          Description -

- - - - - - - - - -
-Interface Summary
EXISchemaResolverDevelopers have the option of implementing the EXISchemaResolver interface - to help EXIReader and EXIDecoder locate the correct grammar cache for parsing - an EXI stream.
-  - -

- - - - - - - - - -
-Class Summary
EXIDecoderEXIDecoder provides methods to configure and - instantiate a Scanner object - you can use to parse the contents of an EXI stream.
-  - -

- - - - - - - - - -
-Enum Summary
HeaderOptionsOutputTypeThis enumeration provides three possible settings for header options output.
-  - -

-

-Package org.openexi.proc Description -

- -

- - - - - -
-

The Proc (Processor) package contains the EXIDecoder, which is used to convert EXI streams to XML format. -EXIDecoder uses the org.openexi.proc.io.Scanner to parse EXI streams into a sequence of XML events. org.openexi.sax.EXIReader wraps EXIDecoder to provide a SAX interface for accessing the XML content. -

-

-The EXISchemaResolver interface can be implemented and used to add a hint in the EXI header to help EXIDecoder locate the EXISchema. -

-

The HeaderOptionsOutputType enumerator is used to set the header output options in the Transmogrifier.

- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-tree.html deleted file mode 100644 index 3bf180e361..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-tree.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - -org.openexi.proc Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.proc -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -

-Enum Hierarchy -

-
    -
  • java.lang.Object
      -
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) - -
    -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/BinaryDataHandler.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/BinaryDataHandler.html deleted file mode 100644 index b73a833559..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/BinaryDataHandler.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - -BinaryDataHandler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Interface BinaryDataHandler

-
-
All Known Subinterfaces:
SAXTransmogrifier
-
-
-
-
public interface BinaryDataHandler
- - -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voidbinaryData(byte[] byteArray, - int offset, - int length, - BinaryDataSink binaryDataSink) - -
-          Writes a binary value where the schema expects a binary value.
- voidendBinaryData(BinaryDataSink binaryDataSink) - -
-          Mark the end of a binary value.
- BinaryDataSinkstartBinaryData(long totalSize) - -
-          Mark the start of a binary value.
-  -

- - - - - - - - -
-Method Detail
- -

-startBinaryData

-
-BinaryDataSink startBinaryData(long totalSize)
-                               throws org.xml.sax.SAXException
-
-
Mark the start of a binary value. -

-

- -
Throws: -
org.xml.sax.SAXException
-
-
-
- -

-binaryData

-
-void binaryData(byte[] byteArray,
-                int offset,
-                int length,
-                BinaryDataSink binaryDataSink)
-                throws org.xml.sax.SAXException
-
-
Writes a binary value where the schema expects a binary value. -

-

- -
Throws: -
org.xml.sax.SAXException
-
-
-
- -

-endBinaryData

-
-void endBinaryData(BinaryDataSink binaryDataSink)
-                   throws org.xml.sax.SAXException
-
-
Mark the end of a binary value. -

-

- -
Throws: -
org.xml.sax.SAXException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/EXIReader.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/EXIReader.html deleted file mode 100644 index 228aa7506e..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/EXIReader.html +++ /dev/null @@ -1,645 +0,0 @@ - - - - - - - -EXIReader - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Class EXIReader

-
-java.lang.Object
-  extended by org.openexi.sax.ReaderSupport
-      extended by org.openexi.sax.EXIReader
-
-
-
All Implemented Interfaces:
org.xml.sax.Attributes, org.xml.sax.XMLReader
-
-
-
-
public final class EXIReader
extends ReaderSupport
implements org.xml.sax.XMLReader
- - -

-EXIReader implements the SAX XMLReader to provide a convenient and - familiar interface for decoding an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Constructor Summary
EXIReader() - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- booleangetFeature(java.lang.String name) - -
-          Get features for the SAX parser.
- java.lang.ObjectgetProperty(java.lang.String name) - -
-          Use to retrieve the name of the lexical handler, currently the only - property recognized by this class.
- voidsetAlignmentType(AlignmentType alignmentType) - -
-          Set the bit alignment style used to compile the EXI input stream.
- voidsetBlockSize(int blockSize) - -
-          Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream.
- voidsetDatatypeRepresentationMap(QName[] dtrm, - int n_bindings) - -
-          Set a datatype representation map.
- voidsetEXISchemaResolver(EXISchemaResolver schemaResolver) - -
-          Set the EXISchemaResolver to retrieve the schema needed to decode the - current EXI stream.
- voidsetFeature(java.lang.String name, - boolean value) - -
-          Set features for the SAX parser.
- voidsetFragment(boolean isFragment) - -
-          Set to true if the EXI input stream is an XML fragment (a non-compliant - XML document with multiple root elements).
- voidsetLexicalHandler(org.xml.sax.ext.LexicalHandler lexicalHandler) - -
-          Set a SAX lexical handler to receive SAX lexical events.
- voidsetPreserveLexicalValues(boolean preserveLexicalValues) - -
-          Set to true if the EXI input stream was compiled with the Preserve Lexical - Values set to true.
- voidsetProperty(java.lang.String name, - java.lang.Object value) - -
-          This method wraps the friendlier setLexicalHandler method to provide - syntax familiar to experienced SAX programmers.
- voidsetValueMaxLength(int valueMaxLength) - -
-          Set the maximum length of a string that will be stored for reuse in the - String Table.
- voidsetValuePartitionCapacity(int valuePartitionCapacity) - -
-          Set the maximum number of values in the String Table.
- - - - - - - -
Methods inherited from class org.openexi.sax.ReaderSupport
getContentHandler, setContentHandler, setGrammarCache
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- - - - - - - -
Methods inherited from interface org.xml.sax.XMLReader
getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, parse, parse, setContentHandler, setDTDHandler, setEntityResolver, setErrorHandler
- - - - - - - -
Methods inherited from interface org.xml.sax.Attributes
getIndex, getIndex, getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue
-  -

- - - - - - - - -
-Constructor Detail
- -

-EXIReader

-
-public EXIReader()
-
-
- - - - - - - - -
-Method Detail
- -

-setProperty

-
-public final void setProperty(java.lang.String name,
-                              java.lang.Object value)
-                       throws org.xml.sax.SAXNotRecognizedException
-
-
This method wraps the friendlier setLexicalHandler method to provide - syntax familiar to experienced SAX programmers. The only property - supported is:
http://xml.org/sax/properties/lexical-handler
-

-

-
Specified by:
setProperty in interface org.xml.sax.XMLReader
-
-
-
Parameters:
name - must equal "http://xml.org/sax/properties/lexical-handler"
value - an org.xml.sax.ext.LexicalHandler object -
Throws: -
org.xml.sax.SAXNotRecognizedException
-
-
-
- -

-getProperty

-
-public final java.lang.Object getProperty(java.lang.String name)
-                                   throws org.xml.sax.SAXNotRecognizedException
-
-
Use to retrieve the name of the lexical handler, currently the only - property recognized by this class. Pass the String - "http://xml.org/sax/properties/lexical-handler" as the name. -

-

-
Specified by:
getProperty in interface org.xml.sax.XMLReader
-
-
- -
Returns:
String name of the lexical handler -
Throws: -
org.xml.sax.SAXNotRecognizedException
-
-
-
- -

-setFeature

-
-public final void setFeature(java.lang.String name,
-                             boolean value)
-                      throws org.xml.sax.SAXNotRecognizedException,
-                             org.xml.sax.SAXNotSupportedException
-
-
Set features for the SAX parser. The only supported arguments are
- EXIReader.setFeature("http://xml.org/sax/features/namespaces", true);
and
- EXIReader.setFeature("http://xml.org/sax/features/namespace-prefixes", false);
-

-

-
Specified by:
setFeature in interface org.xml.sax.XMLReader
-
-
- -
Throws: -
org.xml.sax.SAXNotRecognizedException -
org.xml.sax.SAXNotSupportedException
-
-
-
- -

-getFeature

-
-public final boolean getFeature(java.lang.String name)
-                         throws org.xml.sax.SAXNotRecognizedException
-
-
Get features for the SAX parser. -

-

-
Specified by:
getFeature in interface org.xml.sax.XMLReader
-
-
- -
Returns:
true if the feature is "http://xml.org/sax/features/namespaces" - and false if the feature is "http://xml.org/sax/features/namespace-prefixes" -
Throws: -
org.xml.sax.SAXNotRecognizedException
-
-
-
- -

-setAlignmentType

-
-public final void setAlignmentType(AlignmentType alignmentType)
-                            throws org.openexi.proc.common.EXIOptionsException
-
-
Set the bit alignment style used to compile the EXI input stream. -

-

-
-
-
-
Parameters:
alignmentType - AlignmentType -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setFragment

-
-public final void setFragment(boolean isFragment)
-
-
Set to true if the EXI input stream is an XML fragment (a non-compliant - XML document with multiple root elements). -

-

-
-
-
-
Parameters:
isFragment - true if the EXI input stream is an XML fragment.
-
-
-
- -

-setPreserveLexicalValues

-
-public final void setPreserveLexicalValues(boolean preserveLexicalValues)
-                                    throws org.openexi.proc.common.EXIOptionsException
-
-
Set to true if the EXI input stream was compiled with the Preserve Lexical - Values set to true. The original strings, rather than logical XML - equivalents, are restored in the XML output stream. -

-

-
-
-
-
Parameters:
preserveLexicalValues - set to true if the EXI input stream was compiled with - Preserve Lexical Values set to true. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setEXISchemaResolver

-
-public final void setEXISchemaResolver(EXISchemaResolver schemaResolver)
-
-
Set the EXISchemaResolver to retrieve the schema needed to decode the - current EXI stream. -

-

-
-
-
-
Parameters:
schemaResolver - EXISchemaResolver
-
-
-
- -

-setDatatypeRepresentationMap

-
-public final void setDatatypeRepresentationMap(QName[] dtrm,
-                                               int n_bindings)
-                                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set a datatype representation map. -

-

-
-
-
-
Parameters:
dtrm - a sequence of pairs of datatype qname and datatype representation qname
n_bindings - the number of qname pairs -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setBlockSize

-
-public final void setBlockSize(int blockSize)
-                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream. Reducing the block size - can improve performance for devices with limited dynamic memory. - Default is 1,000,000 items (not 1MB, but 1,000,000 complete Attribute - and Element values). Block size is only used when the EXI stream is - encoded with EXI-compression. -

-

-
-
-
-
Parameters:
blockSize - number of values in each processing block. Default is 1,000,000. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setValueMaxLength

-
-public final void setValueMaxLength(int valueMaxLength)
-
-
Set the maximum length of a string that will be stored for reuse in the - String Table. By default, there is no maximum length. However, in data - sets that have long, unique strings of information, you can improve - performance by limiting the size to the length of strings that are more - likely to appear more than once. -

-

-
-
-
-
Parameters:
valueMaxLength - maximum length of entries in the String Table.
-
-
-
- -

-setValuePartitionCapacity

-
-public final void setValuePartitionCapacity(int valuePartitionCapacity)
-
-
Set the maximum number of values in the String Table. By default, there - is no limit. If the target device has limited dynamic memory, limiting - the number of entries in the String Table can improve performance and - reduce the likelihood that you will exceed memory capacity. -

-

-
-
-
-
Parameters:
valuePartitionCapacity - maximum number of entries in the String Table
-
-
-
- -

-setLexicalHandler

-
-public void setLexicalHandler(org.xml.sax.ext.LexicalHandler lexicalHandler)
-
-
Set a SAX lexical handler to receive SAX lexical events. -

-

-
-
-
-
Parameters:
lexicalHandler - SAX lexical handler
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/ReaderSupport.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/ReaderSupport.html deleted file mode 100644 index 7d392bb5b6..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/ReaderSupport.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - -ReaderSupport - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Class ReaderSupport

-
-java.lang.Object
-  extended by org.openexi.sax.ReaderSupport
-
-
-
All Implemented Interfaces:
org.xml.sax.Attributes
-
-
-
Direct Known Subclasses:
EXIReader
-
-
-
-
public abstract class ReaderSupport
extends java.lang.Object
implements org.xml.sax.Attributes
- - -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - -
-Method Summary
- org.xml.sax.ContentHandlergetContentHandler() - -
-          Get the SAX content handler currently in use.
- voidsetContentHandler(org.xml.sax.ContentHandler contentHandler) - -
-          Set a SAX content handler to receive SAX events.
- voidsetGrammarCache(GrammarCache grammarCache) - -
-          Set the GrammarCache used in parsing EXI streams.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- - - - - - - -
Methods inherited from interface org.xml.sax.Attributes
getIndex, getIndex, getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue
-  -

- - - - - - - - -
-Method Detail
- -

-setContentHandler

-
-public final void setContentHandler(org.xml.sax.ContentHandler contentHandler)
-
-
Set a SAX content handler to receive SAX events. -

-

-
-
-
-
Parameters:
contentHandler - SAX content handler
-
-
-
- -

-getContentHandler

-
-public final org.xml.sax.ContentHandler getContentHandler()
-
-
Get the SAX content handler currently in use. -

-

-
-
-
- -
Returns:
ContentHandler SAX content handler.
-
-
-
- -

-setGrammarCache

-
-public void setGrammarCache(GrammarCache grammarCache)
-                     throws org.openexi.proc.common.EXIOptionsException
-
-
Set the GrammarCache used in parsing EXI streams. -

-

-
-
-
-
Parameters:
grammarCache - GrammarCache -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/SAXTransmogrifier.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/SAXTransmogrifier.html deleted file mode 100644 index 15e2e7d77f..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/SAXTransmogrifier.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - -SAXTransmogrifier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Interface SAXTransmogrifier

-
-
All Superinterfaces:
BinaryDataHandler, org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler
-
-
-
-
public interface SAXTransmogrifier
extends org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, BinaryDataHandler
- - -

-Applications can directly feed SAX events into a transmogrifier through SAXTransmogrifier. -

- -

-

- -
-
- -

- - - - - - - - - - - - -
-Method Summary
- GrammarCachegetGrammarCache() - -
-          Returns the GrammarCache that is in use by this SAXTransmogrifier.
- - - - - - - -
Methods inherited from interface org.xml.sax.ContentHandler
characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping
- - - - - - - -
Methods inherited from interface org.xml.sax.ext.LexicalHandler
comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity
- - - - - - - -
Methods inherited from interface org.openexi.sax.BinaryDataHandler
binaryData, endBinaryData, startBinaryData
-  -

- - - - - - - - -
-Method Detail
- -

-getGrammarCache

-
-GrammarCache getGrammarCache()
-
-
Returns the GrammarCache that is in use by this SAXTransmogrifier. -

-

-
-
-
- -
Returns:
a GrammarCache
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/Transmogrifier.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/Transmogrifier.html deleted file mode 100644 index b857aab51c..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/Transmogrifier.html +++ /dev/null @@ -1,735 +0,0 @@ - - - - - - - -Transmogrifier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Class Transmogrifier

-
-java.lang.Object
-  extended by org.openexi.sax.Transmogrifier
-
-
-
-
public final class Transmogrifier
extends java.lang.Object
- - -

-The Transmogrifier converts an XML stream to an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - -
-Constructor Summary
Transmogrifier() - -
-          Create an instance of the Transmogrifier with a default SAX parser.
Transmogrifier(javax.xml.parsers.SAXParserFactory saxParserFactory) - -
-          Create an instance of the Transmogrifier, specifying the SAXParserFactory - from which to create the SAX parser.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voidencode(org.xml.sax.InputSource is) - -
-          Parses XML input source and converts it to an EXI stream.
- GrammarCachegetGrammarCache() - -
-          Returns the GrammarCache that was previously set.
- SAXTransmogrifiergetSAXTransmogrifier() - -
-          Returns the SAXTransmogrifier, which implements both the ContentHandler - and LexicalHandler.
- voidsetAlignmentType(AlignmentType alignmentType) - -
-          Set the bit alignment style for the encoded EXI stream.
- voidsetBlockSize(int blockSize) - -
-          Set the size, in number of values, of the information that will be - processed as a chunk of the entire XML stream.
- voidsetDatatypeRepresentationMap(QName[] dtrm, - int n_bindings) - -
-          Set a datatype representation map (DTRM).
- voidsetEntityResolver(org.xml.sax.EntityResolver entityResolver) - -
-          Set an external SAX entity resolver.
- voidsetFragment(boolean isFragment) - -
-          Set to true if the XML input stream is an XML fragment (a non-compliant - XML document with multiple root elements).
- voidsetGrammarCache(GrammarCache grammarCache) - -
-          Set the GrammarCache used in transmogrifying XML data to EXI.
- voidsetGrammarCache(GrammarCache grammarCache, - org.openexi.proc.common.SchemaId schemaId) - -
-          Set the GrammarCache to be used in encoding XML streams into EXI streams - by the transmogrifier.
- voidsetOutputCookie(boolean outputCookie) - -
-          Tells the encoder whether to or not to start the stream by - adding an EXI cookie.
- voidsetOutputOptions(HeaderOptionsOutputType outputOptions) - -
-          Set the header output options.
- voidsetOutputStream(java.io.OutputStream ostream) - -
-          Set an output stream to which encoded streams are written.
- voidsetPreserveLexicalValues(boolean preserveLexicalValues) - -
-          Set to true to preserve the original string values from the XML - stream.
- voidsetPreserveWhitespaces(boolean preserveWhitespaces) - -
-          Set to true to preserve whitespace (for example, spaces, tabs, and - line breaks) in the encoded EXI stream.
- voidsetResolveExternalGeneralEntities(boolean resolveExternalGeneralEntities) - -
-          Change the way a Transmogrifier handles external general entities.
- voidsetValueMaxLength(int valueMaxLength) - -
-          Set the maximum length of a string that will be stored for reuse in the - String Table.
- voidsetValuePartitionCapacity(int valuePartitionCapacity) - -
-          Set the maximum number of values in the String Table.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-Transmogrifier

-
-public Transmogrifier()
-               throws org.openexi.sax.TransmogrifierRuntimeException
-
-
Create an instance of the Transmogrifier with a default SAX parser. -

-

- -
Throws: -
TransmogrifierException -
org.openexi.sax.TransmogrifierRuntimeException
-
-
- -

-Transmogrifier

-
-public Transmogrifier(javax.xml.parsers.SAXParserFactory saxParserFactory)
-               throws org.openexi.sax.TransmogrifierRuntimeException
-
-
Create an instance of the Transmogrifier, specifying the SAXParserFactory - from which to create the SAX parser. -

-

-
Parameters:
saxParserFactory - -
Throws: -
TransmogrifierException -
org.openexi.sax.TransmogrifierRuntimeException
-
- - - - - - - - -
-Method Detail
- -

-setResolveExternalGeneralEntities

-
-public void setResolveExternalGeneralEntities(boolean resolveExternalGeneralEntities)
-                                       throws TransmogrifierException
-
-
Change the way a Transmogrifier handles external general entities. When the value - of resolveExternalGeneralEntities is set to true, a Transmogrifier will try to - resolve external general entities. Otherwise, external general entities will not - be resolved. -

-

-
Parameters:
resolveExternalGeneralEntities - -
Throws: -
TransmogrifierException - Thrown when the underlying XMLReader does not - support the specified behavior.
-
-
-
- -

-setOutputStream

-
-public final void setOutputStream(java.io.OutputStream ostream)
-
-
Set an output stream to which encoded streams are written. -

-

-
Parameters:
ostream - output stream
-
-
-
- -

-setAlignmentType

-
-public final void setAlignmentType(AlignmentType alignmentType)
-                            throws org.openexi.proc.common.EXIOptionsException
-
-
Set the bit alignment style for the encoded EXI stream. -

-

-
Parameters:
alignmentType - AlignmentType. - Default is bit-packed. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setFragment

-
-public final void setFragment(boolean isFragment)
-
-
Set to true if the XML input stream is an XML fragment (a non-compliant - XML document with multiple root elements). -

-

-
Parameters:
isFragment - true if the XML input stream is an XML fragment.
-
-
-
- -

-setBlockSize

-
-public final void setBlockSize(int blockSize)
-                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set the size, in number of values, of the information that will be - processed as a chunk of the entire XML stream. Reducing the block size - can improve performance for devices with limited dynamic memory. - Default is 1,000,000 items (not 1MB, but 1,000,000 complete Attribute - and Element values). Block size is only used when the EXI stream is - encoded with EXI-compression. -

-

-
Parameters:
blockSize - number of values in each processing block. Default is 1,000,000. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setValueMaxLength

-
-public final void setValueMaxLength(int valueMaxLength)
-
-
Set the maximum length of a string that will be stored for reuse in the - String Table. By default, there is no maximum length. However, in data - sets that have long, unique strings of information, you can improve - performance by limiting the size to the length of strings that are more - likely to appear more than once. -

-

-
Parameters:
valueMaxLength - maximum length of entries in the String Table.
-
-
-
- -

-setValuePartitionCapacity

-
-public final void setValuePartitionCapacity(int valuePartitionCapacity)
-
-
Set the maximum number of values in the String Table. By default, there - is no limit. If the target device has limited dynamic memory, limiting - the number of entries in the String Table can improve performance and - reduce the likelihood that you will exceed memory capacity. -

-

-
Parameters:
valuePartitionCapacity - maximum number of entries in the String Table
-
-
-
- -

-setPreserveLexicalValues

-
-public final void setPreserveLexicalValues(boolean preserveLexicalValues)
-                                    throws org.openexi.proc.common.EXIOptionsException
-
-
Set to true to preserve the original string values from the XML - stream. For example, a date string might be converted to a different - format when interpreted by the Transmogrifier. Preserving the lexical values - ensures that the identical strings are restored, and not just their - logical values. -

-

-
Parameters:
preserveLexicalValues - true to keep original strings intact -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setGrammarCache

-
-public final void setGrammarCache(GrammarCache grammarCache)
-                           throws org.openexi.proc.common.EXIOptionsException
-
-
Set the GrammarCache used in transmogrifying XML data to EXI. -

-

-
Parameters:
grammarCache - GrammarCache -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setGrammarCache

-
-public final void setGrammarCache(GrammarCache grammarCache,
-                                  org.openexi.proc.common.SchemaId schemaId)
-                           throws org.openexi.proc.common.EXIOptionsException
-
-
Set the GrammarCache to be used in encoding XML streams into EXI streams - by the transmogrifier. - The SchemaId contains the string that is written in the header when - HeaderOptionsOutputType.all is set. -

-

-
Parameters:
grammarCache - GrammarCache
schemaId - -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-getGrammarCache

-
-public final GrammarCache getGrammarCache()
-
-
Returns the GrammarCache that was previously set. -

-

- -
Returns:
a GrammarCache
-
-
-
- -

-setDatatypeRepresentationMap

-
-public final void setDatatypeRepresentationMap(QName[] dtrm,
-                                               int n_bindings)
-                                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set a datatype representation map (DTRM). The DTRM allows you to remap - XMLSchema datatypes to EXI datatypes other than their default equivalents. - The map is created using a sequence of Qualified Name pairs that identify - a datatype definition in the XMLSchema namespace followed by the new - corresponding datatype mapping in the EXI namespace. -

- For example, the following lines map the boolean datatype from XMLSchema - to the integer datatype in EXI. -
-   QName q1 = new QName("xsd:boolean","http://www.w3.org/2001/XMLSchema");
-   QName q2 = new QName("exi:integer","http://www.w3.org/2009/exi");
-   QName[] dtrm = new QName[2];
-   dtrm = {q1, q2}; // Each mapping requires 2 qualified names.
-   transmogrifierInstance.setDatatypeRepresentationMap(dtrm, 1); // The array, and the number of pairs (1).
- 
-

-

-
Parameters:
dtrm - a sequence of pairs of datatype QName and datatype representation QName
n_bindings - the number of QName pairs -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setEntityResolver

-
-public final void setEntityResolver(org.xml.sax.EntityResolver entityResolver)
-
-
Set an external SAX entity resolver. -

-

-
Parameters:
entityResolver - EntityResolver
-
-
-
- -

-setOutputCookie

-
-public final void setOutputCookie(boolean outputCookie)
-
-
Tells the encoder whether to or not to start the stream by - adding an EXI cookie. -

-

-
Parameters:
outputCookie - true to include the EXI cookie
-
-
-
- -

-setOutputOptions

-
-public final void setOutputOptions(HeaderOptionsOutputType outputOptions)
-                            throws org.openexi.proc.common.EXIOptionsException
-
-
Set the header output options. Choices are set using the - HeaderOptionsOutputType enumeration. - Options are all, lessSchemaID (that is, all values - except for the SchemaId), or none. -

-

-
Parameters:
outputOptions - HeaderOptionsOutputType -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setPreserveWhitespaces

-
-public final void setPreserveWhitespaces(boolean preserveWhitespaces)
-
-
Set to true to preserve whitespace (for example, spaces, tabs, and - line breaks) in the encoded EXI stream. By default, non-essential whitespace - is removed from the encoded stream. -

-

-
Parameters:
preserveWhitespaces - true to retain whitespace in the encoded EXI stream
-
-
-
- -

-encode

-
-public void encode(org.xml.sax.InputSource is)
-            throws TransmogrifierException,
-                   java.io.IOException
-
-
Parses XML input source and converts it to an EXI stream. -

-

-
Parameters:
is - XML input source -
Throws: -
TransmogrifierException -
java.io.IOException
-
-
-
- -

-getSAXTransmogrifier

-
-public SAXTransmogrifier getSAXTransmogrifier()
-
-
Returns the SAXTransmogrifier, which implements both the ContentHandler - and LexicalHandler. SAX programmers can connect the SAXTransmogrifier to - their favorite XML Parser to convert SAX events into an EXI stream. -

-

-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/TransmogrifierException.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/TransmogrifierException.html deleted file mode 100644 index 55e1e1feaa..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/TransmogrifierException.html +++ /dev/null @@ -1,566 +0,0 @@ - - - - - - - -TransmogrifierException - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Class TransmogrifierException

-
-java.lang.Object
-  extended by java.lang.Throwable
-      extended by java.lang.Exception
-          extended by org.openexi.sax.TransmogrifierException
-
-
-
All Implemented Interfaces:
java.io.Serializable
-
-
-
-
public final class TransmogrifierException
extends java.lang.Exception
- - -

-Exception handler for the Transmogrifier. -

- -

-

-
See Also:
Serialized Form -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
-static intPREFIX_BOUND_TO_ANOTHER_NAMESPACE - -
-          Prefix is bound to another namespace.
-static intPREFIX_NOT_BOUND - -
-          Prefix is not bound.
-static intSAX_ERROR - -
-          SAX error reported by XML parser.
-static intSCRIBER_ERROR - -
-          Errors reported by Scriber.
-static intUNEXPECTED_ATTR - -
-          Unexpected Attribute.
-static intUNEXPECTED_BINARY_VALUE - -
-          Unexpected Binary value.
-static intUNEXPECTED_CHARS - -
-          Unexpected Character Sequence.
-static intUNEXPECTED_ED - -
-          Unexpected End of Document event.
-static intUNEXPECTED_ELEM - -
-          Unexpected Element.
-static intUNEXPECTED_END_ELEM - -
-          Unexpected End of Element event.
-static intUNEXPECTED_SD - -
-          Unexpected Start of Document event.
-static intUNHANDLED_SAXPARSER_FEATURE - -
-          Unhandled SAX parser feature.
-  - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- intgetCode() - -
-          Returns a code that represents the type of the exception.
- java.lang.ExceptiongetException() - -
-          Returns an Exception object.
- org.xml.sax.LocatorgetLocator() - -
-          Returns the locator that is associated with this compilation error.
- java.lang.StringgetMessage() - -
-          Returns a message that describes the exception.
- - - - - - - -
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-UNEXPECTED_ELEM

-
-public static final int UNEXPECTED_ELEM
-
-
Unexpected Element. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_ATTR

-
-public static final int UNEXPECTED_ATTR
-
-
Unexpected Attribute. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_CHARS

-
-public static final int UNEXPECTED_CHARS
-
-
Unexpected Character Sequence. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_BINARY_VALUE

-
-public static final int UNEXPECTED_BINARY_VALUE
-
-
Unexpected Binary value. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNHANDLED_SAXPARSER_FEATURE

-
-public static final int UNHANDLED_SAXPARSER_FEATURE
-
-
Unhandled SAX parser feature. -

-

-
See Also:
Constant Field Values
-
-
- -

-SAX_ERROR

-
-public static final int SAX_ERROR
-
-
SAX error reported by XML parser. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_END_ELEM

-
-public static final int UNEXPECTED_END_ELEM
-
-
Unexpected End of Element event. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_ED

-
-public static final int UNEXPECTED_ED
-
-
Unexpected End of Document event. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_SD

-
-public static final int UNEXPECTED_SD
-
-
Unexpected Start of Document event. -

-

-
See Also:
Constant Field Values
-
-
- -

-PREFIX_NOT_BOUND

-
-public static final int PREFIX_NOT_BOUND
-
-
Prefix is not bound. -

-

-
See Also:
Constant Field Values
-
-
- -

-PREFIX_BOUND_TO_ANOTHER_NAMESPACE

-
-public static final int PREFIX_BOUND_TO_ANOTHER_NAMESPACE
-
-
Prefix is bound to another namespace. -

-

-
See Also:
Constant Field Values
-
-
- -

-SCRIBER_ERROR

-
-public static final int SCRIBER_ERROR
-
-
Errors reported by Scriber. -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Method Detail
- -

-getCode

-
-public int getCode()
-
-
Returns a code that represents the type of the exception. -

-

- -
Returns:
error code
-
-
-
- -

-getMessage

-
-public java.lang.String getMessage()
-
-
Returns a message that describes the exception. -

-

-
Overrides:
getMessage in class java.lang.Throwable
-
-
- -
Returns:
error message
-
-
-
- -

-getException

-
-public java.lang.Exception getException()
-
-
Returns an Exception object. -

-

- -
Returns:
the error as an Exception instance
-
-
-
- -

-getLocator

-
-public org.xml.sax.Locator getLocator()
-
-
Returns the locator that is associated with this compilation error. -

-

- -
Returns:
a Locator if available, otherwise null
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-frame.html deleted file mode 100644 index 22e45d692b..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-frame.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - -org.openexi.sax - - - - - - - - - - - -org.openexi.sax - - - - -
-Interfaces  - -
-BinaryDataHandler -
-SAXTransmogrifier
- - - - - - -
-Classes  - -
-EXIReader -
-ReaderSupport -
-Transmogrifier
- - - - - - -
-Exceptions  - -
-TransmogrifierException
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-summary.html deleted file mode 100644 index b0e720814c..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-summary.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - -org.openexi.sax - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.sax -

- - - -The SAX package contains the Transmogrifier, which encodes an XML file to an EXI stream, and the EXIReader, which restores an EXI stream to its logical XML equivalent. -

-See: -
-          Description -

- - - - - - - - - - - - - -
-Interface Summary
BinaryDataHandler 
SAXTransmogrifierApplications can directly feed SAX events into a transmogrifier through SAXTransmogrifier.
-  - -

- - - - - - - - - - - - - - - - - -
-Class Summary
EXIReaderEXIReader implements the SAX XMLReader to provide a convenient and - familiar interface for decoding an EXI stream.
ReaderSupport 
TransmogrifierThe Transmogrifier converts an XML stream to an EXI stream.
-  - -

- - - - - - - - - -
-Exception Summary
TransmogrifierExceptionException handler for the Transmogrifier.
-  - -

-

-Package org.openexi.sax Description -

- -

- - - - - -
-

The SAX package contains the Transmogrifier, which encodes an XML file to an EXI stream, and the EXIReader, which restores an EXI stream to its logical XML equivalent. These classes are wrappers for the Scriber and EXIDecoder, respectively, and are primarily meant to provide access to EXI using familiar SAX syntax. -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-tree.html deleted file mode 100644 index f4184bf934..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-tree.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - -org.openexi.sax Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.sax -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

-
    -
  • java.lang.Object -
-

-Interface Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/Characters.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/Characters.html deleted file mode 100644 index 022f5be35a..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/Characters.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - - - - -Characters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.schema -
-Class Characters

-
-java.lang.Object
-  extended by org.openexi.schema.Characters
-
-
-
-
public final class Characters
extends java.lang.Object
- - -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
- char[]characters - -
-           
-static CharactersCHARACTERS_EMPTY - -
-           
- booleanisVolatile - -
-           
- intlength - -
-           
- intstartIndex - -
-           
- intucsCount - -
-           
-  - - - - - - - - - - -
-Constructor Summary
Characters(char[] characters, - int startIndex, - int length, - boolean isVolatile) - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- booleanequals(java.lang.Object object) - -
-           
- inthashCode() - -
-           
- intindexOf(char c) - -
-           
- java.lang.StringmakeString() - -
-           
- java.lang.Stringsubstring(int beginIndex, - int endIndex) - -
-           
- voidturnPermanent() - -
-           
- - - - - - - -
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-isVolatile

-
-public boolean isVolatile
-
-
-
-
-
- -

-characters

-
-public char[] characters
-
-
-
-
-
- -

-startIndex

-
-public int startIndex
-
-
-
-
-
- -

-length

-
-public final int length
-
-
-
-
-
- -

-ucsCount

-
-public final int ucsCount
-
-
-
-
-
- -

-CHARACTERS_EMPTY

-
-public static final Characters CHARACTERS_EMPTY
-
-
-
-
- - - - - - - - -
-Constructor Detail
- -

-Characters

-
-public Characters(char[] characters,
-                  int startIndex,
-                  int length,
-                  boolean isVolatile)
-
-
- - - - - - - - -
-Method Detail
- -

-turnPermanent

-
-public void turnPermanent()
-
-
-
-
-
-
- -

-indexOf

-
-public int indexOf(char c)
-
-
-
-
-
-
- -

-substring

-
-public java.lang.String substring(int beginIndex,
-                                  int endIndex)
-
-
-
-
-
-
- -

-hashCode

-
-public int hashCode()
-
-
-
Overrides:
hashCode in class java.lang.Object
-
-
-
-
-
-
- -

-equals

-
-public boolean equals(java.lang.Object object)
-
-
-
Overrides:
equals in class java.lang.Object
-
-
-
-
-
-
- -

-makeString

-
-public java.lang.String makeString()
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EXISchema.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EXISchema.html deleted file mode 100644 index f3c472ec5e..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EXISchema.html +++ /dev/null @@ -1,355 +0,0 @@ - - - - - - - -EXISchema - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.schema -
-Class EXISchema

-
-java.lang.Object
-  extended by org.openexi.schema.EXISchema
-
-
-
-
public final class EXISchema
extends java.lang.Object
- - -

-EXISchema provides methods to read and write compiled EXI schemas. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Field Summary
- byte[]ancestryIds - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
-static boolean_isSimpleType(int tp, - int[] types) - -
-           
- booleanisSimpleType(int tp) - -
-           
-static EXISchemareadIn(java.io.DataInputStream in) - -
-          Reads an EXI Schema from a DataInputStream.
- voidwriteOut(java.io.DataOutputStream out) - -
-          Writes out a serialized EXISchema.
- voidwriteXml(java.io.OutputStream out, - boolean whole) - -
-           
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-ancestryIds

-
-public transient byte[] ancestryIds
-
-
-
-
- - - - - - - - -
-Method Detail
- -

-isSimpleType

-
-public boolean isSimpleType(int tp)
-
-
-
-
-
-
- -

-_isSimpleType

-
-public static boolean _isSimpleType(int tp,
-                                    int[] types)
-
-
-
-
-
-
- -

-readIn

-
-public static EXISchema readIn(java.io.DataInputStream in)
-                        throws java.io.IOException,
-                               java.lang.ClassNotFoundException
-
-
Reads an EXI Schema from a DataInputStream. -

-

-
Parameters:
in - DataInputStream containing a serialized EXISchema -
Returns:
EXISchema -
Throws: -
IOException, - ClassNotFoundException -
java.io.IOException -
java.lang.ClassNotFoundException
-
-
-
- -

-writeOut

-
-public void writeOut(java.io.DataOutputStream out)
-              throws java.io.IOException
-
-
Writes out a serialized EXISchema. -

-

-
Parameters:
out - DataOutputStream to receive the serialized EXISchema -
Throws: -
java.io.IOException
-
-
-
- -

-writeXml

-
-public void writeXml(java.io.OutputStream out,
-                     boolean whole)
-              throws java.io.IOException
-
-
- -
Throws: -
java.io.IOException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EmptySchema.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EmptySchema.html deleted file mode 100644 index 2a932cc5fb..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EmptySchema.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -EmptySchema - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.schema -
-Class EmptySchema

-
-java.lang.Object
-  extended by org.openexi.schema.EmptySchema
-
-
-
-
public final class EmptySchema
extends java.lang.Object
- - -

-EmptySchema provides an EXISchema that supports all datatypes inherent - in XML Schema such as xsd:int and xsd:dateTime, but with no - user-specific definitions. This is to support the use of dynamic - datatype associations discovered within elements during processing. -

- -

-

- -
-
- -

- - - - - - - - - - - - -
-Method Summary
-static EXISchemagetEXISchema() - -
-          Returns an EXISchema that supports all datatypes inherent in XML Schema.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Method Detail
- -

-getEXISchema

-
-public static EXISchema getEXISchema()
-
-
Returns an EXISchema that supports all datatypes inherent in XML Schema. - Calls to this method always return the same object. -

-

- -
Returns:
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-frame.html deleted file mode 100644 index 4fdd831792..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - -org.openexi.schema - - - - - - - - - - - -org.openexi.schema - - - - -
-Classes  - -
-Characters -
-EmptySchema -
-EXISchema
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-summary.html deleted file mode 100644 index 53242f2e32..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-summary.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - -org.openexi.schema - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.schema -

- - - -The schema package contains classes that are used to represent XML Schema Documents (XSDs). -

-See: -
-          Description -

- - - - - - - - - - - - - - - - - -
-Class Summary
Characters 
EmptySchemaEmptySchema provides an EXISchema that supports all datatypes inherent - in XML Schema such as xsd:int and xsd:dateTime, but with no - user-specific definitions.
EXISchemaEXISchema provides methods to read and write compiled EXI schemas.
-  - -

-

-Package org.openexi.schema Description -

- -

- - - - - -
-

The schema package contains classes that are used to represent XML Schema Documents (XSDs). EXISchema.writeOut writes an EXISchema to a DataOutputStream (which is typically saved to disk). EXISchema.readIn returns an EXISchema from a DataInputStream (typically from a file on disk), saving the step of processing the schema at runtime. -

-

-EmptySchema is used to create an explicit schema object with default settings. This is to enable the EXIDecoder and Transmogrifier to process element tags that have embedded datatype overrides. -

- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-tree.html deleted file mode 100644 index dda7f6246f..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-tree.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - -org.openexi.schema Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.schema -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactory.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactory.html deleted file mode 100644 index 7a95df8e6d..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactory.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - -EXISchemaFactory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Class EXISchemaFactory

-
-java.lang.Object
-  extended by EXISchemaStruct
-      extended by org.openexi.scomp.EXISchemaFactory
-
-
-
-
public class EXISchemaFactory
extends EXISchemaStruct
- - -

-EXISchemaFactory compiles XML Schema into an EXISchema instance. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Constructor Summary
EXISchemaFactory() - -
-           
-  - - - - - - - - - - - - - - - - - - - -
-Method Summary
- EXISchemacompile(org.xml.sax.InputSource inputSource) - -
-          Compile an XML Schema Document into an EXISchema.
- voidsetCompilerErrorHandler(EXISchemaFactoryErrorHandler errorHandler) - -
-          Set an error handler to report any errors encountered during - schema compilation.
- voidsetEntityResolver(EntityResolverEx entityResolver) - -
-          Set an entity resolver for use to resolve entities and schema documents.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-EXISchemaFactory

-
-public EXISchemaFactory()
-
-
- - - - - - - - -
-Method Detail
- -

-setCompilerErrorHandler

-
-public void setCompilerErrorHandler(EXISchemaFactoryErrorHandler errorHandler)
-
-
Set an error handler to report any errors encountered during - schema compilation. -

-

-
Parameters:
errorHandler - Error handler
-
-
-
- -

-setEntityResolver

-
-public void setEntityResolver(EntityResolverEx entityResolver)
-
-
Set an entity resolver for use to resolve entities and schema documents. -

-

-
Parameters:
entityResolverEx - extended SAX entity resolver
-
-
-
- -

-compile

-
-public final EXISchema compile(org.xml.sax.InputSource inputSource)
-                        throws java.io.IOException,
-                               EXISchemaFactoryException
-
-
Compile an XML Schema Document into an EXISchema. -

-

-
Parameters:
is - XML Schema Document stream from an InputSource -
Returns:
an EXISchema instance -
Throws: -
java.io.IOException -
EXISchemaFactoryException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryErrorHandler.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryErrorHandler.html deleted file mode 100644 index 48648e4635..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryErrorHandler.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - -EXISchemaFactoryErrorHandler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Interface EXISchemaFactoryErrorHandler

-
-
-
public interface EXISchemaFactoryErrorHandler
- - -

-This interface reports exceptions from EXISchemaFactory during schema - processing. Users of EXISchemaFactory need to provide an - implementation of this interface to receive errors from EXISchemaFactory. -

- -

-

-
Author:
-
Dennis Dawson
- -
-
- -

- - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voiderror(EXISchemaFactoryException exc) - -
-          Report an error found during schema processing.
- voidfatalError(EXISchemaFactoryException exc) - -
-          Report a fatal error found during schema processing.
- voidwarning(EXISchemaFactoryException exc) - -
-          Report a warning found during schema processing.
-  -

- - - - - - - - -
-Method Detail
- -

-warning

-
-void warning(EXISchemaFactoryException exc)
-             throws EXISchemaFactoryException
-
-
Report a warning found during schema processing. -

-

-
Parameters:
exc - warning found -
Throws: -
EXISchemaFactoryException - at the discretion of the application
-
-
-
- -

-error

-
-void error(EXISchemaFactoryException exc)
-           throws EXISchemaFactoryException
-
-
Report an error found during schema processing. Note that errors are - recoverable only as far as the schema processor is concerned. They might - be fatal at the application level. -

-

-
Parameters:
exc - error found -
Throws: -
EXISchemaFactoryException - at the discretion of the application
-
-
-
- -

-fatalError

-
-void fatalError(EXISchemaFactoryException exc)
-                throws EXISchemaFactoryException
-
-
Report a fatal error found during schema processing. -

-

-
Parameters:
exc - fatal error found -
Throws: -
EXISchemaFactoryException - at the discretion of the application
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryException.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryException.html deleted file mode 100644 index 598f7db597..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryException.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - - -EXISchemaFactoryException - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Class EXISchemaFactoryException

-
-java.lang.Object
-  extended by java.lang.Throwable
-      extended by java.lang.Exception
-          extended by org.openexi.scomp.EXISchemaFactoryException
-
-
-
All Implemented Interfaces:
java.io.Serializable
-
-
-
-
public class EXISchemaFactoryException
extends java.lang.Exception
- - -

-Any errors encountered during schema compilation are communicated to - an application as EXISchemaFactoryException objects. -

- -

-

-
See Also:
EXISchemaFactoryErrorHandler, -Serialized Form
Author:
-
Dennis Dawson
- -
-
- -

- - - - - - - - - - - -
-Field Summary
-static intXMLSCHEMA_ERROR - -
-          The underlying XMLSchema parser found an error in the schema.
-  - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- intgetCode() - -
-          Returns a code that represents the type of the exception.
- java.lang.ExceptiongetException() - -
-          Returns an Exception object.
- org.xml.sax.LocatorgetLocator() - -
-          Returns the locator that is associated with this compilation error.
- java.lang.StringgetMessage() - -
-          Returns a message that describes the exception.
- - - - - - - -
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-XMLSCHEMA_ERROR

-
-public static final int XMLSCHEMA_ERROR
-
-
The underlying XMLSchema parser found an error in the schema. -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Method Detail
- -

-getCode

-
-public int getCode()
-
-
Returns a code that represents the type of the exception. -

-

- -
Returns:
error code
-
-
-
- -

-getMessage

-
-public java.lang.String getMessage()
-
-
Returns a message that describes the exception. -

-

-
Overrides:
getMessage in class java.lang.Throwable
-
-
- -
Returns:
error message
-
-
-
- -

-getException

-
-public java.lang.Exception getException()
-
-
Returns an Exception object. -

-

- -
Returns:
an Exception instance for the current exception.
-
-
-
- -

-getLocator

-
-public org.xml.sax.Locator getLocator()
-
-
Returns the locator that is associated with this compilation error. -

-

- -
Returns:
a Locator if available, otherwise null
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaReader.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaReader.html deleted file mode 100644 index 6249b50feb..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaReader.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -EXISchemaReader - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Class EXISchemaReader

-
-java.lang.Object
-  extended by EXISchemaStruct
-      extended by org.openexi.scomp.EXISchemaReader
-
-
-
-
public final class EXISchemaReader
extends EXISchemaStruct
- - -

-EXISchemaReader parses EXI-encoded EXI Grammar into an EXISchema. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Constructor Summary
EXISchemaReader() - -
-           
-  - - - - - - - - - - - -
-Method Summary
- EXISchemaparse(java.io.InputStream inputStream) - -
-          Parses EXI-encoded EXI Grammar into an EXISchema.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-EXISchemaReader

-
-public EXISchemaReader()
-
-
- - - - - - - - -
-Method Detail
- -

-parse

-
-public EXISchema parse(java.io.InputStream inputStream)
-                throws java.io.IOException,
-                       org.openexi.proc.common.EXIOptionsException
-
-
Parses EXI-encoded EXI Grammar into an EXISchema. -

-

-
Parameters:
inputStream - EXI-encoded EXI Grammar -
Returns:
EXISchema -
Throws: -
java.io.IOException -
org.openexi.proc.common.EXIOptionsException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EntityResolverEx.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EntityResolverEx.html deleted file mode 100644 index cd12bdddb1..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EntityResolverEx.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - -EntityResolverEx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Interface EntityResolverEx

-
-
All Superinterfaces:
org.xml.sax.EntityResolver
-
-
-
-
public interface EntityResolverEx
extends org.xml.sax.EntityResolver
- - -

-Extended SAX EntityResolver interface for resolving entities and - schema documents. -

- -

-

- -
-
- -

- - - - - - - - - - - - -
-Method Summary
- org.xml.sax.InputSourceresolveEntity(java.lang.String publicId, - java.lang.String systemId, - java.lang.String namespaceURI) - -
-          This method will be called for resolving schema documents upon - occurrences of XML Schema directives such as "include", "import" and - "redefine" within schemas.
- - - - - - - -
Methods inherited from interface org.xml.sax.EntityResolver
resolveEntity
-  -

- - - - - - - - -
-Method Detail
- -

-resolveEntity

-
-org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
-                                      java.lang.String systemId,
-                                      java.lang.String namespaceURI)
-                                      throws org.xml.sax.SAXException,
-                                             java.io.IOException
-
-
This method will be called for resolving schema documents upon - occurrences of XML Schema directives such as "include", "import" and - "redefine" within schemas. -

-

-
-
-
-
Parameters:
publicId - Public identifier of the schema document that is being resolved
systemId - System identifier of the schema document that is being resolved
namespaceURI - Target namespace name of the schema document that is being resolved -
Returns:
InputSource that represents the schema document if resolved otherwise null -
Throws: -
org.xml.sax.SAXException -
java.io.IOException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-frame.html deleted file mode 100644 index 65600a98d7..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-frame.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - -org.openexi.scomp - - - - - - - - - - - -org.openexi.scomp - - - - -
-Interfaces  - -
-EntityResolverEx -
-EXISchemaFactoryErrorHandler
- - - - - - -
-Classes  - -
-EXISchemaFactory -
-EXISchemaReader
- - - - - - -
-Exceptions  - -
-EXISchemaFactoryException
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-summary.html deleted file mode 100644 index a35b92a223..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-summary.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -org.openexi.scomp - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.scomp -

- - - -The scomp (schema compiler) package contains the EXISchemaFactory, which is used to compile XML Schema Documents (XSDs) to EXISchemas. -

-See: -
-          Description -

- - - - - - - - - - - - - -
-Interface Summary
EntityResolverExExtended SAX EntityResolver interface for resolving entities and - schema documents.
EXISchemaFactoryErrorHandlerThis interface reports exceptions from EXISchemaFactory during schema - processing.
-  - -

- - - - - - - - - - - - - -
-Class Summary
EXISchemaFactoryEXISchemaFactory compiles XML Schema into an EXISchema instance.
EXISchemaReaderEXISchemaReader parses EXI-encoded EXI Grammar into an EXISchema.
-  - -

- - - - - - - - - -
-Exception Summary
EXISchemaFactoryExceptionAny errors encountered during schema compilation are communicated to - an application as EXISchemaFactoryException objects.
-  - -

-

-Package org.openexi.scomp Description -

- -

- - - - - -
-

The scomp (schema compiler) package contains the EXISchemaFactory, which is used to compile XML Schema Documents (XSDs) to EXISchemas. Developers can implement the interface EXISchemaFactoryErrorHandler to capture and report runtime exceptions from EXISchemaFactory. -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-tree.html deleted file mode 100644 index 93d1752d5a..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-tree.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - -org.openexi.scomp Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.scomp -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/overview-frame.html deleted file mode 100644 index 045191d7df..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-frame.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - -Overview - - - - - - - - - - - - - - - -
-
- - - - - -
All Classes -

- -Packages -
-org.openexi.proc -
-org.openexi.proc.common -
-org.openexi.proc.grammars -
-org.openexi.proc.io -
-org.openexi.sax -
-org.openexi.schema -
-org.openexi.scomp -
-

- -

-  - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/overview-summary.html deleted file mode 100644 index 1a299fd622..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-summary.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - -Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -


-
-

-OpenEXI Nagasena -

-
- - - -OpenEXI is a W3C open source API for converting XML files to the Efficient XML Interchange format (EXI). -

-See: -
-          Description -

- - - - - - - - - -The Proc (Processor) package contains the EXIDecoder, which is used to convert EXI streams to XML format. - - - - - -The common package contains classes, interfaces, and enumerators that define the vocabulary used to describe EXI streams (events, options, alignment, and character string values). - - - - - -The grammars package contains the GrammarCache, which combines an XML Schema Definition with EXI grammar options to create an EXI Schema. - - - - - -The IO package contains the Scanner, which is used by EXIDecoder to read and interpret EXI streams. - - - - - -The SAX package contains the Transmogrifier, which encodes an XML file to an EXI stream, and the EXIReader, which restores an EXI stream to its logical XML equivalent. - - - - - -The schema package contains classes that are used to represent XML Schema Documents (XSDs). - - - - - -The scomp (schema compiler) package contains the EXISchemaFactory, which is used to compile XML Schema Documents (XSDs) to EXISchemas. - -
-Packages
org.openexi.proc -
org.openexi.proc.common -
org.openexi.proc.grammars -
org.openexi.proc.io -
org.openexi.sax -
org.openexi.schema -
org.openexi.scomp -
- -

-

- - - - - -
-

OpenEXI is a W3C open source API for converting XML files to the Efficient XML Interchange format (EXI). -

-

You can learn more about OpenEXI by visiting the OpenEXI homepage at openexi.sourceforge.net. -

- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/overview-tree.html deleted file mode 100644 index 8409fdb317..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-tree.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For All Packages

-
-
-
Package Hierarchies:
org.openexi.proc, org.openexi.proc.common, org.openexi.proc.grammars, org.openexi.proc.io, org.openexi.sax, org.openexi.schema, org.openexi.scomp
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -

-Enum Hierarchy -

-
    -
  • java.lang.Object -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/package-list b/third-party/org.openexi/nagasena/src/main/resources/doc/package-list deleted file mode 100644 index 746aadc8bd..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/package-list +++ /dev/null @@ -1,7 +0,0 @@ -org.openexi.proc -org.openexi.proc.common -org.openexi.proc.grammars -org.openexi.proc.io -org.openexi.sax -org.openexi.schema -org.openexi.scomp diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/resources/inherit.gif b/third-party/org.openexi/nagasena/src/main/resources/doc/resources/inherit.gif deleted file mode 100644 index c814867a13..0000000000 Binary files a/third-party/org.openexi/nagasena/src/main/resources/doc/resources/inherit.gif and /dev/null differ diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/serialized-form.html b/third-party/org.openexi/nagasena/src/main/resources/doc/serialized-form.html deleted file mode 100644 index c3688f526d..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/serialized-form.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - -Serialized Form - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Serialized Form

-
-
- - - - - -
-Package org.openexi.sax
- -

- - - - - -
-Class org.openexi.sax.TransmogrifierException extends java.lang.Exception implements Serializable
- -

-serialVersionUID: -4536662596727577640L - -

- - - - - -
-Serialized Fields
- -

-m_code

-
-int m_code
-
-
-
-
-
-

-m_message

-
-java.lang.String m_message
-
-
-
-
-
-

-m_exception

-
-java.lang.Exception m_exception
-
-
-
-
-
-

-m_locator

-
-org.xml.sax.Locator m_locator
-
-
-
-
-
- - - - - -
-Package org.openexi.scomp
- -

- - - - - -
-Class org.openexi.scomp.EXISchemaFactoryException extends java.lang.Exception implements Serializable
- -

-serialVersionUID: 3816521974819647026L - -

- - - - - -
-Serialized Fields
- -

-m_code

-
-int m_code
-
-
-
-
-
-

-m_message

-
-java.lang.String m_message
-
-
-
-
-
-

-m_exception

-
-java.lang.Exception m_exception
-
-
-
-
-
-

-m_locator

-
-org.xml.sax.Locator m_locator
-
-
-
-
- -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/stylesheet.css b/third-party/org.openexi/nagasena/src/main/resources/doc/stylesheet.css deleted file mode 100644 index 14c3737e8a..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/stylesheet.css +++ /dev/null @@ -1,29 +0,0 @@ -/* Javadoc style sheet */ - -/* Define colors, fonts and other style attributes here to override the defaults */ - -/* Page background color */ -body { background-color: #FFFFFF } - -/* Headings */ -h1 { font-size: 145% } - -/* Table colors */ -.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ -.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ -.TableRowColor { background: #FFFFFF } /* White */ - -/* Font used in left-hand frame lists */ -.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif } -.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } -.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } - -/* Navigation bar fonts and colors */ -.NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */ -.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */ -.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} -.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} - -.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} -.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} - diff --git a/third-party/org.openexi/pom.xml b/third-party/org.openexi/pom.xml deleted file mode 100644 index 6369b294ba..0000000000 --- a/third-party/org.openexi/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - 4.0.0 - - - org.opendaylight.controller - commons.thirdparty - 1.1.2-SNAPSHOT - ../commons/thirdparty - - - org.opendaylight.controller.thirdparty - org.openexi - 0000.0002.0038.0-SNAPSHOT - pom - - 3.0.4 - - - - nagasena - nagasena-rta - - - - - - - org.codehaus.mojo - truezip-maven-plugin - 1.1 - - - org.apache.felix - maven-bundle-plugin - 2.4.0 - - - - - -