@Override public Filter readFilter( XMLStreamReader xmlStream ) throws XMLParsingException, XMLStreamException { return Filter110XMLDecoder.parse( xmlStream ); }
static void parseCommon( Common common, XMLStreamReader in ) throws XMLStreamException { if ( in.getLocalName().equals( "Name" ) ) { common.name = in.getElementText(); } Location l = in.getLocation(); if ( in.getLocalName().startsWith( "Geometry" ) ) { common.loc = l.getSystemId(); common.line = l.getLineNumber(); common.col = l.getColumnNumber(); in.nextTag(); common.geometry = parseExpression( in ); in.nextTag(); } if ( in.getLocalName().equals( "Description" ) ) { parseDescription( in, common, l ); } // in case of SLD 1.0.0: if ( in.getLocalName().equals( "Title" ) ) { common.title = in.getElementText(); in.nextTag(); } if ( in.getLocalName().equals( "Abstract" ) ) { common.abstract_ = in.getElementText(); in.nextTag(); } }
String msg = Messages.getMessage( "FILTER_PARSER_UNEXPECTED_ELEMENT", xmlStream.getName(), elemNames( ComparisonOperator.SubType.class, comparisonOperatorTypeToElementName ) ); throw new XMLParsingException( xmlStream, msg ); case PROPERTY_IS_LESS_THAN_OR_EQUAL_TO: case PROPERTY_IS_NOT_EQUAL_TO: comparisonOperator = parseBinaryComparisonOperator( xmlStream, type ); break; case PROPERTY_IS_BETWEEN: comparisonOperator = parsePropertyIsBetweenOperator( xmlStream ); break; case PROPERTY_IS_LIKE: comparisonOperator = parsePropertyIsLikeOperator( xmlStream ); break; case PROPERTY_IS_NULL: comparisonOperator = parsePropertyIsNullOperator( xmlStream ); break;
private static Operator parseOperator( XMLStreamReader xmlStream ) throws XMLStreamException { Operator operator = null; // check if element name is a valid operator element Operator.Type type = elementNameToOperatorType.get( xmlStream.getName() ); if ( type == null ) { String expectedList = elemNames( Operator.Type.class, logicalOperatorTypeToElementName ) + ", " + elemNames( Operator.Type.class, spatialOperatorTypeToElementName ) + ", " + elemNames( Operator.Type.class, comparisonOperatorTypeToElementName ); String msg = Messages.getMessage( "FILTER_PARSER_UNEXPECTED_ELEMENT", xmlStream.getName(), expectedList ); throw new XMLParsingException( xmlStream, msg ); } switch ( type ) { case COMPARISON: LOG.debug( "Building comparison operator" ); operator = parseComparisonOperator( xmlStream ); break; case LOGICAL: LOG.debug( "Building logical operator" ); operator = parseLogicalOperator( xmlStream ); break; case SPATIAL: LOG.debug( "Building spatial operator" ); operator = parseSpatialOperator( xmlStream ); break; } return operator; }
private static GenericXMLElement parseElement( XMLStreamReader xmlStream ) throws IllegalArgumentException, XMLStreamException { Map<QName, PrimitiveValue> attrs = parseAttrs( xmlStream ); List<TypedObjectNode> children = new ArrayList<TypedObjectNode>(); while ( xmlStream.next() != END_ELEMENT ) { int eventType = xmlStream.getEventType(); if ( eventType == START_ELEMENT ) { children.add( parseElement( xmlStream ) ); } else if ( eventType == CHARACTERS || eventType == CDATA ) { children.add( new PrimitiveValue( xmlStream.getText() ) ); } } return new GenericXMLElement( xmlStream.getName(), null, attrs, children ); }
if ( type == null ) { String msg = Messages.getMessage( "FILTER_PARSER_UNEXPECTED_ELEMENT", xmlStream.getName(), elemNames( Expression.Type.class, expressionTypeToElementName ) ); throw new XMLParsingException( xmlStream, msg ); case ADD: { nextElement( xmlStream ); Expression param1 = parseExpression( xmlStream ); nextElement( xmlStream ); Expression param2 = parseExpression( xmlStream ); expression = new Add( param1, param2 ); nextElement( xmlStream ); Expression param1 = parseExpression( xmlStream ); nextElement( xmlStream ); Expression param2 = parseExpression( xmlStream ); expression = new Sub( param1, param2 ); nextElement( xmlStream ); Expression param1 = parseExpression( xmlStream ); nextElement( xmlStream ); Expression param2 = parseExpression( xmlStream ); expression = new Mul( param1, param2 ); nextElement( xmlStream ); Expression param1 = parseExpression( xmlStream ); nextElement( xmlStream ); Expression param2 = parseExpression( xmlStream ); expression = new Div( param1, param2 );
Function function = Filter110XMLDecoder.parseFunction( xmlStream ); functions.add( function ); } catch ( XMLStreamException e ) { filter = Filter110XMLDecoder.parse( xmlStream ); } catch ( XMLStreamException e ) { e.printStackTrace();
String msg = Messages.getMessage( "FILTER_PARSER_UNEXPECTED_ELEMENT", xmlStream.getName(), elemNames( LogicalOperator.SubType.class, logicalOperatorTypeToElementName ) ); throw new XMLParsingException( xmlStream, msg ); List<Operator> innerOperators = new ArrayList<Operator>(); while ( nextElement( xmlStream ) == START_ELEMENT ) { innerOperators.add( parseOperator( xmlStream ) ); List<Operator> innerOperators = new ArrayList<Operator>(); while ( nextElement( xmlStream ) == START_ELEMENT ) { innerOperators.add( parseOperator( xmlStream ) ); Operator parameter = parseOperator( xmlStream ); logicalOperator = new Not( parameter ); nextElement( xmlStream );
String msg = Messages.getMessage( "FILTER_PARSER_UNEXPECTED_ELEMENT", xmlStream.getName(), elemNames( SpatialOperator.SubType.class, spatialOperatorTypeToElementName ) ); throw new XMLParsingException( xmlStream, msg ); param1 = parsePropertyName( xmlStream, true ); nextElement( xmlStream ); ValueReference param1 = parsePropertyName( xmlStream, false ); nextElement( xmlStream ); ValueReference param1 = parsePropertyName( xmlStream, false ); nextElement( xmlStream ); ValueReference param1 = parsePropertyName( xmlStream, false ); nextElement( xmlStream ); ValueReference param1 = parsePropertyName( xmlStream, false ); nextElement( xmlStream ); ValueReference param1 = parsePropertyName( xmlStream, false ); nextElement( xmlStream ); ValueReference param1 = parsePropertyName( xmlStream, false ); nextElement( xmlStream ); ValueReference param1 = parsePropertyName( xmlStream, false ); nextElement( xmlStream );
private static Literal<?> parseLiteral( XMLStreamReader xmlStream ) throws XMLStreamException { Map<QName, PrimitiveValue> attrs = parseAttrs( xmlStream ); List<TypedObjectNode> children = new ArrayList<TypedObjectNode>(); while ( xmlStream.next() != END_ELEMENT ) { int eventType = xmlStream.getEventType(); if ( eventType == START_ELEMENT ) { children.add( parseElement( xmlStream ) ); } else if ( eventType == CHARACTERS || eventType == CDATA ) { children.add( new PrimitiveValue( xmlStream.getText() ) ); } } TypedObjectNode value = null; if ( attrs.isEmpty() && children.size() == 1 ) { value = children.get( 0 ); } else if ( attrs.isEmpty() && children.isEmpty() ) { value = new PrimitiveValue( "" ); } else { value = new GenericXMLElement( null, null, attrs, children ); } return new Literal<TypedObjectNode>( value, null ); }
static OperatorFilter parseFilter( int layerIndex, InputStream in ) throws XMLStreamException { XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader( new StreamSource( in ) ); int idx = -1; while ( idx != layerIndex ) { moveReaderToFirstMatch( reader, new QName( "http://www.deegree.org/layers/feature", "FeatureLayer" ) ); reader.next(); ++idx; } while ( !( reader.isEndElement() && reader.getLocalName().equals( "FeatureLayer" ) ) ) { reader.next(); if ( reader.isStartElement() && reader.getLocalName().equals( "Filter" ) && reader.getNamespaceURI().equals( OGCNS ) ) { OperatorFilter filter = null; filter = (OperatorFilter) Filter110XMLDecoder.parse( reader ); reader.close(); return filter; } } reader.close(); return null; }
XMLStreamReader reader = fac.createXMLStreamReader( new StringReader( text ) ); reader.next(); expr = Filter110XMLDecoder.parseExpression( reader ); } catch ( XMLParsingException e ) { String[] ss = text.split( "}" );
filter = Filter110XMLDecoder.parse( localReader );
in.next(); if ( in.isStartElement() ) { Expression expr = parseExpression( in ); if ( collectXMLSnippets ) { StringWriter sw = new StringWriter();
filters.add( Filter110XMLDecoder.parse( in ) );
private static PropertyIsBetween parsePropertyIsBetweenOperator( XMLStreamReader xmlStream ) throws XMLStreamException { // this is a deegree extension over Filter 1.1.0 spec. boolean matchCase = getAttributeValueAsBoolean( xmlStream, null, "matchCase", true ); nextElement( xmlStream ); Expression expression = parseExpression( xmlStream ); nextElement( xmlStream ); xmlStream.require( START_ELEMENT, OGC_NS, "LowerBoundary" ); nextElement( xmlStream ); Expression lowerBoundary = parseExpression( xmlStream ); nextElement( xmlStream ); nextElement( xmlStream ); xmlStream.require( START_ELEMENT, OGC_NS, "UpperBoundary" ); nextElement( xmlStream ); Expression upperBoundary = parseExpression( xmlStream ); nextElement( xmlStream ); nextElement( xmlStream ); return new PropertyIsBetween( expression, lowerBoundary, upperBoundary, matchCase, null ); }
Filter filter = Filter110XMLDecoder.parse( in ); if ( filter instanceof OperatorFilter ) { operatorFilter = (OperatorFilter) filter;
XMLStreamReader reader = fac.createXMLStreamReader( new StringReader( p.third ) ); reader.next(); final Expression expr = Filter110XMLDecoder.parseExpression( reader ); if ( p.second != null ) { sym = new Symbolizer<TextStyling>( p.first, p.second, null, null, null, -1, -1 );
try { streamWrapper.nextTag(); filter = Filter110XMLDecoder.parse( streamWrapper ); } catch ( XMLParsingException e ) { e.printStackTrace();
List<Expression> params = new ArrayList<Expression>(); while ( xmlStream.getEventType() == START_ELEMENT ) { params.add( parseExpression( xmlStream ) ); nextElement( xmlStream );