MtasFetchData.java.html
7.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MtasFetchData.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MTAS</a> > <a href="index.source.html" class="el_package">mtas.analysis.util</a> > <span class="el_source">MtasFetchData.java</span></div><h1>MtasFetchData.java</h1><pre class="source lang-java linenums">package mtas.analysis.util;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringReader;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.zip.GZIPInputStream;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* The Class MtasFetchData.
*/
public class MtasFetchData {
/** The Constant log. */
<span class="fc" id="L26"> private static final Log log = LogFactory.getLog(MtasFetchData.class);</span>
/** The reader. */
Reader reader;
/**
* Instantiates a new mtas fetch data.
*
* @param input the input
*/
<span class="fc" id="L36"> public MtasFetchData(Reader input) {</span>
<span class="fc" id="L37"> reader = input;</span>
<span class="fc" id="L38"> }</span>
/**
* Gets the string.
*
* @return the string
* @throws MtasParserException the mtas parser exception
*/
private String getString() throws MtasParserException {
<span class="fc" id="L47"> String text = null;</span>
<span class="fc" id="L48"> BufferedReader bufferedReader = new BufferedReader(reader, 2048);</span>
try {
<span class="fc" id="L50"> text = IOUtils.toString(bufferedReader);</span>
<span class="fc" id="L51"> bufferedReader.close();</span>
<span class="fc" id="L52"> return text;</span>
<span class="nc" id="L53"> } catch (IOException e) {</span>
<span class="nc" id="L54"> log.debug(e);</span>
<span class="nc" id="L55"> throw new MtasParserException("couldn't read text");</span>
}
}
/**
* Gets the url.
*
* @param prefix the prefix
* @param postfix the postfix
* @return the url
* @throws MtasParserException the mtas parser exception
*/
public Reader getUrl(String prefix, String postfix)
throws MtasParserException {
<span class="nc" id="L69"> String url = getString();</span>
<span class="nc bnc" id="L70" title="All 4 branches missed."> if ((url != null) && !url.equals("")) {</span>
<span class="nc bnc" id="L71" title="All 2 branches missed."> if (prefix != null) {</span>
<span class="nc" id="L72"> url = prefix + url;</span>
}
<span class="nc bnc" id="L74" title="All 2 branches missed."> if (postfix != null) {</span>
<span class="nc" id="L75"> url = url + postfix;</span>
}
<span class="nc bnc" id="L77" title="All 4 branches missed."> if (url.startsWith("http://") || url.startsWith("https://")) {</span>
<span class="nc" id="L78"> BufferedReader in = null;</span>
try {
<span class="nc" id="L80"> URLConnection connection = new URL(url).openConnection();</span>
<span class="nc" id="L81"> connection.setRequestProperty("Accept-Encoding", "gzip");</span>
<span class="nc" id="L82"> connection.setReadTimeout(10000);</span>
<span class="nc bnc" id="L83" title="All 2 branches missed."> if (connection.getHeaderField("Content-Encoding") != null</span>
<span class="nc bnc" id="L84" title="All 2 branches missed."> && connection.getHeaderField("Content-Encoding").equals("gzip")) {</span>
<span class="nc" id="L85"> in = new BufferedReader(new InputStreamReader(</span>
<span class="nc" id="L86"> new GZIPInputStream(connection.getInputStream()),</span>
StandardCharsets.UTF_8));
} else {
<span class="nc" id="L89"> in = new BufferedReader(new InputStreamReader(</span>
<span class="nc" id="L90"> connection.getInputStream(), StandardCharsets.UTF_8));</span>
}
<span class="nc" id="L92"> return in;</span>
<span class="nc" id="L93"> } catch (IOException ex) {</span>
<span class="nc" id="L94"> log.debug(ex);</span>
<span class="nc" id="L95"> throw new MtasParserException("couldn't get " + url);</span>
}
} else {
<span class="nc" id="L98"> throw new MtasParserException("no valid url: " + url);</span>
}
} else {
<span class="nc" id="L101"> throw new MtasParserException("no valid url: " + url);</span>
}
}
/**
* Gets the file.
*
* @param prefix the prefix
* @param postfix the postfix
* @return the file
* @throws MtasParserException the mtas parser exception
*/
public Reader getFile(String prefix, String postfix)
throws MtasParserException {
<span class="fc" id="L115"> String file = getString();</span>
<span class="pc bpc" id="L116" title="2 of 4 branches missed."> if ((file != null) && !file.equals("")) {</span>
<span class="pc bpc" id="L117" title="1 of 2 branches missed."> if (prefix != null) {</span>
<span class="nc" id="L118"> file = prefix + file;</span>
}
<span class="fc bfc" id="L120" title="All 2 branches covered."> if (postfix != null) {</span>
<span class="fc" id="L121"> file = file + postfix;</span>
}
GZIPInputStream in;
try {
<span class="fc" id="L125"> in = new GZIPInputStream(new FileInputStream(file));</span>
<span class="fc" id="L126"> return new InputStreamReader(in, StandardCharsets.UTF_8);</span>
<span class="nc" id="L127"> } catch (IOException e1) {</span>
<span class="nc" id="L128"> log.debug(e1);</span>
try {
<span class="nc" id="L130"> String text = new String(Files.readAllBytes(Paths.get(file)),</span>
StandardCharsets.UTF_8);
<span class="nc" id="L132"> return new StringReader(text);</span>
<span class="nc" id="L133"> } catch (IOException e2) {</span>
<span class="nc" id="L134"> log.debug(e2);</span>
<span class="nc" id="L135"> throw new MtasParserException(e2.getMessage());</span>
}
}
} else {
<span class="nc" id="L139"> throw new MtasParserException("no valid file: " + file);</span>
}
}
/**
* Gets the default.
*
* @return the default
*/
public Reader getDefault() {
<span class="nc" id="L149"> return reader;</span>
}
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.7.9.201702052155</span></div></body></html>