summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrei Aiordachioaie <a.aiordachioaie@jacobs-university.de>2010-03-03 09:58:47 +0100
committerAndrei Aiordachioaie <a.aiordachioaie@jacobs-university.de>2010-03-03 10:16:36 +0100
commit1093dc67e8357fa3d3dc37e8cd171a079b043bb9 (patch)
tree9ae3197977a1eb70c2d6a2bf1a028e674714eb8c
parentd43451ab812f4e85b79cf87d7477c7f250c74dab (diff)
downloadrasdaman-upstream-1093dc67e8357fa3d3dc37e8cd171a079b043bb9.tar.gz
rasdaman-upstream-1093dc67e8357fa3d3dc37e8cd171a079b043bb9.tar.xz
rasdaman-upstream-1093dc67e8357fa3d3dc37e8cd171a079b043bb9.zip
Fixed implementation of "extend" and "overlay" operators. Added
the corresponding regression tests.
-rw-r--r--src/petascope/ConfigManager.java2
-rw-r--r--src/petascope/wcps/grammar/DimensionIntervalElement.java1
-rw-r--r--src/petascope/wcps/grammar/ExtendExpr.java2
-rw-r--r--src/petascope/wcps/server/core/ExtendCoverageExpr.java4
-rw-r--r--test/testcases-wcps/36-simple_overlay.rasql1
-rw-r--r--test/testcases-wcps/36-simple_overlay.test1
-rw-r--r--test/testcases-wcps/36-simple_overlay.xml24
-rw-r--r--test/testcases-wcps/37-simple_extend.rasql1
-rw-r--r--test/testcases-wcps/37-simple_extend.test1
-rw-r--r--test/testcases-wcps/37-simple_extend.xml31
10 files changed, 63 insertions, 5 deletions
diff --git a/src/petascope/ConfigManager.java b/src/petascope/ConfigManager.java
index 0c37e78..b577d1e 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 = "4-hack";
+ private final static String BUGFIX = "5-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/grammar/DimensionIntervalElement.java b/src/petascope/wcps/grammar/DimensionIntervalElement.java
index 9e6d3a7..3037dc5 100644
--- a/src/petascope/wcps/grammar/DimensionIntervalElement.java
+++ b/src/petascope/wcps/grammar/DimensionIntervalElement.java
@@ -38,7 +38,6 @@ public class DimensionIntervalElement implements IParseTreeNode {
public void setCrs(String c) {
crs = c;
- System.err.println("Grammar: Set CRS name: " + c);
}
public void setIntervalExpr(DimensionIntervalExpr e) {
diff --git a/src/petascope/wcps/grammar/ExtendExpr.java b/src/petascope/wcps/grammar/ExtendExpr.java
index 582c325..ec94989 100644
--- a/src/petascope/wcps/grammar/ExtendExpr.java
+++ b/src/petascope/wcps/grammar/ExtendExpr.java
@@ -37,6 +37,6 @@ public class ExtendExpr implements IParseTreeNode {
}
public String toXML() {
- return "<extend>" + intervalList.toXML() + coverageExpr.toXML() + "</extend>";
+ return "<extend>" + coverageExpr.toXML() + intervalList.toXML() + "</extend>";
}
}
diff --git a/src/petascope/wcps/server/core/ExtendCoverageExpr.java b/src/petascope/wcps/server/core/ExtendCoverageExpr.java
index 9a6e2ad..a711742 100644
--- a/src/petascope/wcps/server/core/ExtendCoverageExpr.java
+++ b/src/petascope/wcps/server/core/ExtendCoverageExpr.java
@@ -56,7 +56,7 @@ public class ExtendCoverageExpr implements IRasNode, ICoverageInfo {
try {
System.err.println("Trying out an CoverageExprType group...");
- coverageExprType = new CoverageExpr(node, xq);
+ coverageExprType = new CoverageExpr(child, xq);
coverageInfo = coverageExprType.getCoverageInfo();
child = child.getNextSibling();
continue;
@@ -66,7 +66,7 @@ public class ExtendCoverageExpr implements IRasNode, ICoverageInfo {
try {
// Start a new axis and save it
- elem = new DimensionIntervalElement(node, xq, coverageInfo);
+ elem = new DimensionIntervalElement(child, xq, coverageInfo);
axisList.add(elem);
child = elem.getNextNode();
continue;
diff --git a/test/testcases-wcps/36-simple_overlay.rasql b/test/testcases-wcps/36-simple_overlay.rasql
new file mode 100644
index 0000000..927f0ff
--- /dev/null
+++ b/test/testcases-wcps/36-simple_overlay.rasql
@@ -0,0 +1 @@
+select jpeg(((c)overlay((char)(((c)*(3)))))) from rgb AS c \ No newline at end of file
diff --git a/test/testcases-wcps/36-simple_overlay.test b/test/testcases-wcps/36-simple_overlay.test
new file mode 100644
index 0000000..03f4464
--- /dev/null
+++ b/test/testcases-wcps/36-simple_overlay.test
@@ -0,0 +1 @@
+for c in (rgb) return encode(c overlay (char)(c*3), "jpeg") \ No newline at end of file
diff --git a/test/testcases-wcps/36-simple_overlay.xml b/test/testcases-wcps/36-simple_overlay.xml
new file mode 100644
index 0000000..829faaf
--- /dev/null
+++ b/test/testcases-wcps/36-simple_overlay.xml
@@ -0,0 +1,24 @@
+<?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>c</iteratorVar>
+ <coverageName>rgb</coverageName>
+ </coverageIterator>
+ <encode store="false">
+ <overlay>
+ <coverage>c</coverage>
+ <cast>
+ <mult>
+ <coverage>c</coverage>
+ <numericConstant>3</numericConstant>
+ </mult>
+ <type>char</type>
+ </cast>
+ </overlay>
+ <format>jpeg</format>
+ </encode>
+ </xmlSyntax>
+ </query>
+</ProcessCoveragesRequest> \ No newline at end of file
diff --git a/test/testcases-wcps/37-simple_extend.rasql b/test/testcases-wcps/37-simple_extend.rasql
new file mode 100644
index 0000000..af01721
--- /dev/null
+++ b/test/testcases-wcps/37-simple_extend.rasql
@@ -0,0 +1 @@
+select jpeg(extend(c,[0:500,0:500])) from rgb AS c \ No newline at end of file
diff --git a/test/testcases-wcps/37-simple_extend.test b/test/testcases-wcps/37-simple_extend.test
new file mode 100644
index 0000000..0582ac7
--- /dev/null
+++ b/test/testcases-wcps/37-simple_extend.test
@@ -0,0 +1 @@
+for c in (rgb) return encode(extend(c, x(0:500), y(0:500) ), "jpeg") \ No newline at end of file
diff --git a/test/testcases-wcps/37-simple_extend.xml b/test/testcases-wcps/37-simple_extend.xml
new file mode 100644
index 0000000..7f966a3
--- /dev/null
+++ b/test/testcases-wcps/37-simple_extend.xml
@@ -0,0 +1,31 @@
+<?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>c</iteratorVar>
+ <coverageName>rgb</coverageName>
+ </coverageIterator>
+ <encode store="false">
+ <extend>
+ <coverage>c</coverage>
+ <axis>x</axis>
+ <lowerBound>
+ <numericConstant>0</numericConstant>
+ </lowerBound>
+ <upperBound>
+ <numericConstant>500</numericConstant>
+ </upperBound>
+ <axis>y</axis>
+ <lowerBound>
+ <numericConstant>0</numericConstant>
+ </lowerBound>
+ <upperBound>
+ <numericConstant>500</numericConstant>
+ </upperBound>
+ </extend>
+ <format>jpeg</format>
+ </encode>
+ </xmlSyntax>
+ </query>
+</ProcessCoveragesRequest> \ No newline at end of file