TimeSequenceType results = Wcs111Factory.eINSTANCE.createTimeSequenceType(); results.getTimePosition().add(cvtToGmt(positionDate)); TimePeriodType timePeriod = Wcs111Factory.eINSTANCE.createTimePeriodType(); Date beginPosition = cvtToGmt(begining.getPosition().getDate()); Date endPosition = cvtToGmt(ending.getPosition().getDate()); timePeriod.setBeginPosition(beginPosition); timePeriod.setEndPosition(endPosition); results.getTimePeriod().add(timePeriod);
private DomainSubsetType parseDomainSubset(Map kvp) { final DomainSubsetType domainSubset = Wcs111Factory.eINSTANCE.createDomainSubsetType(); // either bbox or timesequence must be there BoundingBoxType bbox = (BoundingBoxType) kvp.get("BoundingBox"); TimeSequenceType timeSequence = (TimeSequenceType) kvp.get("TemporalSubset"); if (timeSequence == null && bbox == null) throw new WcsException( "Bounding box cannot be null, TimeSequence has not been specified", WcsExceptionCode.MissingParameterValue, "BoundingBox"); domainSubset.setBoundingBox(bbox); domainSubset.setTemporalSubset(timeSequence); return domainSubset; }
private OutputType parseOutputElement(Map kvp) throws Exception { final OutputType output = Wcs111Factory.eINSTANCE.createOutputType(); output.setGridCRS(Wcs111Factory.eINSTANCE.createGridCrsType()); // check and set store Boolean store = (Boolean) kvp.get("store"); if (store != null) output.setStore(store.booleanValue()); // check and set format String format = (String) kvp.get("format"); if (format == null) throw new WcsException("format parameter is mandatory", MissingParameterValue, "format"); output.setFormat(format); // set the other gridcrs properties final GridCrsType gridCRS = output.getGridCRS(); gridCRS.setGridBaseCRS((String) kvp.get("gridBaseCrs")); gridCRS.setGridType((String) kvp.get("gridType")); gridCRS.setGridCS((String) kvp.get("gridCS")); gridCRS.setGridOrigin((Double[]) kvp.get("GridOrigin")); gridCRS.setGridOffsets((Double[]) kvp.get("GridOffsets")); return output; }
@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)); }
private DomainSubsetType getWCS11DomainSubset() { DomainSubsetType domainSubset = wcs111GetCoverage.getDomainSubset(); if (domainSubset == null) { domainSubset = Wcs11Factory.eINSTANCE.createDomainSubsetType(); wcs111GetCoverage.setDomainSubset(domainSubset); } return domainSubset; }
@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()); }
private WCS2GetCoverageRequestBuilder() { getCoverageType = Wcs20Factory.eINSTANCE.createGetCoverageType(); wcs111GetCoverage = Wcs11Factory.eINSTANCE.createGetCoverageType(); wcs111GetCoverage.setVersion("1.1.1"); OutputType outputType = Wcs11Factory.eINSTANCE.createOutputType(); outputType.setFormat("image/tiff"); wcs111GetCoverage.setOutput(outputType); getCoverageType.setVersion("2.0.0"); getCoverageType.setFormat("image/tiff"); }
@Override public boolean canHandle(Operation operation) { // this one can handle GetCoverage responses where store = false if (!(operation.getParameters()[0] instanceof GetCoverageType)) return false; GetCoverageType getCoverage = (GetCoverageType) operation.getParameters()[0]; return !getCoverage.getOutput().isStore(); }
public Object visit(ASTAxisSubset node, Object data) { AxisSubsetType as = wcsf.createAxisSubsetType(); as.setIdentifier(((SimpleNode) node.jjtGetChild(0)).getContent()); for (int i = 1; i < node.jjtGetNumChildren(); i++) { as.getKey().add(node.jjtGetChild(i).jjtAccept(this, null)); } return as; }
@Override protected void qualifyRequest( WorkspaceInfo ws, PublishedInfo l, Operation operation, Request request) { GetCapabilitiesType caps = parameter(operation, GetCapabilitiesType.class); if (caps != null) { return; } DescribeCoverageType dcov = parameter(operation, DescribeCoverageType.class); if (dcov != null) { qualifyLayerNames(dcov.getIdentifier(), ws); return; } GetCoverageType gcov = parameter(operation, GetCoverageType.class); if (gcov != null) { if (gcov.getIdentifier() != null && gcov.getIdentifier().getValue() != null) { gcov.getIdentifier().setValue(qualifyName(gcov.getIdentifier().getValue(), ws)); } } } }
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 { TimeSequenceType timeSequence = Wcs111Factory.eINSTANCE.createTimeSequenceType(); WCSInfo info = geoServer.getService(WCSInfo.class); int maxRequestedDimensionValues = info.getMaxRequestedDimensionValues(); TimeParser parser = new TimeParser(maxRequestedDimensionValues); Collection<Date> timePositions = (Collection<Date>) parser.parse(value); for (Date tp : timePositions) { timeSequence.getTimePosition().add(tp); } return timeSequence; } }
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)); } }
private DomainSubsetType parseDomainSubset(Map kvp) { final DomainSubsetType domainSubset = Wcs111Factory.eINSTANCE.createDomainSubsetType(); // either bbox or timesequence must be there BoundingBoxType bbox = (BoundingBoxType) kvp.get("BoundingBox"); TimeSequenceType timeSequence = (TimeSequenceType) kvp.get("TimeSequence"); if (timeSequence == null && bbox == null) throw new WcsException( "Bounding box cannot be null, TimeSequence has not been specified", WcsExceptionCode.MissingParameterValue, "BoundingBox"); domainSubset.setBoundingBox(bbox); domainSubset.setTemporalSubset(timeSequence); return domainSubset; }
@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()); }
@Override public boolean canHandle(Operation operation) { // this one can handle GetCoverage responses where store = false if (!(operation.getParameters()[0] instanceof GetCoverageType)) return false; GetCoverageType getCoverage = (GetCoverageType) operation.getParameters()[0]; return getCoverage.getOutput().isStore(); }
public Object visit(ASTAxisSubset node, Object data) { AxisSubsetType as = wcsf.createAxisSubsetType(); as.setIdentifier(((SimpleNode) node.jjtGetChild(0)).getContent()); for (int i = 1; i < node.jjtGetNumChildren(); i++) { as.getKey().add(node.jjtGetChild(i).jjtAccept(this, null)); } return as; }
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 boolean canHandle(Operation operation) { // this one can handle GetCoverage responses where store = false if(!(operation.getParameters()[0] instanceof GetCoverageType)) return false; GetCoverageType getCoverage = (GetCoverageType) operation.getParameters()[0]; return getCoverage.getOutput().isStore(); }
@Override public boolean canHandle(Operation operation) { // this one can handle GetCoverage responses where store = false if(!(operation.getParameters()[0] instanceof GetCoverageType)) return false; GetCoverageType getCoverage = (GetCoverageType) operation.getParameters()[0]; return !getCoverage.getOutput().isStore(); }