Remove bundle extension (de)serializers
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / deserialization / experimenter / BundleControlFactory.java
diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/experimenter/BundleControlFactory.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/experimenter/BundleControlFactory.java
deleted file mode 100644 (file)
index 0d52e0c..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2016 Pantheon Technologies s.r.o. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.openflowjava.protocol.impl.deserialization.experimenter;
-
-import io.netty.buffer.ByteBuf;
-import java.util.ArrayList;
-import java.util.List;
-import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
-import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistryInjector;
-import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.openflowjava.util.ExperimenterDeserializerKeyFactory;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.BundleControlType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.BundleFlags;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.BundleId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.BundlePropertyType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.bundle.properties.BundleProperty;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.bundle.properties.BundlePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.bundle.properties.bundle.property.bundle.property.entry.BundleExperimenterPropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.bundle.properties.bundle.property.bundle.property.entry.bundle.experimenter.property.BundleExperimenterPropertyData;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.experimenter.input.experimenter.data.of.choice.BundleControl;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.experimenter.input.experimenter.data.of.choice.BundleControlBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId;
-
-/**
- * Translates BundleControl messages (OpenFlow v1.3 extension #230).
- */
-public class BundleControlFactory implements OFDeserializer<BundleControl>, DeserializerRegistryInjector {
-
-    private DeserializerRegistry deserializerRegistry;
-
-    @Override
-    public BundleControl deserialize(ByteBuf message) {
-        BundleId bundleId = new BundleId(message.readUnsignedInt());
-        BundleControlType type = BundleControlType.forValue(message.readUnsignedShort());
-        BundleFlags flags = createBundleFlags(message.readUnsignedShort());
-        BundleControlBuilder builder = new BundleControlBuilder();
-        List<BundleProperty> properties = createBundleProperties(message);
-        return builder.setBundleId(bundleId)
-                .setType(type)
-                .setFlags(flags)
-                .setBundleProperty(properties)
-                .build();
-    }
-
-    private static BundleFlags createBundleFlags(final int flags) {
-        Boolean isAtomic = (flags & (1 << 0)) != 0;
-        Boolean isOrdered = (flags & (1 << 1)) != 0;
-        return new BundleFlags(isAtomic, isOrdered);
-    }
-
-    private List<BundleProperty> createBundleProperties(final ByteBuf message) {
-        List<BundleProperty> properties = new ArrayList<>();
-        while (message.readableBytes() > 0) {
-            BundlePropertyType type = BundlePropertyType.forValue(message.readUnsignedShort());
-            int length = message.readUnsignedShort();
-            if (type != null && type.equals(BundlePropertyType.ONFETBPTEXPERIMENTER)) {
-                properties.add(createExperimenterBundleProperty(length, message));
-            } else {
-                message.skipBytes(length);
-            }
-        }
-        return properties;
-    }
-
-    private BundleProperty createExperimenterBundleProperty(final int length, final ByteBuf message) {
-        BundleExperimenterPropertyBuilder experimenterProperty = new BundleExperimenterPropertyBuilder();
-        long experimenterId = message.readUnsignedInt();
-        long expType = message.readUnsignedInt();
-        experimenterProperty.setExperimenter(new ExperimenterId(experimenterId));
-        experimenterProperty.setExpType(expType);
-
-        OFDeserializer<BundleExperimenterPropertyData> deserializer = deserializerRegistry.getDeserializer(
-                ExperimenterDeserializerKeyFactory.createBundlePropertyDeserializerKey(EncodeConstants.OF13_VERSION_ID,
-                        experimenterId, expType));
-        experimenterProperty.setBundleExperimenterPropertyData(deserializer.deserialize(message.readBytes(length - 12)));
-
-        return new BundlePropertyBuilder().setType(BundlePropertyType.ONFETBPTEXPERIMENTER)
-                .setBundlePropertyEntry(experimenterProperty.build())
-                .build();
-    }
-
-    @Override
-    public void injectDeserializerRegistry(DeserializerRegistry deserializerRegistry) {
-        this.deserializerRegistry = deserializerRegistry;
-    }
-
-}
-
-