Project

General

Profile

1 29236 eri.katsar
package eu.dnetlib.data.mapreduce.hbase.statsExport.utils;
2
3 37709 eri.katsar
import org.apache.log4j.Logger;
4 29236 eri.katsar
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 37709 eri.katsar
import java.io.ByteArrayInputStream;
10
import java.io.ByteArrayOutputStream;
11
import java.io.InputStream;
12 29236 eri.katsar
13
public class ContextTransformer {
14
15 37709 eri.katsar
    private Logger log = Logger.getLogger(this.getClass());
16 29236 eri.katsar
17 37709 eri.katsar
    public String transformXSL(String xml) throws Exception {
18
        Transformer transformer;
19
        TransformerFactory tFactory = TransformerFactory.newInstance();
20 29236 eri.katsar
21 37709 eri.katsar
        if (xml == null) {
22 29236 eri.katsar
23 37709 eri.katsar
            throw new Exception("NULL XML ENTITY CONFIGURATION   ");
24
        }
25 29236 eri.katsar
26 37709 eri.katsar
        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 29236 eri.katsar
33 37709 eri.katsar
            readerStream = new ByteArrayInputStream(xml.getBytes("UTF-8"));
34 29236 eri.katsar
35 37709 eri.katsar
            writerStream = new ByteArrayOutputStream();
36
            transformer.transform(new StreamSource(readerStream), new StreamResult(writerStream));
37 29236 eri.katsar
38 37709 eri.katsar
            return writerStream.toString("UTF8");
39 29236 eri.katsar
40 37709 eri.katsar
        } catch (Exception e) {
41 29239 eri.katsar
42 37709 eri.katsar
            log.error(e.getMessage());
43
            throw new Exception(e.getMessage(), e);
44
        } finally {
45
            inputStream.close();
46
            readerStream.close();
47
            writerStream.close();
48 29236 eri.katsar
49 37709 eri.katsar
        }
50 29236 eri.katsar
51 37709 eri.katsar
    }
52
53
54 29236 eri.katsar
}