You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2013/05/06 10:47:23 UTC
svn commit: r1479498 - in /sis/branches/JDK7/sis-metadata/src:
main/java/org/apache/sis/metadata/TreeNode.java
test/java/org/apache/sis/metadata/TreeNodeTest.java
Author: desruisseaux
Date: Mon May 6 08:47:16 2013
New Revision: 1479498
URL: http://svn.apache.org/r1479498
Log:
Minor documentation update and one minor test.
Modified:
sis/branches/JDK7/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNode.java
sis/branches/JDK7/sis-metadata/src/test/java/org/apache/sis/metadata/TreeNodeTest.java
Modified: sis/branches/JDK7/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNode.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNode.java?rev=1479498&r1=1479497&r2=1479498&view=diff
==============================================================================
--- sis/branches/JDK7/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNode.java [UTF-8] (original)
+++ sis/branches/JDK7/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNode.java [UTF-8] Mon May 6 08:47:16 2013
@@ -130,6 +130,10 @@ class TreeNode implements Node {
* This value is cached on the assumption that users will ask for value or for children soon
* after they iterated over this node. The cached value is cleared after its first use.
*
+ * <p>This value shall be either {@code null}, or the exact same value than what a call to
+ * {@link #getUserObject()} would return, assuming that the underlying {@linkplain #metadata}
+ * object didn't changed.</p>
+ *
* <p>The purpose of this cache is to avoid invoking (by reflection) the same getter methods
* twice in common situations like the {@link TreeTableView#toString()} implementation or in
* Graphical User Interface. However we may remove this field in any future SIS version if
@@ -656,7 +660,8 @@ class TreeNode implements Node {
throw new IllegalArgumentException(Errors.format(Errors.Keys.ElementAlreadyPresent_1, value));
}
delegate = siblings.childAt(indexInData, indexInList);
- // Do not set cachedValue, since 'value' may have been converted.
+ // Do not set 'delegate.cachedValue = value', since 'value' may
+ // have been converted by the setter method to an other value.
return;
}
}
Modified: sis/branches/JDK7/sis-metadata/src/test/java/org/apache/sis/metadata/TreeNodeTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/sis-metadata/src/test/java/org/apache/sis/metadata/TreeNodeTest.java?rev=1479498&r1=1479497&r2=1479498&view=diff
==============================================================================
--- sis/branches/JDK7/sis-metadata/src/test/java/org/apache/sis/metadata/TreeNodeTest.java [UTF-8] (original)
+++ sis/branches/JDK7/sis-metadata/src/test/java/org/apache/sis/metadata/TreeNodeTest.java [UTF-8] Mon May 6 08:47:16 2013
@@ -361,14 +361,16 @@ public final strictfp class TreeNodeTest
private static int assertColumnContentEquals(final TreeTable.Node node, final TableColumn<?> column,
final Object[] values, int index)
{
- Object actual = node.getValue(column);
- if (actual instanceof InternationalString) {
- actual = ((InternationalString) actual).toString(Locale.ROOT);
+ final Object actual = node.getValue(column);
+ Object unlocalized = actual;
+ if (unlocalized instanceof InternationalString) {
+ unlocalized = ((InternationalString) unlocalized).toString(Locale.ROOT);
}
- assertEquals("values[" + index + ']', values[index++], actual);
+ assertEquals("values[" + index + ']', values[index++], unlocalized);
for (final TreeTable.Node child : node.getChildren()) {
index = assertColumnContentEquals(child, column, values, index);
}
+ assertSame("Value shall be stable.", actual, node.getValue(column));
return index;
}
}