Cache config QNameModules
[controller.git] / opendaylight / config / yang-jmx-generator / src / main / java / org / opendaylight / controller / config / yangjmxgenerator / ConfigConstants.java
index 775fa9fc20d97b10a48859703a4572f03b65d2ca..e585eb204861163a9434b330485cf687800bc1de 100644 (file)
@@ -8,11 +8,21 @@
 package org.opendaylight.controller.config.yangjmxgenerator;
 
 import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.QNameModule;
 
-public class ConfigConstants {
+public final class ConfigConstants {
 
-    public static final String CONFIG_NAMESPACE = "urn:opendaylight:params:xml:ns:yang:controller:config";
+    private ConfigConstants() {
+    }
+
+    private static final QName DUMMY_CONFIG_QNAME = QName.create(
+        "urn:opendaylight:params:xml:ns:yang:controller:config", "2013-04-05", "dummy");
+    private static final QName DUMM_RPC_QNAME = QName.create(
+        "urn:ietf:params:xml:ns:yang:rpc-context", "2013-06-17", "dummy");
+    private static final QNameModule CONFIG_MOD = QNameModule.cachedReference(DUMMY_CONFIG_QNAME.getModule());
+    private static final QNameModule RPC_MOD = QNameModule.cachedReference(DUMM_RPC_QNAME.getModule());
 
+    public static final String CONFIG_NAMESPACE = CONFIG_MOD.getNamespace().toString();
     public static final String CONFIG_MODULE = "config";
     public static final String CONFIG_THREADS_MODULE = "config-threads";
     public static final String IETF_INET_TYPES = "ietf-inet-types";
@@ -29,13 +39,10 @@ public class ConfigConstants {
     public static final QName RPC_CONTEXT_INSTANCE_EXTENSION_QNAME = createRpcXQName("rpc-context-instance");
 
     public static QName createConfigQName(final String localName) {
-        // FIXME: pre-construct QNameModule
-        return QName.create(CONFIG_NAMESPACE, "2013-04-05", localName);
+        return QName.create(CONFIG_MOD, localName);
     }
 
     public static QName createRpcXQName(final String localName) {
-        // FIXME: pre-construct QNameModule
-        return QName.create("urn:ietf:params:xml:ns:yang:rpc-context",
-                "2013-06-17", localName);
+        return QName.create(RPC_MOD, localName);
     }
 }