From 6e87f767b9dc31a30cad4cb3e5e017c0bf62190a Mon Sep 17 00:00:00 2001 From: Sean Foley Date: Fri, 23 Aug 2024 14:36:10 -0400 Subject: [PATCH] removed caching functionality from ContainingFirstIterator --- .../inet/ipaddr/format/util/AddressTrie.java | 14 +++++++------- .../inet/ipaddr/format/util/AddressTrieOps.java | 2 +- .../format/util/AssociativeAddressTrie.java | 8 ++++---- .../inet/ipaddr/format/util/BinaryTreeNode.java | 2 +- .../inet/ipaddr/format/util/TreeOps.java | 15 ++------------- .../ipaddr/ipv4/IPv4AddressAssociativeTrie.java | 8 ++++---- .../inet/ipaddr/ipv4/IPv4AddressTrie.java | 8 ++++---- .../ipaddr/ipv6/IPv6AddressAssociativeTrie.java | 8 ++++---- .../inet/ipaddr/ipv6/IPv6AddressTrie.java | 8 ++++---- .../ipaddr/mac/MACAddressAssociativeTrie.java | 8 ++++---- .../inet/ipaddr/mac/MACAddressTrie.java | 8 ++++---- .../inet.ipaddr/inet/ipaddr/test/TrieTest.java | 4 ++-- 12 files changed, 41 insertions(+), 52 deletions(-) diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AddressTrie.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AddressTrie.java index 02060ab0..a5c5da20 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AddressTrie.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AddressTrie.java @@ -963,8 +963,8 @@ public CachingIterator, E, C> blockSizeCachingAllNodeI @SuppressWarnings("unchecked") @Override - public CachingIterator, E, C> containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator, E, C>) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator>) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") @@ -2697,13 +2697,13 @@ public CachingIterator, E, C> blockSizeCachingAllNodeI @SuppressWarnings("unchecked") @Override - public CachingIterator, E, C> containingFirstIterator(boolean forwardSubNodeOrder) { - CachingIterator, E, C> iterator; + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + Iterator> iterator; if(bounds == null) { iterator = absoluteRoot().containingFirstIterator(forwardSubNodeOrder); } else { if(forwardSubNodeOrder) { - iterator = new PreOrderNodeIterator( + iterator = new PreOrderNodeIterator( bounds, true, true, // added only @@ -2711,7 +2711,7 @@ public CachingIterator, E, C> containingFirstIterator( null, absoluteRoot().changeTracker); } else { - iterator = new PostOrderNodeIterator( + iterator = new PostOrderNodeIterator( bounds, false, true, // added only @@ -2720,7 +2720,7 @@ public CachingIterator, E, C> containingFirstIterator( absoluteRoot().changeTracker); } } - return (CachingIterator, E, C>) iterator; + return (Iterator>) iterator; } @SuppressWarnings("unchecked") diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AddressTrieOps.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AddressTrieOps.java index cef2fbaf..31953a24 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AddressTrieOps.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AddressTrieOps.java @@ -273,7 +273,7 @@ default TrieNode getAddedNode(E addr) { Iterator> allNodeIterator(boolean forward); @Override - CachingIterator, E, C> containingFirstIterator(boolean forwardSubNodeOrder); + Iterator> containingFirstIterator(boolean forwardSubNodeOrder); @Override CachingIterator, E, C> containingFirstAllNodeIterator(boolean forwardSubNodeOrder); diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AssociativeAddressTrie.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AssociativeAddressTrie.java index 11f33a3b..1d9f5981 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AssociativeAddressTrie.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/AssociativeAddressTrie.java @@ -189,8 +189,8 @@ public CachingIterator, K, C> blockSizeCa @SuppressWarnings("unchecked") @Override - public CachingIterator, K, C> containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator, K, C>) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator>) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") @@ -780,8 +780,8 @@ public Iterator> blockSizeAllNodeIterator(boo @SuppressWarnings("unchecked") @Override - public CachingIterator, K, C> containingFirstIterator(boolean lowerSubNodeFirst) { - return (CachingIterator, K, C>) super.containingFirstIterator(lowerSubNodeFirst); + public Iterator> containingFirstIterator(boolean lowerSubNodeFirst) { + return (Iterator>) super.containingFirstIterator(lowerSubNodeFirst); } @SuppressWarnings("unchecked") diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/BinaryTreeNode.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/BinaryTreeNode.java index e6f68f8c..46ef2b7e 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/BinaryTreeNode.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/BinaryTreeNode.java @@ -1182,7 +1182,7 @@ Iterator> blockSizeNodeIterator(boolean lowerSubNode } @Override - public CachingIterator, E, C> containingFirstIterator(boolean forwardSubNodeOrder) { + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { return containingFirstIterator(forwardSubNodeOrder, true); } diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/TreeOps.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/TreeOps.java index e027bc3d..028766d8 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/TreeOps.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/format/util/TreeOps.java @@ -221,23 +221,12 @@ default Spliterator descendingSpliterator() { *

* This iterator supports the {@link java.util.Iterator#remove()} operation. *

- * Once a given node is visited, the iterator allows you to cache an object corresponding to the - * lower or upper sub-node that can be retrieved when you later visit that sub-node. - *

- * Objects are cached only with nodes to be visited. - * So for this iterator that means an object will be cached with the first added lower or upper sub-node, - * the next lower or upper sub-node to be visited, - * which is not necessarily the direct lower or upper sub-node of a given node. - *

- * The caching allows you to provide iteration context from a parent to its sub-nodes when iterating. - * The caching and retrieval is done in constant-time and linear space (proportional to tree size). - *

- * See {@link TreeOps} for more details on the ordering. + * See the docs for {@link TreeOps} for more details on the ordering. * * @param forwardSubNodeOrder if true, a left sub-node will be visited before the right sub-node of the same parent node. * @return */ - CachingIterator, E, C> containingFirstIterator(boolean forwardSubNodeOrder); + Iterator> containingFirstIterator(boolean forwardSubNodeOrder); /** * Returns an iterator that does a pre-order binary tree traversal. diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv4/IPv4AddressAssociativeTrie.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv4/IPv4AddressAssociativeTrie.java index 42c4eab1..ffaa528d 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv4/IPv4AddressAssociativeTrie.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv4/IPv4AddressAssociativeTrie.java @@ -177,8 +177,8 @@ public CachingIterator, IPv4Address, C> blockSize @SuppressWarnings("unchecked") @Override - public CachingIterator, IPv4Address, C> containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator, IPv4Address, C>) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator>) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") @@ -375,8 +375,8 @@ public CachingIterator, IPv4Address, C> blockSize @SuppressWarnings("unchecked") @Override - public CachingIterator, IPv4Address, C> containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator, IPv4Address, C>) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator>) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv4/IPv4AddressTrie.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv4/IPv4AddressTrie.java index 9650bc85..d89096b9 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv4/IPv4AddressTrie.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv4/IPv4AddressTrie.java @@ -174,8 +174,8 @@ public CachingIterator blockSizeCachingAllNode @SuppressWarnings("unchecked") @Override - public CachingIterator containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") @@ -385,8 +385,8 @@ public CachingIterator blockSizeCachingAllNode @SuppressWarnings("unchecked") @Override - public CachingIterator containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv6/IPv6AddressAssociativeTrie.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv6/IPv6AddressAssociativeTrie.java index 592720af..59d92267 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv6/IPv6AddressAssociativeTrie.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv6/IPv6AddressAssociativeTrie.java @@ -177,8 +177,8 @@ public CachingIterator, IPv6Address, C> blockSize @SuppressWarnings("unchecked") @Override - public CachingIterator, IPv6Address, C> containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator, IPv6Address, C>) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator>) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") @@ -375,8 +375,8 @@ public CachingIterator, IPv6Address, C> blockSize @SuppressWarnings("unchecked") @Override - public CachingIterator, IPv6Address, C> containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator, IPv6Address, C>) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator>) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv6/IPv6AddressTrie.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv6/IPv6AddressTrie.java index 0ae163e6..95f3c35e 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv6/IPv6AddressTrie.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/ipv6/IPv6AddressTrie.java @@ -175,8 +175,8 @@ public CachingIterator blockSizeCachingAllNode @SuppressWarnings("unchecked") @Override - public CachingIterator containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") @@ -406,8 +406,8 @@ public CachingIterator blockSizeCachingAllNode @SuppressWarnings("unchecked") @Override - public CachingIterator containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/mac/MACAddressAssociativeTrie.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/mac/MACAddressAssociativeTrie.java index fd099697..3bba0986 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/mac/MACAddressAssociativeTrie.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/mac/MACAddressAssociativeTrie.java @@ -190,8 +190,8 @@ public CachingIterator, MACAddress, C> blockSizeCa @SuppressWarnings("unchecked") @Override - public CachingIterator, MACAddress, C> containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator, MACAddress, C>) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator>) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") @@ -383,8 +383,8 @@ public CachingIterator, MACAddress, C> blockSizeCa @SuppressWarnings("unchecked") @Override - public CachingIterator, MACAddress, C> containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator, MACAddress, C>) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator> containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator>) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/mac/MACAddressTrie.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/mac/MACAddressTrie.java index 9674af7a..99a81571 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/mac/MACAddressTrie.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/mac/MACAddressTrie.java @@ -187,8 +187,8 @@ public CachingIterator blockSizeCachingAllNodeIt @SuppressWarnings("unchecked") @Override - public CachingIterator containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") @@ -379,8 +379,8 @@ public CachingIterator blockSizeCachingAllNodeIt @SuppressWarnings("unchecked") @Override - public CachingIterator containingFirstIterator(boolean forwardSubNodeOrder) { - return (CachingIterator) super.containingFirstIterator(forwardSubNodeOrder); + public Iterator containingFirstIterator(boolean forwardSubNodeOrder) { + return (Iterator) super.containingFirstIterator(forwardSubNodeOrder); } @SuppressWarnings("unchecked") diff --git a/IPAddress/src/inet.ipaddr/inet/ipaddr/test/TrieTest.java b/IPAddress/src/inet.ipaddr/inet/ipaddr/test/TrieTest.java index 3dbb9503..82cf5b86 100644 --- a/IPAddress/src/inet.ipaddr/inet/ipaddr/test/TrieTest.java +++ b/IPAddress/src/inet.ipaddr/inet/ipaddr/test/TrieTest.java @@ -910,8 +910,8 @@ , T extends Address> void testIterationContainment(R tr testIterationContainment(tree, AddressTrie::blockSizeCachingAllNodeIterator, false); testIterationContainment(tree, trie -> trie.containingFirstAllNodeIterator(true), false /* added only */); testIterationContainment(tree, trie -> trie.containingFirstAllNodeIterator(false), false /* added only */); - testIterationContainment(tree, trie -> trie.containingFirstIterator(true), true /* added only */); - testIterationContainment(tree, trie -> trie.containingFirstIterator(false), true /* added only */); + //testIterationContainment(tree, trie -> trie.containingFirstIterator(true), true /* added only */); + //testIterationContainment(tree, trie -> trie.containingFirstIterator(false), true /* added only */); } , T extends Address> void testIterationContainment(