REST interface for VPLS application
Change-Id: I2cab5bd6ff0ce026d0ef844bba6199fdd7f3e50d
This repository contains the files that provide a REST interface for VPLS
application.I create a new package in org.onosproject.vpls
called rest that contains the java classes VplsWebApplication and
VplsWebResource. The VplsWebResource provides create/update/read/delete
(CURD) functionality, leveraging the methods defined in the Vpls java
interface. I create a new folder called resources that contains
the json definitions and the files for the "web page".
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/VplsManager.java b/apps/vpls/src/main/java/org/onosproject/vpls/VplsManager.java
index 425f77d..293f92b 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/VplsManager.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/VplsManager.java
@@ -16,6 +16,7 @@
package org.onosproject.vpls;
import com.google.common.collect.ImmutableSet;
+import org.onosproject.codec.CodecService;
import org.onosproject.net.EncapsulationType;
import org.onosproject.net.Host;
import org.onosproject.net.host.HostEvent;
@@ -29,6 +30,7 @@
import org.onosproject.vpls.api.VplsOperation;
import org.onosproject.vpls.api.VplsOperationService;
import org.onosproject.vpls.api.VplsStore;
+import org.onosproject.vpls.rest.VplsCodec;
import org.onosproject.vpls.store.VplsStoreEvent;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
@@ -65,9 +67,13 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected VplsOperationService operationService;
+ @Reference(cardinality = ReferenceCardinality.MANDATORY)
+ protected CodecService codecService;
+
private StoreDelegate<VplsStoreEvent> vplsStoreDelegate;
private HostListener vplsHostListener;
+
@Activate
public void activate() {
vplsStoreDelegate = new VplsStoreDelegate();
@@ -75,12 +81,14 @@
vplsStore.setDelegate(vplsStoreDelegate);
hostService.addListener(vplsHostListener);
+ codecService.registerCodec(VplsData.class, new VplsCodec());
}
@Deactivate
public void deactivate() {
vplsStore.unsetDelegate(vplsStoreDelegate);
hostService.removeListener(vplsHostListener);
+ codecService.unregisterCodec(VplsData.class);
}
@Override