public Object visit(ASTRangeSubset node, Object data) { RangeSubsetType rs = wcsf.createRangeSubsetType(); for (int i = 0; i < node.jjtGetNumChildren(); i++) { ASTFieldSubset fs = (ASTFieldSubset) node.jjtGetChild(i); FieldSubsetType fst = (FieldSubsetType) fs.jjtAccept(this, data); rs.getFieldSubset().add(fst); } return rs; }
public Object visit(ASTRangeSubset node, Object data) { RangeSubsetType rs = wcsf.createRangeSubsetType(); for (int i = 0; i < node.jjtGetNumChildren(); i++) { ASTFieldSubset fs = (ASTFieldSubset) node.jjtGetChild(i); FieldSubsetType fst = (FieldSubsetType) fs.jjtAccept(this, data); rs.getFieldSubset().add(fst); } return rs; }
@Override public Object parse(String value) throws Exception { RangeSubsetParser parser = new RangeSubsetParser(new StringReader(value)); SimpleNode root = parser.RangeSubset(); RangeSubsetType result = (RangeSubsetType) root.jjtAccept(new RangeSubsetKvpParserVisitor(), null); for (Iterator it = result.getFieldSubset().iterator(); it.hasNext();) { FieldSubsetType type = (FieldSubsetType) it.next(); String interpolationType = type.getInterpolationType(); if(interpolationType != null) { try { InterpolationMethod method = InterpolationMethod.valueOf(interpolationType); } catch(IllegalArgumentException e) { throw new WcsException("Unknown interpolation method " + interpolationType, InvalidParameterValue, "RangeSubset"); } } } return result; }
@Override public Object parse(String value) throws Exception { RangeSubsetParser parser = new RangeSubsetParser(new StringReader(value)); SimpleNode root = parser.RangeSubset(); RangeSubsetType result = (RangeSubsetType) root.jjtAccept(new RangeSubsetKvpParserVisitor(), null); for (Iterator it = result.getFieldSubset().iterator(); it.hasNext(); ) { FieldSubsetType type = (FieldSubsetType) it.next(); String interpolationType = type.getInterpolationType(); if (interpolationType != null) { try { InterpolationMethod method = InterpolationMethod.valueOf(interpolationType); } catch (IllegalArgumentException e) { throw new WcsException( "Unknown interpolation method " + interpolationType, InvalidParameterValue, "RangeSubset"); } } } return result; }
return; if (rangeSubset.getFieldSubset().size() > 1) { throw new WcsException("Multi field coverages are not supported yet", InvalidParameterValue, "RangeSubset"); FieldSubsetType field = (FieldSubsetType) rangeSubset.getFieldSubset().get(0); final String fieldId = field.getIdentifier().getValue(); if (!fieldId.equalsIgnoreCase("contents"))
if (rangeSubset.getFieldSubset().size() > 1) { throw new WcsException( "Multi field coverages are not supported yet", FieldSubsetType field = (FieldSubsetType) rangeSubset.getFieldSubset().get(0); final String fieldId = field.getIdentifier().getValue(); if (!fieldId.equalsIgnoreCase("contents"))
@Test public void testSimpleFields() throws Exception { RangeSubsetType rs = (RangeSubsetType) parser.parse("radiance;temperature"); assertNotNull(rs); assertEquals(2, rs.getFieldSubset().size()); FieldSubsetType field = (FieldSubsetType) rs.getFieldSubset().get(0); assertEquals("radiance", field.getIdentifier().getValue()); assertEquals(null, field.getInterpolationType()); field = (FieldSubsetType) rs.getFieldSubset().get(1); assertEquals("temperature", field.getIdentifier().getValue()); assertEquals(null, field.getInterpolationType()); }
@Test public void testInterpolation() throws Exception { RangeSubsetType rs = (RangeSubsetType) parser.parse("radiance:linear;temperature:nearest"); assertNotNull(rs); assertEquals(2, rs.getFieldSubset().size()); FieldSubsetType field = (FieldSubsetType) rs.getFieldSubset().get(0); assertEquals("radiance", field.getIdentifier().getValue()); assertEquals("linear", field.getInterpolationType()); field = (FieldSubsetType) rs.getFieldSubset().get(1); assertEquals("temperature", field.getIdentifier().getValue()); assertEquals("nearest", field.getInterpolationType()); }
@Test public void testAxisSingleKey() throws Exception { RangeSubsetType rs = (RangeSubsetType) parser.parse("radiance[bands[Red]]"); assertNotNull(rs); assertEquals(1, rs.getFieldSubset().size()); FieldSubsetType field = (FieldSubsetType) rs.getFieldSubset().get(0); assertEquals("radiance", field.getIdentifier().getValue()); assertEquals(1, field.getAxisSubset().size()); AxisSubsetType axis = (AxisSubsetType) field.getAxisSubset().get(0); assertEquals("bands", axis.getIdentifier()); List keys = axis.getKey(); assertEquals(1, keys.size()); assertEquals("Red", keys.get(0)); }
public void testAxisKeys() throws Exception { RangeSubsetType rs = (RangeSubsetType) parser.parse("radiance[bands[Red,Green,Blue]]"); assertNotNull(rs); assertEquals(1, rs.getFieldSubset().size()); FieldSubsetType field = (FieldSubsetType) rs.getFieldSubset().get(0); assertEquals("radiance", field.getIdentifier().getValue()); assertEquals(1, field.getAxisSubset().size()); AxisSubsetType axis = (AxisSubsetType) field.getAxisSubset().get(0); assertEquals("bands", axis.getIdentifier()); List keys = axis.getKey(); assertEquals(3, keys.size()); assertEquals("Red", keys.get(0)); assertEquals("Green", keys.get(1)); assertEquals("Blue", keys.get(2)); } }
(GetCoverageType) reader.read(reader.createRequest(), parseKvp(raw), raw); RangeSubsetType rs = getCoverage.getRangeSubset(); FieldSubsetType field = (FieldSubsetType) rs.getFieldSubset().get(0); AxisSubsetType axis = (AxisSubsetType) field.getAxisSubset().get(0); List keys = axis.getKey(); assertEquals(1, rs.getFieldSubset().size());
String interpolationType = null; if (request.getRangeSubset() != null) { if (request.getRangeSubset().getFieldSubset().size() > 1) { throw new WcsException("Multi field coverages are not supported yet"); FieldSubsetType field = (FieldSubsetType) request.getRangeSubset().getFieldSubset() .get(0); interpolationType = field.getInterpolationType();
String interpolationType = null; if (request.getRangeSubset() != null) { if (request.getRangeSubset().getFieldSubset().size() > 1) { throw new WcsException("Multi field coverages are not supported yet"); (FieldSubsetType) request.getRangeSubset().getFieldSubset().get(0); interpolationType = field.getInterpolationType();
assertEquals(1, gc.getRangeSubset().getFieldSubset().size()); FieldSubsetType field = (FieldSubsetType) gc.getRangeSubset().getFieldSubset().get(0); assertEquals("BlueMarble", field.getIdentifier().getValue()); assertEquals("bicubic", field.getInterpolationType());