public void initialize() { System.out.println("Initializing database tables!"); executeUpdate("CREATE TABLE IF NOT EXISTS POSTS (ID INTEGER NOT NULL, TITLE VARCHAR(255), CONTENT VARCHAR UNIQUE, POSTED INTEGER, MODIFIED INTEGER, PRIMARY KEY (ID));"); executeUpdate("CREATE TABLE IF NOT EXISTS USERS (ID INTEGER NOT NULL, USERNAME VARCHAR(255), PASSWORD BLOB, SALT BLOB, ROLE VARCHAR (255), PRIMARY KEY (ID));"); ResultSet rs = query("SELECT ID FROM USERS;"); try { if(!rs.next()){ PasswordEncryptionService security = new PasswordEncryptionService(); String username = "administrator"; String plainpass = RandomStringUtils.randomAlphanumeric(15); byte[] salt = security.generateSalt(); byte[] password = security.getEncryptedPassword(plainpass, salt); executeUpdate("INSERT INTO USERS (USERNAME, PASSWORD, SALT, ROLE) VALUES (?, ?, ?, ?)", username, password, salt, "SERVERADMIN"); System.out.printf("Created admin with Username `%s` and password `%s`\r\n", username, plainpass); } } catch (Exception e) { e.printStackTrace(); } }