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.
|
|
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(); } }
|