You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sdap.apache.org by le...@apache.org on 2019/02/12 16:58:31 UTC
[incubator-sdap-mudrod] branch master updated: Connections, streams,
files,
and other classes that implement the Closeable interface or its
super-interface, AutoCloseable, needs to be closed after use. (#36)
This is an automated email from the ASF dual-hosted git repository.
lewismc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-sdap-mudrod.git
The following commit(s) were added to refs/heads/master by this push:
new bb68b8f Connections, streams, files, and other classes that implement the Closeable interface or its super-interface, AutoCloseable, needs to be closed after use. (#36)
bb68b8f is described below
commit bb68b8f7f68274d497ba148815d583cf7055b36b
Author: Furkan KAMACI <fu...@gmail.com>
AuthorDate: Tue Feb 12 19:58:26 2019 +0300
Connections, streams, files, and other classes that implement the Closeable interface or its super-interface, AutoCloseable, needs to be closed after use. (#36)
---
.../org/apache/sdap/mudrod/driver/ESDriver.java | 12 +-
.../sdap/mudrod/ssearch/ranking/DataGenerator.java | 34 +++--
.../mudrod/ssearch/ranking/TrainingImporter.java | 24 ++--
.../org/apache/sdap/mudrod/tools/InstallCert.java | 33 ++---
.../sdap/mudrod/weblog/pre/HistoryGenerator.java | 139 ++++++++++-----------
5 files changed, 121 insertions(+), 121 deletions(-)
diff --git a/core/src/main/java/org/apache/sdap/mudrod/driver/ESDriver.java b/core/src/main/java/org/apache/sdap/mudrod/driver/ESDriver.java
index 666629f..dc1b4c8 100644
--- a/core/src/main/java/org/apache/sdap/mudrod/driver/ESDriver.java
+++ b/core/src/main/java/org/apache/sdap/mudrod/driver/ESDriver.java
@@ -490,11 +490,13 @@ public class ESDriver implements Serializable {
Client client = null;
- if (hosts != null && port > 1) {
- TransportClient transportClient = new ESTransportClient(settings);
- for (String host : hosts)
- transportClient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(host), port));
- return transportClient;
+ if (hosts != null && port > 1) {
+ try (TransportClient transportClient = new ESTransportClient(settings)) {
+ for (String host : hosts) {
+ transportClient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(host), port));
+ }
+ return transportClient;
+ }
} else if (clusterName != null) {
node = new Node(settings);
client = node.client();
diff --git a/core/src/main/java/org/apache/sdap/mudrod/ssearch/ranking/DataGenerator.java b/core/src/main/java/org/apache/sdap/mudrod/ssearch/ranking/DataGenerator.java
index 4e43ec8..ed69b6b 100644
--- a/core/src/main/java/org/apache/sdap/mudrod/ssearch/ranking/DataGenerator.java
+++ b/core/src/main/java/org/apache/sdap/mudrod/ssearch/ranking/DataGenerator.java
@@ -91,16 +91,13 @@ public class DataGenerator {
if (directoryListing != null) {
for (File child : directoryListing) {
- CSVReader csvReader = new CSVReader(new FileReader(child));
- List<String[]> list = csvReader.readAll();
-
- // Store into 2D array by transforming array list to normal array
- dataArr = new String[list.size()][];
- dataArr = list.toArray(dataArr);
-
- calculateVec(dataArr);
-
- csvReader.close();
+ try (CSVReader csvReader = new CSVReader(new FileReader(child))) {
+ List<String[]> list = csvReader.readAll();
+ // Store into 2D array by transforming array list to normal array
+ dataArr = new String[list.size()][];
+ dataArr = list.toArray(dataArr);
+ calculateVec(dataArr);
+ }
}
storeHead(dataArr); // Store the header
}
@@ -109,17 +106,16 @@ public class DataGenerator {
File file = new File(sourceDir);
if (file != null) {
- CSVReader csvReader = new CSVReader(new FileReader(file));
- List<String[]> list = csvReader.readAll();
-
- // Store into 2D array by transforming array list to normal array
- dataArr = new String[list.size()][];
- dataArr = list.toArray(dataArr);
+ try (CSVReader csvReader = new CSVReader(new FileReader(file))) {
+ List<String[]> list = csvReader.readAll();
- storeHead(dataArr); // Store the header
- calculateVec(dataArr);
+ // Store into 2D array by transforming array list to normal array
+ dataArr = new String[list.size()][];
+ dataArr = list.toArray(dataArr);
- csvReader.close();
+ storeHead(dataArr); // Store the header
+ calculateVec(dataArr);
+ }
}
}
} catch (FileNotFoundException e) {
diff --git a/core/src/main/java/org/apache/sdap/mudrod/ssearch/ranking/TrainingImporter.java b/core/src/main/java/org/apache/sdap/mudrod/ssearch/ranking/TrainingImporter.java
index ff55c85..12fdecb 100644
--- a/core/src/main/java/org/apache/sdap/mudrod/ssearch/ranking/TrainingImporter.java
+++ b/core/src/main/java/org/apache/sdap/mudrod/ssearch/ranking/TrainingImporter.java
@@ -71,20 +71,20 @@ public class TrainingImporter extends MudrodAbstract {
File[] files = new File(dataFolder).listFiles();
for (File file : files) {
- BufferedReader br = new BufferedReader(new FileReader(file.getAbsolutePath()));
- br.readLine();
- String line = br.readLine();
- while (line != null) {
- String[] list = line.split(",");
- String query = file.getName().replace(".csv", "");
- if (list.length > 0) {
- IndexRequest ir = new IndexRequest(props.getProperty(MudrodConstants.ES_INDEX_NAME), "trainingranking")
- .source(jsonBuilder().startObject().field("query", query).field("dataID", list[0]).field("label", list[list.length - 1]).endObject());
- es.getBulkProcessor().add(ir);
+ try (BufferedReader br = new BufferedReader(new FileReader(file.getAbsolutePath()))) {
+ br.readLine();
+ String line = br.readLine();
+ while (line != null) {
+ String[] list = line.split(",");
+ String query = file.getName().replace(".csv", "");
+ if (list.length > 0) {
+ IndexRequest ir = new IndexRequest(props.getProperty(MudrodConstants.ES_INDEX_NAME), "trainingranking")
+ .source(jsonBuilder().startObject().field("query", query).field("dataID", list[0]).field("label", list[list.length - 1]).endObject());
+ es.getBulkProcessor().add(ir);
+ }
+ line = br.readLine();
}
- line = br.readLine();
}
- br.close();
}
es.destroyBulkProcessor();
}
diff --git a/core/src/main/java/org/apache/sdap/mudrod/tools/InstallCert.java b/core/src/main/java/org/apache/sdap/mudrod/tools/InstallCert.java
index 304454b..370697c 100644
--- a/core/src/main/java/org/apache/sdap/mudrod/tools/InstallCert.java
+++ b/core/src/main/java/org/apache/sdap/mudrod/tools/InstallCert.java
@@ -78,11 +78,13 @@ public class InstallCert {
file = new File(dir, "cacerts");
}
}
+
System.out.println("Loading KeyStore " + file + "...");
- InputStream in = new FileInputStream(file);
- KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
- ks.load(in, passphrase);
- in.close();
+ KeyStore ks;
+ try (InputStream in = new FileInputStream(file)) {
+ ks = KeyStore.getInstance(KeyStore.getDefaultType());
+ ks.load(in, passphrase);
+ }
SSLContext context = SSLContext.getInstance("TLS");
TrustManagerFactory tmf =
@@ -94,17 +96,18 @@ public class InstallCert {
SSLSocketFactory factory = context.getSocketFactory();
System.out.println("Opening connection to " + host + ":" + port + "...");
- SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
- socket.setSoTimeout(10000);
- try {
- System.out.println("Starting SSL handshake...");
- socket.startHandshake();
- socket.close();
- System.out.println();
- System.out.println("No errors, certificate is already trusted");
- } catch (SSLException e) {
- System.out.println();
- e.printStackTrace(System.out);
+ try (SSLSocket socket = (SSLSocket) factory.createSocket(host, port)) {
+ socket.setSoTimeout(10000);
+ try {
+ System.out.println("Starting SSL handshake...");
+ socket.startHandshake();
+ socket.close();
+ System.out.println();
+ System.out.println("No errors, certificate is already trusted");
+ } catch (SSLException e) {
+ System.out.println();
+ e.printStackTrace(System.out);
+ }
}
X509Certificate[] chain = tm.chain;
diff --git a/core/src/main/java/org/apache/sdap/mudrod/weblog/pre/HistoryGenerator.java b/core/src/main/java/org/apache/sdap/mudrod/weblog/pre/HistoryGenerator.java
index 415f377..e120765 100644
--- a/core/src/main/java/org/apache/sdap/mudrod/weblog/pre/HistoryGenerator.java
+++ b/core/src/main/java/org/apache/sdap/mudrod/weblog/pre/HistoryGenerator.java
@@ -68,86 +68,85 @@ public class HistoryGenerator extends LogAbstract {
file.createNewFile();
FileWriter fw = new FileWriter(file.getAbsoluteFile());
- BufferedWriter bw = new BufferedWriter(fw);
- bw.write("Num" + ",");
+ try (BufferedWriter bw = new BufferedWriter(fw)) {
+ bw.write("Num" + ",");
- // step 1: write first row of csv
- List<String> logIndexList = es.getIndexListWithPrefix(
- props.getProperty(MudrodConstants.LOG_INDEX));
+ // step 1: write first row of csv
+ List<String> logIndexList = es.getIndexListWithPrefix(
+ props.getProperty(MudrodConstants.LOG_INDEX));
- String[] logIndices = logIndexList.toArray(new String[0]);
- String[] statictypeArray = new String[] { this.sessionStats };
- int docCount = es.getDocCount(logIndices, statictypeArray);
+ String[] logIndices = logIndexList.toArray(new String[0]);
+ String[] statictypeArray = new String[]{this.sessionStats};
+ int docCount = es.getDocCount(logIndices, statictypeArray);
- LOG.info("{}: {}", this.sessionStats, docCount);
+ LOG.info("{}: {}", this.sessionStats, docCount);
- if (docCount==0) {
- bw.close();
- file.delete();
- return;
- }
-
- SearchResponse sr = es.getClient()
- .prepareSearch(logIndices)
- .setTypes(statictypeArray)
- .setQuery(QueryBuilders.matchAllQuery())
- .setSize(0)
- .addAggregation(AggregationBuilders.terms("IPs")
- .field("IP")
- .size(docCount))
- .execute()
- .actionGet();
- Terms ips = sr.getAggregations().get("IPs");
- List<String> ipList = new ArrayList<>();
- for (Terms.Bucket entry : ips.getBuckets()) {
- // filter
- if (entry.getDocCount() > Integer.parseInt(props.getProperty(MudrodConstants.QUERY_MIN))) {
- // out less active users/ips
- ipList.add(entry.getKey().toString());
+ if (docCount == 0) {
+ bw.close();
+ file.delete();
+ return;
}
- }
- bw.write(String.join(",", ipList) + "\n");
-
- // step 2: step the rest rows of csv
- SearchRequestBuilder sr2Builder = es.getClient()
- .prepareSearch(logIndices)
- .setTypes(statictypeArray)
- .setQuery(QueryBuilders.matchAllQuery())
- .setSize(0)
- .addAggregation(AggregationBuilders.terms("KeywordAgg")
- .field("keywords")
- .size(docCount)
- .subAggregation(AggregationBuilders.terms("IPAgg")
- .field("IP")
- .size(docCount)));
-
- SearchResponse sr2 = sr2Builder.execute().actionGet();
- Terms keywords = sr2.getAggregations().get("KeywordAgg");
-
- for (Terms.Bucket keyword : keywords.getBuckets()) {
-
- Map<String, Integer> ipMap = new HashMap<>();
- Terms ipAgg = keyword.getAggregations().get("IPAgg");
-
- int distinctUser = ipAgg.getBuckets().size();
- if (distinctUser >= Integer.parseInt(props.getProperty(MudrodConstants.QUERY_MIN))) {
- bw.write(keyword.getKey() + ",");
- for (Terms.Bucket IP : ipAgg.getBuckets()) {
-
- ipMap.put(IP.getKey().toString(), 1);
+
+ SearchResponse sr = es.getClient()
+ .prepareSearch(logIndices)
+ .setTypes(statictypeArray)
+ .setQuery(QueryBuilders.matchAllQuery())
+ .setSize(0)
+ .addAggregation(AggregationBuilders.terms("IPs")
+ .field("IP")
+ .size(docCount))
+ .execute()
+ .actionGet();
+ Terms ips = sr.getAggregations().get("IPs");
+ List<String> ipList = new ArrayList<>();
+ for (Terms.Bucket entry : ips.getBuckets()) {
+ // filter
+ if (entry.getDocCount() > Integer.parseInt(props.getProperty(MudrodConstants.QUERY_MIN))) {
+ // out less active users/ips
+ ipList.add(entry.getKey().toString());
}
- for (String anIpList : ipList) {
- if (ipMap.containsKey(anIpList)) {
- bw.write(ipMap.get(anIpList) + ",");
- } else {
- bw.write("0,");
+ }
+ bw.write(String.join(",", ipList) + "\n");
+
+ // step 2: step the rest rows of csv
+ SearchRequestBuilder sr2Builder = es.getClient()
+ .prepareSearch(logIndices)
+ .setTypes(statictypeArray)
+ .setQuery(QueryBuilders.matchAllQuery())
+ .setSize(0)
+ .addAggregation(AggregationBuilders.terms("KeywordAgg")
+ .field("keywords")
+ .size(docCount)
+ .subAggregation(AggregationBuilders.terms("IPAgg")
+ .field("IP")
+ .size(docCount)));
+
+ SearchResponse sr2 = sr2Builder.execute().actionGet();
+ Terms keywords = sr2.getAggregations().get("KeywordAgg");
+
+ for (Terms.Bucket keyword : keywords.getBuckets()) {
+
+ Map<String, Integer> ipMap = new HashMap<>();
+ Terms ipAgg = keyword.getAggregations().get("IPAgg");
+
+ int distinctUser = ipAgg.getBuckets().size();
+ if (distinctUser >= Integer.parseInt(props.getProperty(MudrodConstants.QUERY_MIN))) {
+ bw.write(keyword.getKey() + ",");
+ for (Terms.Bucket IP : ipAgg.getBuckets()) {
+
+ ipMap.put(IP.getKey().toString(), 1);
}
+ for (String anIpList : ipList) {
+ if (ipMap.containsKey(anIpList)) {
+ bw.write(ipMap.get(anIpList) + ",");
+ } else {
+ bw.write("0,");
+ }
+ }
+ bw.write("\n");
}
- bw.write("\n");
}
}
-
- bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();