Revert "SEBA-814 To support Multi-Tcont on TT-workflow, SADIS configuration is updated."

(we need to release a stable version for ONOS 2.2 before applying this changes)

This reverts commit 94f12a0bb65f9e9873dcbc482ed97c406edd85e3.

Change-Id: Ic3df9c1fc1fafcc405319936c20be0dc070361c1
diff --git a/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationCodec.java b/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationCodec.java
index 4208a5e..e3f2996 100644
--- a/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationCodec.java
+++ b/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationCodec.java
@@ -16,91 +16,31 @@
 package org.opencord.sadis.impl;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Lists;
-import org.onlab.packet.Ip4Address;
-import org.onlab.packet.MacAddress;
 import org.onosproject.codec.CodecContext;
 import org.onosproject.codec.JsonCodec;
 import org.opencord.sadis.SubscriberAndDeviceInformation;
-import org.opencord.sadis.UniTagInformation;
 
-import java.util.ArrayList;
-import java.util.List;
+public  class SubscriberAndDeviceInformationCodec extends JsonCodec<SubscriberAndDeviceInformation> {
+      @Override
+      public ObjectNode encode(SubscriberAndDeviceInformation entry, CodecContext context) {
+          return context.mapper().createObjectNode()
+                                    .put("id", entry.id())
+                                    .put("cTag", (entry.cTag() == null) ? "" : entry.cTag().toString())
+                                    .put("sTag", (entry.sTag() == null) ? "" : entry.sTag().toString())
+                                    .put("nasPortId", entry.nasPortId())
+                                    .put("uplinkPort", entry.uplinkPort())
+                                    .put("slot", entry.slot())
+                                    .put("hardwareIdentifier", (entry.hardwareIdentifier() == null) ? "" :
+                                          entry.hardwareIdentifier().toString())
+                                    .put("ipAddress", (entry.ipAddress() == null) ? "" : entry.ipAddress().toString())
+                                    .put("nasId", entry.nasId())
+                                    .put("circuiltId", (entry.circuitId() == null) ? "" : entry.circuitId())
+                                    .put("remoteId", (entry.remoteId() == null) ? "" : entry.remoteId())
+                                    .put("technologyProfileId", entry.technologyProfileId())
+                                    .put("upstreamBandwidthProfile", (entry.upstreamBandwidthProfile() == null) ?
+                                            "" : entry.upstreamBandwidthProfile())
+                                    .put("downstreamBandwidthProfile", (entry.downstreamBandwidthProfile() == null) ?
+                                            "" : entry.downstreamBandwidthProfile());
 
-public class SubscriberAndDeviceInformationCodec extends JsonCodec<SubscriberAndDeviceInformation> {
-
-    private static final String ID = "id";
-    private static final String NAS_PORT_ID = "nasPortId";
-    private static final String UPLINK_PORT = "uplinkPort";
-    private static final String SLOT = "slot";
-    private static final String HARDWARE_IDENTIFIER = "hardwareIdentifier";
-    private static final String IP_ADDRESS = "ipAddress";
-    private static final String NAS_ID = "nasId";
-    private static final String CIRCUIT_ID = "circuitId";
-    private static final String REMOTE_ID = "remoteId";
-    private static final String UNI_TAG_LIST = "uniTagList";
-    private static final String EMPTY_STRING = "";
-    private static final int NO_VALUE = -1;
-
-    @Override
-    public ObjectNode encode(SubscriberAndDeviceInformation entry, CodecContext context) {
-
-        List<ObjectNode> uniTagListNodes = Lists.newArrayList();
-        List<UniTagInformation> uniTagList = entry.uniTagList();
-        if (uniTagList != null) {
-            for (UniTagInformation uniTagInformation : uniTagList) {
-                uniTagListNodes.add(context.encode(uniTagInformation, UniTagInformation.class));
-            }
-        }
-        return context.mapper().createObjectNode()
-                .put(ID, entry.id())
-                .put(NAS_PORT_ID, entry.nasPortId())
-                .put(UPLINK_PORT, entry.uplinkPort())
-                .put(SLOT, entry.slot())
-                .put(HARDWARE_IDENTIFIER, (entry.hardwareIdentifier() == null) ? EMPTY_STRING :
-                        entry.hardwareIdentifier().toString())
-                .put(IP_ADDRESS, (entry.ipAddress() == null) ? EMPTY_STRING : entry.ipAddress().toString())
-                .put(NAS_ID, entry.nasId())
-                .put(CIRCUIT_ID, (entry.circuitId() == null) ? EMPTY_STRING : entry.circuitId())
-                .put(REMOTE_ID, (entry.remoteId() == null) ? EMPTY_STRING : entry.remoteId())
-                .put(UNI_TAG_LIST, uniTagListNodes.toString());
-    }
-
-    @Override
-    public SubscriberAndDeviceInformation decode(ObjectNode json, CodecContext context) {
-        if (json == null || !json.isObject()) {
-            return null;
-        }
-        if (json.get(ID) == null) {
-            return null;
-        }
-
-        SubscriberAndDeviceInformation info = new SubscriberAndDeviceInformation();
-        info.setId(json.get(ID).asText());
-        info.setNasPortId(json.get(NAS_PORT_ID) == null ? EMPTY_STRING : json.get(NAS_PORT_ID).asText());
-        info.setUplinkPort(json.get(UPLINK_PORT) == null ? NO_VALUE : json.get(UPLINK_PORT).asInt());
-        info.setSlot(json.get(SLOT) == null ? NO_VALUE : json.get(SLOT).asInt());
-        info.setNasId(json.get(NAS_ID) == null ? EMPTY_STRING : json.get(NAS_ID).asText());
-        info.setCircuitId(json.get(CIRCUIT_ID) == null ? EMPTY_STRING : json.get(CIRCUIT_ID).asText());
-        info.setRemoteId(json.get(REMOTE_ID) == null ? EMPTY_STRING : json.get(REMOTE_ID).asText());
-
-        if (json.get(HARDWARE_IDENTIFIER) != null) {
-            info.setHardwareIdentifier(MacAddress.valueOf(json.get(HARDWARE_IDENTIFIER).asText()));
-        }
-
-        if (json.get(IP_ADDRESS) != null) {
-            info.setIPAddress(Ip4Address.valueOf(json.get(IP_ADDRESS).asText()));
-        }
-
-        if (json.get(UNI_TAG_LIST) != null) {
-            List<UniTagInformation> uniTagList = new ArrayList<>();
-            json.get(UNI_TAG_LIST).forEach(entry -> {
-                uniTagList.add(new SubscriberAndDeviceInformationConfig()
-                        .getUniTagInformation(entry));
-
-            });
-            info.setUniTagList(uniTagList);
-        }
-        return info;
-    }
+      }
 }
diff --git a/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationConfig.java b/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationConfig.java
index d794433..61e097b 100644
--- a/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationConfig.java
+++ b/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationConfig.java
@@ -20,12 +20,10 @@
 import java.util.List;
 
 import org.onlab.packet.Ip4Address;
-import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
 import org.opencord.sadis.BaseConfig;
 import org.opencord.sadis.SubscriberAndDeviceInformation;
 
-import org.opencord.sadis.UniTagInformation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,6 +50,8 @@
  *     "entries" : [
  *         {
  *             "id"                         : "uniqueid",
+ *             "ctag"                       : int,
+ *             "stag"                       : int,
  *             "nasportid"                  : string,
  *             "port"                       : int,
  *             "slot"                       : int,
@@ -59,26 +59,10 @@
  *             "ipAddress"                  : string,
  *             "nasId"                      : string,
  *             "circuitId"                  : string,
- *             "remoteId"                   : string,
- *             "uniTagList": [
- *                  {
- *                  "uniTagMatch"               : int,
- *                  "ponCTag"                   : string,
- *                  "ponSTag"                   : string,
- *                  "usPonCTagPriority"         : int,
- *                  "dsPonCTagPriority"         : int,
- *                  "usPonSTagPriority"         : int,
- *                  "dsPonSTagPriority"         : int,
- *                  "technologyProfileId"       : int,
- *                  "upstreamBandwidthProfile"  : string,
- *                  "downstreamBandwidthProfile": string,
- *                  "enableMacLearning"         : string,
- *                  "configuredDacAddress"      : string,
- *                  "isDhcpRequired"            : string,
- *                  "isIgmpRequired"            : string,
- *                  "serviceName"               : string
- *                 }
- *                 ]
+ *             "removeId"                   : string,
+ *             "technologyProfileId"        : int,
+ *             "upstreamBandwidthProfile"   : string,
+ *             "downstreamBandwidthProfile" : string
  *         }, ...
  *     ]
  * }
