Commit dcfa536c authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

use mongodb deployed on vps

parent dd28388a
dbHost: localhost
dbHost: 46.4.242.141
dbPort: 27017
dbName: db
......
......@@ -27,20 +27,23 @@ import java.util.stream.Stream;
/**
* Created by gpietrus on 16.02.16.
*/
public class CTFApplication extends Application<ApplicationConfiguration> {
public class CTFApplication extends Application<ApplicationConfiguration>
{
private Datastore datastore;
private Injector injector;
@Override
public void initialize(final Bootstrap<ApplicationConfiguration> bootstrap) {
public void initialize(final Bootstrap<ApplicationConfiguration> bootstrap)
{
bootstrap.addBundle(new AssetsBundle("/assets", "/page", "index.html"));
Stream.of("org.webjars.npm", "org.webjars.bower")
.map(WebJarBundle::new)
.forEach(bootstrap::addBundle);
}
private void registerResources(Environment environment) {
private void registerResources(Environment environment)
{
JerseyEnvironment jersey = environment.jersey();
jersey.register(injector.getInstance(TeamsResource.class));
jersey.register(injector.getInstance(TasksResource.class));
......@@ -49,7 +52,8 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
jersey.register(injector.getInstance(TaskResource.class));
}
private void registerAuthFeatures(Environment environment) {
private void registerAuthFeatures(Environment environment)
{
environment.jersey().register(new AuthDynamicFeature(
new BasicCredentialAuthFilter.Builder<User>()
.setAuthenticator(injector.getInstance(ExampleAuthenticator.class))
......@@ -61,7 +65,8 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
}
@Override
public void run(ApplicationConfiguration applicationConfiguration, Environment environment) throws Exception {
public void run(ApplicationConfiguration applicationConfiguration, Environment environment) throws Exception
{
injector = createInjector(applicationConfiguration);
registerAdmins(applicationConfiguration);
......@@ -76,29 +81,36 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
}
//todo: remove
public class ExampleAuthorizer implements Authorizer<User> {
public class ExampleAuthorizer implements Authorizer<User>
{
@Override
public boolean authorize(User user, String role) {
public boolean authorize(User user, String role)
{
return user.getName().equals("good-guy") && role.equals("ADMIN");
}
}
private Injector createInjector(ApplicationConfiguration applicationConfiguration) {
return Guice.createInjector(new AbstractModule() {
private Injector createInjector(ApplicationConfiguration applicationConfiguration)
{
return Guice.createInjector(new AbstractModule()
{
@Override
protected void configure() {
protected void configure()
{
bind(ApplicationConfiguration.class).toInstance(applicationConfiguration); //todo: refactor
Morphia morphia = new Morphia();
morphia.mapPackage("objects.Team");
datastore = morphia.createDatastore(new MongoClient(), "db"); //todo: db name from conf
datastore = morphia.createDatastore(
new MongoClient(applicationConfiguration.getDbHost(),applicationConfiguration.getDbPort()), applicationConfiguration.getDbName());
datastore.ensureIndexes();
bind(Datastore.class).toInstance(datastore);
}
});
}
public static void main(String[] args) throws Exception {
public static void main(String[] args) throws Exception
{
new CTFApplication().run(args);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment