Search in sources :

Example 1 with OAIXMLProvider

use of org.mycore.oai.pmh.dataprovider.OAIXMLProvider in project mycore by MyCoRe-Org.

the class MCROAIDataProvider method doGetPost.

@Override
protected void doGetPost(MCRServletJob job) throws Exception {
    HttpServletRequest request = job.getRequest();
    // get base url
    if (this.myBaseURL == null) {
        this.myBaseURL = MCRFrontendUtil.getBaseURL() + request.getServletPath().substring(1);
    }
    logRequest(request);
    // create new oai request
    OAIRequest oaiRequest = new OAIRequest(fixParameterMap(request.getParameterMap()));
    // create new oai provider
    OAIXMLProvider oaiProvider = new JAXBOAIProvider(getOAIAdapter());
    // handle request
    OAIResponse oaiResponse = oaiProvider.handleRequest(oaiRequest);
    // build response
    Element xmlRespone = oaiResponse.toXML();
    // fire
    job.getResponse().setContentType("text/xml; charset=UTF-8");
    XMLOutputter xout = new XMLOutputter();
    xout.setFormat(Format.getPrettyFormat().setEncoding("UTF-8"));
    xout.output(addXSLStyle(new Document(xmlRespone)), job.getResponse().getOutputStream());
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) OAIXMLProvider(org.mycore.oai.pmh.dataprovider.OAIXMLProvider) XMLOutputter(org.jdom2.output.XMLOutputter) OAIResponse(org.mycore.oai.pmh.dataprovider.OAIResponse) Element(org.jdom2.Element) JAXBOAIProvider(org.mycore.oai.pmh.dataprovider.jaxb.JAXBOAIProvider) Document(org.jdom2.Document) OAIRequest(org.mycore.oai.pmh.dataprovider.OAIRequest)

Aggregations

HttpServletRequest (javax.servlet.http.HttpServletRequest)1 Document (org.jdom2.Document)1 Element (org.jdom2.Element)1 XMLOutputter (org.jdom2.output.XMLOutputter)1 OAIRequest (org.mycore.oai.pmh.dataprovider.OAIRequest)1 OAIResponse (org.mycore.oai.pmh.dataprovider.OAIResponse)1 OAIXMLProvider (org.mycore.oai.pmh.dataprovider.OAIXMLProvider)1 JAXBOAIProvider (org.mycore.oai.pmh.dataprovider.jaxb.JAXBOAIProvider)1