moving igmp app to use access device config

Change-Id: I2940b3db9c6da3a3c43c192a2b390c46b40749e7
diff --git a/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceConfig.java b/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceConfig.java
deleted file mode 100644
index c13ffae..0000000
--- a/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceConfig.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * 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.onosproject.olt.impl;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import org.onlab.packet.VlanId;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.config.Config;
-
-import java.util.Optional;
-
-/**
- * Config object for access device data.
- */
-public class AccessDeviceConfig extends Config<DeviceId> {
-
-    private static final String UPLINK = "uplink";
-    private static final String VLAN = "vlan";
-    private static final String DEFAULT_VLAN = "defaultVlan";
-
-    /**
-     * Gets the access device configuration for this device.
-     *
-     * @return access device configuration
-     */
-    public AccessDeviceData getOlt() {
-        PortNumber uplink = PortNumber.portNumber(node.path(UPLINK).asText());
-        VlanId vlan = VlanId.vlanId(Short.parseShort(node.path(VLAN).asText()));
-        JsonNode defaultVlanNode = node.path(DEFAULT_VLAN);
-
-        Optional<VlanId> defaultVlan;
-        if (defaultVlanNode.isMissingNode()) {
-            defaultVlan = Optional.empty();
-        } else {
-            defaultVlan = Optional.of(VlanId.vlanId(Short.parseShort(defaultVlanNode.asText())));
-        }
-
-        return new AccessDeviceData(subject(), uplink, vlan, defaultVlan);
-    }
-}
diff --git a/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceData.java b/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceData.java
deleted file mode 100644
index 1cfc62b..0000000
--- a/apps/olt/app/src/main/java/org/onosproject/olt/impl/AccessDeviceData.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * 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.onosproject.olt.impl;
-
-import org.onlab.packet.VlanId;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.PortNumber;
-
-import java.util.Optional;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Information about an access device.
- */
-public class AccessDeviceData {
-    private static final String DEVICE_ID_MISSING = "Device ID cannot be null";
-    private static final String UPLINK_MISSING = "Uplink cannot be null";
-    private static final String VLAN_MISSING = "VLAN ID cannot be null";
-
-    private final DeviceId deviceId;
-    private final PortNumber uplink;
-    private final VlanId vlan;
-    private final Optional<VlanId> defaultVlan;
-
-    /**
-     * Class constructor.
-     *
-     * @param deviceId access device ID
-     * @param uplink uplink port number
-     * @param vlan device VLAN ID
-     * @param defaultVlan default device VLAN ID
-     */
-    public AccessDeviceData(DeviceId deviceId, PortNumber uplink, VlanId vlan,
-                            Optional<VlanId> defaultVlan) {
-        this.deviceId = checkNotNull(deviceId, DEVICE_ID_MISSING);
-        this.uplink = checkNotNull(uplink, UPLINK_MISSING);
-        this.vlan = checkNotNull(vlan, VLAN_MISSING);
-        this.defaultVlan = checkNotNull(defaultVlan);
-    }
-
-    /**
-     * Retrieves the access device ID.
-     *
-     * @return device ID
-     */
-    public DeviceId deviceId() {
-        return deviceId;
-    }
-
-    /**
-     * Retrieves the uplink port number.
-     *
-     * @return port number
-     */
-    public PortNumber uplink() {
-        return uplink;
-    }
-
-    /**
-     * Retrieves the VLAN ID assigned to the device.
-     *
-     * @return VLAN ID
-     */
-    public VlanId vlan() {
-        return vlan;
-    }
-
-    /**
-     * Retrieves the default VLAN ID that will be used for this device.
-     *
-     * @return default VLAN ID
-     */
-    public Optional<VlanId> defaultVlan() {
-        return defaultVlan;
-    }
-}
diff --git a/apps/olt/app/src/main/java/org/onosproject/olt/impl/Olt.java b/apps/olt/app/src/main/java/org/onosproject/olt/impl/Olt.java
index 95e7693..0a97cca 100644
--- a/apps/olt/app/src/main/java/org/onosproject/olt/impl/Olt.java
+++ b/apps/olt/app/src/main/java/org/onosproject/olt/impl/Olt.java
@@ -24,7 +24,6 @@
 import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.apache.felix.scr.annotations.Service;
 import org.onlab.packet.EthType;
-import org.onlab.packet.IPv4;
 import org.onlab.packet.VlanId;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
@@ -54,6 +53,8 @@
 import org.onosproject.net.flowobjective.Objective;
 import org.onosproject.net.flowobjective.ObjectiveContext;
 import org.onosproject.net.flowobjective.ObjectiveError;
+import org.onosproject.olt.AccessDeviceConfig;
+import org.onosproject.olt.AccessDeviceData;
 import org.onosproject.olt.AccessDeviceEvent;
 import org.onosproject.olt.AccessDeviceListener;
 import org.onosproject.olt.AccessDeviceService;
@@ -366,32 +367,8 @@
                     }
                 });
 
-
-        FilteringObjective igmp = DefaultFilteringObjective.builder()
-                .permit()
-                .withKey(Criteria.matchInPort(port.number()))
-                .addCondition(Criteria.matchEthType(EthType.EtherType.IPV4.ethType()))
-                .addCondition(Criteria.matchIPProtocol(IPv4.PROTOCOL_IGMP))
-                .withMeta(DefaultTrafficTreatment.builder()
-                                  .setOutput(PortNumber.CONTROLLER).build())
-                .fromApp(appId)
-                .withPriority(1000)
-                .add(new ObjectiveContext() {
-                    @Override
-                    public void onSuccess(Objective objective) {
-                        log.info("Igmp filter for {} on {} installed.",
-                                 devId, port);
-                    }
-
-                    @Override
-                    public void onError(Objective objective, ObjectiveError error) {
-                        log.info("Igmp filter for {} on {} failed because {}.",
-                                 devId, port, error);
-                    }
-                });
-
         flowObjectiveService.filter(devId, eapol);
-        flowObjectiveService.filter(devId, igmp);
+
     }
 
     private class InternalDeviceListener implements DeviceListener {