From 8001109c6943f8a7a82a81322dd056c74d2b063f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Thu, 22 Oct 2015 13:32:47 +0200 Subject: [PATCH] refactor: move two dbObjects-inner classes to their own types. --- src/org/cacert/gigi/dbObjects/Domain.java | 45 +------------------ .../dbObjects/DomainPingConfiguration.java | 10 ++--- .../gigi/dbObjects/DomainPingExecution.java | 45 +++++++++++++++++++ .../cacert/gigi/dbObjects/DomainPingType.java | 5 +++ .../account/domain/DomainPinglogForm.java | 2 +- .../pages/account/domain/PingConfigForm.java | 12 ++--- src/org/cacert/gigi/ping/PingerDaemon.java | 14 +++--- tests/org/cacert/gigi/ping/TestHTTP.java | 4 +- 8 files changed, 70 insertions(+), 67 deletions(-) create mode 100644 src/org/cacert/gigi/dbObjects/DomainPingExecution.java create mode 100644 src/org/cacert/gigi/dbObjects/DomainPingType.java diff --git a/src/org/cacert/gigi/dbObjects/Domain.java b/src/org/cacert/gigi/dbObjects/Domain.java index c0787b6c..c165c4ab 100644 --- a/src/org/cacert/gigi/dbObjects/Domain.java +++ b/src/org/cacert/gigi/dbObjects/Domain.java @@ -15,53 +15,10 @@ import org.cacert.gigi.GigiApiException; import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; -import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType; import org.cacert.gigi.util.PublicSuffixes; public class Domain implements IdCachable, Verifyable { - public class DomainPingExecution { - - private String state; - - private String type; - - private String info; - - private String result; - - private DomainPingConfiguration config; - - public DomainPingExecution(GigiResultSet rs) { - state = rs.getString(1); - type = rs.getString(2); - info = rs.getString(3); - result = rs.getString(4); - config = DomainPingConfiguration.getById(rs.getInt(5)); - } - - public String getState() { - return state; - } - - public String getType() { - return type; - } - - public String getInfo() { - return info; - } - - public String getResult() { - return result; - } - - public DomainPingConfiguration getConfig() { - return config; - } - - } - private User owner; private String suffix; @@ -225,7 +182,7 @@ public class Domain implements IdCachable, Verifyable { return Collections.unmodifiableList(configs); } - public void addPing(PingType type, String config) throws GigiApiException { + public void addPing(DomainPingType type, String config) throws GigiApiException { GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO `pingconfig` SET `domainid`=?, `type`=?::`pingType`, `info`=?"); ps.setInt(1, id); ps.setString(2, type.toString().toLowerCase()); diff --git a/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java b/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java index 4c4931f5..145473fd 100644 --- a/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java +++ b/src/org/cacert/gigi/dbObjects/DomainPingConfiguration.java @@ -15,15 +15,11 @@ import org.cacert.gigi.output.template.SprintfCommand; public class DomainPingConfiguration implements IdCachable { - public static enum PingType { - EMAIL, DNS, HTTP, SSL; - } - private int id; private Domain target; - private PingType type; + private DomainPingType type; private String info; @@ -37,7 +33,7 @@ public class DomainPingConfiguration implements IdCachable { } this.id = rs.getInt("id"); target = Domain.getById(rs.getInt("domainid")); - type = PingType.valueOf(rs.getString("type").toUpperCase()); + type = DomainPingType.valueOf(rs.getString("type").toUpperCase()); info = rs.getString("info"); } @@ -50,7 +46,7 @@ public class DomainPingConfiguration implements IdCachable { return target; } - public PingType getType() { + public DomainPingType getType() { return type; } diff --git a/src/org/cacert/gigi/dbObjects/DomainPingExecution.java b/src/org/cacert/gigi/dbObjects/DomainPingExecution.java new file mode 100644 index 00000000..9a59c103 --- /dev/null +++ b/src/org/cacert/gigi/dbObjects/DomainPingExecution.java @@ -0,0 +1,45 @@ +package org.cacert.gigi.dbObjects; + +import org.cacert.gigi.database.GigiResultSet; + +public class DomainPingExecution { + + private String state; + + private String type; + + private String info; + + private String result; + + private DomainPingConfiguration config; + + public DomainPingExecution(GigiResultSet rs) { + state = rs.getString(1); + type = rs.getString(2); + info = rs.getString(3); + result = rs.getString(4); + config = DomainPingConfiguration.getById(rs.getInt(5)); + } + + public String getState() { + return state; + } + + public String getType() { + return type; + } + + public String getInfo() { + return info; + } + + public String getResult() { + return result; + } + + public DomainPingConfiguration getConfig() { + return config; + } + +} diff --git a/src/org/cacert/gigi/dbObjects/DomainPingType.java b/src/org/cacert/gigi/dbObjects/DomainPingType.java new file mode 100644 index 00000000..8c3a0722 --- /dev/null +++ b/src/org/cacert/gigi/dbObjects/DomainPingType.java @@ -0,0 +1,5 @@ +package org.cacert.gigi.dbObjects; + +public enum DomainPingType { + EMAIL, DNS, HTTP, SSL; +} \ No newline at end of file diff --git a/src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java b/src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java index 53f8cbd4..556051b4 100644 --- a/src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java +++ b/src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java @@ -7,8 +7,8 @@ import javax.servlet.http.HttpServletRequest; import org.cacert.gigi.GigiApiException; import org.cacert.gigi.dbObjects.Domain; -import org.cacert.gigi.dbObjects.Domain.DomainPingExecution; import org.cacert.gigi.dbObjects.DomainPingConfiguration; +import org.cacert.gigi.dbObjects.DomainPingExecution; import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Form; diff --git a/src/org/cacert/gigi/pages/account/domain/PingConfigForm.java b/src/org/cacert/gigi/pages/account/domain/PingConfigForm.java index 5b5da852..e18b7fb9 100644 --- a/src/org/cacert/gigi/pages/account/domain/PingConfigForm.java +++ b/src/org/cacert/gigi/pages/account/domain/PingConfigForm.java @@ -11,7 +11,7 @@ import org.cacert.gigi.Gigi; import org.cacert.gigi.GigiApiException; import org.cacert.gigi.dbObjects.Domain; import org.cacert.gigi.dbObjects.DomainPingConfiguration; -import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType; +import org.cacert.gigi.dbObjects.DomainPingType; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Form; import org.cacert.gigi.output.template.IterableDataset; @@ -108,13 +108,13 @@ public class PingConfigForm extends Form { public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException { if (req.getParameter("emailType") != null) { String mail = AUTHORATIVE_EMAILS[Integer.parseInt(req.getParameter("email"))]; - target.addPing(PingType.EMAIL, mail); + target.addPing(DomainPingType.EMAIL, mail); } if (req.getParameter("DNSType") != null) { - target.addPing(PingType.DNS, tokenName + ":" + tokenValue); + target.addPing(DomainPingType.DNS, tokenName + ":" + tokenValue); } if (req.getParameter("HTTPType") != null) { - target.addPing(PingType.HTTP, tokenName + ":" + tokenValue); + target.addPing(DomainPingType.HTTP, tokenName + ":" + tokenValue); } if (req.getParameter("SSLType") != null) { List types = Arrays.asList(SSLPinger.TYPES); @@ -126,9 +126,9 @@ public class PingConfigForm extends Form { } int portInt = Integer.parseInt(port); if ("direct".equals(type)) { - target.addPing(PingType.SSL, port); + target.addPing(DomainPingType.SSL, port); } else if (types.contains(type)) { - target.addPing(PingType.SSL, portInt + ":" + type); + target.addPing(DomainPingType.SSL, portInt + ":" + type); } } diff --git a/src/org/cacert/gigi/ping/PingerDaemon.java b/src/org/cacert/gigi/ping/PingerDaemon.java index bc86d80c..b76035f2 100644 --- a/src/org/cacert/gigi/ping/PingerDaemon.java +++ b/src/org/cacert/gigi/ping/PingerDaemon.java @@ -10,12 +10,12 @@ import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; import org.cacert.gigi.dbObjects.Domain; import org.cacert.gigi.dbObjects.DomainPingConfiguration; -import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType; +import org.cacert.gigi.dbObjects.DomainPingType; import org.cacert.gigi.util.RandomToken; public class PingerDaemon extends Thread { - HashMap pingers = new HashMap<>(); + HashMap pingers = new HashMap<>(); private GigiPreparedStatement searchNeededPings; @@ -30,10 +30,10 @@ public class PingerDaemon extends Thread { @Override public void run() { searchNeededPings = DatabaseConnection.getInstance().prepare("SELECT `pingconfig`.`id` FROM `pingconfig` LEFT JOIN `domainPinglog` ON `domainPinglog`.`configId` = `pingconfig`.`id` INNER JOIN `domains` ON `domains`.`id` = `pingconfig`.`domainid` WHERE ( `domainPinglog`.`configId` IS NULL) AND `domains`.`deleted` IS NULL GROUP BY `pingconfig`.`id`"); - pingers.put(PingType.EMAIL, new EmailPinger()); - pingers.put(PingType.SSL, new SSLPinger(truststore)); - pingers.put(PingType.HTTP, new HTTPFetch()); - pingers.put(PingType.DNS, new DNSPinger()); + pingers.put(DomainPingType.EMAIL, new EmailPinger()); + pingers.put(DomainPingType.SSL, new SSLPinger(truststore)); + pingers.put(DomainPingType.HTTP, new HTTPFetch()); + pingers.put(DomainPingType.DNS, new DNSPinger()); while (true) { try { @@ -66,7 +66,7 @@ public class PingerDaemon extends Thread { } private void handle(DomainPingConfiguration conf) { - PingType type = conf.getType(); + DomainPingType type = conf.getType(); String config = conf.getInfo(); DomainPinger dp = pingers.get(type); if (dp != null) { diff --git a/tests/org/cacert/gigi/ping/TestHTTP.java b/tests/org/cacert/gigi/ping/TestHTTP.java index 624faeff..da9892b4 100644 --- a/tests/org/cacert/gigi/ping/TestHTTP.java +++ b/tests/org/cacert/gigi/ping/TestHTTP.java @@ -17,7 +17,7 @@ import javax.naming.NamingException; import org.cacert.gigi.GigiApiException; import org.cacert.gigi.dbObjects.Domain; import org.cacert.gigi.dbObjects.DomainPingConfiguration; -import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType; +import org.cacert.gigi.dbObjects.DomainPingType; import org.cacert.gigi.pages.account.domain.DomainOverview; import org.cacert.gigi.testUtils.IOUtils; import org.cacert.gigi.testUtils.PingTest; @@ -88,7 +88,7 @@ public class TestHTTP extends PingTest { Domain d = Domain.getById(id); DomainPingConfiguration dpc = null; for (DomainPingConfiguration conf : d.getConfiguredPings()) { - if (conf.getType() == PingType.HTTP) { + if (conf.getType() == DomainPingType.HTTP) { dpc = conf; break; } -- 2.39.2