diff --git a/pom.xml b/pom.xml
index 53fad872..b8941a6d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -145,56 +145,12 @@
wicket-auth-roles
6.6.0
-
- org.apache.wicket
- wicket-extensions
- 6.6.0
-
-
- org.apache.wicket
- wicket-datetime
- 6.6.0
-
-
- org.odlabs.wiquery
- wiquery-jquery-ui
- 6.6.0
-
org.apache.wicket
wicket-cdi
6.6.0
-
- de.agilecoders.wicket
- wicket-bootstrap-core
- 0.8.1
-
-
- de.agilecoders.wicket
- wicket-bootstrap-extensions
- 0.8.1
-
-
- de.agilecoders.wicket
- wicket-bootstrap-themes
- 0.8.1
-
-
- com.vaynberg.wicket.select2
- wicket-select2
- 2.1
-
-
- de.agilecoders.wicket.webjars
- wicket-webjars
- 0.2.0
-
-
- org.webjars
- angularjs
- 1.0.5
-
+
com.google.code.gson
gson
diff --git a/src/main/java/com/commafeed/frontend/CommaFeedApplication.java b/src/main/java/com/commafeed/frontend/CommaFeedApplication.java
index f6c2e551..eb54580c 100644
--- a/src/main/java/com/commafeed/frontend/CommaFeedApplication.java
+++ b/src/main/java/com/commafeed/frontend/CommaFeedApplication.java
@@ -4,7 +4,6 @@ import javax.enterprise.inject.spi.BeanManager;
import javax.naming.InitialContext;
import javax.naming.NamingException;
-import org.apache.wicket.Application;
import org.apache.wicket.Page;
import org.apache.wicket.Session;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -28,14 +27,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.commafeed.frontend.components.auth.LoginPage;
-import com.commafeed.frontend.pages.feed.FeedSubscriptionsPage;
+import com.commafeed.frontend.components.auth.LogoutPage;
import com.commafeed.frontend.pages.home.HomePage;
import com.commafeed.frontend.utils.exception.DisplayExceptionPage;
-import de.agilecoders.wicket.Bootstrap;
-import de.agilecoders.wicket.settings.BootstrapSettings;
-import de.agilecoders.wicket.webjars.util.WicketWebjars;
-
public class CommaFeedApplication extends AuthenticatedWebApplication {
private Logger log = LoggerFactory.getLogger(CommaFeedApplication.class);
@@ -45,7 +40,8 @@ public class CommaFeedApplication extends AuthenticatedWebApplication {
super.init();
mountPage("login", LoginPage.class);
- mountPage("/subscriptions/all", FeedSubscriptionsPage.class);
+ mountPage("logout", LogoutPage.class);
+ mountPage("error", DisplayExceptionPage.class);
setupInjection();
@@ -75,12 +71,7 @@ public class CommaFeedApplication extends AuthenticatedWebApplication {
new DisplayExceptionPage(ex)), policy);
}
});
- mountPage("/error", DisplayExceptionPage.class);
- BootstrapSettings settings = new BootstrapSettings();
- Bootstrap.install(Application.get(), settings);
-
- WicketWebjars.install(this);
}
@Override
diff --git a/src/main/java/com/commafeed/frontend/components/CssTreeView.html b/src/main/java/com/commafeed/frontend/components/CssTreeView.html
deleted file mode 100644
index 7fe5b39c..00000000
--- a/src/main/java/com/commafeed/frontend/components/CssTreeView.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/java/com/commafeed/frontend/components/CssTreeView.java b/src/main/java/com/commafeed/frontend/components/CssTreeView.java
deleted file mode 100644
index af649910..00000000
--- a/src/main/java/com/commafeed/frontend/components/CssTreeView.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.commafeed.frontend.components;
-
-import java.util.Collection;
-
-import org.apache.wicket.AttributeModifier;
-import org.apache.wicket.Component;
-import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.CheckBox;
-import org.apache.wicket.markup.html.form.FormComponentLabel;
-import org.apache.wicket.markup.html.panel.Fragment;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.markup.repeater.RepeatingView;
-import org.apache.wicket.model.IDetachable;
-import org.apache.wicket.model.IModel;
-
-import com.commafeed.frontend.references.csstree.CssTreeViewReference;
-
-@SuppressWarnings("serial")
-public abstract class CssTreeView extends Panel {
-
- private ITreeProvider provider;
-
- public CssTreeView(String id, final ITreeProvider provider) {
- super(id);
- setRenderBodyOnly(true);
- this.provider = provider;
-
- RepeatingView view = new RepeatingView("tree");
- addNode(null, view);
- add(view);
- }
-
- private void addNode(T node, RepeatingView view) {
- for (T child : provider.getChildren(node)) {
- Fragment fragment = new Fragment(view.newChildId(), "node",
- CssTreeView.this);
- CheckBox checkBox = new CheckBox("checkbox");
- checkBox.add(new AttributeModifier("checked", "checked"));
- fragment.add(checkBox);
- fragment.add(new FormComponentLabel("label", checkBox)
- .add(new Label("content", provider.getChildLabel(child))
- .setRenderBodyOnly(true)));
-
- RepeatingView viewChild = new RepeatingView("node");
- addNode(child, viewChild);
- fragment.add(viewChild);
- view.add(fragment);
- }
- for (V leaf : provider.getLeaves(node)) {
- Fragment fragment = new Fragment(view.newChildId(), "leaf",
- CssTreeView.this);
- fragment.add(newLink("link", provider.model(leaf)));
- view.add(fragment);
- }
- }
-
- @Override
- protected void onDetach() {
- super.onDetach();
- provider.detach();
- }
-
- protected abstract Component newLink(String markupId, IModel model);
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- CssTreeViewReference.render(response);
- }
-
- public static interface ITreeProvider extends IDetachable {
-
- Collection getChildren(T node);
-
- IModel getChildLabel(T node);
-
- Collection getLeaves(T node);
-
- IModel model(V object);
- }
-
-}
diff --git a/src/main/java/com/commafeed/frontend/components/auth/LoginPage.html b/src/main/java/com/commafeed/frontend/components/auth/LoginPage.html
index 10e89550..b07d875a 100644
--- a/src/main/java/com/commafeed/frontend/components/auth/LoginPage.html
+++ b/src/main/java/com/commafeed/frontend/components/auth/LoginPage.html
@@ -1,6 +1,8 @@
+
+
@@ -12,5 +14,6 @@
+
diff --git a/src/main/java/com/commafeed/frontend/components/auth/LoginPage.java b/src/main/java/com/commafeed/frontend/components/auth/LoginPage.java
index 0670d275..23489aed 100644
--- a/src/main/java/com/commafeed/frontend/components/auth/LoginPage.java
+++ b/src/main/java/com/commafeed/frontend/components/auth/LoginPage.java
@@ -1,21 +1,11 @@
package com.commafeed.frontend.components.auth;
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.WebPage;
-import de.agilecoders.wicket.Bootstrap;
-
@SuppressWarnings("serial")
public class LoginPage extends WebPage {
public LoginPage() {
add(new LoginPanel("login"));
}
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- Bootstrap.renderHead(response);
- }
-
}
diff --git a/src/main/java/com/commafeed/frontend/components/auth/LogoutPage.java b/src/main/java/com/commafeed/frontend/components/auth/LogoutPage.java
new file mode 100644
index 00000000..5299a6e2
--- /dev/null
+++ b/src/main/java/com/commafeed/frontend/components/auth/LogoutPage.java
@@ -0,0 +1,10 @@
+package com.commafeed.frontend.components.auth;
+
+import org.apache.wicket.markup.html.WebPage;
+
+public class LogoutPage extends WebPage {
+ public LogoutPage() {
+ getSession().invalidate();
+ setResponsePage(getApplication().getHomePage());
+ }
+}
diff --git a/src/main/java/com/commafeed/frontend/pages/BasePage.html b/src/main/java/com/commafeed/frontend/pages/BasePage.html
deleted file mode 100644
index 113ad7a9..00000000
--- a/src/main/java/com/commafeed/frontend/pages/BasePage.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/java/com/commafeed/frontend/pages/BasePage.java b/src/main/java/com/commafeed/frontend/pages/BasePage.java
deleted file mode 100644
index 78fe5dd9..00000000
--- a/src/main/java/com/commafeed/frontend/pages/BasePage.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.commafeed.frontend.pages;
-
-import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
-import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.markup.html.WebPage;
-
-import com.commafeed.frontend.components.auth.Role;
-
-import de.agilecoders.wicket.Bootstrap;
-
-@AuthorizeInstantiation(Role.USER)
-@SuppressWarnings("serial")
-public abstract class BasePage extends WebPage {
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- Bootstrap.renderHead(response);
- }
-}
diff --git a/src/main/java/com/commafeed/frontend/pages/JSONPage.java b/src/main/java/com/commafeed/frontend/pages/JSONPage.java
index 7cd1400c..4db1ca22 100644
--- a/src/main/java/com/commafeed/frontend/pages/JSONPage.java
+++ b/src/main/java/com/commafeed/frontend/pages/JSONPage.java
@@ -1,15 +1,12 @@
package com.commafeed.frontend.pages;
-import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.request.handler.TextRequestHandler;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import com.commafeed.frontend.components.auth.Role;
import com.google.gson.Gson;
@SuppressWarnings("serial")
-@AuthorizeInstantiation(Role.USER)
public abstract class JSONPage extends WebPage {
public JSONPage() {
diff --git a/src/main/java/com/commafeed/frontend/pages/feed/FeedSubscriptionsPage.java b/src/main/java/com/commafeed/frontend/pages/feed/FeedSubscriptionsPage.java
deleted file mode 100644
index b7b2914f..00000000
--- a/src/main/java/com/commafeed/frontend/pages/feed/FeedSubscriptionsPage.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package com.commafeed.frontend.pages.feed;
-
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.apache.commons.lang.ObjectUtils;
-
-import com.commafeed.backend.dao.FeedCategoryService;
-import com.commafeed.backend.dao.FeedSubscriptionService;
-import com.commafeed.frontend.CommaFeedSession;
-import com.commafeed.frontend.pages.JSONPage;
-import com.commafeed.frontend.utils.ModelFactory.MF;
-import com.commafeed.model.FeedCategory;
-import com.commafeed.model.FeedSubscription;
-import com.commafeed.model.User;
-import com.google.common.collect.Lists;
-
-@SuppressWarnings("serial")
-public class FeedSubscriptionsPage extends JSONPage {
-
- @Inject
- FeedSubscriptionService feedSubscriptionService;
-
- @Inject
- FeedCategoryService FeedCategoryService;
-
- @Override
- protected Object getObject() {
-
- User user = CommaFeedSession.get().getUser();
- List categories = FeedCategoryService.findAll(user);
-
- Category root = new Category();
- addChildren(categories, root);
- for (FeedSubscription subscription : feedSubscriptionService
- .findByField(MF.i(MF.p(FeedSubscription.class).getCategory()),
- null)) {
- Subscription sub = new Subscription();
- sub.setId(subscription.getId());
- sub.setName(subscription.getTitle());
- sub.setUnread(77);
- }
- return root;
- }
-
- private void addChildren(List categories, Category current) {
- for (FeedCategory category : categories) {
- if ((category.getParent() == null && current.getId() == null)
- || (category.getParent() != null && (ObjectUtils.equals(
- category.getParent().getId(), current.getId())))) {
- Category child = new Category();
- child.setId(category.getId());
- child.setName(category.getName());
- addChildren(categories, child);
- for (FeedSubscription subscription : category
- .getSubscriptions()) {
- Subscription sub = new Subscription();
- sub.setId(subscription.getId());
- sub.setName(subscription.getTitle());
- sub.setUnread(77);
- }
- current.getChildren().add(child);
- }
- }
- }
-
- public static class Category {
- private Long id;
- private String name;
- private List children = Lists.newArrayList();
- private List feeds = Lists.newArrayList();
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public List getChildren() {
- return children;
- }
-
- public void setChildren(List children) {
- this.children = children;
- }
-
- public List getFeeds() {
- return feeds;
- }
-
- public void setFeeds(List feeds) {
- this.feeds = feeds;
- }
-
- }
-
- public static class Subscription {
- private Long id;
- private String name;
- private int unread;
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getUnread() {
- return unread;
- }
-
- public void setUnread(int unread) {
- this.unread = unread;
- }
-
- }
-
-}
diff --git a/src/main/java/com/commafeed/frontend/pages/feed/FeedViewPage.html b/src/main/java/com/commafeed/frontend/pages/feed/FeedViewPage.html
deleted file mode 100644
index ba51c8af..00000000
--- a/src/main/java/com/commafeed/frontend/pages/feed/FeedViewPage.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/main/java/com/commafeed/frontend/pages/feed/FeedViewPage.java b/src/main/java/com/commafeed/frontend/pages/feed/FeedViewPage.java
deleted file mode 100644
index d8c4885e..00000000
--- a/src/main/java/com/commafeed/frontend/pages/feed/FeedViewPage.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.commafeed.frontend.pages.feed;
-
-import java.util.Collection;
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.apache.wicket.Component;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.Model;
-
-import com.commafeed.backend.dao.FeedCategoryService;
-import com.commafeed.backend.dao.FeedSubscriptionService;
-import com.commafeed.frontend.CommaFeedSession;
-import com.commafeed.frontend.components.CssTreeView;
-import com.commafeed.frontend.components.CssTreeView.ITreeProvider;
-import com.commafeed.frontend.pages.BasePage;
-import com.commafeed.frontend.utils.ModelFactory.MF;
-import com.commafeed.frontend.utils.stateless.StatelessAjaxLink;
-import com.commafeed.model.FeedCategory;
-import com.commafeed.model.FeedEntryStatus;
-import com.commafeed.model.FeedSubscription;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.Lists;
-
-@SuppressWarnings("serial")
-public class FeedViewPage extends BasePage {
-
- @Inject
- FeedSubscriptionService feedSubscriptionService;
-
- @Inject
- FeedCategoryService feedCategoryService;
-
- public FeedViewPage() {
- add(newTree("tree"));
- add(newFeedsPanel("entries"));
- }
-
- private Component newTree(String markupId) {
- ITreeProvider provider = new ITreeProvider() {
-
- private List cats;
- private List subsWithoutCategory;
-
- private void init() {
- if (cats == null) {
- cats = feedCategoryService.findAll(CommaFeedSession.get()
- .getUser());
- }
- if (subsWithoutCategory == null) {
- subsWithoutCategory = feedSubscriptionService.findByField(
- MF.i(MF.p(FeedSubscription.class).getCategory()),
- null);
- }
-
- }
-
- @Override
- public Collection getChildren(final FeedCategory node) {
- init();
- return Lists.newArrayList(Collections2.filter(cats,
- new Predicate() {
- @Override
- public boolean apply(FeedCategory cat) {
- return (node == null && cat.getParent() == null)
- || (cat.getParent() != null
- && node != null && cat
- .getParent().getId() == node
- .getId());
- }
- }));
- }
-
- @Override
- public Collection getLeaves(FeedCategory node) {
- init();
- if (node == null) {
- return subsWithoutCategory;
- }
- return node.getSubscriptions();
- }
-
- @Override
- public IModel getChildLabel(FeedCategory node) {
- return Model.of(node.getName());
- }
-
- @Override
- public IModel model(FeedSubscription object) {
- return Model.of(object);
- }
-
- @Override
- public void detach() {
- cats = null;
- }
-
- };
- return new CssTreeView(markupId,
- provider) {
- @Override
- protected Component newLink(String markupId,
- final IModel model) {
- return new StatelessAjaxLink(markupId) {
- @Override
- public void onClick(AjaxRequestTarget target) {
- System.out.println(model.getObject().getId());
- }
- }.setBody(Model.of(model.getObject().getTitle()));
- }
- };
- }
-
- private Component newFeedsPanel(String markupId) {
-
- new LoadableDetachableModel>() {
- @Override
- protected List load() {
-
- return null;
- }
- };
- return null;
- }
-}
diff --git a/src/main/java/com/commafeed/frontend/pages/feed/components/FeedsPanel.html b/src/main/java/com/commafeed/frontend/pages/feed/components/FeedsPanel.html
deleted file mode 100644
index 1cdb194c..00000000
--- a/src/main/java/com/commafeed/frontend/pages/feed/components/FeedsPanel.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
Anim pariatur cliche...
-
-
-
-
-
diff --git a/src/main/java/com/commafeed/frontend/pages/feed/components/FeedsPanel.java b/src/main/java/com/commafeed/frontend/pages/feed/components/FeedsPanel.java
deleted file mode 100644
index c889b0e4..00000000
--- a/src/main/java/com/commafeed/frontend/pages/feed/components/FeedsPanel.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.commafeed.frontend.pages.feed.components;
-
-import java.util.List;
-
-import org.apache.wicket.AttributeModifier;
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.markup.html.panel.GenericPanel;
-import org.apache.wicket.model.IModel;
-
-import com.commafeed.model.FeedEntryStatus;
-
-import de.agilecoders.wicket.markup.html.bootstrap.behavior.CssClassNameAppender;
-import de.agilecoders.wicket.util.Components;
-
-@SuppressWarnings("serial")
-public class FeedsPanel extends GenericPanel> {
-
- private AttributeModifier dataParentModifier;
-
- public FeedsPanel(String id, IModel> model) {
- super(id, model);
- add(new CssClassNameAppender("accordion"));
-
- dataParentModifier = new AttributeModifier("data-parent", getMarkupId());
-
- ListView listView = new ListView(
- "entry", model) {
- @Override
- protected void populateItem(ListItem item) {
- FeedEntryStatus status = item.getModelObject();
- WebMarkupContainer link = new WebMarkupContainer("link");
- link.add(dataParentModifier);
-
- WebMarkupContainer body = new WebMarkupContainer("body");
- body.add(new Label("content", status.getEntry().getContent())
- .setEscapeModelStrings(false));
-
- link.add(new AttributeModifier("href", "#" + body.getMarkupId()));
- }
- };
- add(listView);
-
- }
-
- @Override
- protected void onComponentTag(ComponentTag tag) {
- super.onComponentTag(tag);
- Components.assertTag(this, tag, "div");
- }
-}
diff --git a/src/main/java/com/commafeed/frontend/pages/home/HomePage.html b/src/main/java/com/commafeed/frontend/pages/home/HomePage.html
index 14fac012..70ab50c8 100644
--- a/src/main/java/com/commafeed/frontend/pages/home/HomePage.html
+++ b/src/main/java/com/commafeed/frontend/pages/home/HomePage.html
@@ -1,10 +1,20 @@
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/com/commafeed/frontend/pages/home/HomePage.java b/src/main/java/com/commafeed/frontend/pages/home/HomePage.java
index bfac9fd5..5b7e42d0 100644
--- a/src/main/java/com/commafeed/frontend/pages/home/HomePage.java
+++ b/src/main/java/com/commafeed/frontend/pages/home/HomePage.java
@@ -1,34 +1,12 @@
package com.commafeed.frontend.pages.home;
-import org.apache.wicket.markup.head.CssHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.markup.head.JavaScriptHeaderItem;
-import org.apache.wicket.request.Url;
-import org.apache.wicket.request.resource.UrlResourceReference;
+import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
+import org.apache.wicket.markup.html.WebPage;
-import com.commafeed.frontend.pages.BasePage;
-import com.commafeed.frontend.references.angular.AngularReference;
-import com.commafeed.frontend.references.csstree.CssTreeViewReference;
+import com.commafeed.frontend.components.auth.Role;
@SuppressWarnings("serial")
-public class HomePage extends BasePage {
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- AngularReference.render(response);
- CssTreeViewReference.render(response);
- response.render(CssHeaderItem.forReference(new UrlResourceReference(Url
- .parse("css/app.css"))));
-
- response.render(JavaScriptHeaderItem
- .forReference(new UrlResourceReference(Url.parse("js/main.js"))));
- response.render(JavaScriptHeaderItem
- .forReference(new UrlResourceReference(Url
- .parse("js/directives.js"))));
- response.render(JavaScriptHeaderItem
- .forReference(new UrlResourceReference(Url
- .parse("js/controllers.js"))));
- }
+@AuthorizeInstantiation(Role.USER)
+public class HomePage extends WebPage {
}
diff --git a/src/main/java/com/commafeed/frontend/references/angular/AngularReference.java b/src/main/java/com/commafeed/frontend/references/angular/AngularReference.java
deleted file mode 100644
index eb090b26..00000000
--- a/src/main/java/com/commafeed/frontend/references/angular/AngularReference.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.commafeed.frontend.references.angular;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.markup.head.JavaScriptHeaderItem;
-
-import de.agilecoders.wicket.webjars.request.resource.WebjarsJavaScriptResourceReference;
-
-@SuppressWarnings("serial")
-public class AngularReference extends WebjarsJavaScriptResourceReference {
-
- private static AngularReference instance = new AngularReference();
-
- public AngularReference() {
- super("angularjs/current/angular.min.js");
- }
-
- public static void render(IHeaderResponse response) {
- response.render(JavaScriptHeaderItem.forReference(instance));
- }
-}
diff --git a/src/main/java/com/commafeed/frontend/references/csstree/CssTreeViewReference.java b/src/main/java/com/commafeed/frontend/references/csstree/CssTreeViewReference.java
deleted file mode 100644
index 563f0fcf..00000000
--- a/src/main/java/com/commafeed/frontend/references/csstree/CssTreeViewReference.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.commafeed.frontend.references.csstree;
-
-import org.apache.wicket.markup.head.CssHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
-
-/**
- * http://experiments.wemakesites.net/css3-treeview.html
- *
- */
-@SuppressWarnings("serial")
-public class CssTreeViewReference extends CssResourceReference {
- private static CssTreeViewReference instance = new CssTreeViewReference();
-
- public CssTreeViewReference() {
- super(CssTreeViewReference.class, "css3-treeview.css");
- }
-
- public static void render(IHeaderResponse response) {
- response.render(CssHeaderItem.forReference(instance));
- }
-
- public static CssTreeViewReference get() {
- return instance;
- }
-}
diff --git a/src/main/java/com/commafeed/frontend/utils/MapToListModel.java b/src/main/java/com/commafeed/frontend/utils/MapToListModel.java
deleted file mode 100644
index d76627bd..00000000
--- a/src/main/java/com/commafeed/frontend/utils/MapToListModel.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.commafeed.frontend.utils;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.Model;
-
-import com.google.common.collect.Lists;
-
-public class MapToListModel extends
- LoadableDetachableModel>> {
-
- private static final long serialVersionUID = 1L;
-
- private IModel