import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
-import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
* Retrieve the Topology
*
* @param containerName
- * The container for which we want to retrieve the topology (Eg. 'default')
+ * The container for which we want to retrieve the topology (Eg.
+ * 'default')
*
* @return A List of EdgeProps each EdgeProp represent an Edge of the grap
* with the corresponding properties attached to it.
*
- * <pre>
+ * <pre>
*
* Example:
*
* http://localhost:8080/controller/nb/v2/topology/default
*
* Response in XML:
- * <?xml version="1.0" encoding="UTF-8" standalone="yes"?><topology><edgeProperties><edge><tailNodeConnector id="2" type="OF"><node id="00:00:00:00:00:00:00:02" type="OF"/></tailNodeConnector><headNodeConnector id="2" type="OF"><node id="00:00:00:00:00:00:00:51" type="OF"/></headNodeConnector></edge><properties><state><value>1</value></state><config><value>1</value></config><name><value>C1_2-L2_2</value></name><timeStamp><value>1377279422032</value><name>creation</name></timeStamp></properties></edgeProperties><edgeProperties><edge><tailNodeConnector id="2" type="OF"><node id="00:00:00:00:00:00:00:51" type="OF"/></tailNodeConnector><headNodeConnector id="2" type="OF"><node id="00:00:00:00:00:00:00:02" type="OF"/></headNodeConnector></edge><properties><state><value>1</value></state><name><value>L2_2-C1_2</value></name><config><value>1</value></config><timeStamp><value>1377279423564</value><name>creation</name></timeStamp></properties></edgeProperties></topology>
+ * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ * <topology>
+ * <edgeProperties>
+ * <edge>
+ * <tailNodeConnector>
+ * <node>
+ * <id>00:00:00:00:00:00:00:02</id>
+ * <type>OF</type>
+ * </node>
+ * <id>2</id>
+ * <type>OF</type>
+ * </tailNodeConnector>
+ * <headNodeConnector>
+ * <node>
+ * <id>00:00:00:00:00:00:00:51</id>
+ * <type>OF</type>
+ * </node>
+ * <id>2</id>
+ * <type>OF</type>
+ * </headNodeConnector>
+ * </edge>
+ * <properties>
+ * <state>
+ * <value>1</value>
+ * </state>
+ * <config>
+ * <value>1</value>
+ * </config>
+ * <name>
+ * <value>C1_2-L2_2</value>
+ * </name>
+ * <timeStamp>
+ * <value>1377279422032</value>
+ * <name>creation</name>
+ * </timeStamp>
+ * </properties>
+ * </edgeProperties>
+ * <edgeProperties>
+ * <edge>
+ * <tailNodeConnector>
+ * <node>
+ * <id>00:00:00:00:00:00:00:51</id>
+ * <type>OF</type>
+ * </node>
+ * <id>2</id>
+ * <type>OF</type>
+ * </tailNodeConnector>
+ * <headNodeConnector>
+ * <node>
+ * <id>00:00:00:00:00:00:00:02</id>
+ * <type>OF</type>
+ * </node>
+ * <id>2</id>
+ * <type>OF</type>
+ * </headNodeConnector>
+ * </edge>
+ * <properties>
+ * <state>
+ * <value>1</value>
+ * </state>
+ * <name>
+ * <value>L2_2-C1_2</value>
+ * </name>
+ * <config>
+ * <value>1</value>
+ * </config>
+ * <timeStamp>
+ * <value>1377279423564</value>
+ * <name>creation</name>
+ * </timeStamp>
+ * </properties>
+ * </edgeProperties>
+ * </topology>
*
* Response in JSON:
- * {"edgeProperties":[{"edge":{"tailNodeConnector":{"@id":"2","@type":"OF","node":{"@id":"00:00:00:00:00:00:00:02","@type":"OF"}},"headNodeConnector":{"@id":"2","@type":"OF","node":{"@id":"00:00:00:00:00:00:00:51","@type":"OF"}}},"properties":{"timeStamp":{"value":"1377278961017","name":"creation"}}},{"edge":{"tailNodeConnector":{"@id":"2","@type":"OF","node":{"@id":"00:00:00:00:00:00:00:51","@type":"OF"}},"headNodeConnector":{"@id":"2","@type":"OF","node":{"@id":"00:00:00:00:00:00:00:02","@type":"OF"}}},"properties":{"timeStamp":{"value":"1377278961018","name":"creation"}}}]}
+ * {"edgeProperties":[{"edge":{"tailNodeConnector":{"node":{"id":"00:00:00:00:00:00:00:02","type":"OF"},
+ * "id":"2","type":"OF"},"headNodeConnector":{"node":{"id":"00:00:00:00:00:00:00:51","type":"OF"},"id":
+ * "2","type":"OF"}},"properties":{"timeStamp":{"value":"1377278961017","name":"creation"}}},
+ * {"edge":{"tailNodeConnector":{"node":{"id":"00:00:00:00:00:00:00:51","type":"OF"},"id":
+ * "2","type":"OF"}},"headNodeConnector":{"node":{"id":"00:00:00:00:00:00:00:02","type":"OF"},
+ * "id":"2","type":"OF"}},"properties":{"timeStamp":{"value":"1377278961018","name":"creation"}}}]}
*
* </pre>
*/
* http://localhost:8080/controller/nb/v2/topology/default/user-link
*
* Response in XML:
- * <?xml version="1.0" encoding="UTF-8" standalone="yes"?><topologyUserLinks><userLinks><status>Success</status><name>link1</name><srcNodeConnector>OF|2@OF|00:00:00:00:00:00:00:02</srcNodeConnector><dstNodeConnector>OF|2@OF|00:00:00:00:00:00:00:51</dstNodeConnector></userLinks></topologyUserLinks>
+ * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ * <topologyUserLinks>
+ * <userLinks>
+ * <status>Success</status>
+ * <name>link1</name>
+ * <srcNodeConnector>OF|2@OF|00:00:00:00:00:00:00:02</srcNodeConnector>
+ * <dstNodeConnector>OF|2@OF|00:00:00:00:00:00:00:51</dstNodeConnector>
+ * </userLinks>
+ * </topologyUserLinks>
*
* Response in JSON:
- * {"userLinks":{"status":"Success","name":"link1","srcNodeConnector":"OF|2@OF|00:00:00:00:00:00:00:02","dstNodeConnector":"OF|2@OF|00:00:00:00:00:00:00:51"}}
+ * {"userLinks":{"status":"Success","name":"link1","srcNodeConnector":
+ * "OF|2@OF|00:00:00:00:00:00:00:02","dstNodeConnector":"OF|2@OF|00:00:00:00:00:00:00:51"}}
*
* </pre>
*/
* Example:
*
* RequestURL:
- * http://localhost:8080/controller/nb/v2/topology/default/user-link/config1-content
+ * http://localhost:8080/controller/nb/v2/topology/default/user-link
*
* Request in XML:
- * <?xml version="1.0" encoding="UTF-8" standalone="yes"?><topologyUserLinks><status>Success</status><name>link1</name><srcNodeConnector>OF|2@OF|00:00:00:00:00:00:00:02</srcNodeConnector><dstNodeConnector>OF|2@OF|00:00:00:00:00:00:00:51</dstNodeConnector></topologyUserLinks>
+ * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ * <topologyUserLinks>
+ * <status>Success</status>
+ * <name>link1</name>
+ * <srcNodeConnector>OF|2@OF|00:00:00:00:00:00:00:02</srcNodeConnector>
+ * <dstNodeConnector>OF|2@OF|00:00:00:00:00:00:00:51</dstNodeConnector>
+ * </topologyUserLinks>
*
* Request in JSON:
* {"status":"Success","name":"link1","srcNodeConnector":"OF|2@OF|00:00:00:00:00:00:00:02","dstNodeConnector":"OF|2@OF|00:00:00:00:00:00:00:51"}
* </pre>
*/
@Path("/{containerName}/user-link")
- @POST
+ @PUT
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@StatusCodes({