@@ -87,23 +71,6 @@
 public class SubscriberAndDeviceInformationConfig extends BaseConfig<SubscriberAndDeviceInformation> {
 
     private final Logger log = LoggerFactory.getLogger(this.getClass());
-    private static final int NO_PCP = -1;
-    private static final String NO_SN = "";
-    private static final String UNI_TAG_MATCH = "uniTagMatch";
-    private static final String PON_C_TAG = "ponCTag";
-    private static final String PON_S_TAG = "ponSTag";
-    private static final String US_C_TAG_PCP = "usPonCTagPriority";
-    private static final String US_S_TAG_PCP = "usPonSTagPriority";
-    private static final String DS_C_TAG_PCP = "dsPonCTagPriority";
-    private static final String DS_S_TAG_PCP = "dsPonSTagPriority";
-    private static final String MAC_LEARNING = "enableMacLearning";
-    private static final String TP_ID = "technologyProfileId";
-    private static final String US_BW = "upstreamBandwidthProfile";
-    private static final String DS_BW = "downstreamBandwidthProfile";
-    private static final String SERVICE_NAME = "serviceName";
-    private static final String IS_DHCP_REQ = "isDhcpRequired";
-    private static final String IS_IGMP_REQ = "isIgmpRequired";
-    private static final String MAC_ADDRESS = "configuredMacAddress";
 
     public List<SubscriberAndDeviceInformation> getEntries() {
         List<SubscriberAndDeviceInformation> result = new ArrayList<>();
@@ -111,7 +78,6 @@
         SimpleModule module = new SimpleModule();
         module.addDeserializer(VlanId.class, new VlanIdDeserializer());
         module.addDeserializer(Ip4Address.class, new Ip4AddressDeserializer());
-        module.addDeserializer(UniTagInformation.class, new UniTagDeserializer());
         mapper.registerModule(module);
         final JsonNode entries = this.object.path(ENTRIES);
         entries.forEach(entry -> {
@@ -144,44 +110,4 @@
             return Ip4Address.valueOf(node.asText());
         }
     }
-
-    public class UniTagDeserializer extends JsonDeserializer<UniTagInformation> {
-        @Override
-        public UniTagInformation deserialize(JsonParser jp, DeserializationContext ctxt)
-                throws IOException {
-            ObjectCodec oc = jp.getCodec();
-            JsonNode node = oc.readTree(jp);
-            return getUniTagInformation(node);
-        }
-    }
-
-    public UniTagInformation getUniTagInformation(JsonNode node) {
-        return new UniTagInformation.Builder()
-                .setUniTagMatch(VlanId.vlanId(node.get(UNI_TAG_MATCH) == null ? VlanId.NO_VID
-                        : (short) node.get(UNI_TAG_MATCH).asInt()))
-                .setPonCTag(VlanId.vlanId((short) node.get(PON_C_TAG).asInt()))
-                .setPonSTag(VlanId.vlanId((short) node.get(PON_S_TAG).asInt()))
-                .setUsPonCTagPriority(node.get(US_C_TAG_PCP) == null ? NO_PCP :
-                        node.get(US_C_TAG_PCP).asInt())
-                .setUsPonSTagPriority(node.get(US_S_TAG_PCP) == null ? NO_PCP :
-                        node.get(US_S_TAG_PCP).asInt())
-                .setDsPonCTagPriority(node.get(DS_C_TAG_PCP) == null ? NO_PCP :
-                        node.get(DS_C_TAG_PCP).asInt())
-                .setDsPonSTagPriority(node.get(DS_S_TAG_PCP) == null ? NO_PCP :
-                        node.get(DS_S_TAG_PCP).asInt())
-                .setEnableMacLearning(node.get(MAC_LEARNING) == null ? false :
-                        node.get(MAC_LEARNING).asBoolean())
-                .setTechnologyProfileId(node.get(TP_ID).asInt())
-                .setUpstreamBandwidthProfile(node.get(US_BW) == null ? null
-                        : node.get(US_BW).asText())
-                .setDownstreamBandwidthProfile(node.get(DS_BW) == null ? null
-                        : node.get(DS_BW).asText())
-                .setServiceName(node.get(SERVICE_NAME) == null ? NO_SN :
-                        node.get(SERVICE_NAME).asText())
-                .setIsDhcpRequired(node.get(IS_DHCP_REQ) == null ? false : node.get(IS_DHCP_REQ).asBoolean())
-                .setIsIgmpRequired(node.get(IS_IGMP_REQ) == null ? false : node.get(IS_IGMP_REQ).asBoolean())
-                .setConfiguredMacAddress(node.get(MAC_ADDRESS) == null ? MacAddress.NONE.toString() :
-                        node.get(MAC_ADDRESS).asText())
-                .build();
-    }
 }
diff --git a/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java b/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java
deleted file mode 100644
index 5e27e52..0000000
--- a/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.opencord.sadis.impl;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.packet.VlanId;
-import org.onosproject.codec.CodecContext;
-import org.onosproject.codec.JsonCodec;
-import org.opencord.sadis.UniTagInformation;
-
-public class UniTagInformationCodec extends JsonCodec<UniTagInformation> {
-
-    private static final String UNI_TAG_MATCH = "uniTagMatch";
-    private static final String PON_CTAG = "ponCTag";
-    private static final String PON_STAG = "ponSTag";
-    private static final String US_PON_CTAG_PCP = "usPonCTagPriority";
-    private static final String US_PON_STAG_PCP = "usPonSTagPriority";
-    private static final String DS_PON_CTAG_PCP = "dsPonCTagPriority";
-    private static final String DS_PON_STAG_PCP = "dsPonSTagPriority";
-    private static final String TP_ID = "technologyProfileId";
-    private static final String US_BP = "upstreamBandwidthProfile";
-    private static final String DS_BP = "downstreamBandwidthProfile";
-    private static final String SN = "serviceName";
-    private static final String MAC_LEARN = "enableMacLearning";
-    private static final String MAC = "configuredMacAddress";
-    private static final String DHCP_REQ = "isDhcpRequired";
-    private static final String IGMP_REQ = "isIgmpRequired";
-    private static final int NO_PCP = -1;
-    private static final int NO_TP = -1;
-    private static final String EMPTY_BP = "";
-    private static final String EMPTY_SN = "";
-    private static final boolean DEFAULT_MAC_LEARN = false;
-    private static final String EMPTY_MAC = "";
-    private static final boolean DEFAULT_DHCP_REQ = false;
-    private static final boolean DEFAULT_IGMP_REQ = false;
-
-    @Override
-    public ObjectNode encode(UniTagInformation entry, CodecContext context) {
-        return context.mapper().createObjectNode()
-                .put(UNI_TAG_MATCH, entry.getUniTagMatch().toShort())
-                .put(PON_CTAG, entry.getPonCTag().toShort())
-                .put(PON_STAG, entry.getPonSTag().toShort())
-                .put(US_PON_CTAG_PCP, entry.getUsPonCTagPriority())
-                .put(US_PON_STAG_PCP, entry.getUsPonSTagPriority())
-                .put(DS_PON_CTAG_PCP, entry.getDsPonCTagPriority())
-                .put(DS_PON_STAG_PCP, entry.getDsPonSTagPriority())
-                .put(TP_ID, entry.getTechnologyProfileId())
-                .put(US_BP, entry.getUpstreamBandwidthProfile())
-                .put(DS_BP, entry.getDownstreamBandwidthProfile())
-                .put(SN, entry.getServiceName())
-                .put(MAC_LEARN, entry.getEnableMacLearning())
-                .put(MAC, entry.getConfiguredMacAddress())
-                .put(DHCP_REQ, entry.getIsDhcpRequired())
-                .put(IGMP_REQ, entry.getIsIgmpRequired());
-    }
-
-    @Override
-    public UniTagInformation decode(ObjectNode json, CodecContext context) {
-        if (json == null || !json.isObject()) {
-            return null;
-        }
-
-        UniTagInformation.Builder tagInfoBuilder = new UniTagInformation.Builder();
-        tagInfoBuilder.setUniTagMatch(json.get(UNI_TAG_MATCH) == null ? VlanId.vlanId(VlanId.NO_VID) :
-                VlanId.vlanId(json.get(UNI_TAG_MATCH).shortValue()))
-                .setPonCTag(json.get(PON_CTAG) == null ? VlanId.vlanId(VlanId.NO_VID) :
-                        VlanId.vlanId(json.get(PON_CTAG).shortValue()))
-                .setPonCTag(json.get(PON_STAG) == null ? VlanId.vlanId(VlanId.NO_VID) :
-                        VlanId.vlanId(json.get(PON_STAG).shortValue()))
-                .setUsPonCTagPriority(json.get(US_PON_CTAG_PCP) == null ? NO_PCP :
-                        json.get(US_PON_CTAG_PCP).asInt())
-                .setUsPonSTagPriority(json.get(US_PON_STAG_PCP) == null ? NO_PCP :
-                        json.get(US_PON_STAG_PCP).asInt())
-                .setDsPonCTagPriority(json.get(DS_PON_CTAG_PCP) == null ? NO_PCP :
-                        json.get(DS_PON_CTAG_PCP).asInt())
-                .setDsPonSTagPriority(json.get(DS_PON_STAG_PCP) == null ? NO_PCP :
-                        json.get(DS_PON_STAG_PCP).asInt())
-                .setTechnologyProfileId(json.get(TP_ID) == null ? NO_TP :
-                        json.get(TP_ID).asInt())
-                .setUpstreamBandwidthProfile(json.get(US_BP) == null ? EMPTY_BP :
-                        json.get(US_BP).asText())
-                .setDownstreamBandwidthProfile(json.get(DS_BP) == null ? EMPTY_BP :
-                        json.get(DS_BP).asText())
-                .setServiceName(json.get(SN) == null ? EMPTY_SN :
-                        json.get(SN).asText())
-                .setEnableMacLearning(json.get(MAC_LEARN) == null ? DEFAULT_MAC_LEARN :
-                        json.get(MAC_LEARN).asBoolean())
-                .setConfiguredMacAddress(json.get(MAC) == null ? EMPTY_MAC :
-                        json.get(MAC).asText())
-                .setIsDhcpRequired(json.get(DHCP_REQ) == null ? DEFAULT_DHCP_REQ :
-                        json.get(DHCP_REQ).asBoolean())
-                .setIsIgmpRequired(json.get(IGMP_REQ) == null ? DEFAULT_IGMP_REQ :
-                        json.get(IGMP_REQ).asBoolean());
-
-        return tagInfoBuilder.build();
-    }
-}
diff --git a/app/src/main/java/org/opencord/sadis/rest/SadisWebResource.java b/app/src/main/java/org/opencord/sadis/rest/SadisWebResource.java
index b2bfad2..160874a 100644
--- a/app/src/main/java/org/opencord/sadis/rest/SadisWebResource.java
+++ b/app/src/main/java/org/opencord/sadis/rest/SadisWebResource.java
@@ -24,11 +24,16 @@
 import org.opencord.sadis.SubscriberAndDeviceInformation;
 import org.onlab.util.ItemNotFoundException;
 
+import java.net.URI;
+import java.net.URISyntaxException;
+
 import javax.ws.rs.GET;
+import javax.ws.rs.POST;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
+import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
@@ -41,6 +46,11 @@
     private final ArrayNode node = root.putArray("entry");
     private static final String SUBSCRIBER_NOT_FOUND = "Subscriber not found";
     private static final String BP_NOT_FOUND = "Bandwidth Profile not found";
+    private final SadisService sadisService = get(SadisService.class);
+    private final BaseInformationService<SubscriberAndDeviceInformation> subService =
+            sadisService.getSubscriberInfoService();
+    private final BaseInformationService<BandwidthProfileInformation> bpService =
+            sadisService.getBandwidthProfileService();
 
     /**
      * Get subscriber object.
@@ -54,9 +64,6 @@
     @Path("/subscriber/{id}")
     @Produces(MediaType.APPLICATION_JSON)
     public Response getSubscriber(@PathParam("id") String id) {
-        SadisService sadisService = get(SadisService.class);
-        BaseInformationService<SubscriberAndDeviceInformation> subService =
-                sadisService.getSubscriberInfoService();
         final SubscriberAndDeviceInformation entry = subService.get(id);
         if (entry == null) {
            throw new ItemNotFoundException(SUBSCRIBER_NOT_FOUND);
@@ -77,9 +84,6 @@
      @Path("/cache/subscriber/{id}")
      @Produces(MediaType.APPLICATION_JSON)
      public Response getSubscriberCache(@PathParam("id") String id) {
-         SadisService sadisService = get(SadisService.class);
-         BaseInformationService<SubscriberAndDeviceInformation> subService =
-                 sadisService.getSubscriberInfoService();
          final SubscriberAndDeviceInformation entry = subService.getfromCache(id);
          if (entry == null) {
             throw new ItemNotFoundException(SUBSCRIBER_NOT_FOUND);
@@ -89,6 +93,22 @@
      }
 
     /**
+     * Create subscriber object.
+     *
+     * @return 201 Created
+     */
+    @POST
+    @Path("/subscriber")
+    @Consumes(MediaType.APPLICATION_JSON)
+    public Response postSubscriber() {
+        try {
+            return Response.created(new URI("/subsciber/123")).build();
+        } catch (URISyntaxException e) {
+            return Response.serverError().build();
+        }
+    }
+
+    /**
      * Delete subscriber object.
      *
      * @param id
@@ -98,9 +118,6 @@
     @DELETE
     @Path("/cache/subscriber/{id}")
     public Response deleteSubscriber(@PathParam("id") String id) {
-        SadisService sadisService = get(SadisService.class);
-        BaseInformationService<SubscriberAndDeviceInformation> subService =
-                sadisService.getSubscriberInfoService();
         subService.invalidateId(id);
         return Response.noContent().build();
     }
@@ -113,9 +130,6 @@
     @DELETE
     @Path("/cache/subscriber/")
     public Response deleteAllSubscribers() {
-        SadisService sadisService = get(SadisService.class);
-        BaseInformationService<SubscriberAndDeviceInformation> subService =
-                sadisService.getSubscriberInfoService();
         subService.invalidateAll();
         return Response.noContent().build();
     }
@@ -124,9 +138,6 @@
     @Path("/bandwidthprofile/{id}")
     @Produces(MediaType.APPLICATION_JSON)
     public Response getBandwidthProfile(@PathParam("id") String id) {
-        SadisService sadisService = get(SadisService.class);
-        BaseInformationService<BandwidthProfileInformation> bpService =
-                sadisService.getBandwidthProfileService();
         final BandwidthProfileInformation entry = bpService.get(id);
         if (entry == null) {
             throw new ItemNotFoundException(BP_NOT_FOUND);
@@ -139,9 +150,6 @@
     @Path("/cache/bandwidthprofile/{id}")
     @Produces(MediaType.APPLICATION_JSON)
     public Response getBandwidthProfileCache(@PathParam("id") String id) {
-        SadisService sadisService = get(SadisService.class);
-        BaseInformationService<BandwidthProfileInformation> bpService =
-                sadisService.getBandwidthProfileService();
         final BandwidthProfileInformation entry = bpService.getfromCache(id);
         if (entry == null) {
             throw new ItemNotFoundException(BP_NOT_FOUND);
@@ -153,19 +161,13 @@
     @DELETE
     @Path("/cache/bandwidthprofile/{id}")
     public Response deleteBandwidthProfile(@PathParam("id") String id) {
-        SadisService sadisService = get(SadisService.class);
-        BaseInformationService<BandwidthProfileInformation> bpService =
-                sadisService.getBandwidthProfileService();
-        bpService.invalidateId(id);
+        bpService.invalidateAll();
         return Response.noContent().build();
     }
 
     @DELETE
     @Path("/cache/bandwidthprofile/")
     public Response deleteAllBandwidthProfiles() {
-        SadisService sadisService = get(SadisService.class);
-        BaseInformationService<BandwidthProfileInformation> bpService =
-                sadisService.getBandwidthProfileService();
         bpService.invalidateAll();
         return Response.noContent().build();
     }