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/20 12:00:07 UTC
svn commit: r1484412 - in /sis/branches/JDK7/storage/sis-netcdf/src:
main/java/org/apache/sis/internal/netcdf/impl/Attribute.java
main/java/org/apache/sis/internal/netcdf/ucar/VariableWrapper.java
test/java/org/apache/sis/internal/netcdf/VariableTest.java
Author: desruisseaux
Date: Mon May 20 10:00:06 2013
New Revision: 1484412
URL: http://svn.apache.org/r1484412
Log:
Tests Variable.getAttributes(String, boolean).
Modified:
sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/Attribute.java
sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/VariableWrapper.java
sis/branches/JDK7/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/VariableTest.java
Modified: sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/Attribute.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/Attribute.java?rev=1484412&r1=1484411&r2=1484412&view=diff
==============================================================================
--- sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/Attribute.java [UTF-8] (original)
+++ sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/Attribute.java [UTF-8] Mon May 20 10:00:06 2013
@@ -77,15 +77,12 @@ final class Attribute {
}
/**
- * Returns the attribute values as an array of {@link Number}, or {@code null} if none.
+ * Returns the attribute values as an array of {@link Number}, or an empty array if none.
*
* @see VariableInfo#getAttributeValues(String, boolean)
*/
final Number[] numberValues() {
- if (value instanceof String) {
- return null;
- }
- final Number[] values = new Number[Array.getLength(value)];
+ final Number[] values = new Number[(value instanceof String) ? 0 : Array.getLength(value)];
for (int i=0; i<values.length; i++) {
values[i] = (Number) Array.get(value, i);
}
Modified: sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/VariableWrapper.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/VariableWrapper.java?rev=1484412&r1=1484411&r2=1484412&view=diff
==============================================================================
--- sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/VariableWrapper.java [UTF-8] (original)
+++ sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/VariableWrapper.java [UTF-8] Mon May 20 10:00:06 2013
@@ -146,10 +146,13 @@ final class VariableWrapper extends Vari
hasValues = true;
}
} else {
- String value = attribute.getStringValue(i);
- if (value != null && !(value = value.trim()).isEmpty()) {
- values[i] = value.replace('_', ' ');
- hasValues = true;
+ Object value = attribute.getValue(i);
+ if (value != null) {
+ String text = value.toString().trim();
+ if (!text.isEmpty()) {
+ values[i] = text;
+ hasValues = true;
+ }
}
}
}
Modified: sis/branches/JDK7/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/VariableTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/VariableTest.java?rev=1484412&r1=1484411&r2=1484412&view=diff
==============================================================================
--- sis/branches/JDK7/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/VariableTest.java (original)
+++ sis/branches/JDK7/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/VariableTest.java Mon May 20 10:00:06 2013
@@ -136,4 +136,25 @@ public strictfp class VariableTest exten
1, 73, 73
}, variable.getGridEnvelope());
}
+
+ /**
+ * Tests {@link Variable#getAttributeValues(String, boolean)}.
+ *
+ * @throws IOException If an error occurred while reading the NetCDF file.
+ */
+ @Test
+ public void testGetAttributes() throws IOException {
+ final Variable[] variables = selectDataset(NCEP).getVariables();
+ Variable variable = variables[9];
+ assertEquals("grid_number", variable.getName());
+ assertArrayEquals("grid_number:_FillValue", new Number[] { -9999 }, variable.getAttributeValues("_FillValue", true));
+ assertArrayEquals("grid_number:_FillValue", new String[] {"-9999"}, variable.getAttributeValues("_FillValue", false));
+
+ variable = variables[21];
+ assertEquals("SST", variable.getName());
+ assertArrayEquals("SST:_FillValue", new Number[] { -9999f }, variable.getAttributeValues("_FillValue", true));
+ assertArrayEquals("SST:_FillValue", new String[] {"-9999.0"}, variable.getAttributeValues("_FillValue", false));
+ assertArrayEquals("SST:units", new String[] {"degK"}, variable.getAttributeValues("units", false));
+ assertArrayEquals("SST:units", new Number[] { }, variable.getAttributeValues("units", true));
+ }
}