Commit cb20c8b9 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

temporary binding

parent 1239bc4e
......@@ -172,5 +172,10 @@
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.5.RELEASE</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -5,6 +5,8 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.reflect.ClassPath;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Key;
import com.google.inject.TypeLiteral;
import com.telephoners.krakyournet.ctf.beans.User;
import com.telephoners.krakyournet.ctf.commands.PurgeDatabaseCommand;
import com.telephoners.krakyournet.ctf.commands.RegisterTasksCommand;
......@@ -12,6 +14,7 @@ import com.telephoners.krakyournet.ctf.commands.RegisterTeamsCommand;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.logging.LoggingFilter;
import com.telephoners.krakyournet.ctf.modules.ApplicationModule;
import com.telephoners.krakyournet.ctf.repositories.Repository;
import com.telephoners.krakyournet.ctf.repositories.SofaRepository;
import io.dropwizard.Application;
import io.dropwizard.assets.AssetsBundle;
......@@ -83,6 +86,10 @@ public class CTFApplication extends Application<ApplicationConfiguration>
List<User> all = sofaRepository.getAll();
Repository<User> instance = injector.getInstance(Key.get(new TypeLiteral<Repository<User>>()
{
}));
registerAdmins(applicationConfiguration);
registerResources(environment);
registerAuthFeatures(environment);
......
......@@ -2,16 +2,15 @@ package com.telephoners.krakyournet.ctf.modules;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.TypeLiteral;
import com.telephoners.krakyournet.ctf.beans.User;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.repositories.Repository;
import org.ektorp.CouchDbConnector;
import org.ektorp.CouchDbInstance;
import org.ektorp.http.HttpClient;
import org.ektorp.http.StdHttpClient;
import org.ektorp.impl.StdCouchDbConnector;
import org.ektorp.impl.StdCouchDbInstance;
import org.ektorp.support.CouchDbDocument;
import java.net.MalformedURLException;
......@@ -29,12 +28,9 @@ public class ApplicationModule extends AbstractModule
protected void configure()
{
bind(ApplicationConfiguration.class).toInstance(applicationConfiguration);
}
@Provides
public Repository provideUserRepository(final CouchDbConnector connector)
{
return createRepository(User.class, connector);
//todo: temporary
bind(new TypeLiteral<Class<User>>(){}).toInstance(User.class);
}
@Provides
......@@ -66,8 +62,8 @@ public class ApplicationModule extends AbstractModule
.build();
}
private Repository createRepository(final Class<? extends CouchDbDocument> clazz, final CouchDbConnector connector)
{
return new Repository<>(clazz, connector);
}
// private Repository createRepository(final Class<? extends CouchDbDocument> clazz, final CouchDbConnector connector)
// {
// return new Repository<>(clazz, connector);
// }
}
package com.telephoners.krakyournet.ctf.repositories;
import com.google.inject.Inject;
import org.ektorp.CouchDbConnector;
import org.ektorp.support.CouchDbDocument;
import org.ektorp.support.CouchDbRepositorySupport;
import javax.inject.Singleton;
@Singleton
public class Repository<T extends CouchDbDocument> extends CouchDbRepositorySupport<T>
{
public Repository(final Class<T> type, final CouchDbConnector connector)
@Inject
protected Repository(final Class<T> type, final CouchDbConnector connector)
{
super(type, connector);
}
......
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