Project

General

Profile

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

    
3
import org.apache.log4j.Logger;
4

    
5
import javax.xml.transform.Transformer;
6
import javax.xml.transform.TransformerFactory;
7
import javax.xml.transform.stream.StreamResult;
8
import javax.xml.transform.stream.StreamSource;
9
import java.io.ByteArrayInputStream;
10
import java.io.ByteArrayOutputStream;
11
import java.io.InputStream;
12

    
13
public class ContextTransformer {
14

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

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

    
21
        if (xml == null) {
22

    
23
            throw new Exception("NULL XML ENTITY CONFIGURATION   ");
24
        }
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("UTF-8"));
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

    
54
}
(1-1/3)