You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
57 lines
1.6 KiB
package de.fd.fh;
|
|
|
|
import de.fd.fh.server.access.AccessContextEventListener;
|
|
import de.fd.fh.server.access.AccessRepository;
|
|
import de.fd.fh.server.access.AccessService;
|
|
import de.fd.fh.server.access.web.AccessController;
|
|
import de.fd.fh.server.user.UserContextEventListener;
|
|
import de.fd.fh.server.user.web.UserController;
|
|
import de.fd.fh.server.user.UserRepository;
|
|
import de.fd.fh.server.user.UserService;
|
|
|
|
|
|
import java.util.HashSet;
|
|
import java.util.Observable;
|
|
import java.util.Observer;
|
|
import java.util.Set;
|
|
|
|
import static spark.Spark.*;
|
|
|
|
public class ServerApp
|
|
{
|
|
private static AccessRepository accessRepository;
|
|
private static UserRepository userRepository;
|
|
|
|
private static final Set<Observer> listeners = new HashSet<>();
|
|
|
|
public static void main(String[] args)
|
|
{
|
|
initRepositories();
|
|
|
|
initListeners();
|
|
|
|
new AccessController((AccessService) addListeners(new AccessService(accessRepository)));
|
|
new UserController((UserService) addListeners(new UserService(userRepository)));
|
|
|
|
get("/hello", (req, res) -> "Hello World");
|
|
|
|
}
|
|
|
|
private static Object addListeners(Observable service)
|
|
{
|
|
listeners.forEach(service::addObserver);
|
|
|
|
return service;
|
|
}
|
|
|
|
private static void initListeners()
|
|
{
|
|
listeners.add(new AccessContextEventListener(accessRepository));
|
|
listeners.add(new UserContextEventListener(userRepository));
|
|
}
|
|
|
|
private static void initRepositories() {
|
|
accessRepository = new AccessRepository();
|
|
userRepository = new UserRepository();
|
|
}
|
|
}
|