From ff0704341bf464cf0d15125962b082e71a038ab7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 9 Jun 2011 10:37:14 +0200 Subject: [PATCH] Use provider interfaces instead of core. This will allow creating a test case without creating a core. --- .../pterodactylus/sone/text/SoneTextParser.java | 25 ++++++++++++++-------- .../net/pterodactylus/sone/web/WebInterface.java | 2 +- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java b/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java index 98bb800..2787d52 100644 --- a/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java +++ b/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java @@ -26,7 +26,8 @@ import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import net.pterodactylus.sone.core.Core; +import net.pterodactylus.sone.core.PostProvider; +import net.pterodactylus.sone.core.SoneProvider; import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.util.logging.Logging; @@ -78,17 +79,23 @@ public class SoneTextParser implements Parser { } - /** The core. */ - private final Core core; + /** The Sone provider. */ + private final SoneProvider soneProvider; + + /** The post provider. */ + private final PostProvider postProvider; /** * Creates a new freenet link parser. * - * @param core - * The core + * @param soneProvider + * The Sone provider + * @param postProvider + * The post provider */ - public SoneTextParser(Core core) { - this.core = core; + public SoneTextParser(SoneProvider soneProvider, PostProvider postProvider) { + this.soneProvider = soneProvider; + this.postProvider = postProvider; } // @@ -174,7 +181,7 @@ public class SoneTextParser implements Parser { } if (line.length() >= (next + 7 + 43)) { String soneId = line.substring(next + 7, next + 50); - Sone sone = core.getSone(soneId, false); + Sone sone = soneProvider.getSone(soneId, false); if (sone != null) { parts.add(new SonePart(sone)); } else { @@ -193,7 +200,7 @@ public class SoneTextParser implements Parser { } if (line.length() >= (next + 7 + 36)) { String postId = line.substring(next + 7, next + 43); - Post post = core.getPost(postId, false); + Post post = postProvider.getPost(postId, false); if ((post != null) && (post.getSone() != null)) { String postText = post.getText(); postText = postText.substring(0, Math.min(postText.length(), 20)) + "…"; diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index 8eb0122..d0034dd 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -196,7 +196,7 @@ public class WebInterface implements CoreListener { public WebInterface(SonePlugin sonePlugin) { this.sonePlugin = sonePlugin; formPassword = sonePlugin.pluginRespirator().getToadletContainer().getFormPassword(); - soneTextParser = new SoneTextParser(getCore()); + soneTextParser = new SoneTextParser(getCore(), getCore()); templateContextFactory = new TemplateContextFactory(); templateContextFactory.addAccessor(Object.class, new ReflectionAccessor()); -- 2.7.4