X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fmain%2FMain.java;h=be543ebe2bfd17e65bb23c89411e5cfac68447ba;hb=e99f6d1dafdf8733125537e8ab36d0fedc325630;hp=383aa0c18472028470505f5badd9d1d93349a193;hpb=c785ca4d7b634f79e1f30202915633aa92e4152c;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/main/Main.java b/src/net/pterodactylus/jsite/main/Main.java index 383aa0c..be543eb 100644 --- a/src/net/pterodactylus/jsite/main/Main.java +++ b/src/net/pterodactylus/jsite/main/Main.java @@ -19,6 +19,15 @@ package net.pterodactylus.jsite.main; +import java.io.File; + +import net.pterodactylus.jsite.core.CoreImpl; +import net.pterodactylus.jsite.core.NodeManager; +import net.pterodactylus.jsite.core.ProjectManager; +import net.pterodactylus.jsite.core.RequestManager; +import net.pterodactylus.jsite.gui.SwingInterface; +import net.pterodactylus.util.logging.Logging; + /** * Main class that is called by the VM. * @@ -34,6 +43,37 @@ public class Main { * The command-line arguments */ public static void main(String[] args) { + new Main().start(); + } + + /** + * Starts the core and the default {@link SwingInterface}. + */ + private void start() { + Logging.setup("jSite"); + + CoreImpl core = new CoreImpl(); + + String configDirectory = System.getProperty("user.home") + File.separator + ".jSite"; + + ProjectManager projectManager = new ProjectManager(configDirectory); + core.setProjectManager(projectManager); + + NodeManager nodeManager = new NodeManager("jSite-" + Version.getVersion(), configDirectory); + core.setNodeManager(nodeManager); + nodeManager.addNodeListener(core); + + RequestManager requestManager = new RequestManager(); + core.setRequestManager(requestManager); + nodeManager.addNodeListener(requestManager); + requestManager.setNodeManager(nodeManager); + requestManager.addRequestListener(core); + + SwingInterface swingInterface = new SwingInterface(core, configDirectory); + core.addCoreListener(swingInterface); + Logging.addLoggingListener(swingInterface); + + core.start(); } }