Petascope can't handle curly brackets in an extendExpr query
The following abstract WCPS query fails. It is a valid query according to the WCPS specification. This coverage has an associated null value: in the ps_nullset table there is a record for this coverage (nullvalue = 0). Apparently, Petascope can't handle the curly brackets in the following WCPS query:
for msa in (mean_summer_airtemp)
return encode(
extend(msa,
{x : "http://www.opengis.net/def/crs/EPSG/0/4326" (110:160),
y : "http://www.opengis.net/def/crs/EPSG/0/4326" (-45:8)}
),
"png")
Error message in log file:
TRACE [14:53:22] RasUtil@211: Parsing abstract WCPS query...
line 4:10 mismatched input '{' expecting set null
ERROR [14:53:23] PetascopeInterface@353: Runtime error : null
ERROR [14:53:23] PetascopeInterface@379: Error stack trace:
RuntimeError: Runtime error while processing request
at petascope.PetascopeInterface.doGet(PetascopeInterface.java:354)
at petascope.PetascopeInterface.doPost(PetascopeInterface.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at java.lang.String.<init>(String.java:154)
at petascope.wcps.grammar.wcpsParser.axisName(wcpsParser.java:10005)
at petascope.wcps.grammar.wcpsParser.dimensionIntervalElement(wcpsParser.java:8717)
at petascope.wcps.grammar.wcpsParser.dimensionIntervalList(wcpsParser.java:8611)
at petascope.wcps.grammar.wcpsParser.extendExpr(wcpsParser.java:7132)
at petascope.wcps.grammar.wcpsParser.subsetExpr(wcpsParser.java:6427)
at petascope.wcps.grammar.wcpsParser.coverageValue(wcpsParser.java:1577)
at petascope.wcps.grammar.wcpsParser.coverageArithmeticFactor(wcpsParser.java:1475)
at petascope.wcps.grammar.wcpsParser.coverageArithmeticTerm(wcpsParser.java:1374)
at petascope.wcps.grammar.wcpsParser.coverageArithmeticExpr(wcpsParser.java:1273)
at petascope.wcps.grammar.wcpsParser.coverageLogicFactor(wcpsParser.java:1177)
at petascope.wcps.grammar.wcpsParser.coverageLogicTerm(wcpsParser.java:1083)
at petascope.wcps.grammar.wcpsParser.coverageExpr(wcpsParser.java:982)
at petascope.wcps.grammar.wcpsParser.encodedCoverageExpr(wcpsParser.java:794)
at petascope.wcps.grammar.wcpsParser.processingExpr(wcpsParser.java:676)
at petascope.wcps.grammar.wcpsParser.returnClause(wcpsParser.java:510)
at petascope.wcps.grammar.wcpsParser.wcpsRequest(wcpsParser.java:219)
at petascope.util.ras.RasUtil.abstractWCPStoXML(RasUtil.java:212)
at petascope.PetascopeInterface.doGet(PetascopeInterface.java:284)
... 15 more
DEBUG [14:53:23] PetascopeInterface@430: Done marshalling Error Report.
Fixed in changeset:eabf21f453e91d5ecfdf6fe1ad4592e4064a1208
Please reopen ticket if bug persists.