diff options
Diffstat (limited to 'petascope/src/petascope/wcps/server/core/InducedOperationCoverageExpr.java')
-rw-r--r-- | petascope/src/petascope/wcps/server/core/InducedOperationCoverageExpr.java | 136 |
1 files changed, 67 insertions, 69 deletions
diff --git a/petascope/src/petascope/wcps/server/core/InducedOperationCoverageExpr.java b/petascope/src/petascope/wcps/server/core/InducedOperationCoverageExpr.java index 581b551..ad99e77 100644 --- a/petascope/src/petascope/wcps/server/core/InducedOperationCoverageExpr.java +++ b/petascope/src/petascope/wcps/server/core/InducedOperationCoverageExpr.java @@ -14,76 +14,74 @@ * You should have received a copy of the GNU General Public License * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. * - * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / - rasdaman GmbH. + * Copyright 2003 - 2010 Peter Baumann / rasdaman GmbH. * * For more information please see <http://www.rasdaman.org> * or contact Peter Baumann via <baumann@rasdaman.com>. */ -package petascope.wcps.server.core;
-
-import petascope.wcps.server.exceptions.InvalidCrsException;
-import petascope.wcps.server.exceptions.WCPSException;
-import org.w3c.dom.*;
-
-public class InducedOperationCoverageExpr implements IRasNode, ICoverageInfo {
-
- private IRasNode child;
- private CoverageInfo info;
- private String operation = "";
-
- public InducedOperationCoverageExpr(Node node, XmlQuery xq)
- throws WCPSException, InvalidCrsException {
- String nodeName = node.getNodeName();
-
- System.err.println("Trying induced operation: " + nodeName);
- boolean okay = false; // will be true if the node is recognized
-
- if (nodeName.equals("rangeConstructor")) {
- operation = nodeName;
- child = new RangeCoverageExpr(node, xq);
- info = new CoverageInfo((((ICoverageInfo) child).getCoverageInfo()));
- } else { // Try one of the groups
- child = null;
-
- if (child == null) {
- try {
- child = new UnaryOperationCoverageExpr(node, xq);
- info = new CoverageInfo((((ICoverageInfo) child).getCoverageInfo()));
- System.err.println("*** Induced Operation SUCCESS: " + node.getNodeName());
- } catch (WCPSException e) {
- System.err.println("InducedOperation failed: " + node.getNodeName());
- child = null;
- if (e.getMessage().equals("Method not implemented")) {
- throw e;
- }
- }
- }
-
- if (child == null) {
- try {
- child = new BinaryOperationCoverageExpr(node, xq);
- info = new CoverageInfo((((ICoverageInfo) child).getCoverageInfo()));
- System.err.println("*** Binary Operation SUCCESS: " + node.getNodeName());
- } catch (WCPSException e) {
- System.err.println("Binary operation failed: " + node.getNodeName());
- child = null;
- }
- }
-
- if (child == null) {
- throw new WCPSException("Invalid induced coverage expression, next node: "
- + node.getNodeName());
- }
- }
-
- }
-
- public CoverageInfo getCoverageInfo() {
- return info;
- }
-
- public String toRasQL() {
- return child.toRasQL();
- }
-}
+package petascope.wcps.server.core; + +import petascope.exceptions.WCPSException; +import org.w3c.dom.*; + +public class InducedOperationCoverageExpr implements IRasNode, ICoverageInfo { + + private IRasNode child; + private CoverageInfo info; + private String operation = ""; + + public InducedOperationCoverageExpr(Node node, XmlQuery xq) + throws WCPSException { + String nodeName = node.getNodeName(); + + System.err.println("Trying induced operation: " + nodeName); + boolean okay = false; // will be true if the node is recognized + + if (nodeName.equals("rangeConstructor")) { + operation = nodeName; + child = new RangeCoverageExpr(node, xq); + info = new CoverageInfo((((ICoverageInfo) child).getCoverageInfo())); + } else { // Try one of the groups + child = null; + + if (child == null) { + try { + child = new UnaryOperationCoverageExpr(node, xq); + info = new CoverageInfo((((ICoverageInfo) child).getCoverageInfo())); + System.err.println("*** Induced Operation SUCCESS: " + node.getNodeName()); + } catch (WCPSException e) { + System.err.println("InducedOperation failed: " + node.getNodeName()); + child = null; + if (e.getMessage().equals("Method not implemented")) { + throw e; + } + } + } + + if (child == null) { + try { + child = new BinaryOperationCoverageExpr(node, xq); + info = new CoverageInfo((((ICoverageInfo) child).getCoverageInfo())); + System.err.println("*** Binary Operation SUCCESS: " + node.getNodeName()); + } catch (WCPSException e) { + System.err.println("Binary operation failed: " + node.getNodeName()); + child = null; + } + } + + if (child == null) { + throw new WCPSException("Invalid induced coverage expression, next node: " + + node.getNodeName()); + } + } + + } + + public CoverageInfo getCoverageInfo() { + return info; + } + + public String toRasQL() { + return child.toRasQL(); + } +} |