diff --git a/pom.xml b/pom.xml index 9822425..1e5e435 100644 --- a/pom.xml +++ b/pom.xml @@ -59,6 +59,11 @@ lombok 1.16.16 + + commons-io + commons-io + 2.6 + diff --git a/src/main/java/mc/core/Config.java b/src/main/java/mc/core/Config.java new file mode 100644 index 0000000..a772dd1 --- /dev/null +++ b/src/main/java/mc/core/Config.java @@ -0,0 +1,11 @@ +/* + * DmitriyMX + * 2018-04-08 + */ +package mc.core; + +public interface Config { + int getMaxPlayers(); + String getDescriptionServer(); + String getFaviconBase64(); +} diff --git a/src/main/java/mc/core/Main.java b/src/main/java/mc/core/Main.java index 19d18dc..6d4275f 100644 --- a/src/main/java/mc/core/Main.java +++ b/src/main/java/mc/core/Main.java @@ -4,11 +4,18 @@ */ package mc.core; +import lombok.extern.slf4j.Slf4j; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; +@Slf4j public class Main { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); + Config config = context.getBean("config", Config.class); + + log.info("Description: {}", config.getDescriptionServer()); + log.info("Max online: {}", config.getMaxPlayers()); + log.info("Favicon (base64): {}", config.getFaviconBase64()); } } diff --git a/src/main/java/mc/core/embedded/ConfigFromSpring.java b/src/main/java/mc/core/embedded/ConfigFromSpring.java new file mode 100644 index 0000000..5c4841e --- /dev/null +++ b/src/main/java/mc/core/embedded/ConfigFromSpring.java @@ -0,0 +1,37 @@ +/* + * DmitriyMX + * 2018-04-08 + */ +package mc.core.embedded; + +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +import mc.core.Config; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.io.IOException; +import java.util.Base64; + +@Slf4j +@Getter +public class ConfigFromSpring implements Config { + private String descriptionServer; + private String faviconBase64; + private int maxPlayers; + + public ConfigFromSpring(String descriptionServer, int maxPlayers, File faviconImageFile) { + this.descriptionServer = descriptionServer; + this.maxPlayers = maxPlayers; + try { + faviconBase64 = new String( + Base64.getEncoder().encode( + FileUtils.readFileToByteArray(faviconImageFile) + ) + ); + } catch (IOException e) { + log.warn("Con't load favicon", e); + faviconBase64 = null; + } + } +} diff --git a/src/main/resources/icon.png b/src/main/resources/icon.png new file mode 100644 index 0000000..d512fc5 Binary files /dev/null and b/src/main/resources/icon.png differ diff --git a/src/main/resources/spring.xml b/src/main/resources/spring.xml index 60dc04d..d71d9fa 100644 --- a/src/main/resources/spring.xml +++ b/src/main/resources/spring.xml @@ -2,4 +2,9 @@ + + + + + \ No newline at end of file