package net.pterodactylus.wotns.ui.web;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
+import java.util.Arrays;
+import java.util.Collection;
import net.pterodactylus.util.template.Template;
import net.pterodactylus.util.template.TemplateContext;
+import net.pterodactylus.util.web.Method;
import net.pterodactylus.wotns.freenet.wot.IdentityManager;
import net.pterodactylus.wotns.freenet.wot.OwnIdentity;
import net.pterodactylus.wotns.web.FreenetRequest;
public class BasicPage extends FreenetTemplatePage {
protected final WebInterface webInterface;
+
protected final IdentityManager identityManager;
- public BasicPage(WebInterface webInterface, String path, Template template) {
+ private final String title;
+
+ public BasicPage(WebInterface webInterface, String path, String title, Template template) {
super(path, webInterface.getTemplateContextFactory(), template, "noPermission.html");
this.webInterface = webInterface;
this.identityManager = webInterface.getWoTNSPlugin().getIdentityManager();
+ this.title = title;
}
//
// PROTECTED METHODS
//
+ protected OwnIdentity getOwnIdentity(FreenetRequest request) {
+ return getOwnIdentity(request, "ownIdentity");
+ }
+
+ protected OwnIdentity getOwnIdentity(FreenetRequest request, String parameterName) {
+ if (request.getMethod() == Method.POST) {
+ String ownIdentityId = request.getHttpRequest().getPartAsStringFailsafe(parameterName, 43);
+ return identityManager.getOwnIdentity(ownIdentityId);
+ } else if (request.getMethod() == Method.GET) {
+ String ownIdentityId = request.getHttpRequest().getParam(parameterName);
+ return identityManager.getOwnIdentity(ownIdentityId);
+ }
+ return null;
+ }
+
+ //
+ // FREENETTEMPLATEPAGE METHODS
+ //
+
/**
* {@inheritDoc}
*/
@Override
- protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
- super.processTemplate(request, templateContext);
-
- List<OwnIdentity> ownIdentities = new ArrayList<OwnIdentity>(webInterface.getWoTNSPlugin().getIdentityManager().getAllOwnIdentities());
- Collections.sort(ownIdentities, new Comparator<OwnIdentity>() {
+ protected String getPageTitle(FreenetRequest request) {
+ return title;
+ }
- @Override
- public int compare(OwnIdentity leftOwnIdentity, OwnIdentity rightOwnIdentity) {
- return leftOwnIdentity.getNickname().compareTo(rightOwnIdentity.getNickname());
- }
- });
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Collection<String> getStyleSheets() {
+ return Arrays.asList("css/main.css");
+ }
- templateContext.set("ownIdentities", ownIdentities);
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
+ super.processTemplate(request, templateContext);
+ templateContext.set("request", request.getHttpRequest());
+ templateContext.set("ownIdentities", identityManager.getAllOwnIdentities());
templateContext.set("formPassword", webInterface.getWoTNSPlugin().getToadletContainer().getFormPassword());
}
+
}