From 8a5d537d94bd9e8c93414db7cdd2eee1954c0ecf Mon Sep 17 00:00:00 2001 From: skogaby Date: Fri, 12 Apr 2019 19:52:39 -0500 Subject: [PATCH] Move the database file location to the commandline so that the config files inside the JAR shouldn't matter to end-users --- .../spring/configuration/HibernateConfiguration.java | 6 ++---- butterflydao/src/main/resources/hibernate.properties | 3 +-- butterflyserver/build.gradle | 8 ++++++++ .../butterflyserver/http/ButterflyHttpServer.java | 5 +++-- .../http/handlers/BaseRequestHandler.java | 12 ------------ .../butterflyserver/util/PropertyNames.java | 1 - .../src/main/resources/butterflyserver.properties | 1 - 7 files changed, 14 insertions(+), 22 deletions(-) diff --git a/butterflydao/src/main/java/com/buttongames/butterflydao/spring/configuration/HibernateConfiguration.java b/butterflydao/src/main/java/com/buttongames/butterflydao/spring/configuration/HibernateConfiguration.java index a6cae08..415e57c 100644 --- a/butterflydao/src/main/java/com/buttongames/butterflydao/spring/configuration/HibernateConfiguration.java +++ b/butterflydao/src/main/java/com/buttongames/butterflydao/spring/configuration/HibernateConfiguration.java @@ -54,9 +54,6 @@ public class HibernateConfiguration { @Value("${hibernate.show_sql}") private String showSql; - @Value("${hibernate.db_path}") - private String databasePath; - @Bean public LocalSessionFactoryBean sessionFactory(final DriverManagerDataSource dataSource) { final Properties hibernateProperties = new Properties(); @@ -81,7 +78,8 @@ public class HibernateConfiguration { // locate the database in the user directory, and replace backslashes with forward slashes so it works on // Windows correctly, per sqlite-jdbc's spec - source.setUrl("jdbc:sqlite:" + this.databasePath.replace('\\', '/')); + final String dbPath = System.getProperty("db_path"); + source.setUrl("jdbc:sqlite:" + dbPath.replace('\\', '/')); return source; } diff --git a/butterflydao/src/main/resources/hibernate.properties b/butterflydao/src/main/resources/hibernate.properties index 2d0c75b..cd90b81 100644 --- a/butterflydao/src/main/resources/hibernate.properties +++ b/butterflydao/src/main/resources/hibernate.properties @@ -4,5 +4,4 @@ jdbc.password = hibernate.hbm2ddl.auto = update hibernate.dialect = com.buttongames.butterflydao.hibernate.SQLiteDialect -hibernate.show_sql = false -hibernate.db_path = /home/ec2-user/butterfly.sqlite \ No newline at end of file +hibernate.show_sql = false \ No newline at end of file diff --git a/butterflyserver/build.gradle b/butterflyserver/build.gradle index 91f6cfb..f69d83c 100644 --- a/butterflyserver/build.gradle +++ b/butterflyserver/build.gradle @@ -56,3 +56,11 @@ buildscript { classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1' } } + +run { + if (project.hasProperty("appArgs")) { + args Eval.me(appArgs) + } + + systemProperties System.getProperties() +} diff --git a/butterflyserver/src/main/java/com/buttongames/butterflyserver/http/ButterflyHttpServer.java b/butterflyserver/src/main/java/com/buttongames/butterflyserver/http/ButterflyHttpServer.java index 16e17ca..741ad15 100644 --- a/butterflyserver/src/main/java/com/buttongames/butterflyserver/http/ButterflyHttpServer.java +++ b/butterflyserver/src/main/java/com/buttongames/butterflyserver/http/ButterflyHttpServer.java @@ -324,12 +324,13 @@ public class ButterflyHttpServer { Machine machine = this.machineDao.findByPcbId(requestBodyPcbId); if (machine == null) { - // create a machine and ban them, unban manually if you want to + // create a machine and leave them enabled, ban them later if you want or change this + // to ban-by-default final LocalDateTime now = LocalDateTime.now(); final ButterflyUser newUser = new ButterflyUser("0000", now, now, 10000); userDao.create(newUser); - machine = new Machine(newUser, requestBodyPcbId, LocalDateTime.now(), false, 0); + machine = new Machine(newUser, requestBodyPcbId, LocalDateTime.now(), true, 0); machineDao.create(machine); throw new InvalidPcbIdException(); diff --git a/butterflyserver/src/main/java/com/buttongames/butterflyserver/http/handlers/BaseRequestHandler.java b/butterflyserver/src/main/java/com/buttongames/butterflyserver/http/handlers/BaseRequestHandler.java index 79b0f6f..5c975f2 100644 --- a/butterflyserver/src/main/java/com/buttongames/butterflyserver/http/handlers/BaseRequestHandler.java +++ b/butterflyserver/src/main/java/com/buttongames/butterflyserver/http/handlers/BaseRequestHandler.java @@ -86,18 +86,6 @@ public abstract class BaseRequestHandler { respBytes = PublicKt.kbinEncode(new String(respBytes)); } - // compress if needed - /*final String compressionScheme = request.headers(COMPRESSION_HEADER); - - if (!StringUtils.isBlank(compressionScheme) && - compressionScheme.equals(LZ77_COMPRESSION)) { - respBytes = Lz77.compress(respBytes); - response.header(COMPRESSION_HEADER, LZ77_COMPRESSION); - } else { - response.header(COMPRESSION_HEADER, "none"); - }*/ - - // TODO: For some reason this is breaking on very large responses (i.e. events). Fix later, leave uncompressed for now. response.header(COMPRESSION_HEADER, "none"); // encrypt if needed diff --git a/butterflyserver/src/main/java/com/buttongames/butterflyserver/util/PropertyNames.java b/butterflyserver/src/main/java/com/buttongames/butterflyserver/util/PropertyNames.java index b0a9dc5..cf45d7e 100644 --- a/butterflyserver/src/main/java/com/buttongames/butterflyserver/util/PropertyNames.java +++ b/butterflyserver/src/main/java/com/buttongames/butterflyserver/util/PropertyNames.java @@ -8,5 +8,4 @@ public class PropertyNames { public static final String PORT = "${server.port}"; public static final String MAINT_MODE = "${server.maintenance}"; - public static final String HOME_DIR = "${server.home_dir}"; } diff --git a/butterflyserver/src/main/resources/butterflyserver.properties b/butterflyserver/src/main/resources/butterflyserver.properties index 596b237..3936d3b 100644 --- a/butterflyserver/src/main/resources/butterflyserver.properties +++ b/butterflyserver/src/main/resources/butterflyserver.properties @@ -1,4 +1,3 @@ # Server properties server.port = 80 server.maintenance = false -server.home_dir = /home/ec2-user/ \ No newline at end of file