Bug 868: Remove AD-SAL components which were deprecated in Lithium
[controller.git] / opendaylight / adsal / sal / api / src / main / java / org / opendaylight / controller / sal / action / Action.java
diff --git a/opendaylight/adsal/sal/api/src/main/java/org/opendaylight/controller/sal/action/Action.java b/opendaylight/adsal/sal/api/src/main/java/org/opendaylight/controller/sal/action/Action.java
deleted file mode 100644 (file)
index cf303b9..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. 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.controller.sal.action;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.opendaylight.controller.sal.core.Property;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import java.io.Serializable;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * Represents the generic action to be applied to the matched
- * frame/packet/message
- */
-@XmlRootElement
-@XmlAccessorType(XmlAccessType.NONE)
-@Deprecated
-public abstract class Action implements Serializable {
-    private static final long serialVersionUID = 1L;
-    private static final Logger logger = LoggerFactory.getLogger(Action.class);
-    private static boolean debug = false; // Enable to find where in the code an
-    // invalid assignment is made
-    @XmlElement
-    protected ActionType type;
-    private transient boolean isValid = true;
-    private ConcurrentMap<String, Property> props;
-
-    /* Dummy constructor for JAXB */
-    public Action() {
-    }
-
-    /**
-     * Checks if the passed value is in the valid range for this action
-     *
-     * @param value
-     * @return boolean
-     */
-    protected void checkValue(int value) {
-        if (type.isValidTarget(value) == false) {
-            isValid = false;
-            throwValueException(value);
-        }
-    }
-
-    /**
-     * Checks if the passed value is in the valid range for the passed action
-     * type This method is used for complex Action types which are
-     *
-     * @param value
-     * @return boolean
-     */
-    protected void checkValue(ActionType type, int value) {
-        if (type.isValidTarget(value) == false) {
-            isValid = false;
-            throwValueException(value);
-        }
-    }
-
-    /**
-     * Throw and handle the invalid value exception
-     *
-     * @param value
-     * @return void
-     */
-    private void throwValueException(int value) {
-        String error = "Invalid field value assignement. For type: " + type.getId() + " Expected: " + type.getRange()
-                + ", Got: 0x" + Integer.toHexString(value);
-        try {
-            throw new Exception(error);
-        } catch (Exception e) {
-            logger.error(e.getMessage());
-            if (debug) {
-                logger.error("", e);
-            }
-        }
-    }
-
-    /**
-     * Gets the list of metadata currently registered with this match
-     *
-     * @return List of metadata currently registered
-     */
-    public List <Property> getMetadatas() {
-        if (this.props != null) {
-            // Return all the values in the map
-            Collection res = this.props.values();
-            if (res == null) {
-                return Collections.emptyList();
-            }
-            return new ArrayList<Property>(res);
-        }
-        return Collections.emptyList();
-    }
-
-    /**
-     * Gets the metadata registered with a name if present
-     *
-     * @param name the name of the property to be extracted
-     *
-     * @return List of metadata currently registered
-     */
-    public Property getMetadata(String name) {
-        if (name == null) {
-            return null;
-        }
-        if (this.props != null) {
-            // Return the Property associated to the name
-            return this.props.get(name);
-        }
-        return null;
-    }
-
-    /**
-     * Sets the metadata associated to a name. If the name or prop is NULL,
-     * an exception NullPointerException will be raised.
-     *
-     * @param name the name of the property to be set
-     * @param prop, property to be set
-     */
-    public void setMetadata(String name, Property prop) {
-        if (this.props == null) {
-            props = new ConcurrentHashMap<String, Property>();
-        }
-
-        if (this.props != null) {
-            this.props.put(name, prop);
-        }
-    }
-
-    /**
-     * Remove the metadata associated to a name. If the name is NULL,
-     * nothing will be removed.
-     *
-     * @param name the name of the property to be set
-     * @param prop, property to be set
-     *
-     * @return List of metadata currently registered
-     */
-    public void removeMetadata(String name) {
-        if (this.props == null) {
-            return;
-        }
-
-        if (this.props != null) {
-            this.props.remove(name);
-        }
-        // It's intentional to keep the this.props still allocated
-        // till the parent data structure will be alive, so to avoid
-        // unnecessary allocation/deallocation, even if it's holding
-        // nothing
-    }
-
-    /**
-     * Returns the type of this action
-     *
-     * @return ActionType
-     */
-    public ActionType getType() {
-        return type;
-    }
-
-    /**
-     * Returns the id of this action
-     *
-     * @return String
-     */
-    public String getId() {
-        return type.getId();
-    }
-
-    /**
-     * Returns whether the Action is valid or not
-     *
-     * @return boolean
-     */
-    public boolean isValid() {
-        return isValid;
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((type == null) ? 0 : type.calculateConsistentHashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        Action other = (Action) obj;
-        if (type != other.type) {
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        return type.toString();
-    }
-
-}