public List<Object> convertDimensionValue(String name, List<String> value) { List<Object> list = new ArrayList<Object>(); for (String val : value) { list.addAll(convertDimensionValue(name, val)); } return list; } }
@Test public void testCustomDepthDimensionConvertion() throws IOException, ParseException { MockDimensionReader reader = new MockDimensionReader(); reader.metadata.put("HAS_MYDIM_DOMAIN", "true"); reader.metadata.put("MYDIM_DOMAIN_DATATYPE", "java.lang.Double"); ReaderDimensionsAccessor accessor = new ReaderDimensionsAccessor(reader); List<Object> converted = accessor.convertDimensionValue("MYDIM", Arrays.asList("10/20")); assertEquals(1, converted.size()); NumberRange<Double> expected = new NumberRange<Double>(Double.class, 10d, 20d); assertEquals(expected, converted.get(0)); }
@Test public void testCustomCloudCoverDimensionConvertion() throws IOException, ParseException { MockDimensionReader reader = new MockDimensionReader(); reader.metadata.put("HAS_MYDIM_DOMAIN", "true"); reader.metadata.put("MYDIM_DOMAIN_DATATYPE", "java.lang.Integer"); ReaderDimensionsAccessor accessor = new ReaderDimensionsAccessor(reader); List<Object> converted = accessor.convertDimensionValue("MYDIM", Arrays.asList("75/100")); assertEquals(1, converted.size()); NumberRange<Double> expected = new NumberRange<Double>(Double.class, 75d, 100d); assertEquals(expected, converted.get(0)); } }
@Test public void testCustomTimeDimensionConvertion() throws IOException, ParseException { MockDimensionReader reader = new MockDimensionReader(); reader.metadata.put("HAS_MYDIM_DOMAIN", "true"); reader.metadata.put("MYDIM_DOMAIN_DATATYPE", "java.util.Date"); ReaderDimensionsAccessor accessor = new ReaderDimensionsAccessor(reader); List<Object> converted = accessor.convertDimensionValue( "MYDIM", Arrays.asList( "2001-05-01T00:00:00.000Z", "2001-05-02T00:00:00.000Z", "2001-05-03T00:00:00.000Z")); assertEquals(3, converted.size()); assertEquals(DF.parse("2001-05-01 00:00:00"), converted.get(0)); assertEquals(DF.parse("2001-05-02 00:00:00"), converted.get(1)); assertEquals(DF.parse("2001-05-03 00:00:00"), converted.get(2)); }
parameterDescriptors, readParameters, dimensions.convertDimensionValue(domain, values), domain); customDomains.remove(domain); if (customInfo != null && customInfo.isEnabled()) { Object val = dimensions.convertDimensionValue( name, getDefaultCustomDimensionValue(name, coverage, String.class));
for (int s = 0; s < valueCount; s++) { dimValues.addAll( dimensions.convertDimensionValue( axisName, ((TypedLiteralType)