19bb87d863fd2272c28a38f0969d6cdd4f7eea44
[netconf.git] / restconf / sal-rest-connector / src / main / java / org / opendaylight / restconf / restful / utils / RestconfDataServiceConstant.java
1 /*
2  * Copyright (c) 2016 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.restconf.restful.utils;
9
10 import java.net.URI;
11 import java.net.URISyntaxException;
12 import org.opendaylight.netconf.sal.restconf.impl.RestconfDocumentedException;
13 import org.opendaylight.netconf.sal.restconf.impl.RestconfError.ErrorTag;
14 import org.opendaylight.netconf.sal.restconf.impl.RestconfError.ErrorType;
15 import org.opendaylight.yangtools.yang.common.QName;
16 import org.opendaylight.yangtools.yang.common.QNameModule;
17
18 /**
19  * Constants for RestconfDataService
20  *
21  */
22 public final class RestconfDataServiceConstant {
23
24     public static final String CONTENT = "content";
25     public static final QName NETCONF_BASE_QNAME;
26     static {
27         try {
28             NETCONF_BASE_QNAME = QName.create(
29                     QNameModule.create(new URI(PutData.NETCONF_BASE), null), PutData.NETCONF_BASE_PAYLOAD_NAME);
30         } catch (final URISyntaxException e) {
31             final String errMsg = "It wasn't possible to create instance of URI class with " + PutData.NETCONF_BASE
32                     + " URI";
33             throw new RestconfDocumentedException(errMsg, ErrorType.APPLICATION, ErrorTag.OPERATION_FAILED);
34         }
35     }
36
37     private RestconfDataServiceConstant() {
38         throw new UnsupportedOperationException("Util class.");
39     }
40
41     /**
42      * Constants for read data
43      *
44      */
45     public final class ReadData {
46
47         public static final String CONFIG = "config";
48         public static final String NONCONFIG = "nonconfig";
49         public static final String ALL = "all";
50         public static final String READ_TYPE_TX = "READ";
51
52         private ReadData() {
53             throw new UnsupportedOperationException("Util class.");
54         }
55     }
56
57     /**
58      * Constants for data to put
59      *
60      */
61     public final class PutData {
62         public static final String NETCONF_BASE = "urn:ietf:params:xml:ns:netconf:base:1.0";
63         public static final String NETCONF_BASE_PAYLOAD_NAME = "data";
64         public static final String PUT_TX_TYPE = "PUT";
65
66         private PutData() {
67             throw new UnsupportedOperationException("Util class.");
68         }
69     }
70
71     /**
72      * Constants for data to post
73      *
74      */
75     public final class PostData {
76         public static final String POST_TX_TYPE = "POST";
77
78         private PostData() {
79             throw new UnsupportedOperationException("Util class.");
80         }
81     }
82 }