[tor-commits] [onionoo/master] Actually support --update-only and later --write-only.
karsten at torproject.org
karsten at torproject.org
Fri Jun 19 11:22:02 UTC 2015
commit e430fe2bc011bf37aa658b79b85045c3f03ed12f
Author: Karsten Loesing <karsten.loesing at gmx.net>
Date: Sun Apr 26 19:39:59 2015 +0200
Actually support --update-only and later --write-only.
---
.../java/org/torproject/onionoo/cron/Main.java | 4 ++++
.../org/torproject/onionoo/docs/DocumentStore.java | 21 +++++++++-----------
.../org/torproject/onionoo/server/NodeIndexer.java | 7 +++----
3 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/main/java/org/torproject/onionoo/cron/Main.java b/src/main/java/org/torproject/onionoo/cron/Main.java
index 2f45cea..6f39cb6 100644
--- a/src/main/java/org/torproject/onionoo/cron/Main.java
+++ b/src/main/java/org/torproject/onionoo/cron/Main.java
@@ -2,6 +2,7 @@
* See LICENSE for licensing information */
package org.torproject.onionoo.cron;
+import java.io.File;
import java.util.Calendar;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@@ -141,6 +142,8 @@ public class Main implements Runnable {
private DocumentStore ds;
+ private File outDir = new File("out");
+
private StatusUpdateRunner sur;
private DocumentWriterRunner dwr;
@@ -160,6 +163,7 @@ public class Main implements Runnable {
this.log.info("Initialized status update runner");
}
if (!this.downloadOnly && !this.updateOnly) {
+ this.ds.setOutDir(outDir);
this.dwr = new DocumentWriterRunner();
this.log.info("Initialized document writer runner");
}
diff --git a/src/main/java/org/torproject/onionoo/docs/DocumentStore.java b/src/main/java/org/torproject/onionoo/docs/DocumentStore.java
index 69646f1..3d2ae7a 100644
--- a/src/main/java/org/torproject/onionoo/docs/DocumentStore.java
+++ b/src/main/java/org/torproject/onionoo/docs/DocumentStore.java
@@ -10,7 +10,6 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -45,12 +44,8 @@ public class DocumentStore {
private final File statusDir = new File("status");
- private File outDir = new File("out");
- public void setOutDir(File outDir) throws FileNotFoundException {
- if (!outDir.exists() || !outDir.isDirectory()) {
- throw new FileNotFoundException("Cannot access directory "
- + outDir);
- }
+ private File outDir = null;
+ public void setOutDir(File outDir) {
this.outDir = outDir;
}
@@ -156,9 +151,8 @@ public class DocumentStore {
private void cacheSummaryDocuments() {
SortedMap<String, SummaryDocument> parsedSummaryDocuments =
new TreeMap<String, SummaryDocument>();
- File directory = this.outDir;
- if (directory != null) {
- File summaryFile = new File(directory, "summary");
+ if (this.outDir != null) {
+ File summaryFile = new File(this.outDir, "summary");
if (summaryFile.exists()) {
String line = null;
try {
@@ -757,6 +751,10 @@ public class DocumentStore {
}
private void writeSummaryDocuments() {
+ if (this.outDir == null) {
+ /* Can't write out/summary without knowing the path of out/. */
+ return;
+ }
StringBuilder sb = new StringBuilder();
Gson gson = new Gson();
for (SummaryDocument summaryDocument :
@@ -786,8 +784,7 @@ public class DocumentStore {
private void writeUpdateStatus() {
if (this.outDir == null) {
- log.error("Unable to write update status file without knowing the "
- + "'out' directory to write to!");
+ /* Can't write out/update without knowing the path of out/. */
return;
}
UpdateStatus updateStatus = new UpdateStatus();
diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
index 64cf3a9..5788d4e 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
+++ b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
@@ -35,14 +35,13 @@ public class NodeIndexer implements ServletContextListener, Runnable {
public void contextInitialized(ServletContextEvent contextEvent) {
ServletContext servletContext = contextEvent.getServletContext();
File outDir = new File(servletContext.getInitParameter("outDir"));
- DocumentStore documentStore = DocumentStoreFactory.getDocumentStore();
- try {
- documentStore.setOutDir(outDir);
- } catch(FileNotFoundException fnfe) {
+ if (!outDir.exists() || !outDir.isDirectory()) {
log.error("\n\n\tOut-dir not found! Expected directory: " + outDir
+ "\n\tVerify the configuration in ./etc/web.xml.template");
System.exit(1);
}
+ DocumentStore documentStore = DocumentStoreFactory.getDocumentStore();
+ documentStore.setOutDir(outDir);
/* The servlet container created us, and we need to avoid that
* ApplicationFactory creates another instance of us. */
NodeIndexerFactory.setNodeIndexer(this);
More information about the tor-commits
mailing list