Split Restconf implementations (draft02 and RFC) - base api
[netconf.git] / restconf / restconf-nb-bierman02 / src / main / java / org / opendaylight / netconf / sal / rest / impl / AbstractIdentifierAwareJaxRsProvider.java
1 /*
2  * Copyright (c) 2014, 2015 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
9 package org.opendaylight.netconf.sal.rest.impl;
10
11 import javax.ws.rs.core.Context;
12 import javax.ws.rs.core.Request;
13 import javax.ws.rs.core.UriInfo;
14 import org.opendaylight.netconf.sal.rest.api.RestconfConstants;
15 import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
16 import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
17
18 /**
19  * JAX-RS Provider.
20  *
21  * @deprecated This class will be replaced by
22  *             {@link org.opendaylight.restconf.jersey.providers.AbstractIdentifierAwareJaxRsProvider}
23  */
24 @Deprecated
25 public class AbstractIdentifierAwareJaxRsProvider {
26
27     private static final String POST = "POST";
28
29     @Context
30     private UriInfo uriInfo;
31
32     @Context
33     private Request request;
34
35     protected final String getIdentifier() {
36         return this.uriInfo.getPathParameters(false).getFirst(RestconfConstants.IDENTIFIER);
37     }
38
39     protected InstanceIdentifierContext<?> getInstanceIdentifierContext() {
40         return ControllerContext.getInstance().toInstanceIdentifier(getIdentifier());
41     }
42
43     protected UriInfo getUriInfo() {
44         return this.uriInfo;
45     }
46
47     protected boolean isPost() {
48         return POST.equals(this.request.getMethod());
49     }
50
51     Request getRequest() {
52         return this.request;
53     }
54 }