X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fyang-jmx-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyangjmxgenerator%2FServiceInterfaceEntry.java;fp=opendaylight%2Fconfig%2Fyang-jmx-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyangjmxgenerator%2FServiceInterfaceEntry.java;h=2c853e15378e176f70fd5ff1533add48991ca4be;hp=f03bd96529a728921bd656a5998bb4be2f79868c;hb=f2ea11b45c819121a3d6fb8914172148ac3994a3;hpb=740c8af84185d1a7f3ae3b4125106fb064939e72 diff --git a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ServiceInterfaceEntry.java b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ServiceInterfaceEntry.java index f03bd96529..2c853e1537 100644 --- a/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ServiceInterfaceEntry.java +++ b/opendaylight/config/yang-jmx-generator/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/ServiceInterfaceEntry.java @@ -10,7 +10,6 @@ package org.opendaylight.controller.config.yangjmxgenerator; import static com.google.common.base.Preconditions.checkNotNull; import static java.lang.String.format; import static org.opendaylight.controller.config.yangjmxgenerator.ConfigConstants.SERVICE_TYPE_Q_NAME; - import com.google.common.base.Optional; import java.util.ArrayList; import java.util.HashMap; @@ -56,6 +55,7 @@ public class ServiceInterfaceEntry extends AbstractEntry { private final QName qName; private final String nullableDescription, packageName, typeName; private final QName yangModuleQName; + private final boolean registerToOsgi; private ServiceInterfaceEntry(IdentitySchemaNode id, String packageName, QName yangModuleQName) { this(Optional. absent(), id, packageName, yangModuleQName); @@ -68,11 +68,14 @@ public class ServiceInterfaceEntry extends AbstractEntry { List unknownSchemaNodes = id.getUnknownSchemaNodes(); List exportedOsgiClassNames = new ArrayList<>( unknownSchemaNodes.size()); + + boolean disableOsgiServiceRegistration = false; for (UnknownSchemaNode usn : unknownSchemaNodes) { - if (ConfigConstants.JAVA_CLASS_EXTENSION_QNAME.equals(usn - .getNodeType())) { + if (ConfigConstants.JAVA_CLASS_EXTENSION_QNAME.equals(usn.getNodeType())) { String localName = usn.getNodeParameter(); exportedOsgiClassNames.add(localName); + } else if (ConfigConstants.DISABLE_OSGI_SERVICE_REG_QNAME.equals(usn.getNodeType())) { + disableOsgiServiceRegistration = true; } else { throw new IllegalStateException(format( "Unexpected unknown schema node. Expected %s, got %s", @@ -87,6 +90,8 @@ public class ServiceInterfaceEntry extends AbstractEntry { getClass(), ConfigConstants.JAVA_CLASS_EXTENSION_QNAME, id)); } + + this.registerToOsgi = !disableOsgiServiceRegistration; this.exportedOsgiClassName = exportedOsgiClassNames.get(0); qName = id.getQName(); nullableDescription = id.getDescription(); @@ -116,6 +121,10 @@ public class ServiceInterfaceEntry extends AbstractEntry { return qName; } + public boolean isRegisterToOsgi() { + return registerToOsgi; + } + /** * @return Map of QNames as keys and ServiceInterfaceEntry instances as * values