You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/03/28 11:35:41 UTC

[17/20] ISIS-381: mothballing HTML viewer, SQL security, LDAP security

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/CollectionLink.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/CollectionLink.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/CollectionLink.java
deleted file mode 100644
index 2a12061..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/CollectionLink.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.ComponentAbstract;
-import org.apache.isis.viewer.html.image.ImageLookup;
-import org.apache.isis.viewer.html.request.Request;
-
-class CollectionLink extends ComponentAbstract {
-    private final String objectId;
-    private final String fieldId;
-    private final ObjectSpecification specification;
-    private final String title;
-    private final String description;
-
-    public CollectionLink(final PathBuilder pathBuilder, final ObjectAssociation field, final ObjectAdapter collection, final String description, final String objectId) {
-        super(pathBuilder);
-        this.description = description;
-        this.objectId = objectId;
-        fieldId = field.getId();
-        title = collection.titleString();
-        specification = field.getSpecification();
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print("<span class=\"value\"");
-        if (description != null) {
-            writer.print(" title=\"");
-            writer.print(description);
-            writer.print("\"");
-        }
-        writer.print(">");
-
-        writer.print("<a href=\"");
-        writer.print(pathTo(Request.FIELD_COLLECTION_COMMAND) + "?id=");
-        writer.print(objectId);
-        writer.print("&amp;field=");
-        writer.print(fieldId);
-        writer.print("\"");
-        writer.print("><img src=\"");
-        writer.print(ImageLookup.image(specification));
-        writer.print("\" alt=\"icon\">");
-        // writer.print(elementType);
-        writer.print(title);
-        writer.print("</a>");
-        writer.println("</span>");
-    }
-
-    protected String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Div.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Div.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Div.java
deleted file mode 100644
index 4223071..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Div.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Block;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.ComponentComposite;
-
-public class Div extends ComponentComposite implements Block {
-
-    private final String className;
-    private final String id;
-    private final String description;
-
-    public Div(final PathBuilder pathBuilder, final String className, final String description) {
-        this(pathBuilder, className, description, null);
-    }
-
-    public Div(final PathBuilder pathBuilder, final String className, final String description, final String id) {
-        super(pathBuilder);
-        this.description = description;
-        this.className = className;
-        this.id = id;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        super.write(writer);
-    }
-
-    @Override
-    protected void writeBefore(final PrintWriter writer) {
-        writer.print("<div");
-        if (className != null) {
-            writer.print(" class=\"");
-            writer.print(className);
-            writer.print("\"");
-        }
-        if (id != null) {
-            writer.print(" id=\"");
-            writer.print(id);
-            writer.print("\"");
-        }
-        if (description != null) {
-            writer.print(" title=\"");
-            writer.print(description);
-            writer.print("\"");
-        }
-        writer.print(">");
-    }
-
-    @Override
-    protected void writeAfter(final PrintWriter writer) {
-        writer.println("</div>");
-    }
-
-    @Override
-    public void add(final Component component) {
-        super.add(component);
-    }
-
-    public void add(final String text) {
-        super.add(new Html(pathBuilder, text));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/DynamicHtmlPage.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/DynamicHtmlPage.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/DynamicHtmlPage.java
deleted file mode 100644
index 0a81342..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/DynamicHtmlPage.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Block;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.DebugPane;
-import org.apache.isis.viewer.html.component.Page;
-import org.apache.isis.viewer.html.component.ViewPane;
-
-public class DynamicHtmlPage extends AbstractHtmlPage implements Page {
-
-    private final Block navigation;
-    private final ViewPane viewPane;
-
-    private Component crumbs;
-    private DebugPane debugPane;
-
-    public DynamicHtmlPage(final PathBuilder pathBuilder, final String styleSheet, final String header, final String footer) {
-        super(pathBuilder, styleSheet, header, footer);
-        this.navigation = new Div(pathBuilder, null, "navigation");
-        this.viewPane = new ViewDiv(pathBuilder);
-    }
-
-    @Override
-    public Block getNavigation() {
-        return navigation;
-    }
-
-    @Override
-    public ViewPane getViewPane() {
-        return viewPane;
-    }
-
-    @Override
-    public void setCrumbs(final Component crumbs) {
-        this.crumbs = crumbs;
-    }
-
-    @Override
-    public void setDebug(final DebugPane debugPane) {
-        this.debugPane = debugPane;
-    }
-
-    @Override
-    protected void writeContent(final PrintWriter writer) {
-        if (debugPane != null) {
-            debugPane.write(writer);
-        } else {
-            writer.println();
-            writer.println("<div id=\"body\">");
-            navigation.write(writer);
-            if (crumbs != null) {
-                crumbs.write(writer);
-            }
-            viewPane.write(writer);
-            writer.println();
-            writer.println("</div>");
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ErrorMessage.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ErrorMessage.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ErrorMessage.java
deleted file mode 100644
index 2482b80..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ErrorMessage.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.component.Component;
-
-public class ErrorMessage implements Component {
-
-    private final Exception e;
-    private final boolean isDebug;
-
-    public ErrorMessage(final Exception e, final boolean isDebug) {
-        this.e = e;
-        this.isDebug = isDebug;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.println("<div class=\"error\">");
-        writer.println(e.getMessage());
-        writer.println("</div>");
-        if (isDebug) {
-            writer.println("<pre class=\"error-trace\">");
-            e.printStackTrace(writer);
-            writer.println("</pre>");
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Heading.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Heading.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Heading.java
deleted file mode 100644
index 9e9408c..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Heading.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.ComponentAbstract;
-
-public class Heading extends ComponentAbstract {
-    private final String title;
-    private final int level;
-
-    public Heading(final PathBuilder pathBuilder, final String title) {
-        this(pathBuilder, title, 1);
-    }
-
-    public Heading(final PathBuilder pathBuilder, final String title, final int level) {
-        super(pathBuilder);
-        this.title = title;
-        this.level = level;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writeTag(writer, "h" + level);
-        writer.print(title);
-        writer.print("</h");
-        writer.print(level);
-        writer.println(">");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Html.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Html.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Html.java
deleted file mode 100644
index 6a02fd4..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Html.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.ComponentAbstract;
-
-class Html extends ComponentAbstract {
-
-    private final String code;
-
-    public Html(final PathBuilder pathBuilder, final String code) {
-        super(pathBuilder);
-        this.code = code;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print(code);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlComponentFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlComponentFactory.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlComponentFactory.java
deleted file mode 100644
index 1b1ec70..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlComponentFactory.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import static org.apache.isis.viewer.html.HtmlViewerConstants.FOOTER;
-import static org.apache.isis.viewer.html.HtmlViewerConstants.FOOTER_FILE;
-import static org.apache.isis.viewer.html.HtmlViewerConstants.HEADER;
-import static org.apache.isis.viewer.html.HtmlViewerConstants.HEADER_FILE;
-import static org.apache.isis.viewer.html.HtmlViewerConstants.STYLE_SHEET;
-
-import java.io.BufferedReader;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.progmodel.facets.value.booleans.BooleanValueFacet;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Block;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.ComponentFactory;
-import org.apache.isis.viewer.html.component.DebugPane;
-import org.apache.isis.viewer.html.component.Form;
-import org.apache.isis.viewer.html.component.Page;
-import org.apache.isis.viewer.html.component.Table;
-
-public class HtmlComponentFactory implements ComponentFactory {
-
-    private static final long serialVersionUID = 1L;
-    
-    protected final String footer;
-    protected final String header;
-    protected final String styleSheet;
-    
-    private final PathBuilder pathBuilder;
-
-    public HtmlComponentFactory(final PathBuilder pathBuilder) {
-        this(pathBuilder, getConfiguration());
-    }
-
-    public HtmlComponentFactory(final PathBuilder pathBuilder, final IsisConfiguration configuration) {
-        this.pathBuilder = pathBuilder;
-        this.styleSheet = configuration.getString(STYLE_SHEET);
-        this.header = loadFileElseDefault(configuration, HEADER_FILE, HEADER);
-        this.footer = loadFileElseDefault(configuration, FOOTER_FILE, FOOTER);
-    }
-
-    
-    // /////////////////////////////////////////////////////////////
-    // Pages
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public Page createPage() {
-        return new DynamicHtmlPage(this, styleSheet, header, footer);
-    }
-
-    public LogonFormPage createLogonPage(final String user, final String password, final boolean registerLink, final String error) {
-        return new LogonFormPage(this, styleSheet, header, footer, user, password, registerLink, error);
-    }
-
-    public RegisterFormPage createRegisterPage(final String user, final String password, final String error) {
-        return new RegisterFormPage(this, styleSheet, header, footer, user, password, error);
-    }
-
-    // /////////////////////////////////////////////////////////////
-    // Menus
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public Component createMenuItem(final String actionId, final String name, final String description, final String reasonDisabled, final ActionType type, final boolean hasParameters, final String targetObjectId) {
-        return new MenuItem(this, actionId, name, description, reasonDisabled, type, hasParameters, targetObjectId);
-    }
-
-    @Override
-    public Component createSubmenu(final String menuName, final Component[] items) {
-        return new Submenu(menuName, items);
-    }
-
-
-    // /////////////////////////////////////////////////////////////
-    // Icons
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public Component createCollectionIcon(final ObjectAssociation field, final ObjectAdapter collection, final String id) {
-        return new CollectionLink(this, field, collection, field.getDescription(), id);
-    }
-
-    @Override
-    public Component createCollectionIcon(final ObjectAdapter collection, final String collectionId) {
-        return new CollectionIcon(this, collection, collection.getSpecification().getDescription(), collectionId);
-    }
-
-    @Override
-    public Component createObjectIcon(final ObjectAdapter object, final String objectId, final String style) {
-        return new ObjectIcon(this, object, object.getSpecification().getDescription(), objectId, style);
-    }
-
-    @Override
-    public Component createObjectIcon(final ObjectAssociation field, final ObjectAdapter object, final String objectId, final String style) {
-        return new ObjectIcon(this, object, field.getDescription(), objectId, style);
-    }
-
-
-    // /////////////////////////////////////////////////////////////
-    // Options
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public Component createEditOption(final String id) {
-        return new ActionComponent(this, "edit", "Edit Object", "Edit the current object", id, null, null);
-    }
-
-    @Override
-    public Component createRemoveOption(final String id, final String elementId, final String fieldName) {
-        return new ActionComponent(this, "remove", "Remove", "Remove item from collection", id, elementId, fieldName);
-    }
-
-    @Override
-    public Component createAddOption(final String id, final String fieldName) {
-        return new ActionComponent(this, "add", "Add Item", "Add item to collection", id, null, fieldName);
-    }
-
-
-    // /////////////////////////////////////////////////////////////
-    // Messages
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public Component createErrorMessage(final Exception e, final boolean isDebug) {
-        return new ErrorMessage(e, isDebug);
-    }
-
-
-    // /////////////////////////////////////////////////////////////
-    // Form & Form Widgets
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public Form createForm(final String id, final String actionName, final int step, final int noOfPages, final boolean isEditing) {
-        return new HtmlForm(this, id, actionName, step, noOfPages, isEditing);
-    }
-
-    @Override
-    public Component createCheckboxBlock(final boolean isEditable, final boolean isSet) {
-        return new Checkbox(isSet, isEditable);
-    }
-
-    @Override
-    public Component createLink(final String link, final String name, final String description) {
-        return new Link(this, link, name, description);
-    }
-
-
-    @Override
-    public Component createParseableField(final ObjectAssociation field, final ObjectAdapter value, final boolean isEditable) {
-        final BooleanValueFacet facet = field.getSpecification().getFacet(BooleanValueFacet.class);
-        if (facet != null) {
-            return createCheckboxBlock(isEditable, facet.isSet(value));
-        } else {
-            final String titleString = value != null ? value.titleString() : "";
-
-            final MultiLineFacet multiLineFacet = field.getSpecification().getFacet(MultiLineFacet.class);
-            final boolean isWrapped = multiLineFacet != null && !multiLineFacet.preventWrapping();
-
-            if (isWrapped) {
-                return createInlineBlock("value", "<pre>" + titleString + "</pre>", null);
-            } else {
-                return createInlineBlock("value", titleString, null);
-            }
-        }
-    }
-
-    @Override
-    public Table createTable(final int noColumns, final boolean withSelectorColumn) {
-        return new HtmlTable(this, noColumns, withSelectorColumn);
-    }
-
-
-    // /////////////////////////////////////////////////////////////
-    // Furniture
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public Block createBlock(final String style, final String description) {
-        return new Div(this, style, description);
-    }
-
-    @Override
-    public Component createBreadCrumbs(final String[] names, final boolean[] isLinked) {
-        return new BreadCrumbs(this, names, isLinked);
-    }
-
-    @Override
-    public Component createInlineBlock(final String style, final String text, final String description) {
-        return new Span(style, text, description);
-    }
-
-    @Override
-    public Component createHeading(final String name) {
-        return new Heading(this, name, 4);
-    }
-
-    @Override
-    public Component createService(final String objectId, final String title, final String iconName) {
-        return new ServiceComponent(this, objectId, title, iconName);
-    }
-
-    @Override
-    public Component createUserSwap(final String name) {
-        return new UserSwapLink(this, name);
-
-    }
-
-    // /////////////////////////////////////////////////////////////
-    // Debug
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public DebugPane createDebugPane() {
-        return new HtmlDebug();
-    }
-
-
-    // /////////////////////////////////////////////////////////////
-    // PathBuilder impl
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public String getSuffix() {
-        return pathBuilder.getSuffix();
-    }
-
-    @Override
-    public String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-
-    
-    // /////////////////////////////////////////////////////////////
-    // helpers
-    // /////////////////////////////////////////////////////////////
-
-    private static String loadFileElseDefault(final IsisConfiguration configuration, final String fileConstant, final String literalConstant) {
-        final String fileName = configuration.getString(fileConstant);
-        return fileName != null ? loadFile(fileName) : configuration.getString(literalConstant);
-    }
-
-
-    private static String loadFile(final String file) {
-        final StringBuffer content = new StringBuffer();
-        BufferedReader reader = null;
-        try {
-            reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
-            String line;
-            while ((line = reader.readLine()) != null) {
-                content.append(line);
-                content.append("\n");
-            }
-        } catch (final FileNotFoundException e) {
-            throw new WebViewerException("Failed to find file " + file);
-        } catch (final IOException e) {
-            throw new WebViewerException("Failed to load file " + file, e);
-        } finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                } catch (final IOException ignore) {
-                }
-            }
-        }
-        return content.toString();
-    }
-
-    
-
-    // /////////////////////////////////////////////////////////////
-    // injected services
-    // /////////////////////////////////////////////////////////////
-
-    private static IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlDebug.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlDebug.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlDebug.java
deleted file mode 100644
index 815b7ff..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlDebug.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.viewer.html.component.DebugPane;
-
-public class HtmlDebug implements DebugPane {
-    private static final String SPACES = "                                    ";
-    private final StringBuffer debug = new StringBuffer();
-    private int indent;
-
-    @Override
-    public void addSection(final String title) {
-        if (debug.length() > 0) {
-            appendln("</pre>");
-        }
-        appendln("<h2>");
-        appendln(title);
-        appendln("</h2><pre>");
-    }
-
-    @Override
-    public void appendln(final String text) {
-        debug.append(SPACES.substring(0, indent * 3));
-        debug.append(text);
-        debug.append("\n");
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        if (debug.length() > 0) {
-            writer.print(debug.toString());
-            writer.println("</pre>");
-        }
-    }
-
-    @Override
-    public void indent() {
-        indent++;
-    }
-
-    @Override
-    public void unindent() {
-        if (indent == 0) {
-            throw new IsisException();
-        }
-        indent--;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlException.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlException.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlException.java
deleted file mode 100644
index 5a58b0e..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlException.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class HtmlException extends IsisException {
-    private static final long serialVersionUID = 1L;
-
-    public HtmlException() {
-    }
-
-    public HtmlException(final String msg) {
-        super(msg);
-    }
-
-    public HtmlException(final String msg, final Throwable cause) {
-        super(msg, cause);
-    }
-
-    public HtmlException(final Throwable cause) {
-        super(cause);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlForm.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlForm.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlForm.java
deleted file mode 100644
index ce0be9f..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlForm.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.ComponentComposite;
-import org.apache.isis.viewer.html.component.Form;
-
-public class HtmlForm extends ComponentComposite implements Form {
-
-    private final boolean confirm;
-    private final boolean hasNext;
-    private final boolean hasPrevious;
-    private final boolean isEditing;
-    private final String id;
-
-    public HtmlForm(final PathBuilder pathBuilder, final String id, final String action, final int page, final int noOfPages, final boolean isEditing) {
-        this(pathBuilder, id, action, page, noOfPages, false, isEditing);
-    }
-
-    private HtmlForm(final PathBuilder pathBuilder, final String id, final String action, final int page, final int noOfPages, final boolean confirm, final boolean isEditing) {
-        super(pathBuilder);
-        this.id = id;
-        this.confirm = confirm;
-        this.isEditing = isEditing;
-        hasPrevious = page >= 1;
-        hasNext = page < noOfPages - 1;
-    }
-
-    private void addField(final String label, final String field, final String description, final boolean readOnly, final boolean required, final String errorMessage) {
-        String error = "";
-        if (errorMessage != null) {
-            error = "<span class=\"error\"> " + errorMessage + "</span>";
-        }
-        String optional = "";
-        if (!readOnly) {
-            if (!required) {
-                optional = "<span class=\"optional\"> (optional)</span>";
-            } else {
-                optional = "<span class=\"required\"> *</span>";
-            }
-        }
-        add(new Html(pathBuilder, "<div class=\"field\" title=\"" + description + "\"><span class=\"label\">" + label + "</span><span class=\"separator\">: </span> " + field + optional + error + "</div>"));
-    }
-
-    @Override
-    public void addField(final ObjectSpecification spec, final String label, final String title, final String field, final String value, final int noLines, final boolean wrap, final int maxLength, final int typicalLength, final boolean required, final String error) {
-        String inputField;
-        /*
-         * REVIEW the following qualification are a bit limited - it's the
-         * simplest thing than will work - we need to determine from the
-         * specification whether something is boolean type or a password.
-         * 
-         * Also see the note in the Form I/F.
-         */
-        boolean ignoreMandatory = false;
-        if (spec.isOfType(IsisContext.getSpecificationLoader().loadSpecification(boolean.class)) || spec.isOfType(IsisContext.getSpecificationLoader().loadSpecification(Boolean.class))) {
-            final String selected = (value != null && value.toLowerCase().equals("true")) ? "checked " : "";
-            inputField = "<input class=\"value\" type=\"checkbox\" name=\"" + field + "\"" + selected + " value=\"true\"/>";
-            ignoreMandatory = true;
-        } else if (spec.getFullIdentifier().endsWith(".Password")) {
-            final String typicalLengthStr = typicalLength == 0 ? "" : (" size=\"" + typicalLength + "\"");
-            final String maxLengthStr = maxLength == 0 ? "" : (" maxlength=\"" + maxLength + "\"");
-            inputField = "<input class=\"value\" type=\"password\" name=\"" + field + "\"" + typicalLengthStr + maxLengthStr + "value=\"" + value + "\"/>";
-
-        } else if (noLines > 1) {
-            final int w = typicalLength > 0 ? typicalLength / noLines : 50;
-            inputField = "<textarea class=\"value\" type=\"text\" name=\"" + field + "\" rows=\"" + noLines + "\" cols=\"" + w + "\" wrap=\"" + (wrap ? "hard" : "off") + "\">" + value + "</textarea>";
-        } else {
-            final String typicalLengthStr = typicalLength == 0 ? "" : (" size=\"" + typicalLength + "\"");
-            final String maxLengthStr = maxLength == 0 ? "" : (" maxlength=\"" + maxLength + "\"");
-            inputField = "<input class=\"value\" type=\"text\" name=\"" + field + "\"" + typicalLengthStr + maxLengthStr + "value=\"" + value + "\"/>";
-        }
-        addField(label, inputField, title, ignoreMandatory, required, error);
-    }
-
-    public void addFieldName(final String fieldLabel) {
-        add(new Heading(pathBuilder, fieldLabel, 4));
-    }
-
-    @Override
-    public void addLookup(final String fieldLabel, final String description, final String fieldId, final int selectedIndex, final String[] instances, final String[] ids, final boolean required, final String errorMessage) {
-        final StringBuffer testInputField = new StringBuffer();
-        testInputField.append("<select class=\"value\" name=\"" + fieldId + "\">");
-        if (!required) {
-            testInputField.append("<option");
-            if (selectedIndex < 0) {
-                testInputField.append(" selected");
-            }
-            testInputField.append(" value=\"");
-            testInputField.append("null");
-            testInputField.append("\" >[not set]</option>");
-        }
-        for (int i = 0; i < instances.length; i++) {
-            testInputField.append("<option");
-            if (i == selectedIndex) {
-                testInputField.append(" selected");
-            }
-            testInputField.append(" value=\"");
-            testInputField.append(ids[i]);
-            testInputField.append("\" >");
-            testInputField.append(instances[i]);
-            testInputField.append("</option>");
-        }
-        testInputField.append("</select>");
-
-        addField(fieldLabel, testInputField.toString(), description, false, required, errorMessage);
-    }
-
-    @Override
-    public void addReadOnlyField(final String fieldLabel, final String title, final String description) {
-        addField(fieldLabel, "<span class=\"value\">" + title + "</span>", description, true, false, null);
-    }
-
-    @Override
-    public void addReadOnlyCheckbox(final String fieldLabel, final boolean isSet, final String description) {
-        addField(fieldLabel, "<input class=\"value\" type=\"checkbox\" disabled " + (isSet ? "checked" : "") + "/>", description, true, false, null);
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        super.write(writer);
-    }
-
-    @Override
-    protected void writeAfter(final PrintWriter writer) {
-        writer.println("<div class=\"field\">");
-        if (hasNext) {
-            writer.println("<input class=\"action-button\" type=\"submit\" name=\"button\" value=\"Next\"/>");
-            if (isEditing) {
-                writer.println("<input class=\"action-button\" type=\"submit\" name=\"button\" value=\"Save\"/>");
-            } else {
-                writer.println("<input class=\"action-button\" type=\"submit\" name=\"button\" value=\"Finish\"/>");
-            }
-        } else {
-            if (isEditing) {
-                writer.println("<input class=\"action-button\" type=\"submit\" name=\"button\" value=\"Save\"/>");
-            } else {
-                writer.println("<input class=\"action-button\" type=\"submit\" name=\"button\" value=\"Ok\"/>");
-            }
-        }
-        if (hasPrevious) {
-            writer.println("<input class=\"action-button\" type=\"submit\" name=\"button\" value=\"Previous\"/>");
-        }
-        writer.println("<input class=\"action-button\" type=\"submit\" name=\"button\" value=\"Cancel\"/>");
-        writer.println("</div>");
-        writer.println("</form>");
-    }
-
-    @Override
-    protected void writeBefore(final PrintWriter writer) {
-        writer.print("<form name=\"form\" action=\"");
-        writer.print(pathTo("task"));
-        writer.print("\" method=\"post\"");
-        if (confirm) {
-            writer.print(" onSubmit=\"return confirm('Are you sure')\"");
-        }
-        writer.println(">");
-        writer.println("<input type=\"hidden\" name=\"id\" value=\"" + id + "\"/>");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlTable.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlTable.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlTable.java
deleted file mode 100644
index 0a14693..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/HtmlTable.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.ComponentComposite;
-import org.apache.isis.viewer.html.component.Table;
-
-public class HtmlTable extends ComponentComposite implements Table {
-    private String summary;
-    private final TableHeader header;
-    private final int noColumns;
-    private Row row;
-    private int cellCount;
-    private final boolean addSelector;
-
-    public HtmlTable(final PathBuilder pathBuilder, final int noColumns, final boolean withSelectorColumn) {
-        super(pathBuilder);
-        this.noColumns = noColumns + (withSelectorColumn ? 1 : 0);
-        addSelector = withSelectorColumn;
-        header = new TableHeader(pathBuilder);
-    }
-
-    public Row newRow() {
-        final Row row = new Row(pathBuilder);
-        add(row);
-        return row;
-    }
-
-    @Override
-    public void setSummary(final String summary) {
-        this.summary = summary;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print("<table summary=\"" + summary + "\">");
-        writer.print("<tr><th></th>");
-        header.write(writer);
-        writer.println("</tr>");
-        super.write(writer);
-        writer.println("</table>");
-    }
-
-    @Override
-    protected void write(final PrintWriter writer, final Component component) {
-        writer.print("<tr>");
-        component.write(writer);
-        if (addSelector) {
-            writer.print("<td><input type=\"checkbox\" value=\"selected\"/></td>");
-        }
-        writer.println("</tr>");
-    }
-
-    @Override
-    public void addCell(final String value, final boolean truncate) {
-        row.addCell(value, truncate);
-        cellCount++;
-        if (cellCount > noColumns) {
-            throw new HtmlException("Too many cells added: " + cellCount);
-        }
-    }
-
-    @Override
-    public void addEmptyCell() {
-        addCell(new Span("empty-cell", "", null));
-    }
-
-    @Override
-    public void addCell(final Component component) {
-        row.add(component);
-        cellCount++;
-        if (cellCount > noColumns) {
-            throw new HtmlException("Too many cells added: " + cellCount);
-        }
-    }
-
-    @Override
-    public void addColumnHeader(final String name) {
-        header.addHeader(name);
-        cellCount++;
-        if (cellCount > noColumns) {
-            throw new HtmlException("Too many cells added: " + cellCount);
-        }
-    }
-
-    @Override
-    public void addRowHeader(final Component component) {
-        row = new Row(pathBuilder);
-        add(row);
-        cellCount = 0;
-        row.addCell(component);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Link.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Link.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Link.java
deleted file mode 100644
index 79d585f..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Link.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-
-public class Link implements Component {
-
-    private final PathBuilder pathBuilder;
-    private final String link;
-    private final String name;
-    private final String description;
-
-    public Link(final PathBuilder pathBuilder, final String link, final String name, final String description) {
-        this.pathBuilder = pathBuilder;
-        this.link = link;
-        this.name = name;
-        this.description = description;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print("<a class=\"link\" title=\"" + description + "\" href=\"" + pathTo(link) + "\">" + name + "</a>");
-    }
-
-    protected String pathTo(final String link) {
-        return pathBuilder.pathTo(link);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/LogonFormPage.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/LogonFormPage.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/LogonFormPage.java
deleted file mode 100644
index c0993ce..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/LogonFormPage.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Block;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.DebugPane;
-import org.apache.isis.viewer.html.component.ViewPane;
-
-public class LogonFormPage extends AbstractHtmlPage {
-    private final String user;
-    private final String password;
-    private final boolean registerLink;
-    private final String error;
-
-    public LogonFormPage(final PathBuilder pathBuilder, final String styleSheet, final String header, final String footer, final String user, final String password, final boolean registerLink, final String error) {
-        super(pathBuilder, styleSheet, header, footer);
-        this.user = user;
-        this.password = password;
-        this.registerLink = registerLink;
-        this.error = error;
-    }
-
-    @Override
-    protected void writeContent(final PrintWriter writer) {
-        writer.println("<div id=\"view\">");
-        writer.println("<div class=\"header\">");
-        writer.println("<span class=\"header-text\">Please enter a user name and password.</span>");
-        writer.println("</div>");
-        writer.println("<FORM ACTION=\"" + pathTo("logon") + "\" METHOD=\"post\">");
-        writer.println("<div id=\"content\">");
-        if (error != null) {
-            writer.println("<div class=\"error\">");
-            writer.println(error);
-            writer.println("</div>");
-        }
-        writer.println("<div class=\"field\"><span class=\"label\">User name</span>" + "<span class=\"separator\">: </span><INPUT NAME=\"username\" value=\"" + user + "\"></DIV>");
-        writer.println("<div class=\"field\"><span class=\"label\">Password</span>" + "<span class=\"separator\">: </span><INPUT TYPE=\"password\" NAME=\"password\" value=\"" + password + "\"></DIV>");
-        writer.println("<div class=\"action-button\"><INPUT TYPE=\"submit\" VALUE=\"Log in\" NAME=\"Log in\"></div>");
-        if (registerLink) {
-            writer.print("<a class=\"link nav-link\" title=\"Register new user name and password\" href=\"" + pathTo("register") + "\">register</a>");
-        }
-        writer.println("</div>");
-        writer.println("</FORM>");
-        writer.println("</div>");
-
-    }
-
-    protected String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-
-    @Override
-    public Block getNavigation() {
-        return null;
-    }
-
-    @Override
-    public ViewPane getViewPane() {
-        return null;
-    }
-
-    @Override
-    public void setCrumbs(final Component component) {
-    }
-
-    @Override
-    public void setDebug(final DebugPane debugPane) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/MenuItem.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/MenuItem.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/MenuItem.java
deleted file mode 100644
index 753be7f..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/MenuItem.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-
-public class MenuItem implements Component {
-    private final String actionId;
-    private final String actionName;
-    private final String objectId;
-    private final String actionDescription;
-    private final String reasonDisabled;
-    private final boolean takesParameters;
-    private final ActionType type;
-    private final PathBuilder pathBuilder;
-
-    public MenuItem(final PathBuilder pathBuilder, final String actionId, final String actionName, final String actionDescription, final String reasonDisabled, final ActionType type, final boolean takesParameters, final String objectId) {
-        this.actionId = actionId;
-        this.pathBuilder = pathBuilder;
-        this.actionName = actionName;
-        this.actionDescription = actionDescription;
-        this.reasonDisabled = reasonDisabled;
-        this.type = type;
-        this.takesParameters = takesParameters;
-        this.objectId = objectId;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print("<div class=\"menu-item\">");
-        if (isEmpty(reasonDisabled)) {
-            writeEnabledLink(writer);
-        } else {
-            writeDisabledLink(writer);
-        }
-        writer.println("</div>");
-    }
-
-    private boolean isEmpty(final String str) {
-        return str == null || str.length() == 0;
-    }
-
-    private void writeDisabledLink(final PrintWriter writer) {
-        writer.print("<div class=\"disabled\" title=\"");
-        writer.print(reasonDisabled);
-        writer.print("\">");
-        writer.print(actionName);
-        if (takesParameters) {
-            writer.print(". . .");
-        }
-        writer.print("</div>");
-    }
-
-    private void writeEnabledLink(final PrintWriter writer) {
-        writer.print("<a title=\"");
-        writer.print(actionDescription);
-        writer.print("\" href=\"");
-        writer.print(pathTo("method") + "?id=");
-        writer.print(objectId);
-        writer.print("&amp;action=");
-        writer.print(actionId);
-        writer.print("\">");
-        if (type == ActionType.EXPLORATION) {
-            writer.print("[");
-            writer.print(actionName);
-            writer.print("]");
-        } else {
-            writer.print(actionName);
-        }
-        if (takesParameters) {
-            writer.print(". . .");
-        }
-        writer.print("</a>");
-    }
-
-    protected String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ObjectIcon.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ObjectIcon.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ObjectIcon.java
deleted file mode 100644
index 68211b1..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ObjectIcon.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.image.ImageLookup;
-import org.apache.isis.viewer.html.request.Request;
-
-public class ObjectIcon implements Component {
-    private final ObjectAdapter element;
-    private final String id;
-    private final String style;
-    private final String description;
-    private final PathBuilder pathBuilder;
-
-    public ObjectIcon(final PathBuilder pathBuilder, final ObjectAdapter element, final String description, final String id, final String style) {
-        this.pathBuilder = pathBuilder;
-        this.element = element;
-        this.description = description;
-        this.id = id;
-        this.style = style;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print("<div class=\"");
-        writer.print(style);
-        writer.print("\"");
-        if (description != null) {
-            writer.print(" title=\"");
-            writer.print(description);
-            writer.print("\"");
-        }
-        writer.print(">");
-
-        writer.print("<a href=\"");
-        writer.print(pathTo(Request.OBJECT_COMMAND) + "?id=");
-        writer.print(id);
-        writer.print("\"><img src=\"");
-        writer.print(ImageLookup.image(element));
-        writer.print("\" alt=\"");
-        final String singularName = element.getSpecification().getSingularName();
-        writer.print(singularName);
-        writer.print("\"");
-        writer.print("/>");
-        writer.print(element.titleString());
-        writer.print("</a>");
-
-        writer.println("</div>");
-
-    }
-
-    protected String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/RegisterFormPage.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/RegisterFormPage.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/RegisterFormPage.java
deleted file mode 100644
index 751e592..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/RegisterFormPage.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Block;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.DebugPane;
-import org.apache.isis.viewer.html.component.ViewPane;
-
-public class RegisterFormPage extends AbstractHtmlPage {
-    private final String user;
-    private final String password;
-    private final String error;
-
-    public RegisterFormPage(final PathBuilder pathBuilder, final String styleSheet, final String header, final String footer, final String user, final String password, final String error) {
-        super(pathBuilder, styleSheet, header, footer);
-        this.user = user;
-        this.password = password;
-        this.error = error;
-    }
-
-    @Override
-    protected void writeContent(final PrintWriter writer) {
-        writer.println("<div id=\"view\">");
-        writer.println("<div class=\"header\">");
-        writer.println("<span class=\"header-text\">Please register by providing a user name and password.</span>");
-        writer.println("</div>");
-        writer.println("<FORM ACTION=\"" + pathTo("register") + "\" METHOD=\"post\">");
-        writer.println("<div id=\"content\">");
-        if (error != null) {
-            writer.println("<div class=\"error\">");
-            writer.println(error);
-            writer.println("</div>");
-        }
-        writer.println("<div class=\"field\"><span class=\"label\">User name</span>" + "<span class=\"separator\">: </span><INPUT NAME=\"username\" value=\"" + user + "\"></DIV>");
-        writer.println("<div class=\"field\"><span class=\"label\">Password</span>" + "<span class=\"separator\">: </span><INPUT TYPE=\"password\" NAME=\"password\" value=\"" + password + "\"></DIV>");
-        writer.println("<div class=\"field\"><span class=\"label\">Password (again)</span>" + "<span class=\"separator\">: </span><INPUT TYPE=\"password\" NAME=\"password2\" value=\"" + password + "\"></DIV>");
-        writer.println("<div class=\"action-button\"><INPUT TYPE=\"submit\" VALUE=\"Register\" NAME=\"Register\"></div>");
-        writer.print("<a class=\"link nav-link\" title=\"Back to the login page\" href=\"" + pathTo("login") + "\">back to login</a>");
-        writer.println("</div>");
-        writer.println("</FORM>");
-        writer.println("</div>");
-    }
-
-    protected String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-
-    @Override
-    public Block getNavigation() {
-        return null;
-    }
-
-    @Override
-    public ViewPane getViewPane() {
-        return null;
-    }
-
-    @Override
-    public void setCrumbs(final Component component) {
-    }
-
-    @Override
-    public void setDebug(final DebugPane debugPane) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Row.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Row.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Row.java
deleted file mode 100644
index 92c4ad5..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Row.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.ComponentComposite;
-
-class Row extends ComponentComposite {
-
-    public Row(final PathBuilder pathBuilder) {
-        super(pathBuilder);
-    }
-
-    private static final int TRUNCATE_LENGTH = 18;
-
-    @Override
-    protected void write(final PrintWriter writer, final Component component) {
-        writer.print("<td>");
-        component.write(writer);
-        writer.println("</td>");
-    }
-
-    public void addCell(final String string, final boolean truncate) {
-        String s;
-        if (truncate) {
-            s = string.substring(0, Math.min(TRUNCATE_LENGTH, string.length()));
-            if (string.length() > TRUNCATE_LENGTH) {
-                s += "...";
-            }
-        } else {
-            s = string;
-        }
-        add(new Html(pathBuilder, s));
-    }
-
-    public void addCell(final Component component) {
-        add(component);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ServiceComponent.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ServiceComponent.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ServiceComponent.java
deleted file mode 100644
index 29c4cfc..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ServiceComponent.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.image.ImageLookup;
-
-public class ServiceComponent implements Component {
-
-    private final String id;
-    private final String name;
-    private final String iconName;
-    private final PathBuilder pathBuilder;
-
-    public ServiceComponent(final PathBuilder pathBuilder, final String id, final String name, final String iconName) {
-        this.pathBuilder = pathBuilder;
-        this.id = id;
-        this.name = name;
-        this.iconName = iconName;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print("<div class=\"item\">");
-
-        writer.print("<a href=\"");
-        writer.print(pathTo("serviceOption") + "?id=");
-        writer.print(id);
-        writer.print("\"><img src=\"");
-        writer.print(ImageLookup.image(iconName));
-        writer.print("\" alt=\"service\" />");
-        writer.print(name);
-        writer.print("</a>");
-
-        writer.println("</div>");
-    }
-
-    protected String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Span.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Span.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Span.java
deleted file mode 100644
index b9684f1..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Span.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.commons.lang.StringEscapeUtils;
-
-import org.apache.isis.viewer.html.component.Component;
-
-public class Span implements Component {
-    private final String className;
-    private final String value;
-    private final String description;
-
-    public Span(final String className, final String value, final String description) {
-        this.className = className;
-        this.value = value;
-        this.description = description;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print("<span class=\"");
-        writer.print(className);
-        writer.print("\"");
-        if (description != null) {
-            writer.print(" title=\"");
-            writer.print(description);
-            writer.print("\"");
-        }
-        writer.print(">");
-        if (value != null) {
-            writer.print(StringEscapeUtils.escapeHtml(value));
-        }
-        writer.print("</span>");
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Submenu.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Submenu.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Submenu.java
deleted file mode 100644
index 7d5ad56..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/Submenu.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.component.Component;
-
-public class Submenu implements Component {
-
-    private final String menuName;
-    private final Component[] items;
-
-    public Submenu(final String menuName, final Component[] items) {
-        this.menuName = menuName;
-        this.items = items;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.println("<div class=\"submenu-item\">");
-        writer.println(menuName);
-        for (final Component item : items) {
-            item.write(writer);
-        }
-        writer.println("</div>");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/TableHeader.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/TableHeader.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/TableHeader.java
deleted file mode 100644
index 3c75955..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/TableHeader.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.ComponentComposite;
-
-class TableHeader extends ComponentComposite {
-
-    public TableHeader(final PathBuilder pathBuilder) {
-        super(pathBuilder);
-    }
-
-    @Override
-    protected void write(final PrintWriter writer, final Component component) {
-        writer.print("<th>");
-        component.write(writer);
-        writer.println("</th>");
-    }
-
-    public void addHeader(final String string) {
-        add(new Html(pathBuilder, string));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/TextBlock.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/TextBlock.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/TextBlock.java
deleted file mode 100644
index 8f1716a..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/TextBlock.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.ComponentAbstract;
-
-class TextBlock extends ComponentAbstract {
-    StringBuffer buffer = new StringBuffer();
-
-    public TextBlock(final PathBuilder pathBuilder, final String text) {
-        super(pathBuilder);
-        append(text);
-    }
-
-    public TextBlock(final PathBuilder pathBuilder) {
-        super(pathBuilder);
-    }
-
-    public void append(final String string) {
-        buffer.append(string);
-    }
-
-    public void appendBold(final String string) {
-        buffer.append("<b>");
-        buffer.append(string);
-        buffer.append("</b>");
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writeTag(writer, "p class=\"unknown\"");
-        writer.print(buffer.toString());
-        writer.println("</p>");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/UserSwapLink.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/UserSwapLink.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/UserSwapLink.java
deleted file mode 100644
index dad71c2..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/UserSwapLink.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/**
- * 
- */
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-
-final class UserSwapLink implements Component {
-    private final PathBuilder pathBuilder;
-    private final String name;
-
-    UserSwapLink(final PathBuilder pathBuilder, final String name) {
-        this.pathBuilder = pathBuilder;
-        this.name = name;
-    }
-
-    @Override
-    public void write(final PrintWriter writer) {
-        writer.print("<a class=\"user\" href=\"" + pathTo("setuser") + "?name=");
-        writer.print(name);
-        writer.print("\" title=\"Change user to " + name);
-        writer.print("\">");
-        writer.print(name);
-        writer.println("</a>");
-    }
-
-    protected String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ViewDiv.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ViewDiv.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ViewDiv.java
deleted file mode 100644
index 5b99d4e..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/component/html/ViewDiv.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.html.component.html;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.viewer.html.PathBuilder;
-import org.apache.isis.viewer.html.component.Component;
-import org.apache.isis.viewer.html.component.ComponentComposite;
-import org.apache.isis.viewer.html.component.ViewPane;
-import org.apache.isis.viewer.html.image.ImageLookup;
-
-public class ViewDiv extends ComponentComposite implements ViewPane {
-
-    private String iconName;
-    private String objectId;
-    private Component[] menu = new Component[0];
-    private String title;
-    private final List<String> messages = new ArrayList<String>();
-    private final List<String> warnings = new ArrayList<String>();
-    private String description;
-
-    public ViewDiv(final PathBuilder pathBuilder) {
-        super(pathBuilder);
-    }
-
-    @Override
-    public void setIconName(final String iconName) {
-        this.iconName = iconName;
-    }
-
-    public void setLink(final String objectId) {
-        this.objectId = objectId;
-    }
-
-    @Override
-    public void setMenu(final Component[] menu) {
-        this.menu = menu;
-    }
-
-    @Override
-    public void setTitle(final String title, final String description) {
-        this.title = title;
-        this.description = description;
-    }
-
-    @Override
-    public void setWarningsAndMessages(final List<String> messages, final List<String> warnings) {
-        this.messages.addAll(messages);
-        this.warnings.addAll(warnings);
-    }
-
-    @Override
-    protected void writeBefore(final PrintWriter writer) {
-        writer.println("<div id=\"view\">");
-        writeHeader(writer);
-        writeMenu(writer);
-        writer.println("<div id=\"content\">");
-    }
-
-    @Override
-    protected void writeAfter(final PrintWriter writer) {
-        writer.println("</div>");
-        writer.println("</div>");
-        writeMessages(writer);
-    }
-
-    private void writeMessages(final PrintWriter writer) {
-        if (warnings.size() > 0 || messages.size() > 0) {
-            writer.print("<div class=\"message-header\">");
-            for (final String warning : warnings) {
-                writer.print("<div class=\"warning\">");
-                writer.print(warning);
-                writer.println("</div>");
-            }
-            for (final String message : messages) {
-                writer.print("<div class=\"message\">");
-                writer.print(message);
-                writer.println("</div>");
-            }
-            writer.print("</div>");
-        }
-    }
-
-    private void writeMenu(final PrintWriter writer) {
-        writer.println("<div id=\"menu\">");
-        writer.println("<h3>Actions</h3>");
-        for (final Component element : menu) {
-            element.write(writer);
-        }
-        writer.println("</div>");
-    }
-
-    private void writeHeader(final PrintWriter writer) {
-        writer.print("<div class=\"header\"");
-        if (description != null) {
-            writer.print(" title=\"");
-            writer.print(description);
-            writer.print("\"");
-        }
-        writer.print(">");
-        if (objectId != null) {
-            writer.print("<a href=\"" + pathTo("object") + "?id=");
-            writer.print(objectId);
-            writer.print("\">");
-        }
-        if (iconName != null) {
-            writer.print("<span class=\"header-icon\"><img src=\"");
-            writer.print(ImageLookup.image(iconName));
-            writer.print("\" alt=\"icon\" /></span>");
-        }
-        writer.print("<span class=\"header-text\"");
-        writer.print(">");
-        writer.print(title);
-        writer.println("</span>");
-        if (objectId != null) {
-            writer.print("</a>");
-        }
-        writer.println("</div>");
-    }
-
-    @Override
-    protected String pathTo(final String prefix) {
-        return pathBuilder.pathTo(prefix);
-    }
-}