// Copyright © 2015 HSL <https://www.hsl.fi>
// This program is dual-licensed under the EUPL v1.2 and AGPLv3 licenses.
package fi.hsl.parkandride;
import static java.lang.String.format;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.sql.Connection;
import java.sql.SQLException;
import javax.inject.Inject;
import javax.sql.DataSource;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.Profile;
import com.querydsl.sql.Configuration;
import com.querydsl.sql.codegen.DefaultNamingStrategy;
import com.querydsl.sql.codegen.MetaDataExporter;
import fi.hsl.parkandride.config.CoreConfiguration;
import fi.hsl.parkandride.config.JdbcConfiguration;
import fi.hsl.parkandride.core.service.AuthenticationService;
@org.springframework.context.annotation.Configuration
@EnableAutoConfiguration
@Import(CoreConfiguration.class)
@Profile("pwgen")
public class PWGen {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(PWGen.class);
application.setWebEnvironment(false);
application.setAdditionalProfiles("pwgen");
application.run(args);
}
@Inject
AuthenticationService authenticationService;
@Bean
public CommandLineRunner runner() {
return (String... args) -> {
if (args.length != 0) {
String pwd = args[0];
System.out.println(format("Password: %s -> %s", pwd, authenticationService.encryptPassword(pwd)));
} else {
throw new RuntimeException("Expected one argument: password to be encrypted.");
}
};
}
}