X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneInserter.java;h=15e054f957413db5725a818b893f1977b5a746df;hb=bb272e31ec32fb5f7d09ff08180ffafd41e91796;hp=311587774df30b2e24e73fdddc5b2642dd575811;hpb=ecf753a31601e558b681daab0598009fe9eec99a;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/core/SoneInserter.java b/src/main/java/net/pterodactylus/sone/core/SoneInserter.java
index 3115877..15e054f 100644
--- a/src/main/java/net/pterodactylus/sone/core/SoneInserter.java
+++ b/src/main/java/net/pterodactylus/sone/core/SoneInserter.java
@@ -36,6 +36,7 @@ import net.pterodactylus.sone.main.SonePlugin;
import net.pterodactylus.util.io.Closer;
import net.pterodactylus.util.logging.Logging;
import net.pterodactylus.util.service.AbstractService;
+import net.pterodactylus.util.template.HtmlFilter;
import net.pterodactylus.util.template.ReflectionAccessor;
import net.pterodactylus.util.template.Template;
import net.pterodactylus.util.template.TemplateContext;
@@ -65,6 +66,7 @@ public class SoneInserter extends AbstractService {
static {
templateContextFactory.addAccessor(Object.class, new ReflectionAccessor());
templateContextFactory.addFilter("xml", new XmlFilter());
+ templateContextFactory.addFilter("html", new HtmlFilter());
}
/** The UTF-8 charset. */
@@ -158,7 +160,7 @@ public class SoneInserter extends AbstractService {
protected void serviceRun() {
long lastModificationTime = 0;
String lastFingerprint = "";
- while (!shouldStop()) {
+ while (!shouldStop()) { try {
/* check every seconds. */
sleep(1000);
@@ -202,7 +204,7 @@ public class SoneInserter extends AbstractService {
core.setSoneStatus(sone, SoneStatus.inserting);
long insertTime = System.currentTimeMillis();
insertInformation.setTime(insertTime);
- FreenetURI finalUri = freenetInterface.insertDirectory(insertInformation.getInsertUri().setKeyType("USK").setSuggestedEdition(0), insertInformation.generateManifestEntries(), "index.html");
+ FreenetURI finalUri = freenetInterface.insertDirectory(insertInformation.getInsertUri(), insertInformation.generateManifestEntries(), "index.html");
/* at this point we might already be stopped. */
if (shouldStop()) {
/* if so, bail out, donât change anything. */
@@ -210,6 +212,7 @@ public class SoneInserter extends AbstractService {
}
sone.setTime(insertTime);
sone.setLatestEdition(finalUri.getEdition());
+ core.saveSone(sone);
success = true;
logger.log(Level.INFO, "Inserted Sone â%sâ at %s.", new Object[] { sone.getName(), finalUri });
} catch (SoneException se1) {
@@ -233,7 +236,9 @@ public class SoneInserter extends AbstractService {
}
}
}
- }
+ } catch (Throwable t1) {
+ logger.log(Level.SEVERE, "SoneInserter threw an Exception!", t1);
+ }}
}
/**
@@ -243,7 +248,7 @@ public class SoneInserter extends AbstractService {
*
* @author David âBombeâ Roden
*/
- private class InsertInformation {
+ private static class InsertInformation {
/** All properties of the Sone, copied for thread safety. */
private final Map soneProperties = new HashMap();