@Override protected RegistryObject getRecord( XMLStreamReader xmlReader ) { XMLAdapter adapter = new XMLAdapter( xmlReader ); return (RegistryObject) MetadataRecordFactory.create( adapter.getRootElement() ); } }
private void writeName( final XMLStreamWriter writer, final String name ) throws XMLStreamException { if ( name != null ) { writeElement( writer, WMSNS, "Name", name ); } }
/** * @return the name */ public String getROName() { return adapter.getNodeAsString( adapter.getRootElement(), new XPath( "./rim:Name/rim:LocalizedString/@value", ns ), null ); }
public URL getNodeAsURL( OMElement context, XPath xpath, URL defaultValue ) throws XMLParsingException { URL value = defaultValue; String s = getNodeAsString( context, xpath, null ); if ( s != null ) { value = parseURL( s ); } return value; }
public boolean getNodeAsBoolean( OMElement context, XPath xpath, boolean defaultValue ) throws XMLParsingException { boolean value = defaultValue; String s = getNodeAsString( context, xpath, null ); if ( s != null ) { value = parseBoolean( s ); } return value; }
public double getNodeAsDouble( OMElement context, XPath xpath, double defaultValue ) throws XMLParsingException { double value = defaultValue; String s = getNodeAsString( context, xpath, null ); if ( s != null ) { value = parseDouble( s ); } return value; }
XMLAdapter xml = null; try { xml = new XMLAdapter( listOfFiles[i] ); if ( createFI != null && createFI.equals( CREATEFI.REPLACE ) ) { xml = setNewFileIdentifier( fileName, xml ); } else if ( createFI != null && createFI.equals( CREATEFI.MISSING ) ) { if ( xml.getElement( xml.getRootElement(), new XPath( xPathFileId, NAMESPACE_CONTEXT ) ) == null ) { xml = setNewFileIdentifier( fileName, xml ); boolean inserted = insertRecord( xml.getRootElement() ); if ( inserted ) count++; countFailed++; if ( xml != null ) { final String fi = xml.getNodeAsString( xml.getRootElement(), new XPath( xPathFileId, NAMESPACE_CONTEXT ), null );
public static Query getQuery( OMElement omElement ) { if ( new QName( CSWConstants.CSW_202_NS, "Query" ).equals( omElement.getQName() ) ) { XMLAdapter adapter = new XMLAdapter( omElement ); SortProperty[] sortProps = null; Filter constraint = null; List<OMElement> queryChildElements = adapter.getRequiredElements( omElement, new XPath( "*", nsContext ) ); String typeQuery = adapter.getNodeAsString( omElement, new XPath( "./@typeNames", nsContext ), "" ); for ( String s : queryTypeNamesString ) { LOG.debug( "Parsing typeName '" + s + "' of Query as QName. " ); QName qname = adapter.parseQName( s, adapter.getRootElement() ); queryTypeNames[counterQName++] = qname; elementName = adapter.getNodesAsStrings( omElement, new XPath( "./csw:ElementName", nsContext ) ); QName[] returnTypeNames = null; for ( OMElement omQueryElement : queryChildElements ) { String typeElementSetName = adapter.getNodeAsString( omQueryElement, new XPath( "./@typeNames", nsContext ), "" ).trim(); String[] elementSetNameTypeNamesString = StringUtils.split( typeElementSetName, " " ); returnTypeNames = new QName[elementSetNameTypeNamesString.length]; for ( int i = 0; i < elementSetNameTypeNamesString.length; i++ ) { returnTypeNames[i] = adapter.parseQName( elementSetNameTypeNamesString[i], omElement ); List<OMElement> sortPropertyElements = adapter.getRequiredElements( omQueryElement, new XPath( "ogc:SortProperty", nsContext ) );
/** * * @param url * to retrieve the capabilities from */ public WPVSClient( URL url ) { this( new XMLAdapter( url ) ); }
throws MetadataInspectorException { XMLAdapter a = new XMLAdapter( record.getAsOMElement() ); OMElement rootEl = record.getAsOMElement(); String[] fileIdentifierString = a.getNodesAsStrings( rootEl, new XPath( "./gmd:fileIdentifier/gco:CharacterString", nsContext ) ); OMElement identificationInfo = a.getElement( rootEl, new XPath( identificationInfoXPathExpr, nsContext ) ); String dataIdentificationId = identificationInfo.getAttributeValue( new QName( "id" ) ); String dataIdentificationUuId = identificationInfo.getAttributeValue( new QName( "uuid" ) ); List<OMElement> identifier = a.getElements( identificationInfo, new XPath( "./gmd:citation/gmd:CI_Citation/gmd:identifier", nsContext ) ); List<String> resourceIdentifierList = new ArrayList<String>(); for ( OMElement resourceElement : identifier ) { String resourceIdentifier = a.getNodeAsString( resourceElement, new XPath( "./gmd:MD_Identifier/gmd:code/gco:CharacterString | ./gmd:RS_Identifier/gmd:code/gco:CharacterString",
public List<ExtrinsicObject> getExtrinsicObjects( String type ) { if ( !extrinsicObjects.containsKey( type ) ) { List<ExtrinsicObject> eos = new ArrayList<ExtrinsicObject>(); List<OMElement> eoElems = adapter.getElements( adapter.getRootElement(), getEOPath( type ) ); for ( OMElement eoElem : eoElems ) { eos.add( new ExtrinsicObject( eoElem ) ); } extrinsicObjects.put( type, eos ); } return extrinsicObjects.get( type ); }
private String getCodeListId( final XSElementDeclaration elementDecl ) { String codeListId = null; // handle adv schemas (referenced code list id inside annotation element) XSObjectList annotations = elementDecl.getAnnotations(); if ( annotations.getLength() > 0 ) { XSAnnotation annotation = (XSAnnotation) annotations.item( 0 ); String s = annotation.getAnnotationString(); XMLAdapter adapter = new XMLAdapter( new StringReader( s ) ); NamespaceBindings nsContext = new NamespaceBindings(); nsContext.addNamespace( "xs", CommonNamespaces.XSNS ); nsContext.addNamespace( "adv", "http://www.adv-online.de/nas" ); codeListId = adapter.getNodeAsString( adapter.getRootElement(), new XPath( "xs:appinfo/adv:referenzierteCodeList/text()", nsContext ), null ); if ( codeListId != null ) { codeListId = codeListId.trim(); } } return codeListId; }
private XMLAdapter setNewFileIdentifier( String fileName, XMLAdapter xml ) throws XMLStreamException { String newFi; if ( methodFI.equals( METHODFI.UUID ) ) { newFi = UUID.randomUUID().toString(); } else { newFi = fileName.contains( "." ) ? fileName.substring( 0, fileName.lastIndexOf( '.' ) ) : fileName; } System.out.println( "New fileIdentifier: " + newFi ); OMElement fiElem = xml.getElement( xml.getRootElement(), new XPath( xPathFileId, NAMESPACE_CONTEXT ) ); if ( fiElem == null ) { OMElement mdMeta = xml.getElement( xml.getRootElement(), new XPath( "//gmd:MD_Metadata", NAMESPACE_CONTEXT ) ); OMFactory omFactory = mdMeta.getOMFactory(); OMElement csElem = omFactory.createOMElement( new QName( ISOAP10GCONS, "CharacterString", ISOAP10GCO_PREFIX ) ); csElem.addChild( omFactory.createOMText( newFi ) ); OMElement newFiElem = omFactory.createOMElement( new QName( ISOAP10GMDNS, "fileIdentifier", ISOAP10GMD_PREFIX ) ); newFiElem.addChild( csElem ); mdMeta.getFirstElement().insertSiblingBefore( newFiElem ); } else { fiElem.setText( newFi ); } ByteArrayOutputStream bos = new ByteArrayOutputStream(); xml.getRootElement().serialize( bos ); return new XMLAdapter( new ByteArrayInputStream( bos.toByteArray() ) ); }
/** * * @return all elevation models defined */ public synchronized List<String> getElevationModels() { List<String> res = new LinkedList<String>(); XPath xp = new XPath( "//wpvs:ElevationModel", nsContext ); List<OMElement> elModels = capabilities.getElements( capabilities.getRootElement(), xp ); for ( OMElement node : elModels ) if ( node != null ) { XPath xpName = new XPath( "wpvs:Name", nsContext ); String name = capabilities.getNodeAsString( node, xpName, null ); if ( name != null ) res.add( name ); } return res; }
public String getStringFromXPath( XPath xpath ) { return new XMLAdapter().getNodeAsString( root, xpath, null ); }
throws MetadataInspectorException { XMLAdapter a = new XMLAdapter( record.getAsOMElement() ); String type = a.getNodeAsString( rootEl, new XPath( "./gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue", nsContext ), null ); OMElement hln = a.getElement( rootEl, new XPath( "./gmd:hierarchyLevelName", nsContext ) ); OMElement contact = rootEl.getFirstChildWithName( new QName( "http://www.isotc211.org/2005/gmd", "contact" ) ); if ( hln != null ) {
/** * @return the queryExpression */ public OMElement getQueryExpression() { return adapter.getElement( adapter.getRootElement(), new XPath( "./rim:QueryExpression", ns ) ); }
public OMElement getNodeFromXPath( XPath xpath ) { return new XMLAdapter().getElement( root, xpath ); }
String identifier; try { identifier = adapter.getRequiredNodeAsString( rootElement, new XPath( PRE + "identifier", nsContext ) ); } catch ( XMLParsingException e ) { LOG.error( "Could not find the required identifier node for the given gml:identifiable with localname: " String tmpDesc = adapter.getNodeAsString( rootElement, new XPath( PRE + "description", nsContext ), null ); OMElement descRef = adapter.getElement( rootElement, new XPath( PRE + "descriptionReference", nsContext ) ); if ( descRef != null ) { String href = descRef.getAttributeValue( new QName( CommonNamespaces.XLNNS, "href" ) ); List<OMElement> metaDatas = adapter.getElements( rootElement, new XPath( PRE + "metaDataProperty", nsContext ) ); if ( metaDatas != null && metaDatas.size() > 0 ) { LOG.warn( "Ignoring meta data properties" ); List<OMElement> domainsOfValidity = adapter.getElements( rootElement, new XPath( PRE + "domainOfValidity", nsContext ) ); if ( domainsOfValidity != null && domainsOfValidity.size() > 0 ) { OMElement elem = adapter.getElement( domainsOfValidity.get( 0 ), new XPath( GMD_PRE + "EX_Extent/" + GMD_PRE + "geographicElement/" nsContext ) ); if ( elem != null ) { double w = adapter.getNodeAsDouble( elem, new XPath( GMD_PRE + "westBoundLongitude/" + GCO_PRE + "Decimal", nsContext ), -180 ); double e = adapter.getNodeAsDouble( elem, new XPath( GMD_PRE + "eastBoundLongitude/" + GCO_PRE
public String[] getStringsFromXPath( XPath xpath ) { return new XMLAdapter().getNodesAsStrings( root, xpath ); }