搭建GeoServer开发工程2

基于geoserver2.14.2版本

找不到Node函数;

                                  搭建GeoServer开发工程2_第1张图片    

D:\GeoServerwork\geoserver\src\wcs1_1\src\main\java\org\geoserver\wcs\kvp\RangeSubsetKvpParser.java   修改

import java.util.Iterator;
import net.opengis.ows11.CodeType;
import net.opengis.ows11.Ows11Factory;
import net.opengis.wcs11.AxisSubsetType;
import net.opengis.wcs11.FieldSubsetType;
import net.opengis.wcs11.RangeSubsetType;
import net.opengis.wcs11.Wcs111Factory;
import org.geoserver.ows.KvpParser;
//import org.geoserver.wcs.kvp.rangesubset.ASTAxisId;
//import org.geoserver.wcs.kvp.rangesubset.ASTAxisSubset;
//import org.geoserver.wcs.kvp.rangesubset.ASTFieldId;
//import org.geoserver.wcs.kvp.rangesubset.ASTFieldSubset;
//import org.geoserver.wcs.kvp.rangesubset.ASTInterpolation;
//import org.geoserver.wcs.kvp.rangesubset.ASTKey;
//import org.geoserver.wcs.kvp.rangesubset.ASTRangeSubset;
//import org.geoserver.wcs.kvp.rangesubset.Node;
//import org.geoserver.wcs.kvp.rangesubset.RangeSubsetParser;
//import org.geoserver.wcs.kvp.rangesubset.RangeSubsetParserVisitor;
//import org.geoserver.wcs.kvp.rangesubset.SimpleNode;
import org.vfny.geoserver.wcs.WcsException;

/**
 * Parses the RangeSubset parameter of a GetFeature KVP request
 *
 * @author Andrea Aime
 */
public class RangeSubsetKvpParser extends KvpParser {

    public RangeSubsetKvpParser() {
        super("RangeSubset", RangeSubsetType.class);
    }

    @Override
    public Object parse(String value) throws Exception {
//        RangeSubsetParser parser = new RangeSubsetParser(new StringReader(value));
//        SimpleNode root = parser.RangeSubset();
//        RangeSubsetType result =
//                (RangeSubsetType) root.jjtAccept(new RangeSubsetKvpParserVisitor(), null);
//
//        for (Iterator it = result.getFieldSubset().iterator(); it.hasNext(); ) {
//            FieldSubsetType type = (FieldSubsetType) it.next();
//            String interpolationType = type.getInterpolationType();
//            if (interpolationType != null) {
//                try {
//                    InterpolationMethod method = InterpolationMethod.valueOf(interpolationType);
//                } catch (IllegalArgumentException e) {
//                    throw new WcsException(
//                            "Unknown interpolation method " + interpolationType,
//                            InvalidParameterValue,
//                            "RangeSubset");
//                }
//            }
//        }

        return 0;
    }

//    private static class RangeSubsetKvpParserVisitor implements RangeSubsetParserVisitor {
//        Wcs111Factory wcsf = Wcs111Factory.eINSTANCE;
//        Ows11Factory owsf = Ows11Factory.eINSTANCE;
//
//        public Object visit(SimpleNode node, Object data) {
//            throw new UnsupportedOperationException("This method should never be reached");
//        }
//
//        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;
//        }
//
//        public Object visit(ASTFieldSubset node, Object data) {
//            FieldSubsetType fs = wcsf.createFieldSubsetType();
//
//            for (int i = 0; i < node.jjtGetNumChildren(); i++) {
//                Node child = node.jjtGetChild(i);
//                if (child instanceof ASTFieldId) {
//                    CodeType id = owsf.createCodeType();
//                    id.setValue((String) child.jjtAccept(this, null));
//                    fs.setIdentifier(id);
//                } else if (child instanceof ASTInterpolation) {
//                    fs.setInterpolationType((String) child.jjtAccept(this, null));
//                } else if (child instanceof ASTAxisSubset) {
//                    fs.getAxisSubset().add(child.jjtAccept(this, null));
//                }
//            }
//            return fs;
//        }
//
//        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(ASTFieldId node, Object data) {
//            return node.getContent();
//        }
//
//        public Object visit(ASTAxisId node, Object data) {
//            return node.getContent();
//        }
//
//        public Object visit(ASTInterpolation node, Object data) {
//            return node.getContent();
//        }
//
//        public Object visit(ASTKey node, Object data) {
//            return node.getContent();
//        }
//    }
}

D:\GeoServerwork\geoserver\src\web\app\src\test\java\org\geoserver\web\Start.java 修改

WebAppContext wah = new WebAppContext();
wah.setContextPath("/geoserver");
wah.setWar("web/app/src/main/webapp");

 

你可能感兴趣的:(GeoServer,java)