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

    
7
import javax.xml.transform.Transformer;
8
import javax.xml.transform.TransformerFactory;
9
import javax.xml.transform.stream.StreamResult;
10
import javax.xml.transform.stream.StreamSource;
11

    
12
import org.apache.log4j.Logger;
13

    
14
public class ContextTransformer {
15

    
16
	private Logger log = Logger.getLogger(this.getClass());
17

    
18
	public String transformXSL(String xml) throws Exception {
19
		Transformer transformer;
20
		TransformerFactory tFactory = TransformerFactory.newInstance();
21

    
22
		if (xml == null || xml.isEmpty()) {
23

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

    
33
			readerStream = new ByteArrayInputStream(xml.getBytes("UTF8"));
34

    
35
			writerStream = new ByteArrayOutputStream();
36
			transformer.transform(new StreamSource(readerStream), new StreamResult(writerStream));
37

    
38
			return writerStream.toString("UTF8");
39

    
40
		} catch (Exception e) {
41

    
42
			log.error(e.getMessage());
43
			throw new Exception(e.getMessage(), e);
44
		} finally {
45
			inputStream.close();
46
			readerStream.close();
47
			writerStream.close();
48

    
49
		}
50

    
51
	}
52

    
53
}
(2-2/4)