Start using abstract loader

This commit is contained in:
2015-06-11 22:49:45 +01:00
parent fbb1375ffa
commit 20a235781d

View File

@@ -1,34 +1,27 @@
package com.github.boukefalos.ibuddy; package com.github.boukefalos.ibuddy;
import java.io.IOException;
import java.util.Properties; import java.util.Properties;
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.Parameter; import org.picocontainer.Parameter;
import org.picocontainer.parameters.ConstantParameter; import org.picocontainer.parameters.ConstantParameter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import base.loader.AbstractLoader;
import base.work.Work; import base.work.Work;
import com.github.boukefalos.ibuddy.client.iBuddyTcpClient; import com.github.boukefalos.ibuddy.client.iBuddyTcpClient;
import com.github.boukefalos.ibuddy.implementation.LocalImplementation; import com.github.boukefalos.ibuddy.implementation.LocalImplementation;
import com.github.boukefalos.ibuddy.implementation.TcpImplementation; import com.github.boukefalos.ibuddy.implementation.TcpImplementation;
import com.github.boukefalos.ibuddy.implementation.UdpImplementation; import com.github.boukefalos.ibuddy.implementation.UdpImplementation;
import com.github.boukefalos.ibuddy.server.iBuddyServer;
import com.github.boukefalos.ibuddy.server.iBuddyTcpServer; import com.github.boukefalos.ibuddy.server.iBuddyTcpServer;
import com.github.boukefalos.ibuddy.server.iBuddyUdpServer; import com.github.boukefalos.ibuddy.server.iBuddyUdpServer;
import com.github.boukefalos.ibuddy.server.iBuddyServer;
public class Loader { public class Loader extends AbstractLoader {
protected static final String PROPERTIES_FILE = "ibuddy.properties"; protected static final String PROPERTIES_FILE = "ibuddy.properties";
protected Logger logger = LoggerFactory.getLogger(Loader.class);
protected MutablePicoContainer pico;
public Loader(Properties properties) { public Loader(Properties properties) {
/* Initialise container */ super();
pico = new DefaultPicoContainer();
/* Add implementation */ /* Add implementation */
switch (properties.getProperty("implementation")) { switch (properties.getProperty("implementation")) {
case "local": case "local":
@@ -73,19 +66,6 @@ public class Loader {
} }
} }
public static Loader getLoader() throws IOException {
return getLoader(PROPERTIES_FILE);
}
public static Loader getLoader(String propertiesFile) throws IOException {
/* Read properties file */
Properties properties = new Properties();
properties.load(Loader.class.getClassLoader().getResourceAsStream(propertiesFile));
/* Initialise loader */
return new Loader(properties);
}
public iBuddy getiBuddy() { public iBuddy getiBuddy() {
return pico.getComponent(iBuddy.class); return pico.getComponent(iBuddy.class);
} }