summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrei Aiordachioaie <a.aiordachioaie@jacobs-university.de>2010-03-31 20:33:45 +0200
committerAndrei Aiordachioaie <a.aiordachioaie@jacobs-university.de>2010-03-31 20:33:45 +0200
commitfb1ba3515facd670815c83e08ffca383cc506ee5 (patch)
tree590d4a9b67dccab632419799159f643f9fff70ff
parent1093dc67e8357fa3d3dc37e8cd171a079b043bb9 (diff)
Fixed bug related to additions with scalar values.
-rw-r--r--src/petascope/ConfigManager.java2
-rw-r--r--src/petascope/wcps/server/core/CoverageExprPairType.java28
-rw-r--r--test/testcases-wcps/38-complex_extend.rasql1
-rw-r--r--test/testcases-wcps/38-complex_extend.test1
-rw-r--r--test/testcases-wcps/38-complex_extend.xml3
-rw-r--r--test/testcases-wcps/39-complex_extend-2.rasql1
-rw-r--r--test/testcases-wcps/39-complex_extend-2.test1
-rw-r--r--test/testcases-wcps/39-complex_extend-2.xml39
8 files changed, 63 insertions, 13 deletions
diff --git a/src/petascope/ConfigManager.java b/src/petascope/ConfigManager.java
index b577d1e..f61813c 100644
--- a/src/petascope/ConfigManager.java
+++ b/src/petascope/ConfigManager.java
@@ -51,7 +51,7 @@ public class ConfigManager {
v3 adds WGS84 handling in WCPS requests. */
private final static String MINOR = "3";
/* Bug-fix count. We have a hack: every WCPS response is written to disk. */
- private final static String BUGFIX = "5-hack";
+ private final static String BUGFIX = "6-hack";
/* Petascope 1.2.0 contains WCS 1.1.0, WCS 2.0, WCS-T 1.0.0 and WCPS 1.0.0 */
public final static String PETASCOPE_VERSION = MAJOR + "." + MINOR + "." + BUGFIX;
diff --git a/src/petascope/wcps/server/core/CoverageExprPairType.java b/src/petascope/wcps/server/core/CoverageExprPairType.java
index 7bdc784..d52e74c 100644
--- a/src/petascope/wcps/server/core/CoverageExprPairType.java
+++ b/src/petascope/wcps/server/core/CoverageExprPairType.java
@@ -38,17 +38,7 @@ public class CoverageExprPairType implements IRasNode, ICoverageInfo {
System.err.println("Trying to parse a coverage expression pair ... Starting at node "
+ nodeName);
- // Combination 1: CoverageExprType + CoverageExprType
- try {
- first = new CoverageExpr(node, xq);
- second = new CoverageExpr(node.getNextSibling(), xq);
- info = new CoverageInfo(((ICoverageInfo) second).getCoverageInfo());
- ok = true;
- } catch (WCPSException e) {
- System.err.println("Failed to parse a CoverageExprType + CoverageExprType!");
- }
-
- // Combination 2: CoverageExprType + ScalarExprType
+ // Combination 1: CoverageExprType + ScalarExprType
if (ok == false) {
try {
first = new CoverageExpr(node, xq);
@@ -60,7 +50,7 @@ public class CoverageExprPairType implements IRasNode, ICoverageInfo {
}
}
- // Combination 3: ScalarExprType + CoverageExprType
+ // Combination 2: ScalarExprType + CoverageExprType
if (ok == false) {
try {
first = new ScalarExpr(node, xq);
@@ -72,6 +62,20 @@ public class CoverageExprPairType implements IRasNode, ICoverageInfo {
}
}
+ // Combination 3: CoverageExprType + CoverageExprType
+ if (ok == false) {
+ try {
+ first = new CoverageExpr(node, xq);
+ second = new CoverageExpr(node.getNextSibling(), xq);
+ info = new CoverageInfo(((ICoverageInfo) first).getCoverageInfo());
+ ok = true;
+ } catch (WCPSException e) {
+ System.err.println("Failed to parse a CoverageExprType + CoverageExprType!");
+ }
+ }
+
+
+
if (ok == false) {
throw new WCPSException("Could not parse a coverage expression pair !");
}
diff --git a/test/testcases-wcps/38-complex_extend.rasql b/test/testcases-wcps/38-complex_extend.rasql
new file mode 100644
index 0000000..d267106
--- /dev/null
+++ b/test/testcases-wcps/38-complex_extend.rasql
@@ -0,0 +1 @@
+select jpeg(extend(((t)+((char)(50))),[0:500,0:500])) from rgb AS t \ No newline at end of file
diff --git a/test/testcases-wcps/38-complex_extend.test b/test/testcases-wcps/38-complex_extend.test
new file mode 100644
index 0000000..3f73e2e
--- /dev/null
+++ b/test/testcases-wcps/38-complex_extend.test
@@ -0,0 +1 @@
+for t in (rgb) return encode(extend( (t + (char)50), x :"CRS:1" ( 0:500 ), y: "CRS:1" (0: 500) ), "jpeg" ) \ No newline at end of file
diff --git a/test/testcases-wcps/38-complex_extend.xml b/test/testcases-wcps/38-complex_extend.xml
new file mode 100644
index 0000000..26f34a5
--- /dev/null
+++ b/test/testcases-wcps/38-complex_extend.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ProcessCoveragesRequest xmlns="http://www.opengis.net/wcps/1.0" service="WCPS" version="1.0.0">
+<query><xmlSyntax><coverageIterator><iteratorVar>t</iteratorVar><coverageName>rgb</coverageName></coverageIterator><encode store="false"><extend><plus><coverage>t</coverage><cast><numericConstant>50</numericConstant><type>char</type></cast></plus><axis>x</axis><srsName>CRS:1</srsName><lowerBound><numericConstant>0</numericConstant></lowerBound><upperBound><numericConstant>500</numericConstant></upperBound><axis>y</axis><srsName>CRS:1</srsName><lowerBound><numericConstant>0</numericConstant></lowerBound><upperBound><numericConstant>500</numericConstant></upperBound></extend><format>jpeg</format></encode></xmlSyntax></query></ProcessCoveragesRequest> \ No newline at end of file
diff --git a/test/testcases-wcps/39-complex_extend-2.rasql b/test/testcases-wcps/39-complex_extend-2.rasql
new file mode 100644
index 0000000..761e761
--- /dev/null
+++ b/test/testcases-wcps/39-complex_extend-2.rasql
@@ -0,0 +1 @@
+select jpeg(((extend(t,[0:500,0:500]))+((char)(0)))) from mr AS t \ No newline at end of file
diff --git a/test/testcases-wcps/39-complex_extend-2.test b/test/testcases-wcps/39-complex_extend-2.test
new file mode 100644
index 0000000..6e8e45e
--- /dev/null
+++ b/test/testcases-wcps/39-complex_extend-2.test
@@ -0,0 +1 @@
+for t in (mr) return encode(extend( t, x :"CRS:1" ( 0:500 ), y: "CRS:1" (0: 500) ) + (char) 0 , "jpeg" ) \ No newline at end of file
diff --git a/test/testcases-wcps/39-complex_extend-2.xml b/test/testcases-wcps/39-complex_extend-2.xml
new file mode 100644
index 0000000..15ca033
--- /dev/null
+++ b/test/testcases-wcps/39-complex_extend-2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ProcessCoveragesRequest xmlns="http://www.opengis.net/wcps/1.0" service="WCPS" version="1.0.0">
+ <query>
+ <xmlSyntax>
+ <coverageIterator>
+ <iteratorVar>t</iteratorVar>
+ <coverageName>mr</coverageName>
+ </coverageIterator>
+ <encode store="false">
+ <plus>
+ <extend>
+ <coverage>t</coverage>
+ <axis>x</axis>
+ <srsName>CRS:1</srsName>
+ <lowerBound>
+ <numericConstant>0</numericConstant>
+ </lowerBound>
+ <upperBound>
+ <numericConstant>500</numericConstant>
+ </upperBound>
+ <axis>y</axis>
+ <srsName>CRS:1</srsName>
+ <lowerBound>
+ <numericConstant>0</numericConstant>
+ </lowerBound>
+ <upperBound>
+ <numericConstant>500</numericConstant>
+ </upperBound>
+ </extend>
+ <cast>
+ <numericConstant>0</numericConstant>
+ <type>char</type>
+ </cast>
+ </plus>
+ <format>jpeg</format>
+ </encode>
+ </xmlSyntax>
+ </query>
+</ProcessCoveragesRequest> \ No newline at end of file