Commit 09311297 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

put whole app in proper package

parent 68a7f7f0
import auth.ExampleAuthenticator;
package com.telephoners.krakyournet.ctf;
import com.bazaarvoice.dropwizard.webjars.WebJarBundle;
import com.google.inject.Guice;
import com.google.inject.Injector;
import commands.PurgeDatabaseCommand;
import commands.RegisterTasksCommand;
import commands.RegisterTeamsCommand;
import core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.auth.ExampleAuthenticator;
import com.telephoners.krakyournet.ctf.commands.PurgeDatabaseCommand;
import com.telephoners.krakyournet.ctf.commands.RegisterTasksCommand;
import com.telephoners.krakyournet.ctf.commands.RegisterTeamsCommand;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.modules.ApplicationModule;
import com.telephoners.krakyournet.ctf.objects.User;
import com.telephoners.krakyournet.ctf.repositories.UsersRepository;
import com.telephoners.krakyournet.ctf.resources.*;
import io.dropwizard.Application;
import io.dropwizard.assets.AssetsBundle;
import io.dropwizard.auth.AuthDynamicFeature;
......@@ -15,11 +21,7 @@ import io.dropwizard.auth.basic.BasicCredentialAuthFilter;
import io.dropwizard.jersey.setup.JerseyEnvironment;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import modules.ApplicationModule;
import objects.User;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import repositories.UsersRepository;
import resources.*;
import java.util.stream.Stream;
......
package com.telephoners.krakyournet.ctf;
import com.mongodb.client.FindIterable;
import org.bson.Document;
......
package auth;
package com.telephoners.krakyournet.ctf.auth;
import com.google.common.base.Optional;
import com.google.inject.Inject;
import com.telephoners.krakyournet.ctf.objects.User;
import com.telephoners.krakyournet.ctf.repositories.UsersRepository;
import io.dropwizard.auth.AuthenticationException;
import io.dropwizard.auth.Authenticator;
import io.dropwizard.auth.basic.BasicCredentials;
import objects.User;
import repositories.UsersRepository;
public class ExampleAuthenticator implements Authenticator<BasicCredentials, User> {
public class ExampleAuthenticator implements Authenticator<BasicCredentials, User>
{
private UsersRepository usersRepository;
@Inject
public ExampleAuthenticator(UsersRepository usersRepository) {
public ExampleAuthenticator(UsersRepository usersRepository)
{
this.usersRepository = usersRepository;
}
@Override
public com.google.common.base.Optional<User> authenticate(BasicCredentials credentials) throws AuthenticationException {
public Optional<User> authenticate(BasicCredentials credentials) throws AuthenticationException
{
User user = usersRepository.authenticateUser(credentials);
if (user != null) {
return Optional.of(user);
......
package commands;
package com.telephoners.krakyournet.ctf.commands;
import com.google.inject.Guice;
import com.google.inject.Injector;
import core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.modules.ApplicationModule;
import io.dropwizard.cli.ConfiguredCommand;
import io.dropwizard.setup.Bootstrap;
import modules.ApplicationModule;
import net.sourceforge.argparse4j.inf.Namespace;
import org.mongodb.morphia.Datastore;
......
package commands;
package com.telephoners.krakyournet.ctf.commands;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.mongodb.MongoClient;
import core.ApplicationConfiguration;
import core.TaskType;
import helpers.TextTaskConfig;
import helpers.WebTaskConfig;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.core.TaskType;
import com.telephoners.krakyournet.ctf.helpers.TextTaskConfig;
import com.telephoners.krakyournet.ctf.helpers.WebTaskConfig;
import com.telephoners.krakyournet.ctf.modules.ApplicationModule;
import com.telephoners.krakyournet.ctf.objects.Flag;
import com.telephoners.krakyournet.ctf.objects.tasks.Task;
import com.telephoners.krakyournet.ctf.objects.tasks.TaskCryptoContent;
import com.telephoners.krakyournet.ctf.objects.tasks.TaskWebContent;
import com.telephoners.krakyournet.ctf.repositories.TasksRepository;
import io.dropwizard.cli.ConfiguredCommand;
import io.dropwizard.setup.Bootstrap;
import modules.ApplicationModule;
import net.sourceforge.argparse4j.inf.Namespace;
import objects.Flag;
import objects.tasks.Task;
import objects.tasks.TaskCryptoContent;
import objects.tasks.TaskWebContent;
import org.mongodb.morphia.Datastore;
import org.mongodb.morphia.Morphia;
import repositories.TasksRepository;
import java.util.List;
import java.util.stream.Collectors;
......
package commands;
package com.telephoners.krakyournet.ctf.commands;
import com.google.inject.Guice;
import com.google.inject.Injector;
import core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.modules.ApplicationModule;
import com.telephoners.krakyournet.ctf.repositories.TeamsRepository;
import com.telephoners.krakyournet.ctf.repositories.UsersRepository;
import io.dropwizard.cli.ConfiguredCommand;
import io.dropwizard.setup.Bootstrap;
import modules.ApplicationModule;
import net.sourceforge.argparse4j.inf.Namespace;
import org.mongodb.morphia.Datastore;
import repositories.TeamsRepository;
import repositories.UsersRepository;
public class RegisterTeamsCommand extends ConfiguredCommand<ApplicationConfiguration>
{
......
package core;
package com.telephoners.krakyournet.ctf.core;
import helpers.TextTaskConfig;
import helpers.WebTaskConfig;
import com.telephoners.krakyournet.ctf.helpers.TextTaskConfig;
import com.telephoners.krakyournet.ctf.helpers.WebTaskConfig;
import com.telephoners.krakyournet.ctf.objects.Team;
import com.telephoners.krakyournet.ctf.objects.User;
import io.dropwizard.Configuration;
import objects.Team;
import objects.User;
import java.util.List;
......
package core;
package com.telephoners.krakyournet.ctf.core;
/**
* Created by gpietrus on 20.02.2016.
......
package core;
package com.telephoners.krakyournet.ctf.core;
/**
* Created by gpietrus on 21.02.2016.
......
package helpers;
package com.telephoners.krakyournet.ctf.helpers;
import helpers.PublicProperty;
import objects.tasks.Task;
import com.telephoners.krakyournet.ctf.objects.tasks.Task;
import java.lang.reflect.Field;
import java.util.List;
......
package helpers;
package com.telephoners.krakyournet.ctf.helpers;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
......
package modules;
package com.telephoners.krakyournet.ctf.modules;
import com.google.inject.AbstractModule;
import com.mongodb.MongoClient;
import core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import org.mongodb.morphia.Datastore;
import org.mongodb.morphia.Morphia;
......
package objects;
package com.telephoners.krakyournet.ctf.objects;
import java.util.Random;
......
package objects;
package com.telephoners.krakyournet.ctf.objects;
import objects.tasks.Task;
import com.telephoners.krakyournet.ctf.objects.tasks.Task;
import org.bson.types.ObjectId;
import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;
......
package objects;
package com.telephoners.krakyournet.ctf.objects;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
......
package objects;
package com.telephoners.krakyournet.ctf.objects;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
......
package objects.tasks;
package com.telephoners.krakyournet.ctf.objects.tasks;
import com.fasterxml.jackson.annotation.JsonInclude;
import core.TaskType;
import helpers.PublicProperty;
import objects.Flag;
import com.telephoners.krakyournet.ctf.core.TaskType;
import com.telephoners.krakyournet.ctf.helpers.PublicProperty;
import com.telephoners.krakyournet.ctf.objects.Flag;
import org.bson.types.ObjectId;
import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;
......
package objects.tasks;
package com.telephoners.krakyournet.ctf.objects.tasks;
/**
* Created by gpietrus on 23.02.2016.
......
package objects.tasks;
package com.telephoners.krakyournet.ctf.objects.tasks;
/**
* Created by gpietrus on 23.02.2016.
*/
public class TaskCryptoContent extends TaskContent {
public class TaskCryptoContent extends TaskContent
{
private String text;
public TaskCryptoContent(String text) {
......
package objects.tasks;
package com.telephoners.krakyournet.ctf.objects.tasks;
/**
* Created by gpietrus on 23.02.2016.
*/
public class TaskWebContent extends TaskContent {
public class TaskWebContent extends TaskContent
{
private String url;
public TaskWebContent(String url) {
......
package repositories;
package com.telephoners.krakyournet.ctf.repositories;
import objects.Solution;
import com.telephoners.krakyournet.ctf.objects.Solution;
import org.mongodb.morphia.Datastore;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.List;
/**
* Created by gpietrus on 20.02.2016.
*/
@Singleton
public class SolutionsRepository implements Repository {
public class SolutionsRepository implements Repository
{
private Datastore datastore;
@Inject
......
package repositories;
package com.telephoners.krakyournet.ctf.repositories;
import core.ApplicationConfiguration;
import helpers.DBObjectUtils;
import objects.Solution;
import objects.Team;
import objects.tasks.Task;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.helpers.DBObjectUtils;
import com.telephoners.krakyournet.ctf.objects.Solution;
import com.telephoners.krakyournet.ctf.objects.Team;
import com.telephoners.krakyournet.ctf.objects.tasks.Task;
import org.apache.commons.codec.binary.Hex;
import org.mongodb.morphia.Datastore;
......
package repositories;
package com.telephoners.krakyournet.ctf.repositories;
import core.ApplicationConfiguration;
import objects.Team;
import objects.User;
import com.telephoners.krakyournet.ctf.core.ApplicationConfiguration;
import com.telephoners.krakyournet.ctf.objects.Team;
import com.telephoners.krakyournet.ctf.objects.User;
import org.mongodb.morphia.Datastore;
import javax.inject.Inject;
......@@ -15,7 +15,8 @@ import java.util.UUID;
* Created by gpietrus on 20.02.2016.
*/
@Singleton
public class TeamsRepository implements Repository {
public class TeamsRepository implements Repository
{
private Datastore datastore;
private ApplicationConfiguration applicationConfiguration;
......@@ -23,13 +24,15 @@ public class TeamsRepository implements Repository {
@Inject
public TeamsRepository(Datastore datastore, ApplicationConfiguration applicationConfiguration,
UsersRepository usersRepository) {
UsersRepository usersRepository)
{
this.datastore = datastore;
this.applicationConfiguration = applicationConfiguration;
this.usersRepository = usersRepository;
}
public Optional<Team> getTeamByUser(User user) {
public Optional<Team> getTeamByUser(User user)
{
return datastore.createQuery(Team.class).asList().stream()
.filter(team -> team.getMembers().contains(user))
.findFirst();
......@@ -40,22 +43,26 @@ public class TeamsRepository implements Repository {
return getTeamByUser(usersRepository.getUserByName(username));
}
public void get(UUID uuid) {
public void get(UUID uuid)
{
}
public List<Team> getAll() {
public List<Team> getAll()
{
return datastore.createQuery(Team.class).asList();
}
//todo: move to interface
//todo: use default as interface-implemented methods
public void add(Team team) {
public void add(Team team)
{
datastore.save(team);
}
//todo: move clean to upper class?
public void clean() {
public void clean()
{
datastore.getCollection(Team.class).drop();
}
}
package repositories;
package com.telephoners.krakyournet.ctf.repositories;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.telephoners.krakyournet.ctf.objects.User;
import io.dropwizard.auth.basic.BasicCredentials;
import objects.User;
import org.apache.commons.codec.binary.Hex;
import org.mongodb.morphia.Datastore;
......
package resources;
package com.telephoners.krakyournet.ctf.resources;
import com.telephoners.krakyournet.ctf.objects.User;
import io.dropwizard.auth.Auth;
import objects.User;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
......@@ -16,9 +16,6 @@ import javax.ws.rs.core.MediaType;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by gpietrus on 16.02.16.
*/
@Path(value = "/proxy/task")
@Produces(MediaType.APPLICATION_JSON)
public class ProxyResource {
......
package resources;
package com.telephoners.krakyournet.ctf.resources;
import com.telephoners.krakyournet.ctf.objects.Solution;
import com.telephoners.krakyournet.ctf.objects.User;
import com.telephoners.krakyournet.ctf.repositories.SolutionsRepository;
import com.telephoners.krakyournet.ctf.repositories.TasksRepository;
import io.dropwizard.auth.Auth;
import objects.Solution;
import objects.User;
import repositories.SolutionsRepository;
import repositories.TasksRepository;
import javax.inject.Inject;
import javax.inject.Singleton;
......
package resources;
package com.telephoners.krakyournet.ctf.resources;
import com.telephoners.krakyournet.ctf.objects.User;
import com.telephoners.krakyournet.ctf.objects.tasks.Task;
import com.telephoners.krakyournet.ctf.objects.tasks.TaskCryptoContent;
import com.telephoners.krakyournet.ctf.objects.tasks.TaskWebContent;
import com.telephoners.krakyournet.ctf.repositories.TasksRepository;
import io.dropwizard.auth.Auth;
import objects.User;
import objects.tasks.Task;
import objects.tasks.TaskCryptoContent;
import objects.tasks.TaskWebContent;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import repositories.TasksRepository;
import javax.inject.Inject;
import javax.inject.Singleton;
......
package resources;
package com.telephoners.krakyournet.ctf.resources;
import com.telephoners.krakyournet.ctf.objects.User;
import com.telephoners.krakyournet.ctf.objects.tasks.Task;
import com.telephoners.krakyournet.ctf.repositories.TasksRepository;
import io.dropwizard.auth.Auth;
import objects.User;
import objects.tasks.Task;
import org.apache.commons.collections.MapUtils;
import repositories.TasksRepository;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.*;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
......
package resources;
package com.telephoners.krakyournet.ctf.resources;
import objects.Team;
import repositories.TeamsRepository;
import com.telephoners.krakyournet.ctf.objects.Team;
import com.telephoners.krakyournet.ctf.repositories.TeamsRepository;
import javax.inject.Inject;
import javax.inject.Singleton;
......
package resources;
package com.telephoners.krakyournet.ctf.resources;
import com.google.common.collect.ImmutableMap;
import com.telephoners.krakyournet.ctf.objects.Team;
import com.telephoners.krakyournet.ctf.objects.User;
import com.telephoners.krakyournet.ctf.repositories.TeamsRepository;
import io.dropwizard.auth.Auth;
import objects.Team;
import objects.User;
import repositories.TeamsRepository;
import javax.inject.Inject;
import javax.inject.Singleton;
......
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