@Test public void testForIpAccessList() { NetworkFactory nf = new NetworkFactory(); Configuration config = configWithOneAcl(nf); IpAccessList acl = config.getIpAccessLists().values().iterator().next(); BDDSourceManager mgr = BDDSourceManager.forIpAccessList(_pkt, config, acl); assertFalse(mgr.isTrivial()); assertFalse(mgr.allSourcesTracked()); BDD iface1BDD = mgr.getSourceInterfaceBDD(IFACE1); BDD iface2BDD = mgr.getSourceInterfaceBDD(IFACE2); BDD iface3BDD = mgr.getSourceInterfaceBDD(IFACE3); BDD origBDD = mgr.getOriginatingFromDeviceBDD(); assertThat( "BDDs for IFACE1 and IFACE2 should be different", iface1BDD, not(equalTo(iface2BDD))); assertThat( "BDDs for all sources other than IFACE1 should be the same", iface2BDD, allOf(equalTo(iface3BDD), equalTo(origBDD))); }
public static BDDSourceManager forIpAccessList( BDDPacket pkt, Configuration config, IpAccessList acl) { return forIpAccessList( pkt, Sets.union(ImmutableSet.of(SOURCE_ORIGINATING_FROM_DEVICE), config.activeInterfaceNames()), config.getIpAccessLists(), acl); }
BDDSourceManager { public static BDDSourceManager forIpAccessList( BDDPacket pkt, Configuration config, IpAccessList acl) { return forIpAccessList( pkt, Sets.union(ImmutableSet.of(SOURCE_ORIGINATING_FROM_DEVICE), config.activeInterfaceNames()), config.getIpAccessLists(), acl); } }
BDDSourceManager { public static BDDSourceManager forIpAccessList( BDDPacket pkt, Configuration config, IpAccessList acl) { return forIpAccessList( pkt, Sets.union(ImmutableSet.of(SOURCE_ORIGINATING_FROM_DEVICE), config.activeInterfaceNames()), config.getIpAccessLists(), acl); } private  BDDSourceManager(
      BDDFiniteDomain<String> finiteDomain, Set<String> activeButUnreferenced); }
BDDSourceManager { public static BDDSourceManager forIpAccessList( BDDPacket pkt, Configuration config, IpAccessList acl) { return forIpAccessList( pkt, Sets.union(ImmutableSet.of(SOURCE_ORIGINATING_FROM_DEVICE), config.activeInterfaceNames()), config.getIpAccessLists(), acl); } private  BDDSourceManager(
      BDDFiniteDomain<String> finiteDomain, Set<String> activeButUnreferenced); static BDDSourceManager forInterfaces(BDDPacket pkt, Set<String> interfaces); static BDDSourceManager forInterfaces(BDDInteger var, Set<String> interfaces); static BDDSourceManager empty(BDDPacket pkt); static BDDSourceManager forIpAccessList(
      BDDPacket pkt, Configuration config, IpAccessList acl); static BDDSourceManager forSources(
      BDDPacket pkt, Set<String> activeSources, Set<String> referencedSources); static Map<String, BDDSourceManager> forNetwork(
      BDDPacket pkt, Map<String, Configuration> configs); static Map<String, BDDSourceManager> forNetwork(
      BDDPacket pkt, Map<String, Configuration> configs, boolean initializeSessions); static BDDSourceManager forIpAccessList(
      BDDPacket pkt,
      Set<String> activeInterfaces,
      Map<String, IpAccessList> namedAcls,
      IpAccessList acl); BDDFiniteDomain<String> getFiniteDomain(); BDD getOriginatingFromDeviceBDD(); BDD getSourceInterfaceBDD(String iface); Map<String, BDD> getSourceBDDs(); Optional<String> getSourceFromAssignment(BDD bdd); boolean isTrivial(); BDD isValidValue(); BDD existsSource(BDD bdd); boolean hasIsValidConstraint(BDD bdd); boolean hasSourceConstraint(BDD bdd); boolean allSourcesTracked(); }
BDDSourceManager { public static BDDSourceManager forIpAccessList( BDDPacket pkt, Configuration config, IpAccessList acl) { return forIpAccessList( pkt, Sets.union(ImmutableSet.of(SOURCE_ORIGINATING_FROM_DEVICE), config.activeInterfaceNames()), config.getIpAccessLists(), acl); } private  BDDSourceManager(
      BDDFiniteDomain<String> finiteDomain, Set<String> activeButUnreferenced); static BDDSourceManager forInterfaces(BDDPacket pkt, Set<String> interfaces); static BDDSourceManager forInterfaces(BDDInteger var, Set<String> interfaces); static BDDSourceManager empty(BDDPacket pkt); static BDDSourceManager forIpAccessList(
      BDDPacket pkt, Configuration config, IpAccessList acl); static BDDSourceManager forSources(
      BDDPacket pkt, Set<String> activeSources, Set<String> referencedSources); static Map<String, BDDSourceManager> forNetwork(
      BDDPacket pkt, Map<String, Configuration> configs); static Map<String, BDDSourceManager> forNetwork(
      BDDPacket pkt, Map<String, Configuration> configs, boolean initializeSessions); static BDDSourceManager forIpAccessList(
      BDDPacket pkt,
      Set<String> activeInterfaces,
      Map<String, IpAccessList> namedAcls,
      IpAccessList acl); BDDFiniteDomain<String> getFiniteDomain(); BDD getOriginatingFromDeviceBDD(); BDD getSourceInterfaceBDD(String iface); Map<String, BDD> getSourceBDDs(); Optional<String> getSourceFromAssignment(BDD bdd); boolean isTrivial(); BDD isValidValue(); BDD existsSource(BDD bdd); boolean hasIsValidConstraint(BDD bdd); boolean hasSourceConstraint(BDD bdd); boolean allSourcesTracked();  }