BUG-868: do not use deprecated InstanceIdentifier methods
[controller.git] / opendaylight / config / yang-jmx-generator / src / main / java / org / opendaylight / controller / config / yangjmxgenerator / ConfigConstants.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.config.yangjmxgenerator;
9
10 import java.net.URI;
11 import java.text.ParseException;
12 import java.text.SimpleDateFormat;
13 import java.util.Date;
14
15 import org.opendaylight.yangtools.yang.common.QName;
16
17 public class ConfigConstants {
18
19     public static final String CONFIG_NAMESPACE = "urn:opendaylight:params:xml:ns:yang:controller:config";
20
21     public static final String CONFIG_MODULE = "config";
22     public static final String CONFIG_THREADS_MODULE = "config-threads";
23     public static final String IETF_INET_TYPES = "ietf-inet-types";
24
25     public static final QName SERVICE_TYPE_Q_NAME = createConfigQName("service-type");
26     public static final QName MODULE_TYPE_Q_NAME = createConfigQName("module-type");
27     public static final QName JAVA_CLASS_EXTENSION_QNAME = createConfigQName("java-class");
28     public static final QName REQUIRED_IDENTITY_EXTENSION_QNAME = createConfigQName("required-identity");
29     public static final QName INNER_STATE_BEAN_EXTENSION_QNAME = createConfigQName("inner-state-bean");
30     public static final QName PROVIDED_SERVICE_EXTENSION_QNAME = createConfigQName("provided-service");
31     public static final QName JAVA_NAME_PREFIX_EXTENSION_QNAME = createConfigQName("java-name-prefix");
32     public static final QName RPC_CONTEXT_REF_GROUPING_QNAME = createRpcXQName("rpc-context-ref");
33     public static final QName RPC_CONTEXT_REF_GROUPING_LEAF = createRpcXQName("context-instance");
34     public static final QName RPC_CONTEXT_INSTANCE_EXTENSION_QNAME = createRpcXQName("rpc-context-instance");
35
36     public static QName createConfigQName(String localName) {
37         return createQName(CONFIG_NAMESPACE, "2013-04-05", localName);
38     }
39
40     public static QName createRpcXQName(String localName) {
41         return createQName("urn:ietf:params:xml:ns:yang:rpc-context",
42                 "2013-06-17", localName);
43     }
44
45     /**
46      *
47      * @param uri
48      * @param revisionDate
49      *            in format yyyy-MM-dd
50      * @param localName
51      * @return
52      */
53     private static QName createQName(String uri, String revisionDate,
54             String localName) {
55         SimpleDateFormat revisionFormat = new SimpleDateFormat("yyyy-MM-dd");
56         Date revision;
57         try {
58             revision = revisionFormat.parse(revisionDate);
59         } catch (ParseException e) {
60             throw new RuntimeException(e);
61         }
62         return new QName(URI.create(uri), revision, localName);
63     }
64
65 }