Revision 56504
Added by Antonis Lempesis almost 5 years ago
ContextTransformer.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.data.mapreduce.hbase.statsExport.utils; |
2 | 2 |
|
3 |
import org.apache.log4j.Logger; |
|
4 |
|
|
3 |
import org.apache.commons.io.IOUtils; |
|
5 | 4 |
import javax.xml.transform.Transformer; |
6 | 5 |
import javax.xml.transform.TransformerFactory; |
7 | 6 |
import javax.xml.transform.stream.StreamResult; |
... | ... | |
9 | 8 |
import java.io.ByteArrayInputStream; |
10 | 9 |
import java.io.ByteArrayOutputStream; |
11 | 10 |
import java.io.InputStream; |
11 |
import java.nio.charset.StandardCharsets; |
|
12 | 12 |
|
13 | 13 |
public class ContextTransformer { |
14 | 14 |
|
15 |
private Logger log = Logger.getLogger(this.getClass()); |
|
16 |
|
|
17 | 15 |
public String transformXSL(String xml) throws Exception { |
18 | 16 |
Transformer transformer; |
19 | 17 |
TransformerFactory tFactory = TransformerFactory.newInstance(); |
20 | 18 |
|
21 | 19 |
if (xml == null) { |
22 |
|
|
23 |
throw new Exception("NULL XML ENTITY CONFIGURATION "); |
|
20 |
throw new IllegalArgumentException("Input xml should not be null!"); |
|
24 | 21 |
} |
25 | 22 |
|
26 | 23 |
InputStream inputStream = null; |
27 | 24 |
ByteArrayInputStream readerStream = null; |
28 | 25 |
ByteArrayOutputStream writerStream = null; |
26 |
|
|
29 | 27 |
try { |
30 | 28 |
inputStream = ClassLoader.getSystemResourceAsStream("eu/dnetlib/data/mapreduce/hbase/statsExport/" + "context.xsl"); |
31 | 29 |
transformer = tFactory.newTransformer(new StreamSource(inputStream)); |
32 | 30 |
|
33 |
readerStream = new ByteArrayInputStream(xml.getBytes("UTF-8"));
|
|
31 |
readerStream = new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8));
|
|
34 | 32 |
|
35 | 33 |
writerStream = new ByteArrayOutputStream(); |
36 | 34 |
transformer.transform(new StreamSource(readerStream), new StreamResult(writerStream)); |
37 | 35 |
|
38 | 36 |
return writerStream.toString("UTF8"); |
39 |
|
|
40 |
} catch (Exception e) { |
|
41 |
|
|
42 |
log.error(e.getMessage()); |
|
43 |
throw new Exception(e.getMessage(), e); |
|
44 | 37 |
} finally { |
45 |
inputStream.close(); |
|
46 |
readerStream.close(); |
|
47 |
writerStream.close(); |
|
48 |
|
|
38 |
IOUtils.closeQuietly(inputStream); |
|
39 |
IOUtils.closeQuietly(readerStream); |
|
40 |
IOUtils.closeQuietly(writerStream); |
|
49 | 41 |
} |
50 |
|
|
51 | 42 |
} |
52 |
|
|
53 |
|
|
54 | 43 |
} |
Also available in: Unified diff
- Made Serializers methods non static to improve readability and maintenability.
- Code cleanup