/** * Creates a new {@link PropertyName} instance. * * @param propertyName * name of the targeted property, must not be <code>null</code> * @param resolveParams * parameters for controlling the resolution of references of the result set, may be <code>null</code> * @param resolvePath * ....may be <code>null</code> */ public PropertyName( ValueReference propertyName, ResolveParams resolveParams, ValueReference resolvePath ) { this.propertyName = propertyName; if ( resolveParams != null ) { this.resolveParams = resolveParams; } else { this.resolveParams = new ResolveParams( null, null, null ); } this.resolvePath = resolvePath; }
protected static ResolveParams parseStandardResolveParameters110( Map<String, String> kvpUC ) { // optional: 'TRAVERSEXLINKDEPTH' String traverseXlinkDepth = kvpUC.get( "TRAVERSEXLINKDEPTH" ); // optional: 'TRAVERSEXLINKEXPIRY' BigInteger resolveTimeout = null; BigInteger traverseXlinkExpiry = getBigInt( kvpUC, "TRAVERSEXLINKEXPIRY", null ); if ( traverseXlinkExpiry != null ) { resolveTimeout = BigInteger.valueOf( 60 ).multiply( traverseXlinkExpiry ); } return new ResolveParams( null, traverseXlinkDepth, resolveTimeout ); }
protected static ResolveParams parseStandardResolveParameters200( Map<String, String> kvpUC ) { // optional: RESOLVE ResolveMode resolve = null; String resolveString = kvpUC.get( "RESOLVE" ); if ( resolveString != null ) { if ( resolveString.equalsIgnoreCase( "local" ) ) { resolve = ResolveMode.LOCAL; } else if ( resolveString.equalsIgnoreCase( "remote" ) ) { resolve = ResolveMode.REMOTE; } else if ( resolveString.equalsIgnoreCase( "none" ) ) { resolve = ResolveMode.NONE; } else if ( resolveString.equalsIgnoreCase( "all" ) ) { resolve = ResolveMode.ALL; } else { LOG.warn( "Invalid value (='{}') for resolve parameter.", resolveString ); } } // optional: RESOLVEDEPTH String resolveDepth = kvpUC.get( "RESOLVEDEPTH" ); // optional: RESOLVETIMEOUT BigInteger resolveTimeout = getBigInt( kvpUC, "RESOLVETIMEOUT", null ); return new ResolveParams( resolve, resolveDepth, resolveTimeout ); }
/** * Creates a new {@link GetFeature} request. * * @param version * protocol version, must not be <code>null</code> * @param handle * client-generated identifier, may be <code>null</code> * @param presentationParams * parameters for controlling the presentation of the result set, may be <code>null</code> * @param resolveParams * parameters for controlling the resolution of references of the result set, may be <code>null</code> * @param queries * the queries to be performed in the request, must not be <code>null</code> and must contain at least * one entry */ public GetFeature( Version version, String handle, StandardPresentationParams presentationParams, ResolveParams resolveParams, List<Query> queries ) { super( version, handle ); if ( presentationParams != null ) { this.presentationParams = presentationParams; } else { this.presentationParams = new StandardPresentationParams( null, null, null, null ); } if ( resolveParams != null ) { this.resolveParams = resolveParams; } else { this.resolveParams = new ResolveParams( null, null, null ); } this.queries = queries; }
public ResolveParams parseStandardResolveParameters110( OMElement requestEl ) { String traverseXlinkDepth = getNodeAsString( rootElement, new XPath( "@traverseXlinkDepth", nsContext ), null ); String traverseXlinkExpiryStr = getNodeAsString( rootElement, new XPath( "@traverseXlinkExpiry", nsContext ), null ); BigInteger resolveTimeout = null; if ( traverseXlinkExpiryStr != null ) { resolveTimeout = new BigInteger( traverseXlinkExpiryStr ).multiply( BigInteger.valueOf( 60 ) ); } return new ResolveParams( null, traverseXlinkDepth, resolveTimeout ); }
protected static PropertyName[][] getXLinkPropNames( PropertyName[][] propertyNames, String[][] ptxDepthAr, Integer[][] ptxExpAr ) { PropertyName[][] result = null; if ( propertyNames != null ) { result = new PropertyName[propertyNames.length][]; for ( int i = 0; i < propertyNames.length; i++ ) { result[i] = new PropertyName[propertyNames[i].length]; for ( int j = 0; j < propertyNames[i].length; j++ ) { if ( ptxDepthAr != null || ptxExpAr != null ) { String resolveDepth = ptxDepthAr[i][j]; BigInteger resolveTimeout = ptxExpAr[i][j] == null ? null : BigInteger.valueOf( ptxExpAr[i][j] * 60 ); ResolveParams propResolveParams = new ResolveParams( null, resolveDepth, resolveTimeout ); result[i][j] = new PropertyName( propertyNames[i][j].getPropertyName(), propResolveParams, null ); } else { result[i][j] = propertyNames[i][j]; } } } } return result; }
public ResolveParams parseStandardResolveParameters200( OMElement element ) { // <xsd:attribute name="resolve" type="wfs:ResolveValueType" default="none"/> ResolveMode resolve = null; String resolveString = getNodeAsString( element, new XPath( "@resolve", nsContext ), null ); if ( resolveString != null ) { if ( resolveString.equalsIgnoreCase( "local" ) ) { resolve = ResolveMode.LOCAL; } else if ( resolveString.equalsIgnoreCase( "remote" ) ) { resolve = ResolveMode.REMOTE; } else if ( resolveString.equalsIgnoreCase( "none" ) ) { resolve = ResolveMode.NONE; } else if ( resolveString.equalsIgnoreCase( "all" ) ) { resolve = ResolveMode.ALL; } else { LOG.warn( "Invalid value (='{}') for resolve attribute.", resolveString ); } } // <xsd:attribute name="resolveDepth" type="wfs:positiveIntegerWithStar" default="*"/> String resolveDepth = getNodeAsString( element, new XPath( "@resolveDepth", nsContext ), null ); // <xsd:attribute name="resolveTimeout" type="xsd:positiveInteger" default="300"/> BigInteger resolveTimeout = getNodeAsBigInt( element, new XPath( "@resolveTimeout", nsContext ), null ); return new ResolveParams( resolve, resolveDepth, resolveTimeout ); }
new ResolveParams( null, xlinkDepth, resolveTimeout ), null ); propNames.add( xlinkPropName );