Commit 2e7589af authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

cleanup

parent c51c80c1
...@@ -5,6 +5,9 @@ import com.google.common.collect.ImmutableSet; ...@@ -5,6 +5,9 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.reflect.ClassPath; import com.google.common.reflect.ClassPath;
import com.google.inject.Guice; import com.google.inject.Guice;
import com.google.inject.Injector; import com.google.inject.Injector;
import com.google.inject.Key;
import com.google.inject.TypeLiteral;
import com.telephoners.krakyournet.ctf.beans.Team;
import com.telephoners.krakyournet.ctf.beans.User; import com.telephoners.krakyournet.ctf.beans.User;
import com.telephoners.krakyournet.ctf.commands.PurgeDatabaseCommand; import com.telephoners.krakyournet.ctf.commands.PurgeDatabaseCommand;
import com.telephoners.krakyournet.ctf.commands.RegisterTasksCommand; import com.telephoners.krakyournet.ctf.commands.RegisterTasksCommand;
...@@ -12,6 +15,7 @@ import com.telephoners.krakyournet.ctf.commands.RegisterTeamsCommand; ...@@ -12,6 +15,7 @@ import com.telephoners.krakyournet.ctf.commands.RegisterTeamsCommand;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration; import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.logging.LoggingFilter; import com.telephoners.krakyournet.ctf.logging.LoggingFilter;
import com.telephoners.krakyournet.ctf.modules.ApplicationModule; import com.telephoners.krakyournet.ctf.modules.ApplicationModule;
import com.telephoners.krakyournet.ctf.repositories.Repository;
import io.dropwizard.Application; import io.dropwizard.Application;
import io.dropwizard.assets.AssetsBundle; import io.dropwizard.assets.AssetsBundle;
import io.dropwizard.auth.AuthValueFactoryProvider; import io.dropwizard.auth.AuthValueFactoryProvider;
...@@ -22,6 +26,7 @@ import org.ektorp.CouchDbConnector; ...@@ -22,6 +26,7 @@ import org.ektorp.CouchDbConnector;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature; import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import java.util.stream.Stream; import java.util.stream.Stream;
public class CTFApplication extends Application<ApplicationConfiguration> public class CTFApplication extends Application<ApplicationConfiguration>
...@@ -70,6 +75,20 @@ public class CTFApplication extends Application<ApplicationConfiguration> ...@@ -70,6 +75,20 @@ public class CTFApplication extends Application<ApplicationConfiguration>
CouchDbConnector connector = injector.getInstance(CouchDbConnector.class); CouchDbConnector connector = injector.getInstance(CouchDbConnector.class);
Team team = new Team();
team.setName("asdf");
team.setDescription("sadf");
User user = new User("asdf", "asdf", "asdffg", false);
Repository<Team> teamRepository = injector.getInstance(Key.get(new TypeLiteral<Repository<Team>>(){}));
Repository<User> userRepository = injector.getInstance(Key.get(new TypeLiteral<Repository<User>>(){}));
teamRepository.add(team);
List<Team> all1 = teamRepository.getAll();
userRepository.add(user);
List<User> all = userRepository.getAll();
registerAdmins(applicationConfiguration); registerAdmins(applicationConfiguration);
registerResources(environment); registerResources(environment);
registerAuthFeatures(environment); registerAuthFeatures(environment);
......
package com.telephoners.krakyournet.ctf.beans; package com.telephoners.krakyournet.ctf.beans;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.ektorp.support.CouchDbDocument; import org.ektorp.support.CouchDbDocument;
import java.util.List;
public class Team extends CouchDbDocument public class Team extends CouchDbDocument
{ {
private String name; private String name;
private String description; private String description;
private List<User> members; public String getName()
{
@JsonCreator
public Team(@JsonProperty("name") String name,
@JsonProperty("description") String description,
@JsonProperty("members") List<User> members) {
this.name = name;
this.description = description;
this.members = members;
}
public Team() {
}
public String getName() {
return name; return name;
} }
public void setName(String name) { public void setName(String name)
{
this.name = name; this.name = name;
} }
public String getDescription() { public String getDescription()
{
return description; return description;
} }
public void setDescription(String description) { public void setDescription(String description)
{
this.description = description; this.description = description;
} }
public List<User> getMembers() {
return members;
}
} }
package com.telephoners.krakyournet.ctf.beans; package com.telephoners.krakyournet.ctf.beans;
import org.ektorp.docref.DocumentReferences;
import org.ektorp.support.CouchDbDocument; import org.ektorp.support.CouchDbDocument;
import java.security.Principal; import java.security.Principal;
...@@ -14,16 +13,16 @@ public class User extends CouchDbDocument implements Principal ...@@ -14,16 +13,16 @@ public class User extends CouchDbDocument implements Principal
private String email; private String email;
private boolean admin = false; private boolean admin = false;
@DocumentReferences //todo: make sure it works // @DocumentReferences //todo: make sure it works
private Team team; // private Team team;
public User(String name, String password, String email, boolean admin, Team team) public User(String name, String password, String email, boolean admin/*Team team*/)
{ {
this.name = name; this.name = name;
this.password = password; this.password = password;
this.email = email; this.email = email;
this.admin = admin; this.admin = admin;
this.team = team; // this.team = team;
} }
@Override @Override
...@@ -67,13 +66,13 @@ public class User extends CouchDbDocument implements Principal ...@@ -67,13 +66,13 @@ public class User extends CouchDbDocument implements Principal
this.admin = admin; this.admin = admin;
} }
public Team getTeam() // public Team getTeam()
{ // {
return team; // return team;
} // }
//
public void setTeam(Team team) // public void setTeam(Team team)
{ // {
this.team = team; // this.team = team;
} // }
} }
...@@ -3,6 +3,7 @@ package com.telephoners.krakyournet.ctf.modules; ...@@ -3,6 +3,7 @@ package com.telephoners.krakyournet.ctf.modules;
import com.google.inject.AbstractModule; import com.google.inject.AbstractModule;
import com.google.inject.Provides; import com.google.inject.Provides;
import com.google.inject.TypeLiteral; import com.google.inject.TypeLiteral;
import com.telephoners.krakyournet.ctf.beans.Team;
import com.telephoners.krakyournet.ctf.beans.User; import com.telephoners.krakyournet.ctf.beans.User;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration; import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import org.ektorp.CouchDbConnector; import org.ektorp.CouchDbConnector;
...@@ -28,9 +29,9 @@ public class ApplicationModule extends AbstractModule ...@@ -28,9 +29,9 @@ public class ApplicationModule extends AbstractModule
protected void configure() protected void configure()
{ {
bind(ApplicationConfiguration.class).toInstance(applicationConfiguration); bind(ApplicationConfiguration.class).toInstance(applicationConfiguration);
//todo: temporary //todo: temporary
bind(new TypeLiteral<Class<User>>(){}).toInstance(User.class); bind(new TypeLiteral<Class<User>>(){}).toInstance(User.class);
bind(new TypeLiteral<Class<Team>>(){}).toInstance(Team.class);
} }
@Provides @Provides
......
...@@ -5,13 +5,11 @@ import org.ektorp.CouchDbConnector; ...@@ -5,13 +5,11 @@ import org.ektorp.CouchDbConnector;
import org.ektorp.support.CouchDbDocument; import org.ektorp.support.CouchDbDocument;
import org.ektorp.support.CouchDbRepositorySupport; import org.ektorp.support.CouchDbRepositorySupport;
import javax.inject.Singleton; //@Singleton
@Singleton
public class Repository<T extends CouchDbDocument> extends CouchDbRepositorySupport<T> public class Repository<T extends CouchDbDocument> extends CouchDbRepositorySupport<T>
{ {
@Inject @Inject
protected Repository(final Class<T> type, final CouchDbConnector connector) public Repository(final Class<T> type, final CouchDbConnector connector)
{ {
super(type, 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