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) {
23

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

    
34
			readerStream = new ByteArrayInputStream(xml.getBytes("UTF-8"));
35

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

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

    
41
		} catch (Exception e) {
42

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

    
50
		}
51

    
52
	}
53

    
54
	
55
}
(2-2/4)