X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fadsal%2Fforwardingrulesmanager%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2FPortGroupProvider.java;fp=opendaylight%2Fadsal%2Fforwardingrulesmanager%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2FPortGroupProvider.java;h=0000000000000000000000000000000000000000;hb=50f88249a65c52ba56a48852b71ce432fed2bbeb;hp=dc4f13f497f5e5a0fce7b8035b71cd40512834b1;hpb=abfa9a03550cbe9fccc4420684dced175dd6d119;p=controller.git diff --git a/opendaylight/adsal/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/PortGroupProvider.java b/opendaylight/adsal/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/PortGroupProvider.java deleted file mode 100644 index dc4f13f497..0000000000 --- a/opendaylight/adsal/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/PortGroupProvider.java +++ /dev/null @@ -1,113 +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.forwardingrulesmanager; - -import java.util.Map; - -import org.opendaylight.controller.sal.core.Node; - -/** - * PortGroupProvider interface provides all the necessary blueprint for a custom - * application to implement in order to provide Port Grouping Service. Custom - * Application that implements this interface will have to handle the opaque - * match criteria passed to it via PortGroupConfig. - * - * - * - */ -public interface PortGroupProvider { - /** - * This method is invoked by the Controller towards the Provider when a new - * port group is configured. - * - * @param config - * New PortGroupConfig object created by user Configuration. - * @return true if successful. false otherwise. - */ - boolean createPortGroupConfig(PortGroupConfig config); - - /** - * This method is invoked by the Controller towards the Provider when an - * existing port group is deleted. - * - * @param config - * Existing Port Group Configuration deleted by the user. - * @return true if successful. false otherwise. - */ - boolean deletePortGroupConfig(PortGroupConfig config); - - /** - * Returns the complete mapping database corresponds to a PortGroup - * Configuration. Its the PortGroupProvider Application's responsibility to - * manage the Switches & the Set of its Ports that correspond to each of the - * Configuration and return it to the Controller when requested. - * - * @param config - * User Configuration - * @see PortGroupConfig - * @return Database of Switch-Id to PortGroup mapping that corresponds to - * the Port Group User Configuration. - */ - Map getPortGroupData(PortGroupConfig config); - - /** - * Returns PortGroup data for a given Switch and user Configuration. Its the - * PortGroupProvider Application's responsibility to manage the Switches & - * the Set of its Ports that correspond to each of the Configuration and - * return it to the Controller when requested. - * - * @param config - * User Configuration - * @param matrixSwitchId - * Switch Id that represents an openflow Switch - * @see PortGroupConfig - * @return PortGroup data for a given Openflow switch. - * @see PortGroup - */ - PortGroup getPortGroupData(PortGroupConfig config, long matrixSwitchId); - - /** - * Registers a Listener for Port Group membership changes based on Custom - * application algorithm. - * - * @param listener - * A Controller module that listens to events from the Custom - * Port Grouping Application. - */ - void registerPortGroupChange(PortGroupChangeListener listener); - - /** - * Application returns an Usage string for the Match Criteria User - * Configuration. Controller provides an opportunity for application to - * implement Custom Algorithm for Port Grouping. This method exposes the - * custom algorithm to the user so that the user can configure the - * matchString regular expression in PortGroupConfig appropriately. - * - * @return Usage string. - */ - String getApplicationDrivenMatchCriteriaUsage(); - - /** - * Returns the name of the Custom Application that implements - * PortGroupProvider interface. - * - * @return Provider Name - */ - String getProviderName(); - - /** - * Controller uses this method to check with the Provider supports the - * matchCriteria String configured by the User. - * - * @param matchCriteria - * @return true if the Provider supports the matchCriteria String. false - * otherwise. - */ - boolean isMatchCriteriaSupported(String matchCriteria); -}