Skip to content
Snippets Groups Projects
Commit fe63ad5f authored by mbrodhu's avatar mbrodhu
Browse files

enable oaipmh getRecords Requests for classicmayan metsMods

parent 5f79a0ff
No related branches found
No related tags found
No related merge requests found
......@@ -184,14 +184,11 @@ public class OAIPMHImpl implements OAIPMHProducer {
// Take IDIOM if IDIOM prefix.
if (request.getMetadataPrefix().equals(TGConstants.METADATA_IDIOM_PREFIX)) {
System.out.println("IDIOM");
recDeliv = this.recDelivIDIOM;
recDeliv = this.recDelivIDIOM;
}
// Finally start the QUERY!
GetRecordType getRecord = new GetRecordType();
System.out.println(request.getIdentifier());
System.out.println(request.getMetadataPrefix());
getRecord = recDeliv.getRecordById(request.getIdentifier());
if (getRecord != null) {
......
package info.textgrid.middleware;
import java.io.StringReader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.apache.commons.logging.LogFactory;
import org.classicmayan.tools.ClassicMayanMetsMods;
......@@ -16,7 +31,7 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
private String[] workFields;
private String dateOfObjectCreation;
private String repositoryObjectURIPrefix;
static MetadataType metadataMets = new MetadataType();
private static org.apache.commons.logging.Log log = LogFactory.getLog(RecordDelivererDC.class);
......@@ -30,15 +45,15 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
super(textgrid, dariah);
}
/*
* (non-Javadoc)
*
* @see info.textgrid.middleware.RecordDelivererInterface#getRecordById(java.lang.String)
*/
public GetRecordType getRecordById(String id) {
System.out.println("Enter idiom");
System.out.println("ID: " + id);
GetRecordType grt = new GetRecordType();
RecordType record = new RecordType();
......@@ -49,14 +64,31 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
return grt;
}
public MetadataType idiomMets() {
MetadataType metadataMets = new MetadataType();
ClassicMayanMetsMods metsmods = new ClassicMayanMetsMods("textgrid:2557q",
"2016-02-18T11:15:19.899+01:00", "2018-02-02T12:12:34.113+01:00");
System.out.println(metsmods.getMets());
// metadataMets.setAny(metsmods);
public MetadataType idiomMets(){
ClassicMayanMetsMods metsmods = new ClassicMayanMetsMods("textgrid:2557q",
"2016-02-18T11:15:19.899+01:00", "2018-02-02T12:12:34.113+01:00");
String signsToTrim = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<?xml-model href=\"http://www.loc.gov/standards/mods/v3/mods-3-7.xsd\" type=\"application/xml\" schematypens=\"http://purl.oclc.org/dsdl/schematron\"?>";
String trimmedMets = metsmods.getMets().replace(signsToTrim, "");
System.out.println(trimmedMets);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try
{
builder = factory.newDocumentBuilder();
Document doc = builder.parse( new InputSource( new StringReader( trimmedMets ) ) );
metadataMets.setAny(doc.getDocumentElement());
} catch (Exception e) {
e.printStackTrace();
}
// metadataMets.setAny(doc);
//metadataMets.setAny(value);
return metadataMets;
}
......@@ -76,7 +108,7 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
HeaderType recordHeader = new HeaderType();
recordHeader.setIdentifier(identifier);
recordHeader.setDatestamp(dateOfCreation);
// record.setMetadata();
// record.setMetadata(metadataMets);
record.setHeader(recordHeader);
return record;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment