@Test public void testNotDirtyOnCreation() { assertFalse(_routingProcess.isDirty()); }
@Override public boolean isDirty() { return !_changeset.isEmpty() || !_queuedForRedistribution.isEmpty() || !_activatedGeneratedRoutes.isEmpty() || !_interAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_intraAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type1IncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type2IncomingRoutes.values().stream().allMatch(Queue::isEmpty); }
OspfRoutingProcess implements RoutingProcess<OspfTopology, OspfRoute> { @Override public boolean isDirty() { return !_changeset.isEmpty() || !_queuedForRedistribution.isEmpty() || !_activatedGeneratedRoutes.isEmpty() || !_interAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_intraAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type1IncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type2IncomingRoutes.values().stream().allMatch(Queue::isEmpty); } }
OspfRoutingProcess implements RoutingProcess<OspfTopology, OspfRoute> { @Override public boolean isDirty() { return !_changeset.isEmpty() || !_queuedForRedistribution.isEmpty() || !_activatedGeneratedRoutes.isEmpty() || !_interAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_intraAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type1IncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type2IncomingRoutes.values().stream().allMatch(Queue::isEmpty); } OspfRoutingProcess(
      OspfProcess process, String vrfName, Configuration configuration, OspfTopology topology); }
OspfRoutingProcess implements RoutingProcess<OspfTopology, OspfRoute> { @Override public boolean isDirty() { return !_changeset.isEmpty() || !_queuedForRedistribution.isEmpty() || !_activatedGeneratedRoutes.isEmpty() || !_interAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_intraAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type1IncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type2IncomingRoutes.values().stream().allMatch(Queue::isEmpty); } OspfRoutingProcess(
      OspfProcess process, String vrfName, Configuration configuration, OspfTopology topology); @Override void initialize(Node n); @Override void executeIteration(Map<String, Node> allNodes); @Override void updateTopology(OspfTopology topology); @Nonnull @Override RibDelta<OspfRoute> getUpdatesForMainRib(); @Override void redistribute(RibDelta<? extends AnnotatedRoute<AbstractRoute>> mainRibDelta); @Override boolean isDirty(); }
OspfRoutingProcess implements RoutingProcess<OspfTopology, OspfRoute> { @Override public boolean isDirty() { return !_changeset.isEmpty() || !_queuedForRedistribution.isEmpty() || !_activatedGeneratedRoutes.isEmpty() || !_interAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_intraAreaIncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type1IncomingRoutes.values().stream().allMatch(Queue::isEmpty) || !_type2IncomingRoutes.values().stream().allMatch(Queue::isEmpty); } OspfRoutingProcess(
      OspfProcess process, String vrfName, Configuration configuration, OspfTopology topology); @Override void initialize(Node n); @Override void executeIteration(Map<String, Node> allNodes); @Override void updateTopology(OspfTopology topology); @Nonnull @Override RibDelta<OspfRoute> getUpdatesForMainRib(); @Override void redistribute(RibDelta<? extends AnnotatedRoute<AbstractRoute>> mainRibDelta); @Override boolean isDirty();  }