elementList = contentList.stream()
+ .filter(obj -> obj instanceof Element)
+ .map(Element.class::cast).collect(Collectors.toList());
+ ingestDIM(context, dso, elementList, createMissingMetadataFields);
} catch (TransformerException e) {
log.error("Got error: " + e.toString());
throw new CrosswalkInternalException("XSL Transformation failed: " + e.toString(), e);
diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java
index 471b9ba27c..03afb5e852 100644
--- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java
+++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java
@@ -83,10 +83,10 @@ import org.dspace.license.factory.LicenseServiceFactory;
import org.dspace.license.service.CreativeCommonsService;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
-import org.jdom.Element;
-import org.jdom.Namespace;
-import org.jdom.output.Format;
-import org.jdom.output.XMLOutputter;
+import org.jdom2.Element;
+import org.jdom2.Namespace;
+import org.jdom2.output.Format;
+import org.jdom2.output.XMLOutputter;
/**
* Base class for disseminator of
diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java
index 9a7fffdec5..98277c4f9c 100644
--- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java
+++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java
@@ -51,7 +51,7 @@ import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.dspace.workflow.WorkflowException;
import org.dspace.workflow.factory.WorkflowServiceFactory;
-import org.jdom.Element;
+import org.jdom2.Element;
/**
* Base class for package ingester of METS (Metadata Encoding and Transmission
diff --git a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPIngester.java
index 954a68bfc1..e7be7ab511 100644
--- a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPIngester.java
+++ b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPIngester.java
@@ -20,7 +20,7 @@ import org.dspace.content.crosswalk.CrosswalkException;
import org.dspace.content.crosswalk.MetadataValidationException;
import org.dspace.core.Constants;
import org.dspace.core.Context;
-import org.jdom.Element;
+import org.jdom2.Element;
/**
* Subclass of the METS packager framework to ingest a DSpace
diff --git a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceMETSIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceMETSIngester.java
index da3965534f..380764268c 100644
--- a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceMETSIngester.java
+++ b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceMETSIngester.java
@@ -23,7 +23,7 @@ import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.core.factory.CoreServiceFactory;
import org.dspace.core.service.PluginService;
-import org.jdom.Element;
+import org.jdom2.Element;
/**
* Packager plugin to ingest a
diff --git a/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java b/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java
index 8fb8172aeb..3399bdf0f0 100644
--- a/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java
+++ b/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java
@@ -35,15 +35,17 @@ import org.dspace.core.Context;
import org.dspace.core.factory.CoreServiceFactory;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
-import org.jdom.Content;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.Namespace;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.Format;
-import org.jdom.output.XMLOutputter;
-import org.jdom.xpath.XPath;
+import org.jdom2.Content;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.jdom2.Namespace;
+import org.jdom2.filter.Filters;
+import org.jdom2.input.SAXBuilder;
+import org.jdom2.output.Format;
+import org.jdom2.output.XMLOutputter;
+import org.jdom2.xpath.XPathExpression;
+import org.jdom2.xpath.XPathFactory;
/**
*
@@ -382,15 +384,12 @@ public class METSManifest {
public List getMdFiles()
throws MetadataValidationException {
if (mdFiles == null) {
- try {
- // Use a special namespace with known prefix
- // so we get the right prefix.
- XPath xpath = XPath.newInstance("descendant::mets:mdRef");
- xpath.addNamespace(metsNS);
- mdFiles = xpath.selectNodes(mets);
- } catch (JDOMException je) {
- throw new MetadataValidationException("Failed while searching for mdRef elements in manifest: ", je);
- }
+ // Use a special namespace with known prefix
+ // so we get the right prefix.
+ XPathExpression xpath =
+ XPathFactory.instance()
+ .compile("descendant::mets:mdRef", Filters.element(), null, metsNS);
+ mdFiles = xpath.evaluate(mets);
}
return mdFiles;
}
@@ -414,25 +413,22 @@ public class METSManifest {
return null;
}
- try {
- XPath xpath = XPath.newInstance(
- "mets:fileSec/mets:fileGrp[@USE=\"CONTENT\"]/mets:file[@GROUPID=\"" + groupID + "\"]");
- xpath.addNamespace(metsNS);
- List oFiles = xpath.selectNodes(mets);
- if (oFiles.size() > 0) {
- if (log.isDebugEnabled()) {
- log.debug("Got ORIGINAL file for derived=" + file.toString());
- }
- Element flocat = ((Element) oFiles.get(0)).getChild("FLocat", metsNS);
- if (flocat != null) {
- return flocat.getAttributeValue("href", xlinkNS);
- }
+ XPathExpression xpath =
+ XPathFactory.instance()
+ .compile(
+ "mets:fileSec/mets:fileGrp[@USE=\"CONTENT\"]/mets:file[@GROUPID=\"" + groupID + "\"]",
+ Filters.element(), null, metsNS);
+ List oFiles = xpath.evaluate(mets);
+ if (oFiles.size() > 0) {
+ if (log.isDebugEnabled()) {
+ log.debug("Got ORIGINAL file for derived=" + file.toString());
+ }
+ Element flocat = oFiles.get(0).getChild("FLocat", metsNS);
+ if (flocat != null) {
+ return flocat.getAttributeValue("href", xlinkNS);
}
- return null;
- } catch (JDOMException je) {
- log.warn("Got exception on XPATH looking for Original file, " + je.toString());
- return null;
}
+ return null;
}
// translate bundle name from METS to DSpace; METS may be "CONTENT"
@@ -888,20 +884,16 @@ public class METSManifest {
// use only when path varies each time you call it.
protected Element getElementByXPath(String path, boolean nullOk)
throws MetadataValidationException {
- try {
- XPath xpath = XPath.newInstance(path);
- xpath.addNamespace(metsNS);
- xpath.addNamespace(xlinkNS);
- Object result = xpath.selectSingleNode(mets);
- if (result == null && nullOk) {
- return null;
- } else if (result instanceof Element) {
- return (Element) result;
- } else {
- throw new MetadataValidationException("METSManifest: Failed to resolve XPath, path=\"" + path + "\"");
- }
- } catch (JDOMException je) {
- throw new MetadataValidationException("METSManifest: Failed to resolve XPath, path=\"" + path + "\"", je);
+ XPathExpression xpath =
+ XPathFactory.instance()
+ .compile(path, Filters.element(), null, metsNS, xlinkNS);
+ Element result = xpath.evaluateFirst(mets);
+ if (result == null && nullOk) {
+ return null;
+ } else if (result == null && !nullOk) {
+ throw new MetadataValidationException("METSManifest: Failed to resolve XPath, path=\"" + path + "\"");
+ } else {
+ return result;
}
}
diff --git a/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java
index 8643f60f6c..f627779af8 100644
--- a/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java
+++ b/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java
@@ -35,7 +35,7 @@ import org.dspace.eperson.PasswordHash;
import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.EPersonService;
import org.dspace.eperson.service.GroupService;
-import org.jdom.Namespace;
+import org.jdom2.Namespace;
/**
* Plugin to export all Group and EPerson objects in XML, perhaps for reloading.
diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java
index 88cec74a58..d4bb37cf94 100644
--- a/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java
+++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java
@@ -29,10 +29,10 @@ import org.dspace.harvest.dao.HarvestedCollectionDAO;
import org.dspace.harvest.service.HarvestedCollectionService;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.Namespace;
-import org.jdom.input.DOMBuilder;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.Namespace;
+import org.jdom2.input.DOMBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.w3c.dom.DOMException;
import org.xml.sax.SAXException;
diff --git a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java
index 71e00d73d7..a15ed53a93 100644
--- a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java
+++ b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java
@@ -70,11 +70,11 @@ import org.dspace.harvest.service.HarvestedCollectionService;
import org.dspace.harvest.service.HarvestedItemService;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.Namespace;
-import org.jdom.input.DOMBuilder;
-import org.jdom.output.XMLOutputter;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.Namespace;
+import org.jdom2.input.DOMBuilder;
+import org.jdom2.output.XMLOutputter;
import org.xml.sax.SAXException;
diff --git a/dspace-api/src/main/java/org/dspace/identifier/DataCiteXMLCreator.java b/dspace-api/src/main/java/org/dspace/identifier/DataCiteXMLCreator.java
index 0ea25ff3a4..ae2cd248d4 100644
--- a/dspace-api/src/main/java/org/dspace/identifier/DataCiteXMLCreator.java
+++ b/dspace-api/src/main/java/org/dspace/identifier/DataCiteXMLCreator.java
@@ -23,8 +23,8 @@ import org.dspace.core.factory.CoreServiceFactory;
import org.dspace.handle.factory.HandleServiceFactory;
import org.dspace.services.ConfigurationService;
import org.dspace.utils.DSpace;
-import org.jdom.Element;
-import org.jdom.output.XMLOutputter;
+import org.jdom2.Element;
+import org.jdom2.output.XMLOutputter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/dspace-api/src/main/java/org/dspace/identifier/doi/DataCiteConnector.java b/dspace-api/src/main/java/org/dspace/identifier/doi/DataCiteConnector.java
index bc8ea90957..57136d6143 100644
--- a/dspace-api/src/main/java/org/dspace/identifier/doi/DataCiteConnector.java
+++ b/dspace-api/src/main/java/org/dspace/identifier/doi/DataCiteConnector.java
@@ -45,13 +45,13 @@ import org.dspace.core.factory.CoreServiceFactory;
import org.dspace.handle.service.HandleService;
import org.dspace.identifier.DOI;
import org.dspace.services.ConfigurationService;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.filter.ElementFilter;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.Format;
-import org.jdom.output.XMLOutputter;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.jdom2.filter.ElementFilter;
+import org.jdom2.input.SAXBuilder;
+import org.jdom2.output.Format;
+import org.jdom2.output.XMLOutputter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dspace-api/src/main/java/org/dspace/importer/external/arxiv/metadatamapping/contributor/ArXivIdMetadataContributor.java b/dspace-api/src/main/java/org/dspace/importer/external/arxiv/metadatamapping/contributor/ArXivIdMetadataContributor.java
index ed5ac5960b..7bd42cf07a 100644
--- a/dspace-api/src/main/java/org/dspace/importer/external/arxiv/metadatamapping/contributor/ArXivIdMetadataContributor.java
+++ b/dspace-api/src/main/java/org/dspace/importer/external/arxiv/metadatamapping/contributor/ArXivIdMetadataContributor.java
@@ -9,10 +9,10 @@ package org.dspace.importer.external.arxiv.metadatamapping.contributor;
import java.util.Collection;
-import org.apache.axiom.om.OMElement;
import org.dspace.importer.external.metadatamapping.MetadatumDTO;
import org.dspace.importer.external.metadatamapping.contributor.MetadataContributor;
import org.dspace.importer.external.metadatamapping.contributor.SimpleXpathMetadatumContributor;
+import org.jdom2.Element;
/**
* Arxiv specific implementation of {@link MetadataContributor}
@@ -32,7 +32,7 @@ public class ArXivIdMetadataContributor extends SimpleXpathMetadatumContributor
* @return a collection of import records. Only the identifier of the found records may be put in the record.
*/
@Override
- public Collection contributeMetadata(OMElement t) {
+ public Collection contributeMetadata(Element t) {
Collection values = super.contributeMetadata(t);
parseValue(values);
return values;
diff --git a/dspace-api/src/main/java/org/dspace/importer/external/arxiv/service/ArXivImportMetadataSourceServiceImpl.java b/dspace-api/src/main/java/org/dspace/importer/external/arxiv/service/ArXivImportMetadataSourceServiceImpl.java
index 6b418423fa..96689e62ba 100644
--- a/dspace-api/src/main/java/org/dspace/importer/external/arxiv/service/ArXivImportMetadataSourceServiceImpl.java
+++ b/dspace-api/src/main/java/org/dspace/importer/external/arxiv/service/ArXivImportMetadataSourceServiceImpl.java
@@ -7,8 +7,10 @@
*/
package org.dspace.importer.external.arxiv.service;
+import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.Callable;
@@ -20,10 +22,6 @@ import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMXMLBuilderFactory;
-import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.om.xpath.AXIOMXPath;
import org.apache.commons.lang3.StringUtils;
import org.dspace.content.Item;
import org.dspace.importer.external.datamodel.ImportRecord;
@@ -31,7 +29,14 @@ import org.dspace.importer.external.datamodel.Query;
import org.dspace.importer.external.exception.MetadataSourceException;
import org.dspace.importer.external.service.AbstractImportMetadataSourceService;
import org.dspace.importer.external.service.components.QuerySource;
-import org.jaxen.JaxenException;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.jdom2.Namespace;
+import org.jdom2.filter.Filters;
+import org.jdom2.input.SAXBuilder;
+import org.jdom2.xpath.XPathExpression;
+import org.jdom2.xpath.XPathFactory;
/**
* Implements a data source for querying ArXiv
@@ -39,7 +44,7 @@ import org.jaxen.JaxenException;
* @author Pasquale Cavallo (pasquale.cavallo at 4Science dot it)
*
*/
-public class ArXivImportMetadataSourceServiceImpl extends AbstractImportMetadataSourceService
+public class ArXivImportMetadataSourceServiceImpl extends AbstractImportMetadataSourceService
implements QuerySource {
private WebTarget webTarget;
@@ -213,15 +218,20 @@ public class ArXivImportMetadataSourceServiceImpl extends AbstractImportMetadata
Response response = invocationBuilder.get();
if (response.getStatus() == 200) {
String responseString = response.readEntity(String.class);
- OMXMLParserWrapper records = OMXMLBuilderFactory.createOMBuilder(new StringReader(responseString));
- OMElement element = records.getDocumentElement();
- AXIOMXPath xpath = null;
+
+ SAXBuilder saxBuilder = new SAXBuilder();
+ Document document = saxBuilder.build(new StringReader(responseString));
+ Element root = document.getRootElement();
+
+ List namespaces = Arrays.asList(Namespace.getNamespace("opensearch",
+ "http://a9.com/-/spec/opensearch/1.1/"));
+ XPathExpression xpath =
+ XPathFactory.instance().compile("opensearch:totalResults", Filters.element(), null, namespaces);
+
+ Element count = xpath.evaluateFirst(root);
try {
- xpath = new AXIOMXPath("opensearch:totalResults");
- xpath.addNamespace("opensearch", "http://a9.com/-/spec/opensearch/1.1/");
- OMElement count = (OMElement) xpath.selectSingleNode(element);
return Integer.parseInt(count.getText());
- } catch (JaxenException e) {
+ } catch (NumberFormatException e) {
return null;
}
} else {
@@ -274,8 +284,8 @@ public class ArXivImportMetadataSourceServiceImpl extends AbstractImportMetadata
Response response = invocationBuilder.get();
if (response.getStatus() == 200) {
String responseString = response.readEntity(String.class);
- List omElements = splitToRecords(responseString);
- for (OMElement record : omElements) {
+ List elements = splitToRecords(responseString);
+ for (Element record : elements) {
results.add(transformSourceRecords(record));
}
return results;
@@ -321,8 +331,8 @@ public class ArXivImportMetadataSourceServiceImpl extends AbstractImportMetadata
Response response = invocationBuilder.get();
if (response.getStatus() == 200) {
String responseString = response.readEntity(String.class);
- List omElements = splitToRecords(responseString);
- for (OMElement record : omElements) {
+ List elements = splitToRecords(responseString);
+ for (Element record : elements) {
results.add(transformSourceRecords(record));
}
return results;
@@ -359,8 +369,8 @@ public class ArXivImportMetadataSourceServiceImpl extends AbstractImportMetadata
Response response = invocationBuilder.get();
if (response.getStatus() == 200) {
String responseString = response.readEntity(String.class);
- List omElements = splitToRecords(responseString);
- for (OMElement record : omElements) {
+ List elements = splitToRecords(responseString);
+ for (Element record : elements) {
results.add(transformSourceRecords(record));
}
return results;
@@ -387,16 +397,21 @@ public class ArXivImportMetadataSourceServiceImpl extends AbstractImportMetadata
}
}
- private List splitToRecords(String recordsSrc) {
- OMXMLParserWrapper records = OMXMLBuilderFactory.createOMBuilder(new StringReader(recordsSrc));
- OMElement element = records.getDocumentElement();
- AXIOMXPath xpath = null;
+ private List splitToRecords(String recordsSrc) {
+
try {
- xpath = new AXIOMXPath("ns:entry");
- xpath.addNamespace("ns", "http://www.w3.org/2005/Atom");
- List recordsList = xpath.selectNodes(element);
+ SAXBuilder saxBuilder = new SAXBuilder();
+ Document document = saxBuilder.build(new StringReader(recordsSrc));
+ Element root = document.getRootElement();
+
+ List namespaces = Arrays.asList(Namespace.getNamespace("ns",
+ "http://www.w3.org/2005/Atom"));
+ XPathExpression xpath =
+ XPathFactory.instance().compile("ns:entry", Filters.element(), null, namespaces);
+
+ List recordsList = xpath.evaluate(root);
return recordsList;
- } catch (JaxenException e) {
+ } catch (JDOMException | IOException e) {
return null;
}
}
diff --git a/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/contributor/SimpleXpathMetadatumContributor.java b/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/contributor/SimpleXpathMetadatumContributor.java
index 87cdbfa6ed..65d6d66947 100644
--- a/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/contributor/SimpleXpathMetadatumContributor.java
+++ b/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/contributor/SimpleXpathMetadatumContributor.java
@@ -7,33 +7,36 @@
*/
package org.dspace.importer.external.metadatamapping.contributor;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
-import org.apache.axiom.om.OMAttribute;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMText;
-import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.logging.log4j.Logger;
import org.dspace.importer.external.metadatamapping.MetadataFieldConfig;
import org.dspace.importer.external.metadatamapping.MetadataFieldMapping;
import org.dspace.importer.external.metadatamapping.MetadatumDTO;
-import org.jaxen.JaxenException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.jdom2.Attribute;
+import org.jdom2.Element;
+import org.jdom2.Namespace;
+import org.jdom2.Text;
+import org.jdom2.filter.Filters;
+import org.jdom2.xpath.XPathExpression;
+import org.jdom2.xpath.XPathFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
- * Metadata contributor that takes an axiom OMElement and turns it into a metadatum
+ * Metadata contributor that takes a JDOM Element and turns it into a metadatum
*
* @author Roeland Dillen (roeland at atmire dot com)
*/
-public class SimpleXpathMetadatumContributor implements MetadataContributor {
+public class SimpleXpathMetadatumContributor implements MetadataContributor {
private MetadataFieldConfig field;
- private static final Logger log = LoggerFactory.getLogger(SimpleXpathMetadatumContributor.class);
+ private static final Logger log
+ = org.apache.logging.log4j.LogManager.getLogger();
/**
* Return prefixToNamespaceMapping
@@ -44,14 +47,14 @@ public class SimpleXpathMetadatumContributor implements MetadataContributor> metadataFieldMapping;
+ private MetadataFieldMapping> metadataFieldMapping;
/**
* Return metadataFieldMapping
*
* @return MetadataFieldMapping
*/
- public MetadataFieldMapping> getMetadataFieldMapping() {
+ public MetadataFieldMapping> getMetadataFieldMapping() {
return metadataFieldMapping;
}
@@ -62,7 +65,7 @@ public class SimpleXpathMetadatumContributor implements MetadataContributor> metadataFieldMapping) {
+ MetadataFieldMapping> metadataFieldMapping) {
this.metadataFieldMapping = metadataFieldMapping;
}
@@ -140,36 +143,35 @@ public class SimpleXpathMetadatumContributor implements MetadataContributor contributeMetadata(OMElement t) {
+ public Collection contributeMetadata(Element t) {
List values = new LinkedList<>();
- try {
- AXIOMXPath xpath = new AXIOMXPath(query);
- for (String ns : prefixToNamespaceMapping.keySet()) {
- xpath.addNamespace(prefixToNamespaceMapping.get(ns), ns);
- }
- List