public void onStart(Application app) { Logger.info("Application started"); String uploadPath = Configuration.getUploadPath(); File file = new File(uploadPath); if (!file.exists()) { try { if (!file.mkdir()) { System.out.println(file.getAbsolutePath()); } ; } catch (Exception e) { e.printStackTrace(); System.out.println( "Error while creating directory for server files, please check 'uploadPath' value in application.conf file"); System.exit(-1); } } else { if (!file.canRead() || !file.canWrite()) { System.out.println( "Error: Server have no read and write access to " + uploadPath + ", please check 'uploadPath' value in application.conf file"); System.exit(-1); } } // Checking existence of main directory String usersFilesDir = Configuration.getUploadPath(); File applicationDir = new File(usersFilesDir + "/users/"); if (!applicationDir.exists()) { Boolean createAppDir = applicationDir.mkdir(); if (!createAppDir) { Logger.warn("Error while creating users directory"); System.exit(-1); } else { Logger.info("Users directory created"); } } if (Configuration.isApplyNewLimits()) { for (Account account : Account.findAll()) { account.setNewLimits(); } } if (Configuration.isCreateDefaultUsers()) { UserService userService = new UserService(app); try { Integer nDefault = Configuration.getnDefaultUsers(); String nameDefault = Configuration.getNameDefaultUser(); for (int i = 1; i <= nDefault; i++) { String username = nameDefault + Integer.toString(i); String email = username + "@vdjviz.com"; LocalUser localUser = LocalUser.find.byId(email); if (localUser == null) { Option<PasswordHasher> bcrypt = Registry.hashers().get("bcrypt"); SocialUser socialUser = new SocialUser( new IdentityId(email, "userpass"), username, username, String.format("%s %s", username, username), Option.apply(email), null, AuthenticationMethod.UserPassword(), null, null, Some.apply( new PasswordInfo( "bcrypt", BCrypt.hashpw(username, BCrypt.gensalt()), null))); userService.doSave(socialUser); } } } catch (RuntimeException e) { Logger.error("Error while creating default users"); e.printStackTrace(); } } // Deleting empty files for (Account account : Account.findAll()) { for (UserFile userFile : account.getUserfiles()) { File fileDir = new File(userFile.getDirectoryPath()); if (!fileDir.exists() || !userFile.checkExist()) { UserFile.deleteFile(userFile); Logger.of("user." + account.getUserName()) .warn( "Deleted empty file " + userFile.getFileName() + " for user : "******"user." + account.getUserName()) .info("File " + userFile.getFileName() + " was deleted"); } } } } } }, Akka.system().dispatcher()); } }