All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.monnetproject.translation.evaluation.util.RestHelper Maven / Gradle / Ivy

package eu.monnetproject.translation.evaluation.util;

import groovy.util.XmlSlurper;
import groovy.util.slurpersupport.GPathResult;

import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;

import javax.xml.parsers.ParserConfigurationException;

import org.w3c.tidy.Tidy;
import org.xml.sax.SAXException;
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.client.urlconnection.HttpURLConnectionFactory;
import com.sun.jersey.client.urlconnection.URLConnectionClientHandler;

public class RestHelper {
	
	public String tidy(String content) {
		String body=content;
		if(!content.startsWith("\\n\\" + body;
		}
	
		StringWriter writer = new StringWriter();
		Tidy tidy = new Tidy();
		tidy.setQuiet(true);
		tidy.setTidyMark(false);
		tidy.setXHTML(true);
		tidy.setWraplen(0);
		tidy.setWrapAttVals(false);
		tidy.setIndentContent(true);
		tidy.setSpaces(4);
		tidy.parse(new StringReader(body),writer);		

		String sb = writer.getBuffer().toString();
	
		return sb;
	}
	
	public String getFailure(String content) {
		String body=tidy(content);
		String output = "";

		GPathResult html;
		try {
			XmlSlurper slurper = new XmlSlurper();
			slurper.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
			Map params = new HashMap();
			params.put("xhtml:", "http://www.w3.org/1999/xhtml");
			html = slurper.parseText(body).declareNamespace(null);
			output = html.text().trim();
		} catch (SAXNotRecognizedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SAXNotSupportedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ParserConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return output;
	}
	
	static ControlledHttpURLConnectionFactory factory=new ControlledHttpURLConnectionFactory();

	public static HttpURLConnectionFactory getFactory() {
		return factory;
	}

	public static WebResource getResource(String location) {

		return new Client(new URLConnectionClientHandler(getFactory())).resource(location);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy