Manifest-Version: 1.0\r
-Bnd-LastModified: 1378325274924
-Build-Jdk: 1.7.0_25
+Bnd-LastModified: 1378480461580\r
+Build-Jdk: 1.7.0_25\r
Built-By: sraman\r
Bundle-ManifestVersion: 2\r
Bundle-Name: affinity\r
Bundle-Version: 0.4.0.SNAPSHOT\r
Created-By: Apache Maven Bundle Plugin\r
Export-Package: org.opendaylight.controller.affinity;uses:="javax.xml.bi\r
- nd.annotation,org.opendaylight.controller.sal.utils,org.opendaylight.co
- ntroller.sal.core";version="0.4.0.SNAPSHOT"
+ nd.annotation,org.opendaylight.controller.sal.utils,org.opendaylight.co\r
+ ntroller.sal.core";version="0.4.0.SNAPSHOT"\r
Import-Package: javax.ws.rs;version="[1.1,2)",javax.ws.rs.core;version="\r
- [1.1,2)",javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annota\r
- tion,org.apache.commons.lang3.builder;version="[3.1,4)",org.apache.feli\r
- x.dm;version="[3.0,4)",org.eclipse.osgi.framework.console;version="[1.1\r
- ,2)",org.opendaylight.controller.clustering.services;version="[0.4,1)",\r
- org.opendaylight.controller.configuration;version="[0.4,1)",org.openday\r
- light.controller.sal.core;version="[0.5,1)",org.opendaylight.controller\r
- .sal.inventory;version="[0.5,1)",org.opendaylight.controller.sal.packet\r
- ;version="[0.5,1)",org.opendaylight.controller.sal.utils;version="[0.5,\r
- 1)",org.osgi.framework;version="[1.7,2)",org.slf4j;version="[1.7,2)",or\r
- g.slf4j\r
+ [1.1,2)",javax.xml.bind,javax.xml.bind.annotation,org.apache.commons.la\r
+ ng3.builder;version="[3.1,4)",org.apache.felix.dm;version="[3.0,4)",org\r
+ .eclipse.osgi.framework.console;version="[1.1,2)",org.opendaylight.cont\r
+ roller.clustering.services;version="[0.4,1)",org.opendaylight.controlle\r
+ r.configuration;version="[0.4,1)",org.opendaylight.controller.sal.core;\r
+ version="[0.5,1)",org.opendaylight.controller.sal.inventory;version="[0\r
+ .5,1)",org.opendaylight.controller.sal.packet;version="[0.5,1)",org.ope\r
+ ndaylight.controller.sal.utils;version="[0.5,1)",org.osgi.framework;ver\r
+ sion="[1.7,2)",org.slf4j;version="[1.7,2)"\r
Tool: Bnd-1.50.0\r
public Set<String> getIPs() {
return elements.keySet();
}
- public Collection<AffinityIdentifier> getAllElements() {
- return elements.values();
+ public ArrayList<AffinityIdentifier> getAllElements() {
+ ArrayList<AffinityIdentifier> retvalues = new ArrayList<AffinityIdentifier>(elements.values());
+ return retvalues;
}
}
public void print() {
System.out.println(name);
}
+ public String toString() {
+ return "AffinityIdentifier [name= " + this.name + " value= " + value.toString() + "]";
+ }
}
package org.opendaylight.controller.affinity;
import java.net.InetAddress;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentMap;
import java.util.Set;
import java.util.Collection;
+import java.util.Map.Entry;
import org.opendaylight.controller.sal.core.Host;
import org.opendaylight.controller.sal.core.Node;
/* Save all configs to their respective files. */
public Status saveAffinityConfig();
- public List<AffinityIdentifier> getAllElementsByAffinityIdentifier(AffinityGroup ag);
+ public ArrayList<AffinityIdentifier> getAllElementsByAffinityIdentifier(AffinityGroup ag);
public List<Host> getAllElementsByHost(AffinityGroup ag);
+ public List<Entry<Host, Host>> getAllFlowsByHost(AffinityLink al);
+ public List<Entry<AffinityIdentifier, AffinityIdentifier>> getAllFlowsByAffinityIdentifier(AffinityLink al);
}
Manifest-Version: 1.0\r
-Bnd-LastModified: 1378325277283
-Build-Jdk: 1.7.0_25
+Bnd-LastModified: 1378480463970\r
+Build-Jdk: 1.7.0_25\r
Built-By: sraman\r
Bundle-Activator: org.opendaylight.controller.affinity.internal.Activato\r
r\r
osgi.framework.console;version="[1.1,2)",org.opendaylight.controller.af\r
finity;version="[0.4,1)",org.opendaylight.controller.clustering.service\r
s;version="[0.4,1)",org.opendaylight.controller.configuration;version="\r
- [0.4,1)",org.opendaylight.controller.hosttracker;version="[0.4,1)",org.
- opendaylight.controller.hosttracker.hostAware;version="[0.4,1)",org.ope
- ndaylight.controller.sal.core;version="[0.5,1)",org.opendaylight.contro
- ller.sal.inventory;version="[0.5,1)",org.opendaylight.controller.sal.pa
- cket;version="[0.5,1)",org.opendaylight.controller.sal.utils;version="[
- 0.5,1)",org.osgi.framework;version="[1.7,2)",org.slf4j;version="[1.7,2)
- "
+ [0.4,1)",org.opendaylight.controller.hosttracker;version="[0.4,1)",org.\r
+ opendaylight.controller.hosttracker.hostAware;version="[0.4,1)",org.ope\r
+ ndaylight.controller.sal.core;version="[0.5,1)",org.opendaylight.contro\r
+ ller.sal.inventory;version="[0.5,1)",org.opendaylight.controller.sal.pa\r
+ cket;version="[0.5,1)",org.opendaylight.controller.sal.utils;version="[\r
+ 0.5,1)",org.osgi.framework;version="[1.7,2)",org.slf4j;version="[1.7,2)\r
+ "\r
Tool: Bnd-1.50.0\r
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.AbstractMap;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
}
@Override
- public List<AffinityIdentifier> getAllElementsByAffinityIdentifier(AffinityGroup ag) {
- List<AffinityIdentifier> elements = (List<AffinityIdentifier>) ag.getAllElements();
- return elements;
+ public ArrayList<AffinityIdentifier> getAllElementsByAffinityIdentifier(AffinityGroup ag) {
+ return ag.getAllElements();
}
@Override
}
return hostList;
}
- /*
- @Override
- public List<Entry<Host, Host>> getAllFlows(AffinityGroup ag) {
- List<Entry<Host,Host>> hostPairList= new java.util.ArrayList<>();
- java.util.Map.Entry<Host, Host> hp1=new java.util.AbstractMap.SimpleEntry<>(host1, host2);
- hostPairList.add(hp1);
+
+ @Override
+ public List<Entry<Host, Host>> getAllFlowsByHost(AffinityLink al) {
+ List<Entry<Host,Host>> hostPairList= new ArrayList<Entry<Host, Host>>();
+
+ AffinityGroup fromGroup = al.getFromGroup();
+ AffinityGroup toGroup = al.getToGroup();
+
+ for (AffinityIdentifier h1 : fromGroup.getAllElements()) {
+ for (AffinityIdentifier h2 : toGroup.getAllElements()) {
+ if (hostTracker != null) {
+ Host host1 = hostTracker.hostFind((InetAddress) h1.get());
+ Host host2 = hostTracker.hostFind((InetAddress) h2.get());
+ Entry<Host, Host> hp1=new AbstractMap.SimpleEntry<Host, Host>(host1, host2);
+ hostPairList.add(hp1);
+ }
+ }
+ }
return hostPairList;
}
@Override
- public List<Entry<AffinityIdentifier, AffinityIdentifier>> getAllFlows(AffinityGroup ag) {
- List<Entry<Host,Host>> hostPairList= new java.util.ArrayList<>();
- java.util.Map.Entry<Host, Host> hp1=new java.util.AbstractMap.SimpleEntry<>(host1, host2);
- hostPairList.add(hp1);
+ public List<Entry<AffinityIdentifier, AffinityIdentifier>> getAllFlowsByAffinityIdentifier(AffinityLink al) {
+ List<Entry<AffinityIdentifier, AffinityIdentifier>> hostPairList= new ArrayList<Entry<AffinityIdentifier, AffinityIdentifier>>();
+
+ AffinityGroup fromGroup = al.getFromGroup();
+ AffinityGroup toGroup = al.getToGroup();
+
+ for (AffinityIdentifier h1 : fromGroup.getAllElements()) {
+ for (AffinityIdentifier h2 : toGroup.getAllElements()) {
+ Entry<AffinityIdentifier, AffinityIdentifier> hp1=new AbstractMap.SimpleEntry<AffinityIdentifier, AffinityIdentifier>(h1, h2);
+ hostPairList.add(hp1);
+ }
+ }
+ return hostPairList;
}
- */
@Override
public Status saveConfiguration() {
import java.util.HashSet;
import java.util.Set;
import java.util.List;
+import java.util.Map.Entry;
import org.junit.Assert;
import org.junit.Test;
import org.opendaylight.controller.sal.core.State;
import org.opendaylight.controller.sal.core.UpdateType;
import org.opendaylight.controller.sal.utils.Status;
+import org.opendaylight.controller.affinity.AffinityIdentifier;
import org.opendaylight.controller.affinity.AffinityGroup;
import org.opendaylight.controller.affinity.AffinityLink;
import org.opendaylight.controller.sal.core.Host;
Assert.assertTrue(result.isSuccess());
/* Test the get methods. */
- System.out.println("Affinity group = " + ag1.getName());
+
+ /* Get all members as hosts */
+ System.out.println("Affinity group (as Hosts) = " + ag1.getName());
List<Host> hostlist = affinitymgr.getAllElementsByHost(ag1);
for (Host h : hostlist) {
System.out.println("host = " + h.getNetworkAddressAsString());
}
+
+ /* Get all members as affinity identifiers */
+ System.out.println("Affinity group (as Affinity Identifiers) = " + ag1.getName());
+ ArrayList<AffinityIdentifier> affylist = affinitymgr.getAllElementsByAffinityIdentifier(ag1);
+
+ for (AffinityIdentifier i : affylist) {
+ i.print();
+ }
+
+ /* Get all id pairs for an affinity link */
+ System.out.println("Affinity link = " + al1.getName());
+ List<Entry<AffinityIdentifier, AffinityIdentifier>> flowlist = affinitymgr.getAllFlowsByAffinityIdentifier(al1);
+
+ for (Entry<AffinityIdentifier, AffinityIdentifier> flow : flowlist) {
+ System.out.println("flow " + "from: " + flow.getKey().toString() + "to: " + flow.getValue().toString());
+ }
+
affinitymgr.saveConfiguration();
/* Constraint checking? */
result = (affinitymgr.removeAffinityGroup(ag1.getName()));
Manifest-Version: 1.0\r
-Bnd-LastModified: 1378325278167
-Build-Jdk: 1.7.0_25
+Bnd-LastModified: 1378480464813\r
+Build-Jdk: 1.7.0_25\r
Built-By: sraman\r
Bundle-ManifestVersion: 2\r
Bundle-Name: northbound\r