Project

General

Profile

1
package eu.dnetlib.data.mapreduce.hbase.statsExport.utils;
2

    
3
import java.io.ByteArrayInputStream;
4
import java.io.ByteArrayOutputStream;
5
import java.io.InputStream;
6
import java.io.OutputStream;
7
import java.io.StringReader;
8
import java.io.StringWriter;
9
import java.io.Writer;
10

    
11
import javax.xml.transform.Transformer;
12
import javax.xml.transform.TransformerFactory;
13
import javax.xml.transform.stream.StreamResult;
14
import javax.xml.transform.stream.StreamSource;
15

    
16
import org.apache.log4j.Logger;
17

    
18
public class ContextTransformer {
19

    
20
	private Logger log = Logger.getLogger(this.getClass());
21

    
22
	public String transformXSL(String xml) throws Exception {
23
		Transformer transformer;
24
		TransformerFactory tFactory = TransformerFactory.newInstance();
25

    
26
		if (xml == null || xml.isEmpty()) {
27

    
28
			throw new Exception("NULL ENTITY CONFIGURATION   : ");
29
		}
30
		InputStream inputStream = null;
31
		ByteArrayInputStream readerStream = null;
32
		ByteArrayOutputStream writerStream = null;
33
		try {
34
			inputStream = ClassLoader.getSystemResourceAsStream("eu/dnetlib/data/mapreduce/hbase/statsExport/" + "context.xsl");
35
			transformer = tFactory.newTransformer(new StreamSource(inputStream));
36

    
37
			readerStream = new ByteArrayInputStream(xml.getBytes("UTF8"));
38

    
39
			writerStream = new ByteArrayOutputStream();
40
			transformer.transform(new StreamSource(readerStream), new StreamResult(writerStream));
41

    
42
			return writerStream.toString("UTF8");
43

    
44
		} catch (Exception e) {
45

    
46
			log.error(e.getMessage());
47
			throw new Exception(e.getMessage(), e);
48
		} finally {
49
			inputStream.close();
50
			readerStream.close();
51
			writerStream.close();
52

    
53
		}
54

    
55
	}
56

    
57
}
(2-2/4)