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 2016/05/21 07:10:02 UTC

[01/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Repository: isis
Updated Branches:
  refs/heads/master da4c9c5e1 -> cbb4c4cb1


http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/PercentageBarField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/PercentageBarField.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/PercentageBarField.java
deleted file mode 100644
index 54226ac..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/PercentageBarField.java
+++ /dev/null
@@ -1,124 +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.dnd.value;
-
-import org.apache.isis.object.ObjectAdapter;
-import org.apache.isis.extensions.dndviewer.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Click;
-import org.apache.isis.viewer.dnd.Color;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.InternalDrag;
-import org.apache.isis.viewer.dnd.Size;
-import org.apache.isis.viewer.dnd.Style;
-import org.apache.isis.viewer.dnd.ValueContent;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.basic.SimpleIdentifier;
-import org.apache.isis.viewer.dnd.core.AbstractFieldSpecification;
-
-
-public class PercentageBarField extends AbstractField {
-
-    public static class Specification extends AbstractFieldSpecification {
-        public View createView(Content content, ViewAxis axis) {
-            return new SimpleIdentifier(new PercentageBarField(content, this, axis));
-        }
-
-        public String getName() {
-            return "Percentage graph";
-        }
-        
-	    public boolean canDisplay(ObjectAdapter object) {
-	    	return object.getObject() instanceof Percentage;
-		}
-    }
-    
-    protected PercentageBarField(Content content, ViewSpecification specification, ViewAxis axis) {
-        super(content, specification, axis);
-    }
-
-    private Percentage entry = new Percentage();
-    
-    public void drag(InternalDrag drag) {
-        float x = drag.getLocation().getX() - 2;
-        setValue(x);
-    }
-
-    private void setValue(float x) {
-        float max = getSize().getWidth() - 4;
-        
-        if ((x >= 0) && (x <= max)) {
-            entry.setValue(x / max);
-            initiateSave();
-        }
-    }
-    
-    protected void save() {
- /*       try {
-            saveValue(entry);
-        } catch(InvalidEntryException e) {
-            throw new NotImplementedException();
-        }        
-   */
-        }
-
-    public void draw(Canvas canvas) {
-        super.draw(canvas);
-
-        Color color = getState().isObjectIdentified() ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        Size size = getSize();
-        int width = size.getWidth();
-        int height = size.getHeight();
-        canvas.drawRectangle(0, 0, width - 1, height - 1, color);
-
-        Percentage p = getPercentage();
-        int length = (int) ((width - 4) * p.floatValue());
-        canvas.drawSolidRectangle(2, 2, length, height - 5, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3));
-        canvas.drawRectangle(2, 2, length, height - 5, color);
-        canvas.drawText(p.title().toString(), 6, height - 5 - Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getDescent(), color,
-            Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-    }
-
-    public void firstClick(Click click) {
-        float x = click.getLocation().getX() - 2;
-        setValue(x);        
-    } 
-    
-    private Percentage getPercentage() {
-        ValueContent content = ((ValueContent) getContent());
-        Percentage percentage = (Percentage) content.getObject().getObject();
-
-        return percentage;
-    }
-
-    public Size getRequiredSize() {
-		Size size = super.getRequiredSize();
-		size.extendWidth(304);
-        return size; 
-
-    }
-/*
-    public void refresh() {
-    }
-*/
-}


[36/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/applib/src/main/java/org/apache/isis/progmodel/groovy/applib/DomainObjectBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/applib/src/main/java/org/apache/isis/progmodel/groovy/applib/DomainObjectBuilder.java b/mothballed/component/progmodel/groovy/applib/src/main/java/org/apache/isis/progmodel/groovy/applib/DomainObjectBuilder.java
deleted file mode 100644
index f5698d6..0000000
--- a/mothballed/component/progmodel/groovy/applib/src/main/java/org/apache/isis/progmodel/groovy/applib/DomainObjectBuilder.java
+++ /dev/null
@@ -1,72 +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.progmodel.groovy.applib;
-
-import groovy.util.ObjectGraphBuilder;
-
-import java.util.Map;
-
-import org.apache.isis.applib.DomainObjectContainer;
-
-public class DomainObjectBuilder<T> extends ObjectGraphBuilder {
-
-    private final DomainObjectContainer container;
-
-    public DomainObjectBuilder(final DomainObjectContainer container, final Class<?>... classes) {
-        this.container = container;
-        final ClassNameResolver classNameResolver = new ClassNameResolver() {
-            @Override
-            public String resolveClassname(final String classname) {
-                for (final Class<?> cls : classes) {
-                    final String packageName = cls.getPackage().getName();
-                    final String fqcn = packageName + "." + upperFirst(classname);
-                    try {
-                        Thread.currentThread().getContextClassLoader().loadClass(fqcn);
-                        return fqcn;
-                    } catch (final ClassNotFoundException ex) {
-                        // continue
-                    }
-                }
-                throw new RuntimeException("could not resolve " + classname + "'");
-            }
-
-        };
-        this.setClassNameResolver(classNameResolver);
-        final NewInstanceResolver instanceResolver = new DefaultNewInstanceResolver() {
-            @SuppressWarnings("unchecked")
-            @Override
-            public Object newInstance(final Class cls, final Map attributes) throws InstantiationException, IllegalAccessException {
-                return container.newTransientInstance(cls);
-            }
-        };
-        this.setNewInstanceResolver(instanceResolver);
-    }
-
-    private static String upperFirst(final String name) {
-        return name.substring(0, 1).toUpperCase() + name.substring(1);
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    protected Object createNode(final Object arg0, final Map arg1, final Object arg2) {
-        final Object domainObject = super.createNode(arg0, arg1, arg2);
-        container.persistIfNotAlready(domainObject);
-        return domainObject;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/applib/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/applib/src/site/apt/index.apt b/mothballed/component/progmodel/groovy/applib/src/site/apt/index.apt
deleted file mode 100644
index 31ab5b9..0000000
--- a/mothballed/component/progmodel/groovy/applib/src/site/apt/index.apt
+++ /dev/null
@@ -1,29 +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.
-
-Documentation
-
-  The <Groovy Objects> applib defines:
-  
-  * helper classes for writing fixtures
-
-  * a transitive dependency to the <Isis> applib
- 
-  []
-   
-  See the {{{../../docbkx/html/guide/isis-progmodels.html}Isis Programming Model user guide}} for more information.
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/applib/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/applib/src/site/apt/jottings.apt b/mothballed/component/progmodel/groovy/applib/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/progmodel/groovy/applib/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/applib/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/applib/src/site/site.xml b/mothballed/component/progmodel/groovy/applib/src/site/site.xml
deleted file mode 100644
index 725e8ca..0000000
--- a/mothballed/component/progmodel/groovy/applib/src/site/site.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project name="${project.name}">
-	<body>
-		<breadcrumbs>
-			<item name="Applib" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="Groovy Applib">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Groovy Modules">
-            <item name="Applib" href="../groovy-applib/index.html" />
-            <item name="Metamodel" href="../groovy-metamodel/index.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/metamodel/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/metamodel/pom.xml b/mothballed/component/progmodel/groovy/metamodel/pom.xml
deleted file mode 100644
index a69aaf0..0000000
--- a/mothballed/component/progmodel/groovy/metamodel/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.progmodel</groupId>
-		<artifactId>isis-progmodel-groovy</artifactId>
-		<version>1.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-progmodel-groovy-metamodel</artifactId>
-	<name>Isis Groovy ProgModel MetaModel</name>
-
-	<properties>
-		<siteBaseDir>..</siteBaseDir>
-		<relativeUrl>metamodel/</relativeUrl>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.progmodel</groupId>
-			<artifactId>isis-progmodel-groovy-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-metamodel</artifactId>
-		</dependency>
-
-		<!-- is marked as optional in parent, so not exported as a transitive dependency -->
-		<dependency>
-			<groupId>org.codehaus.groovy</groupId>
-			<artifactId>groovy-all</artifactId>
-		</dependency>
-	</dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/metamodel/src/main/java/org/apache/isis/progmodel/groovy/metamodel/RemoveGroovyMethodsFacetFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/metamodel/src/main/java/org/apache/isis/progmodel/groovy/metamodel/RemoveGroovyMethodsFacetFactory.java b/mothballed/component/progmodel/groovy/metamodel/src/main/java/org/apache/isis/progmodel/groovy/metamodel/RemoveGroovyMethodsFacetFactory.java
deleted file mode 100644
index c2346af..0000000
--- a/mothballed/component/progmodel/groovy/metamodel/src/main/java/org/apache/isis/progmodel/groovy/metamodel/RemoveGroovyMethodsFacetFactory.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.progmodel.groovy.metamodel;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationAware;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MethodRemover;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-
-public class RemoveGroovyMethodsFacetFactory extends FacetFactoryAbstract implements IsisConfigurationAware {
-
-    private static final String DEPTH_KEY = "isis.groovy.depth";
-    private static final int DEPTH_DEFAULT = 5;
-
-    private IsisConfiguration configuration;
-
-    public RemoveGroovyMethodsFacetFactory() {
-        super(FeatureType.OBJECTS_ONLY);
-    }
-
-    static class MethodSpec {
-        static class Builder {
-
-            private final MethodSpec methodSpec = new MethodSpec();
-
-            public Builder param(final Class<?>... paramTypes) {
-                methodSpec.parameterTypes = paramTypes;
-                return this;
-            }
-
-            public Builder ret(final Class<?> returnType) {
-                methodSpec.returnType = returnType;
-                return this;
-            }
-
-            public MethodSpec build() {
-                return methodSpec;
-            }
-
-            public void remove(final MethodRemover remover) {
-                build().removeMethod(remover);
-            }
-        }
-
-        static Builder specFor(final String methodName) {
-            final Builder builder = new Builder();
-            builder.methodSpec.methodName = methodName;
-            return builder;
-        }
-
-        static Builder specFor(final String formatStr, final Object... args) {
-            return specFor(String.format(formatStr, args));
-        }
-
-        private String methodName;
-        private Class<?> returnType = void.class;
-        private Class<?>[] parameterTypes = new Class[0];
-
-        void removeMethod(final MethodRemover methodRemover) {
-            methodRemover.removeMethod(MethodScope.OBJECT, methodName, returnType, parameterTypes);
-        }
-    }
-
-    @Override
-    public void process(final ProcessClassContext processClassContext) {
-        MethodSpec.specFor("invokeMethod").param(String.class, Object.class).ret(Object.class).remove(processClassContext);
-        MethodSpec.specFor("getMetaClass").ret(groovy.lang.MetaClass.class).remove(processClassContext);
-        MethodSpec.specFor("setMetaClass").param(groovy.lang.MetaClass.class).remove(processClassContext);
-        MethodSpec.specFor("getProperty").param(String.class).ret(Object.class).remove(processClassContext);
-
-        final int depth = determineDepth();
-        for (int i = 1; i < depth; i++) {
-            MethodSpec.specFor("this$dist$invoke$%d", i).param(String.class, Object.class).ret(Object.class).remove(processClassContext);
-            MethodSpec.specFor("this$dist$set$%d", i).param(String.class, Object.class).remove(processClassContext);
-            MethodSpec.specFor("this$dist$get$%d", i).param(String.class).ret(Object.class).remove(processClassContext);
-        }
-        final Method[] methods = processClassContext.getCls().getMethods();
-        for (final Method method : methods) {
-            if (method.getName().startsWith("super$")) {
-                processClassContext.removeMethod(method);
-            }
-        }
-    }
-
-    private int determineDepth() {
-        final int depth = configuration.getInteger(DEPTH_KEY, DEPTH_DEFAULT);
-        return depth;
-    }
-
-    @Override
-    public void setConfiguration(final IsisConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/metamodel/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/metamodel/src/site/apt/index.apt b/mothballed/component/progmodel/groovy/metamodel/src/site/apt/index.apt
deleted file mode 100644
index 2887427..0000000
--- a/mothballed/component/progmodel/groovy/metamodel/src/site/apt/index.apt
+++ /dev/null
@@ -1,28 +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.
-
-Documentation
-
-  The <Groovy Objects> metamodel provides the customization required for <Isis> so that it can build the metamodel from
-  domain objects written in Groovy. 
- 
-  []
-
-  See the {{{../../docbkx/html/guide/isis-progmodels.html}Isis Programming Model user guide}} for more information.
-   
-~~  See the {{{../gdocumentation}user guide}} for more information as to how this is configured.
-  

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/metamodel/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/metamodel/src/site/apt/jottings.apt b/mothballed/component/progmodel/groovy/metamodel/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/progmodel/groovy/metamodel/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/metamodel/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/metamodel/src/site/site.xml b/mothballed/component/progmodel/groovy/metamodel/src/site/site.xml
deleted file mode 100644
index 64831c1..0000000
--- a/mothballed/component/progmodel/groovy/metamodel/src/site/site.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project name="${project.name}">
-	<body>
-		<breadcrumbs>
-			<item name="MetaModel" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="Groovy MetaModel">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Groovy Modules">
-            <item name="Applib" href="../groovy-applib/index.html" />
-            <item name="Metamodel" href="../groovy-metamodel/index.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/pom.xml b/mothballed/component/progmodel/groovy/pom.xml
deleted file mode 100644
index 86206cc..0000000
--- a/mothballed/component/progmodel/groovy/pom.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.6.0-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-	</parent>
-
-	<groupId>org.apache.isis.progmodel</groupId>
-	<artifactId>isis-progmodel-groovy</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-	<name>Isis Groovy ProgModel</name>
-
-	<packaging>pom</packaging>
-
-	<properties>
-		<siteBaseDir>.</siteBaseDir>
-		<relativeUrl/>
-
-		<groovy.version>2.1.3</groovy.version>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.10</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
-	
-	<modules>
-		<module>applib</module>
-		<module>metamodel</module>
-	</modules>
-
-	<dependencyManagement>
-		<dependencies>
-
-	    	<!-- also for benefit of application developers, using scope=import -->
-
-			<!-- Groovy Support -->
-			<dependency>
-				<groupId>org.apache.isis.progmodel</groupId>
-				<artifactId>isis-progmodel-groovy-applib</artifactId>
-				<version>1.0.0-SNAPSHOT</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.isis.progmodel</groupId>
-				<artifactId>isis-progmodel-groovy-metamodel</artifactId>
-				<version>1.0.0-SNAPSHOT</version>
-			</dependency>
-
-			<!-- Groovy -->
-			<dependency>
-				<groupId>org.codehaus.groovy</groupId>
-				<artifactId>groovy-all</artifactId>
-				<version>${groovy.version}</version>
-				<scope>compile</scope>
-				<optional>true</optional>
-			</dependency>
-
-		</dependencies>
-	</dependencyManagement>
-
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/src/main/appended-resources/supplemental-models.xml b/mothballed/component/progmodel/groovy/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/mothballed/component/progmodel/groovy/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-   	<!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
-    <project>
-		<groupId>org.datanucleus</groupId>
-	    <artifactId>datanucleus-jodatime</artifactId>
-	    <version>3.1.1</version>
-          <licenses>
-			<license>
-	            <name>The Apache Software License, Version 2.0</name>
-	            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-	        </license>
-	    </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>org.scannotation</groupId>
-      <artifactId>scannotation</artifactId>
-      <version>1.0.3</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-    
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>net.jcip</groupId>
-      <artifactId>jcip-annotations</artifactId>
-      <version>1.0</version>
-      <licenses>
-        <license>
-            <name>Creative Commons Attribution 2.5 License</name>
-            <url>http://creativecommons.org/licenses/by/2.5/</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  
-
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.0</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
- 
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/src/site/apt/index.apt b/mothballed/component/progmodel/groovy/src/site/apt/index.apt
deleted file mode 100644
index fe34cef..0000000
--- a/mothballed/component/progmodel/groovy/src/site/apt/index.apt
+++ /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.
-
-Groovy Programming Model
- 
- The <groovy progmodel> configures Apache Isis to allow you to write your domain objects 
- in {{{http://groovy.codehaus.org}Groovy}}.
- 
- The conventions are based on the <default programming> model; the purposes of this 
- programming model is to instruct Isis to ignore synthetic methods created by the
- Groovy compiler.
- 
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}default}} programming model.
-  
-    For domain objects written with Java.
-
-  * the {{{../wrapper/index.html}wrapper}} programming model.
-  
-    This extends the default programming model by providing the ability for domain objects to
-    interact with each other <as if> through the user interface (that is, obeying any business
-    rules that would otherwise be enforced at the application layer).
-
-  []
-  
-  Note that these are <not> necessarily mutually exclusive (they can be combined). 
-  

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/src/site/apt/jottings.apt b/mothballed/component/progmodel/groovy/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/progmodel/groovy/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/src/site/resources/images/HexagonalArchitectureOverview.png
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/src/site/resources/images/HexagonalArchitectureOverview.png b/mothballed/component/progmodel/groovy/src/site/resources/images/HexagonalArchitectureOverview.png
deleted file mode 100644
index fd3db18..0000000
Binary files a/mothballed/component/progmodel/groovy/src/site/resources/images/HexagonalArchitectureOverview.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/src/site/resources/images/NO-powered-by-logo.png
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/src/site/resources/images/NO-powered-by-logo.png b/mothballed/component/progmodel/groovy/src/site/resources/images/NO-powered-by-logo.png
deleted file mode 100644
index 802db39..0000000
Binary files a/mothballed/component/progmodel/groovy/src/site/resources/images/NO-powered-by-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/src/site/resources/images/hal-logo-for-maven-site.jpg
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/src/site/resources/images/hal-logo-for-maven-site.jpg b/mothballed/component/progmodel/groovy/src/site/resources/images/hal-logo-for-maven-site.jpg
deleted file mode 100644
index 7c508b4..0000000
Binary files a/mothballed/component/progmodel/groovy/src/site/resources/images/hal-logo-for-maven-site.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/src/site/site.xml b/mothballed/component/progmodel/groovy/src/site/site.xml
deleted file mode 100644
index 87ad7f5..0000000
--- a/mothballed/component/progmodel/groovy/src/site/site.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project name="${project.name}">
-
-	<body>
-		<breadcrumbs>
-			<item name="Groovy" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="Groovy Support">
-			<item name="About" href="index.html" />
-            <item name="Groovy" href="http://groovy.codehaus.org" />
-		</menu>
-
-        <menu name="Progmodel Modules">
-            <item name="Default (Java)" href="../dflt/index.html" />
-            <item name="Groovy" href="../groovy/index.html" />
-            <item name="Wrapper" href="../wrapper/index.html" />
-        </menu>
-		
-        <menu name="Groovy Modules">
-            <item name="Applib" href="./groovy-applib/index.html" />
-            <item name="Metamodel" href="./groovy-metamodel/index.html" />
-        </menu>
-
-		<menu name="Maven Reports" ref="reports" />
-	</body>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/NOTICE b/mothballed/component/security/file/NOTICE
deleted file mode 100644
index a93e145..0000000
--- a/mothballed/component/security/file/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2014 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/pom.xml b/mothballed/component/security/file/pom.xml
deleted file mode 100644
index 9086417..0000000
--- a/mothballed/component/security/file/pom.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.5.0</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-	</parent>
-
-	<groupId>org.apache.isis.security</groupId>
-	<artifactId>isis-security-file</artifactId>
-    <version>1.6.0-SNAPSHOT</version>
-
-	<name>Isis File Security</name>
-
-	<properties>
-        <siteBaseDir>.</siteBaseDir>
-		<relativeUrl />
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.10</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
-	
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-    
-    <dependencyManagement>
-    	<!-- for benefit of application developers, using scope=import -->
-    	<dependencies>
-			<dependency>
-			    <groupId>org.apache.isis.security</groupId>
-			    <artifactId>isis-security-file</artifactId>
-				<version>1.5.0-SNAPSHOT</version>
-			</dependency>
-    	</dependencies>
-    </dependencyManagement>
-
-	<dependencies>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		</dependency>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		    <type>test-jar</type>
-		    <scope>test</scope>
-		</dependency>
-	</dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/main/appended-resources/supplemental-models.xml b/mothballed/component/security/file/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index 71f6185..0000000
--- a/mothballed/component/security/file/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationConstants.java b/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationConstants.java
deleted file mode 100644
index 0155005..0000000
--- a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationConstants.java
+++ /dev/null
@@ -1,29 +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.security.file.authentication;
-
-public class FileAuthenticationConstants {
-
-    public static final String PASSWORDS_FILE = "authentication_file.passwords";
-
-    private FileAuthenticationConstants() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationManagerInstaller.java b/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationManagerInstaller.java
deleted file mode 100644
index 0c27e3b..0000000
--- a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationManagerInstaller.java
+++ /dev/null
@@ -1,43 +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.security.file.authentication;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authentication.AuthenticationManagerStandardInstallerAbstractForDfltRuntime;
-import org.apache.isis.core.runtime.authentication.standard.Authenticator;
-
-public class FileAuthenticationManagerInstaller extends AuthenticationManagerStandardInstallerAbstractForDfltRuntime {
-
-    public static final String NAME = "file";
-
-    public FileAuthenticationManagerInstaller() {
-        super(NAME);
-    }
-
-    @Override
-    protected List<Authenticator> createAuthenticators(final IsisConfiguration configuration) {
-        return Lists.<Authenticator> newArrayList(new FileAuthenticator(configuration));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticator.java b/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticator.java
deleted file mode 100644
index 304c21b..0000000
--- a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticator.java
+++ /dev/null
@@ -1,123 +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.security.file.authentication;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-import com.google.common.base.Strings;
-import com.google.inject.Inject;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.lang.CloseableExtensions;
-import org.apache.isis.core.commons.resource.ResourceStreamSource;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-import org.apache.isis.core.runtime.authentication.standard.PasswordRequestAuthenticatorAbstract;
-
-public class FileAuthenticator extends PasswordRequestAuthenticatorAbstract {
-
-    private final ResourceStreamSource resourceStreamSource;
-
-    @Inject
-    public FileAuthenticator(final IsisConfiguration configuration) {
-        super(configuration);
-        this.resourceStreamSource = configuration.getResourceStreamSource();
-    }
-
-    @Override
-    public final boolean isValid(final AuthenticationRequest request) {
-        final AuthenticationRequestPassword passwordRequest = (AuthenticationRequestPassword) request;
-        final String username = passwordRequest.getName();
-        if (Strings.isNullOrEmpty(username)) {
-            return false;
-        }
-        final String password = passwordRequest.getPassword();
-        Assert.assertNotNull(password);
-
-        BufferedReader reader = null;
-        try {
-            final InputStream readStream = resourceStreamSource.readResource(FileAuthenticationConstants.PASSWORDS_FILE);
-            if (readStream == null) {
-                throw new IsisException("Failed to open password file: " + FileAuthenticationConstants.PASSWORDS_FILE + " from " + resourceStreamSource.getName());
-            }
-            reader = new BufferedReader(new InputStreamReader(readStream));
-            String line;
-            while ((line = reader.readLine()) != null) {
-                if (commentedOutOrEmpty(line)) {
-                    continue;
-                }
-                if (line.indexOf(':') == -1) {
-                    throw new IsisException("Invalid entry in password file - no colon (:) found on line: " + line);
-                }
-                final String name = line.substring(0, line.indexOf(':'));
-                if (!name.equals(username)) {
-                    continue;
-                }
-
-                return isPasswordValidForUser(request, password, line);
-            }
-            return false;
-        } catch (final IOException e) {
-            throw new IsisException("Failed to read password file: " + FileAuthenticationConstants.PASSWORDS_FILE + " from " + resourceStreamSource.getName());
-        } finally {
-            CloseableExtensions.closeSafely(reader);
-        }
-
-    }
-
-    private boolean commentedOutOrEmpty(final String line) {
-        return line.startsWith("#") || line.trim().length() == 0;
-    }
-
-    private boolean isPasswordValidForUser(final AuthenticationRequest request, final String password, final String line) {
-        final int posFirstColon = line.indexOf(':');
-        final int posPasswordStart = posFirstColon + 1;
-
-        final int posSecondColonIfAny = line.indexOf(':', posPasswordStart);
-        final int posPasswordEnd = posSecondColonIfAny == -1 ? line.length() : posSecondColonIfAny;
-
-        final String parsedPassword = line.substring(posPasswordStart, posPasswordEnd);
-        if (parsedPassword.equals(password)) {
-            if (posSecondColonIfAny != -1) {
-                setRoles(request, line.substring(posSecondColonIfAny + 1));
-            }
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    private final void setRoles(final AuthenticationRequest request, final String line) {
-        final StringTokenizer tokens = new StringTokenizer(line, "|", false);
-        final String[] roles = new String[tokens.countTokens()];
-        for (int i = 0; tokens.hasMoreTokens(); i++) {
-            roles[i] = tokens.nextToken();
-        }
-        request.setRoles(Arrays.asList(roles));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationConstants.java b/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationConstants.java
deleted file mode 100644
index 972a84c..0000000
--- a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationConstants.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.security.file.authorization;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizationConstants;
-
-public final class FileAuthorizationConstants {
-
-    private static final String ROOT = ConfigurationConstants.ROOT + AuthorizationManagerInstaller.TYPE + "."
-        + FileAuthorizationManagerInstaller.NAME + ".";
-
-    public static final String WHITELIST_RESOURCE_KEY = ROOT + "whitelist";
-    public static final String WHITELIST_RESOURCE_DEFAULT = "authorization_file.allow";
-
-    public static final String BLACKLIST_RESOURCE_KEY = ROOT + "blacklist";
-    public static final String BLACKLIST_RESOURCE_DEFAULT = "";
-
-    public static final String LEARN = AuthorizationConstants.LEARN;
-    public static final boolean LEARN_DEFAULT = AuthorizationConstants.LEARN_DEFAULT;
-
-    public static final String WHITELIST_EMPTY = ROOT + "whitelist.empty.isallowed";
-    public static final boolean WHITELIST_EMPTY_DEFAULT = false;
-
-    private FileAuthorizationConstants() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationManagerInstaller.java b/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationManagerInstaller.java
deleted file mode 100644
index ebcc9fa..0000000
--- a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationManagerInstaller.java
+++ /dev/null
@@ -1,39 +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.security.file.authorization;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandardInstallerAbstract;
-import org.apache.isis.core.runtime.authorization.standard.Authorizor;
-
-public class FileAuthorizationManagerInstaller extends AuthorizationManagerStandardInstallerAbstract {
-
-    public static final String NAME = "file";
-
-    public FileAuthorizationManagerInstaller() {
-        super(NAME);
-    }
-
-    @Override
-    protected Authorizor createAuthorizor(final IsisConfiguration configuration) {
-        return new FileAuthorizor(configuration);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizor.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizor.java b/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizor.java
deleted file mode 100644
index 3bb1e57..0000000
--- a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizor.java
+++ /dev/null
@@ -1,360 +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.security.file.authorization;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationException;
-import org.apache.isis.core.commons.config.JmxBeanServer;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.resource.ResourceStreamSource;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizorAbstract;
-
-public class FileAuthorizor extends AuthorizorAbstract implements FileAuthorizorMBean {
-
-    private static final Logger LOG = LoggerFactory.getLogger(FileAuthorizor.class);
-
-    private static final String NONE = "";
-    private static final String ACCESS_QUALIFIER_RO = "-ro";
-    private static final String ACCESS_QUALIFIER_RW = "-rw";
-
-    private Map<String, List<String>> whiteListMap;
-    private Map<String, List<String>> blackListMap;
-
-    private final ResourceStreamSource resourceStreamSource;
-    private final boolean learn;
-
-    private final String whiteListResourceName;
-    private InputStream whiteListInputResource;
-    private final boolean whiteListEmptyAllowed;
-
-    private final String blackListResourceName;
-    private InputStream blackListInputResource;
-
-    private boolean printedWarning;
-    private boolean printedDebug;
-
-    public FileAuthorizor(final IsisConfiguration configuration) {
-        super(configuration);
-
-        // read from config
-        this.resourceStreamSource = getConfiguration().getResourceStreamSource();
-
-        this.learn =
-            getConfiguration().getBoolean(FileAuthorizationConstants.LEARN, FileAuthorizationConstants.LEARN_DEFAULT);
-        whiteListResourceName =
-            getConfiguration().getString(FileAuthorizationConstants.WHITELIST_RESOURCE_KEY,
-                FileAuthorizationConstants.WHITELIST_RESOURCE_DEFAULT);
-        Assert.assertTrue(whiteListResourceName.length() > 0);
-
-        whiteListEmptyAllowed =
-            getConfiguration().getBoolean(FileAuthorizationConstants.WHITELIST_EMPTY,
-                FileAuthorizationConstants.WHITELIST_EMPTY_DEFAULT);
-
-        blackListResourceName =
-            getConfiguration().getString(FileAuthorizationConstants.BLACKLIST_RESOURCE_KEY,
-                FileAuthorizationConstants.BLACKLIST_RESOURCE_DEFAULT);
-
-        findResources();
-    }
-
-    private void findResources() {
-        whiteListInputResource = resourceStreamSource.readResource(whiteListResourceName);
-        if (whiteListInputResource == null) {
-            throw new IsisException("Cannot read whitelist authorization file: " + whiteListResourceName);
-        }
-
-        if (blackListResourceName.length() > 0) {
-            this.blackListInputResource = resourceStreamSource.readResource(blackListResourceName);
-            if (blackListInputResource == null) {
-                throw new IsisException("Blacklist authorization file exists, but it cannot be read: "
-                    + blackListResourceName);
-            }
-        } else {
-            blackListInputResource = null;
-        }
-    }
-
-    // //////////////////////////////////////////////////////////////
-    // init, shutdown
-    // //////////////////////////////////////////////////////////////
-
-    @Override
-    public void init() {
-        whiteListMap = Maps.newHashMap();
-        blackListMap = Maps.newHashMap();
-
-        // initialize
-        if (learn) {
-            return;
-        }
-        cacheAuthorizationDetails(whiteListMap, whiteListInputResource, whiteListResourceName);
-        if (blackListInputResource != null) {
-            cacheAuthorizationDetails(blackListMap, blackListInputResource, blackListResourceName);
-        }
-
-        JmxBeanServer.getInstance().register("file-authorizer", this);
-    }
-
-    @Override
-    public void reload() {
-        final Map<String, List<String>> whiteListMap = Maps.newHashMap();
-        final Map<String, List<String>> blackListMap = Maps.newHashMap();
-
-        findResources();
-        cacheAuthorizationDetails(whiteListMap, whiteListInputResource, null);
-        if (blackListInputResource != null) {
-            cacheAuthorizationDetails(blackListMap, blackListInputResource, null);
-            this.blackListMap = blackListMap;
-        }
-        this.whiteListMap = whiteListMap;
-    }
-
-    private void cacheAuthorizationDetails(final Map<String, List<String>> map, final InputStream inputStream,
-        String resourceName) {
-        try {
-            if (LOG.isInfoEnabled()) {
-                LOG.info("loading authorization details from " + resourceName);
-            }
-            final BufferedReader buffReader = new BufferedReader(new InputStreamReader(inputStream));
-            for (String line; (line = buffReader.readLine()) != null;) {
-                tokenizeLine(map, line);
-            }
-            buffReader.close();
-        } catch (final Exception e) {
-            throw new IsisException(e);
-        }
-    }
-
-    private void tokenizeLine(final Map<String, List<String>> map, final String line) {
-        if (line.trim().startsWith("#") || line.trim().length() == 0) {
-            return;
-        }
-        final int pos = line.trim().indexOf(">");
-        if (pos == -1) {
-            final StringTokenizer tokens = new StringTokenizer(line.trim(), ":", false);
-            if (tokens.countTokens() != 2) {
-                throw new IsisConfigurationException("Invalid line: " + line);
-            }
-            final String token1 = tokens.nextToken();
-            final String token2 = tokens.nextToken();
-            final Identifier identifier = memberFromString(token1.trim());
-            final List<String> roles = tokenizeRoles(token2);
-            final String identityString = identifier.toIdentityString(Identifier.CLASS_MEMBERNAME_PARAMETERS);
-            map.put(identityString, roles);
-        } else {
-            final Map<String, List<String>> newRules = new HashMap<String, List<String>>();
-            for (final String name : map.keySet()) {
-                final String originalName = line.trim().substring(0, pos);
-                final String redirectedName = line.trim().substring(pos + 1);
-                if (name.startsWith(redirectedName)) {
-                    final String id = originalName + name.substring(redirectedName.length());
-                    final List<String> roles = map.get(name);
-                    newRules.put(id, roles);
-                }
-            }
-            map.putAll(newRules);
-        }
-    }
-
-    private Identifier memberFromString(final String identifier) {
-        return Identifier.fromIdentityString(identifier);
-    }
-
-    private List<String> tokenizeRoles(final String allRoles) {
-        final List<String> roles = new ArrayList<String>();
-        final StringTokenizer tokens = new StringTokenizer(allRoles, "|", false);
-        while (tokens.hasMoreTokens()) {
-            final String nextToken = tokens.nextToken();
-            final String trimmedNextToken = nextToken.trim();
-            roles.add(trimmedNextToken);
-        }
-        return roles;
-    }
-
-    @Override
-    public void shutdown() {
-        if (learn) {
-            writeMap();
-        }
-    }
-
-    // //////////////////////////////////////////////////////////////
-    // API
-    // //////////////////////////////////////////////////////////////
-
-    @Override
-    public boolean isUsableInRole(final String role, final Identifier member) {
-        if(role == null) {
-            return false;
-        }
-        return isAuthorized(role, member, Arrays.asList(NONE, ACCESS_QUALIFIER_RW));
-    }
-
-    @Override
-    public boolean isVisibleInRole(final String role, final Identifier member) {
-        if(role == null) {
-            return false;
-        }
-        return isAuthorized(role, member, Arrays.asList(NONE, ACCESS_QUALIFIER_RO, ACCESS_QUALIFIER_RW));
-    }
-
-    private boolean isAuthorized(final String role, final Identifier member, final List<String> qualifiers) {
-        if (learn) {
-            return learn(role, member);
-        }
-        return isWhiteListed(role, member, qualifiers, whiteListEmptyAllowed)
-            && !isBlackListed(role, member, qualifiers);
-    }
-
-    private boolean isWhiteListed(final String role, final Identifier member, final List<String> qualifiers,
-        boolean defaultIfEmpty) {
-        return isListed(whiteListMap, role, member, qualifiers, defaultIfEmpty);
-    }
-
-    private boolean isBlackListed(final String role, final Identifier member, final List<String> qualifiers) {
-        return isListed(blackListMap, role, member, qualifiers, false);
-    }
-
-    /*
-     * Work through the available entries from most specific to least. When one exists then determine the result of this
-     * method by looking for a compatible role between the entry and required role.
-     */
-    private boolean isListed(final Map<String, List<String>> map, final String role, final Identifier identifier,
-        final List<String> qualifiers, boolean defaultIfEmpty) {
-        if (map.isEmpty()) {// quick fail
-            return defaultIfEmpty;
-        }
-        List<String> roles;
-        roles = rolesFor(map, identifier.toIdentityString(Identifier.CLASS_MEMBERNAME_PARAMETERS));
-        if (roles == null) {
-            roles = rolesFor(map, identifier.toIdentityString(Identifier.CLASS_MEMBERNAME));
-        }
-        if (roles == null) {
-            roles = rolesFor(map, identifier.toIdentityString(Identifier.CLASS));
-        }
-        if (roles == null) {
-            roles = rolesFor(map, "*#" + identifier.toIdentityString(Identifier.MEMBERNAME_ONLY));
-        }
-        if (roles != null) {
-            for (final String qualifier : qualifiers) {
-                final String qualifiedRole = role + qualifier;
-                if (roles.contains(qualifiedRole)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    private List<String> rolesFor(final Map<String, List<String>> map, final String key) {
-        if (map.containsKey(key)) {
-            return map.get(key);
-        } else {
-            return null;
-        }
-    }
-
-    private boolean learn(final String role, final Identifier member) {
-        final String identityString = member.toIdentityString(Identifier.CLASS_MEMBERNAME_PARAMETERS);
-        if (whiteListMap.containsKey(identityString)) {
-            final List<String> roles = whiteListMap.get(identityString);
-            if (!roles.contains(role)) {
-                roles.add(role);
-            }
-        } else {
-            whiteListMap.put(identityString, Arrays.asList(new String[] { role }));
-        }
-
-        // REVIEW: might be too labour intensive
-        writeMap();
-        return true;
-    }
-
-    private void writeMap() {
-        try {
-            final OutputStream whiteListOutputResource = resourceStreamSource.writeResource(whiteListResourceName);
-            if (whiteListOutputResource == null) {
-                if (!printedWarning) {
-                    LOG.warn("unable to write out authorisation details");
-                    printedWarning = true; // just to stop flooding log
-                }
-                return;
-            }
-            if (LOG.isDebugEnabled() && !printedDebug) {
-                LOG.debug("writing authorisation details to " + whiteListResourceName);
-                printedDebug = true; // just to stop flooding log
-            }
-
-            final Set<Entry<String, List<String>>> entrySet = whiteListMap.entrySet();
-            final List<Entry<String, List<String>>> entryList = Lists.newArrayList(entrySet);
-
-            final OutputStreamWriter fileWriter = new OutputStreamWriter(whiteListOutputResource);
-            final BufferedWriter buffWriter = new BufferedWriter(fileWriter);
-            for (final Map.Entry<String, List<String>> entry : entryList) {
-                writeTo(entry, buffWriter);
-            }
-            buffWriter.flush();
-            buffWriter.close();
-
-        } catch (final IOException e) {
-            throw new IsisException(e);
-        }
-    }
-
-    public void writeTo(final Map.Entry<String, List<String>> entry, final BufferedWriter buffWriter)
-        throws IOException {
-        final StringBuffer buff = new StringBuffer();
-        buff.append(entry.getKey()).append(":");
-        final List<String> roles = entry.getValue();
-        for (int j = 0; j < roles.size(); j++) {
-            buff.append(roles.get(j));
-            if (j < roles.size() - 1) {
-                buff.append("|");
-            }
-        }
-        buffWriter.write(buff.toString());
-        buffWriter.newLine();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizorMBean.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizorMBean.java b/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizorMBean.java
deleted file mode 100644
index 611673e..0000000
--- a/mothballed/component/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizorMBean.java
+++ /dev/null
@@ -1,24 +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.security.file.authorization;
-
-public interface FileAuthorizorMBean {
-
-    void reload();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/site/apt/index.apt b/mothballed/component/security/file/src/site/apt/index.apt
deleted file mode 100644
index ff097f5..0000000
--- a/mothballed/component/security/file/src/site/apt/index.apt
+++ /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.
-
-
-
-Security File Implementation
- 
- The <file security> module is a simple implementation of Isis' authentication and
- authorization APIs, that uses flat files store user/passwords/roles (for authentication)
- and role-based permissions (for authorization).
- 
- Because of critical information stored in flat files, this implementation is unlikely to 
- be suitable for deployment, but it is valuable both for prototyping and building
- up roles/permission sets (eg to be imported into some other implementation).  It is
- also useful as a example implementation that can be enhanced as required.
- 
- See the security 
- {{{../docbkx/html/guide/isis-security.html}HTML}} or 
- {{{../docbkx/pdf/isis-security.pdf}PDF}} documentation for more detail.
- 
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}default}} (no-op) security implementation, for prototyping use only
-
-  * the {{{../ldap/index.html}LDAP}} security
-
-  * the {{{../sql/index.html}SQL}} security (reading from simple SQL tables)
-
-  []
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/site/apt/jottings.apt b/mothballed/component/security/file/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/security/file/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/file/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/file/src/site/site.xml b/mothballed/component/security/file/src/site/site.xml
deleted file mode 100644
index 2a8b1c1..0000000
--- a/mothballed/component/security/file/src/site/site.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="File" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="File Security">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Security Modules">
-            <item name="Default (No-op)" href="../dflt/index.html" />
-            <item name="File" href="../file/index.html" />
-            <item name="LDAP" href="../ldap/index.html" />
-            <item name="SQL" href="../sql/index.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/NOTICE b/mothballed/component/security/ldap/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/mothballed/component/security/ldap/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/ldap-conf/example.ldif
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/ldap-conf/example.ldif b/mothballed/component/security/ldap/ldap-conf/example.ldif
deleted file mode 100644
index 1ede7b0..0000000
--- a/mothballed/component/security/ldap/ldap-conf/example.ldif
+++ /dev/null
@@ -1,46 +0,0 @@
-dn: dc=isis,dc=org
-objectClass: top
-objectclass: dcObject
-objectclass: organization
-o: [[NAME]] Group
-dc: isis
-
-dn: cn=Manager,dc=isis,dc=org
-objectclass: organizationalRole
-cn: Manager
-
-
-dn: ou=people,dc=isis,dc=org
-objectClass: top
-objectClass: organizationalUnit
-ou: people
-
-dn: uid=joe,ou=people,dc=isis,dc=org
-objectClass: person
-objectClass: inetOrgPerson
-cn: Joe Bloggs
-displayName: Joe Bloggs
-givenName: Joe
-sn: Bloggs
-uid: joe
-userPassword: pass
-
-dn: uid=john,ou=people,dc=isis,dc=org
-objectClass: person
-objectClass: inetOrgPerson
-cn: John Bloggs
-displayName: John
-givenName: John
-sn: Bloggs
-uid: john
-userPassword: pass
-
-dn: uid=jack,ou=people,dc=isis,dc=org
-objectClass: person
-objectClass: inetOrgPerson
-cn: Jack Bloggs
-displayName: Jack Bloggs
-givenName: Jack
-sn: Bloggs
-uid: jack
-userPassword: pass
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/ldap-conf/readme.txt
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/ldap-conf/readme.txt b/mothballed/component/security/ldap/ldap-conf/readme.txt
deleted file mode 100644
index 8f0dbfb..0000000
--- a/mothballed/component/security/ldap/ldap-conf/readme.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-An LDAP browser can be downloaded from http://jxplorer.org/
-Windows port of OpenLDAP is at http://lucas.bergmans.us/hacks/openldap/
-
-Files:
-
-example.ldif - sample file for loading into ldap (using ldapadd)
-  usage
-  ldapadd -x -D "cn=Manager,dc=<MY-DOMAIN>,dc=<COM>" -W -f example.ldif
-  e.g.
-  ldapadd -x -D "cn=Manager,dc=isis,dc=org" -W -f example.ldif
-
-slapd.conf - sample configuration for the OpenLDAP server (Windows port)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/ldap-conf/slapd.conf
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/ldap-conf/slapd.conf b/mothballed/component/security/ldap/ldap-conf/slapd.conf
deleted file mode 100644
index a5f32b7..0000000
--- a/mothballed/component/security/ldap/ldap-conf/slapd.conf
+++ /dev/null
@@ -1,80 +0,0 @@
-# Setup for Windows port of OpenLDAP
-#
-# See slapd.conf(5) for details on configuration options.
-# This file should NOT be world readable.
-#
-ucdata-path	./ucdata
-include		./schema/core.schema
-# DGS - add JNDI support, inetorgperson has additional attributes for network users
-include		./schema/java.schema
-include		./schema/cosine.schema
-include		./schema/inetorgperson.schema
-
-# Define global ACLs to disable default read access.
-
-# Do not enable referrals until AFTER you have a working directory
-# service AND an understanding of referrals.
-#referral	ldap:/root.openldap.org
-
-pidfile		./run/slapd.pid
-argsfile	./run/slapd.args
-
-# Load dynamic backend modules:
-# modulepath	./libexec/openldap
-# moduleload	back_bdb.la
-# moduleload	back_ldap.la
-# moduleload	back_ldbm.la
-# moduleload	back_passwd.la
-# moduleload	back_shell.la
-
-# Sample security restrictions
-#	Require integrity protection (prevent hijacking)
-#	Require 112-bit (3DES or better) encryption for updates
-#	Require 63-bit encryption for simple bind
-# security ssf=1 update_ssf=112 simple_bind=64
-
-# Sample access control policy:
-#	Root DSE: allow anyone to read it
-#	Subschema (sub)entry DSE: allow anyone to read it
-#	Other DSEs:
-#		Allow self write access
-#		Allow authenticated users read access
-#		Allow anonymous users to authenticate
-#	Directives needed to implement policy:
-# access to dn.base="" by * read
-# access to dn.base="cn=Subschema" by * read
-# access to *
-#	by self write
-#	by users read
-#	by anonymous auth
-#
-# if no access controls are present, the default policy
-# allows anyone and everyone to read anything but restricts
-# updates to rootdn.  (e.g., "access to * by * read")
-#
-# rootdn can always read and write EVERYTHING!
-
-#######################################################################
-# BDB database definitions
-#######################################################################
-
-database	bdb
-# DGS - set suffix to isis
-#suffix		"dc=my-domain,dc=com"
-#rootdn		"cn=Manager,dc=my-domain,dc=com"
-suffix		"dc=isis,dc=org"
-rootdn		"cn=Manager,dc=isis,dc=org"
-
-# Cleartext passwords, especially for the rootdn, should
-# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
-# Use of strong authentication encouraged.
-rootpw		secret
-# The database directory MUST exist prior to running slapd AND 
-# should only be accessible by the slapd and slap tools.
-# Mode 700 recommended.
-directory	./data
-# Indices to maintain
-index	objectClass	eq
-
-# DGS - improve index?
-index   cn,sn,st                   pres,eq,sub


[12/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SaveState.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SaveState.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SaveState.java
deleted file mode 100644
index d5b3fa1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SaveState.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.dnd.view.border;
-
-class SaveState {
-    StringBuffer missingFields = new StringBuffer();
-    StringBuffer invalidFields = new StringBuffer();
-
-    void addMissingField(final String parameterName) {
-        if (missingFields.length() > 0) {
-            missingFields.append(", ");
-        }
-        missingFields.append(parameterName);
-    }
-
-    void addInvalidField(final String parameterName) {
-        if (invalidFields.length() > 0) {
-            invalidFields.append(", ");
-        }
-        invalidFields.append(parameterName);
-    }
-
-    String getMessage() {
-        String error = "";
-        if (missingFields.length() > 0) {
-            if (error.length() > 0) {
-                error += "; ";
-            }
-            error += "Fields needed: " + missingFields;
-        }
-        if (invalidFields.length() > 0) {
-            if (error.length() > 0) {
-                error += "; ";
-            }
-            error += "Invalid fields: " + invalidFields;
-        }
-        return error;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SaveTransientObjectBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SaveTransientObjectBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SaveTransientObjectBorder.java
deleted file mode 100644
index 2d73959..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SaveTransientObjectBorder.java
+++ /dev/null
@@ -1,176 +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.dnd.view.border;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.Persistor;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.ButtonAction;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.content.RootObject;
-import org.apache.isis.viewer.dnd.view.control.AbstractButtonAction;
-
-public class SaveTransientObjectBorder extends ButtonBorder {
-    private static final Logger LOG = LoggerFactory.getLogger(SaveTransientObjectBorder.class);
-
-    private static class CloseAction extends AbstractButtonAction {
-        public CloseAction() {
-            super("Discard");
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            close(workspace, view);
-        }
-    }
-
-    private static class SaveAction extends AbstractButtonAction {
-        public SaveAction() {
-            super("Save");
-        }
-
-        @Override
-        public Consent disabled(final View view) {
-            return canSave(view);
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            save(view);
-            // by recreating the view the transient border is removed
-            final ViewSpecification spec = view.getSpecification();
-            final View newView = spec.createView(view.getContent(), view.getViewAxes(), -1);
-            workspace.replaceView(view, newView);
-        }
-    }
-
-    private static Consent canSave(final View view) {
-
-        final ObjectAdapter transientNO = view.getContent().getAdapter();
-
-        // check each of the fields, and capture invalid state if known
-        final SaveState saveState = new SaveState();
-        checkFields(saveState, view, transientNO);
-        final StringBuilder errorBuf = new StringBuilder(saveState.getMessage());
-
-        final ObjectSpecification viewContentSpec = view.getContent().getSpecification();
-        final Consent consent = viewContentSpec.isValid(transientNO);
-        if (consent.isVetoed()) {
-            if (errorBuf.length() > 0) {
-                errorBuf.append("; ");
-            }
-            errorBuf.append(consent.getReason());
-        }
-
-        if (errorBuf.length() == 0) {
-            return Allow.DEFAULT;
-        } else {
-            return new Veto(errorBuf.toString());
-        }
-    }
-
-    private static void checkFields(final SaveState saveState, final View view, final ObjectAdapter forObject) {
-        if (view.getContent().getAdapter() != forObject) {
-            return;
-        }
-
-        final View[] subviews = view.getSubviews();
-        for (final View fieldView : subviews) {
-            final Content content = fieldView.getContent();
-            if (content instanceof RootObject) {
-                checkFields(saveState, fieldView, forObject);
-            } else if (content instanceof FieldContent) {
-                final boolean isMandatory = ((FieldContent) content).isMandatory();
-                final boolean isEditable = ((FieldContent) content).isEditable().isAllowed();
-                final ObjectAdapter field = content.getAdapter();
-                final boolean isFieldEmpty = field == null;
-                if (isMandatory && isEditable && isFieldEmpty) {
-                    final String parameterName = ((FieldContent) content).getFieldName();
-                    saveState.addMissingField(parameterName);
-
-                } else if (fieldView.getState().isInvalid()) {
-                    final String parameterName = ((FieldContent) content).getFieldName();
-                    saveState.addInvalidField(parameterName);
-                }
-            }
-        }
-    }
-
-    private static class SaveAndCloseAction extends AbstractButtonAction {
-        public SaveAndCloseAction() {
-            super("Save & Close");
-        }
-
-        @Override
-        public Consent disabled(final View view) {
-            return canSave(view);
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            save(view);
-            close(workspace, view);
-        }
-    }
-
-    private static void close(final Workspace workspace, final View view) {
-        view.dispose();
-    }
-
-    private static ObjectAdapter save(final View view) {
-        final ObjectAdapter transientObject = view.getContent().getAdapter();
-        try {
-            getPersistenceSession().makePersistent(transientObject);
-        } catch (final RuntimeException e) {
-            LOG.info("exception saving " + transientObject + ", aborting transaction" + e.getMessage());
-            throw e;
-        }
-        return transientObject;
-    }
-
-    // /////////////////////////////////////////////////////
-    // Constructor
-    // /////////////////////////////////////////////////////
-
-    public SaveTransientObjectBorder(final View view) {
-        super(new ButtonAction[] { new SaveAction(), new SaveAndCloseAction(), new CloseAction(), }, view);
-    }
-
-    // /////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // /////////////////////////////////////////////////////
-
-    private static Persistor getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBar.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBar.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBar.java
deleted file mode 100644
index bf0f512..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBar.java
+++ /dev/null
@@ -1,88 +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.dnd.view.border;
-
-public class ScrollBar {
-    private int maximum;
-    private int minimum;
-    private int scrollPosition = 0;
-    private int visibleAmount;
-
-    public ScrollBar() {
-        super();
-    }
-
-    public void setPostion(final int position) {
-        scrollPosition = Math.min(position, maximum);
-        scrollPosition = Math.max(scrollPosition, minimum);
-    }
-
-    public void firstClick(final int x, final boolean alt) {
-        if (alt) {
-            setPostion(x - visibleAmount / 2);
-        } else {
-            if (x < scrollPosition) {
-                setPostion(scrollPosition - visibleAmount);
-            } else if (x > scrollPosition + visibleAmount) {
-                setPostion(scrollPosition + visibleAmount);
-            }
-        }
-    }
-
-    public int getMaximum() {
-        return maximum;
-    }
-
-    public int getMinimum() {
-        return minimum;
-    }
-
-    public int getPosition() {
-        return scrollPosition;
-    }
-
-    public int getVisibleAmount() {
-        return visibleAmount;
-    }
-
-    public void limit() {
-        if (scrollPosition > maximum) {
-            scrollPosition = maximum;
-        }
-    }
-
-    public void reset() {
-        scrollPosition = 0;
-    }
-
-    public boolean isOnThumb(final int pos) {
-        return pos > scrollPosition && pos < scrollPosition + visibleAmount;
-    }
-
-    public void setSize(final int viewportSize, final int contentSize) {
-        visibleAmount = contentSize == 0 ? 0 : (viewportSize * viewportSize / contentSize);
-        maximum = viewportSize - visibleAmount;
-    }
-
-    public void secondClick(final int y) {
-        final int midpoint = (maximum + visibleAmount) / 2;
-        setPostion(y < midpoint ? minimum : maximum);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBarRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBarRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBarRender.java
deleted file mode 100644
index e3307fb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBarRender.java
+++ /dev/null
@@ -1,26 +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.dnd.view.border;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-
-public interface ScrollBarRender {
-    void draw(Canvas canvas, boolean isHorizontal, int x, int y, int width, int height, int scrollPosition, int visibleAmount);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBorder.java
deleted file mode 100644
index 3e092b2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ScrollBorder.java
+++ /dev/null
@@ -1,773 +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.dnd.view.border;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.interaction.SimpleInternalDrag;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator;
-import org.apache.isis.viewer.dnd.view.base.NullView;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-/**
- * A scroll border provides a window on a larger view, providing scrollbars as a
- * way of moving the visible part of that view around the actual visible viewing
- * area. To achieve this the view is divided up into five main areas, not all of
- * which are used. In the centre is the viewing area of the underlying view. At
- * the bottom and to the right... At the top and to the left are headers that
- */
-public class ScrollBorder extends AbstractViewDecorator {
-    private static ScrollBarRender render;
-    private static final int CENTER = 3;
-    private static final int NORTH = 1;
-    private static final int SOUTH = 5;
-    private static final int CORNER = 0;
-    private static final int SCROLLBAR_WIDTH = 16;
-    private static final int WEST = 2;
-    private static final int EAST = 4;
-
-    public static void setRender(final ScrollBarRender render) {
-        ScrollBorder.render = render;
-    }
-
-    private final ScrollBar horizontalScrollBar = new ScrollBar();
-    private final ScrollBar verticalScrollBar = new ScrollBar();
-    protected int bottom;
-    protected int left;
-    private View leftHeader;
-    protected int right;
-    private Size size = new Size();
-    protected int top;
-    private View topHeader;
-    private int dragArea = CENTER;
-    private int offsetToThumbEdge;
-
-    public ScrollBorder(final View view) {
-        this(view, new NullView(), new NullView());
-    }
-
-    /**
-     * Note - the leftHeader, if it is specified, view must be the same height
-     * as the content view and the rightHeader, if it is specified, must be the
-     * same width.
-     */
-    public ScrollBorder(final View content, final View leftHeader, final View topHeader) {
-        super(content);
-        bottom = right = SCROLLBAR_WIDTH;
-        horizontalScrollBar.setPostion(0);
-        verticalScrollBar.setPostion(0);
-        setLeftHeader(leftHeader);
-        setTopHeader(topHeader);
-    }
-
-    public void setTopHeader(final View topHeader) {
-        this.topHeader = topHeader;
-        topHeader.setParent(getView());
-        top = topHeader.getRequiredSize(new Size()).getHeight();
-    }
-
-    public void setLeftHeader(final View leftHeader) {
-        this.leftHeader = leftHeader;
-        leftHeader.setParent(getView());
-        left = leftHeader.getRequiredSize(new Size()).getWidth();
-    }
-
-    private int adjust(final Click click) {
-        return adjust(click.getLocation());
-    }
-
-    private int adjust(final ContentDrag drag) {
-        return adjust(drag.getTargetLocation());
-    }
-
-    private int adjust(final Location location) {
-        final Bounds contentArea = viewportArea();
-        final Offset offset = offset();
-        final int yOffset = offset.getDeltaY();
-        final int xOffset = offset.getDeltaX();
-        if (contentArea.contains(location)) {
-            location.subtract(left, top);
-            location.add(xOffset, yOffset);
-            return CENTER;
-        } else {
-            final int x = location.getX();
-            final int y = location.getY();
-
-            if (x > contentArea.getX2() && y >= contentArea.getY() && y <= contentArea.getY2()) {
-                // vertical scrollbar
-                location.subtract(0, contentArea.getY());
-                return EAST;
-            } else if (y > contentArea.getY2() && x >= contentArea.getX() && x <= contentArea.getX2()) {
-                // horzontal scrollbar
-                location.subtract(contentArea.getX(), 0);
-                return SOUTH;
-            } else if (y < contentArea.getY() && x >= contentArea.getX() && x <= contentArea.getX2()) {
-                // top border
-                location.subtract(left, 0);
-                location.add(xOffset, 0);
-                return NORTH;
-            } else if (x < contentArea.getX() && y >= contentArea.getY() && y <= contentArea.getY2()) {
-                // left border
-                location.subtract(0, top);
-                location.add(0, yOffset);
-                return WEST;
-            } else {
-                // ignore;
-                location.setX(-1);
-                location.setY(-1);
-                return CORNER;
-            }
-        }
-
-    }
-
-    protected Bounds viewportArea() {
-        return new Bounds(left, top, getSize().getWidth() - left - right, getSize().getHeight() - top - bottom);
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        debug.append("\n           Top header: " + (topHeader == null ? "none" : topHeader.toString()));
-        debug.append("\n           Left header: " + (leftHeader == null ? "none" : leftHeader.toString()));
-
-        debug.append("\n           Vertical scrollbar ");
-        debug.append("\n             offset " + top);
-        debug.append("\n             position " + verticalScrollBar.getPosition());
-        debug.append("\n             minimum " + verticalScrollBar.getMinimum());
-        debug.append("\n             maximum " + verticalScrollBar.getMaximum());
-        debug.append("\n             visible amount " + verticalScrollBar.getVisibleAmount());
-
-        debug.append("\n           Horizontal scrollbar ");
-        debug.append("\n             offset " + left);
-        debug.append("\n             position " + horizontalScrollBar.getPosition());
-        debug.append("\n             minimum " + horizontalScrollBar.getMinimum());
-        debug.append("\n             maximum " + horizontalScrollBar.getMaximum());
-        debug.append("\n             visible amount " + horizontalScrollBar.getVisibleAmount());
-        debug.append("\n           Viewport area " + viewportArea());
-        debug.appendln("\n           Offset " + offset());
-    }
-
-    @Override
-    public void drag(final InternalDrag drag) {
-        switch (dragArea) {
-        case NORTH:
-            drag.getLocation().subtract(offset().getDeltaX(), top);
-            topHeader.drag(drag);
-            break;
-
-        case WEST:
-            drag.getLocation().subtract(left, offset().getDeltaY());
-            leftHeader.drag(drag);
-            break;
-
-        case CENTER:
-            drag.getLocation().subtract(offset());
-            wrappedView.drag(drag);
-            break;
-
-        case SOUTH:
-            final int x = drag.getLocation().getX() - left;
-            horizontalScrollBar.setPostion(x - offsetToThumbEdge);
-            markDamaged();
-            break;
-
-        case EAST:
-            final int y = drag.getLocation().getY() - top;
-            verticalScrollBar.setPostion(y - offsetToThumbEdge);
-            markDamaged();
-            break;
-
-        default:
-            return;
-        }
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        final int area = adjust(drag);
-        dragArea = area;
-        switch (dragArea) {
-        case NORTH:
-            return topHeader.dragStart(drag);
-
-        case WEST:
-            return leftHeader.dragStart(drag);
-
-        case CENTER:
-            return wrappedView.dragStart(drag);
-
-        case SOUTH:
-            return dragStartSouth(drag);
-
-        case EAST:
-            return dragStartEast(drag);
-
-        default:
-            return null;
-        }
-    }
-
-    @Override
-    public void dragCancel(final InternalDrag drag) {
-        switch (dragArea) {
-        case NORTH:
-            drag.getLocation().subtract(offset().getDeltaX(), top);
-            topHeader.dragCancel(drag);
-            break;
-
-        case WEST:
-            drag.getLocation().subtract(left, offset().getDeltaY());
-            leftHeader.dragCancel(drag);
-            break;
-
-        case CENTER:
-            drag.getLocation().subtract(offset());
-            wrappedView.dragCancel(drag);
-            break;
-        }
-    }
-
-    @Override
-    public void dragTo(final InternalDrag drag) {
-        switch (dragArea) {
-        case NORTH:
-            drag.getLocation().subtract(offset().getDeltaX(), top);
-            topHeader.dragTo(drag);
-            break;
-
-        case WEST:
-            drag.getLocation().subtract(left, offset().getDeltaY());
-            leftHeader.dragTo(drag);
-            break;
-
-        case CENTER:
-            drag.getLocation().subtract(offset());
-            wrappedView.dragTo(drag);
-            break;
-
-        case SOUTH:
-        case EAST:
-        default:
-            // ignore
-
-        }
-    }
-
-    @Override
-    public View dragFrom(final Location location) {
-        adjust(location);
-        switch (dragArea) {
-        case NORTH:
-            return topHeader.dragFrom(location);
-
-        case WEST:
-            return leftHeader.dragFrom(location);
-
-        case CENTER:
-            return wrappedView.dragFrom(location);
-        }
-
-        return null;
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        adjust(drag);
-        switch (dragArea) {
-        case NORTH:
-            topHeader.dragIn(drag);
-            break;
-
-        case WEST:
-            leftHeader.dragIn(drag);
-            break;
-
-        case CENTER:
-            wrappedView.dragIn(drag);
-            break;
-
-        case SOUTH:
-        case EAST:
-        default:
-            System.out.println(this + " ignored");
-
-            // ignore
-        }
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        adjust(drag);
-        switch (dragArea) {
-        case NORTH:
-            topHeader.dragOut(drag);
-            break;
-
-        case WEST:
-            leftHeader.dragOut(drag);
-            break;
-
-        case CENTER:
-            wrappedView.dragOut(drag);
-            break;
-
-        case SOUTH:
-        case EAST:
-        default:
-            // ignore
-        }
-    }
-
-    private DragEvent dragStartEast(final DragStart drag) {
-        final Location location = drag.getLocation();
-        final int y = location.getY();
-        if (verticalScrollBar.isOnThumb(y)) {
-            // offset is the distance from the left/top of the thumb to the
-            // pointer
-            offsetToThumbEdge = y - verticalScrollBar.getPosition();
-            return new SimpleInternalDrag(this, new Offset(super.getAbsoluteLocation()));
-        } else {
-            return null;
-        }
-    }
-
-    private DragEvent dragStartSouth(final DragStart drag) {
-        final Location location = drag.getLocation();
-        final int x = location.getX();
-        if (horizontalScrollBar.isOnThumb(x)) {
-            offsetToThumbEdge = x - horizontalScrollBar.getPosition();
-            return new SimpleInternalDrag(this, new Offset(super.getAbsoluteLocation()));
-        } else {
-            return null;
-        }
-    }
-
-    private int adjust(final DragStart drag) {
-        return adjust(drag.getLocation());
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final Bounds contents = viewportArea();
-        final Offset offset = offset();
-        final int x = offset.getDeltaX();
-        final int y = offset.getDeltaY();
-
-        final int contentWidth = contents.getWidth();
-        final int contentHeight = contents.getHeight();
-
-        final Canvas headerCanvasLeft = canvas.createSubcanvas(0, top, left, contentHeight);
-        headerCanvasLeft.offset(0, -y);
-        leftHeader.draw(headerCanvasLeft);
-
-        final Canvas headerCanvasRight = canvas.createSubcanvas(left, 0, contentWidth, top);
-        headerCanvasRight.offset(-x, 0);
-        topHeader.draw(headerCanvasRight);
-
-        final Color thumbColor = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2);
-        drawVerticalScrollBar(canvas, contentWidth, contentHeight, thumbColor);
-        drawHorizontalScrollBar(canvas, contentWidth, contentHeight, thumbColor);
-
-        final Canvas contentCanvas = canvas.createSubcanvas(left, top, contentWidth, contentHeight);
-        contentCanvas.offset(-x, -y);
-
-        if (Toolkit.debug) {
-            canvas.drawRectangle(contents.getX(), contents.getY(), contents.getWidth(), contents.getHeight(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_DRAW));
-        }
-
-        // drawContent(canvas, contentWidth, contentHeight);
-        wrappedView.draw(contentCanvas);
-
-        if (Toolkit.debug) {
-            final Size size = getSize();
-            canvas.drawRectangle(0, 0, size.getWidth(), size.getHeight(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_VIEW));
-            canvas.drawLine(0, size.getHeight() / 2, size.getWidth() - 1, size.getHeight() / 2, Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_VIEW));
-            canvas.drawLine(0, getBaseline(), size.getWidth() - 1, getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BASELINE));
-        }
-
-    }
-
-    // TODO merge these two methods
-    private void drawVerticalScrollBar(final Canvas canvas, final int contentWidth, final int contentHeight, final Color color) {
-        final int verticalVisibleAmount = verticalScrollBar.getVisibleAmount();
-        final int verticalScrollPosition = verticalScrollBar.getPosition();
-        if (right > 0 && (verticalScrollPosition > top || verticalVisibleAmount < contentHeight)) {
-            final int x = contentWidth + left;
-            render.draw(canvas, false, x, top, SCROLLBAR_WIDTH, contentHeight, verticalScrollPosition, verticalVisibleAmount);
-            /*
-             * canvas.drawSolidRectangle(x + 1, top, SCROLLBAR_WIDTH - 1,
-             * contentHeight,
-             * Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-             * canvas.drawSolidRectangle(x + 1, top + verticalScrollPosition,
-             * SCROLLBAR_WIDTH - 2, verticalVisibleAmount, color);
-             * canvas.drawRectangle(x, top, SCROLLBAR_WIDTH, contentHeight,
-             * Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-             * canvas.drawRectangle(x + 1, top + verticalScrollPosition,
-             * SCROLLBAR_WIDTH - 2, verticalVisibleAmount, Toolkit
-             * .getColor(ColorsAndFonts.COLOR_SECONDARY1));
-             * 
-             * DrawingUtil.drawHatching(canvas, x + 3, top +
-             * verticalScrollPosition + 4, SCROLLBAR_WIDTH - 6,
-             * verticalVisibleAmount - 8,
-             * Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1),
-             * Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3));
-             */
-        }
-    }
-
-    private void drawHorizontalScrollBar(final Canvas canvas, final int contentWidth, final int contentHeight, final Color color) {
-        final int horizontalScrollPosition = horizontalScrollBar.getPosition();
-        final int horizontalVisibleAmount = horizontalScrollBar.getVisibleAmount();
-        if (bottom > 0 && (horizontalScrollPosition > left || horizontalVisibleAmount < contentWidth)) {
-            final int x = 0; // left + horizontalScrollPosition;
-            final int y = contentHeight + top;
-            render.draw(canvas, true, x, y, contentWidth, SCROLLBAR_WIDTH, horizontalScrollPosition, horizontalVisibleAmount);
-            /*
-             * canvas.drawSolidRectangle(left, y + 1, contentWidth,
-             * SCROLLBAR_WIDTH - 1,
-             * Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-             * canvas.drawSolidRectangle(x, y + 1, horizontalVisibleAmount,
-             * SCROLLBAR_WIDTH - 2, color); canvas.drawRectangle(left, y,
-             * contentWidth, SCROLLBAR_WIDTH,
-             * Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2 ));
-             * canvas.drawRectangle(x, y + 1, horizontalVisibleAmount,
-             * SCROLLBAR_WIDTH - 2,
-             * Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-             * 
-             * DrawingUtil.drawHatching(canvas, x + 5, y + 3,
-             * horizontalVisibleAmount - 10, SCROLLBAR_WIDTH - 6, Toolkit
-             * .getColor(ColorsAndFonts.COLOR_PRIMARY1),
-             * Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3));
-             */
-        }
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final int area = adjust(click);
-        switch (area) {
-        case NORTH:
-            topHeader.firstClick(click);
-            break;
-
-        case WEST:
-            leftHeader.firstClick(click);
-            break;
-
-        case CENTER:
-            wrappedView.firstClick(click);
-            break;
-
-        case SOUTH:
-            // TODO allow modified click to move thumb to the pointer, rather
-            // than paging.
-            horizontalScrollBar.firstClick(click.getLocation().getX(), click.button3());
-            break;
-
-        case EAST:
-            verticalScrollBar.firstClick(click.getLocation().getY(), click.button3());
-            break;
-
-        default:
-            break;
-        }
-    }
-
-    @Override
-    public Location getAbsoluteLocation() {
-        final Location location = super.getAbsoluteLocation();
-        location.subtract(offset());
-        return location;
-    }
-
-    @Override
-    public Bounds getBounds() {
-        return new Bounds(getLocation(), getSize());
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        final Size size = wrappedView.getRequiredSize(new Size(maximumSize));
-        if (size.getWidth() > maximumSize.getWidth()) {
-            size.extendHeight(SCROLLBAR_WIDTH);
-        }
-        if (size.getHeight() > maximumSize.getHeight()) {
-            size.extendWidth(SCROLLBAR_WIDTH);
-        }
-        size.extend(left, top);
-        size.limitSize(maximumSize);
-        return size;
-    }
-
-    @Override
-    public Size getSize() {
-        return new Size(size);
-    }
-
-    @Override
-    public View identify(final Location location) {
-        getViewManager().getSpy().addTrace(this, "mouse location within border", location);
-        getViewManager().getSpy().addTrace(this, "non border area", viewportArea());
-
-        final int area = adjust(location);
-        switch (area) {
-        case NORTH:
-            return topHeader.identify(location);
-
-        case WEST:
-            return leftHeader.identify(location);
-
-        case CENTER:
-            return wrappedView.identify(location);
-
-        case SOUTH:
-            getViewManager().getSpy().addTrace(this, "over scroll bar area", viewportArea());
-            return getView();
-
-        case EAST:
-            getViewManager().getSpy().addTrace(this, "over scroll bar area", viewportArea());
-            return getView();
-
-        default:
-            return null;
-        }
-    }
-
-    @Override
-    public void limitBoundsWithin(final Size size) {
-        super.limitBoundsWithin(size);
-        verticalScrollBar.limit();
-        horizontalScrollBar.limit();
-    }
-
-    @Override
-    public void markDamaged(final Bounds bounds) {
-        /*
-         * TODO this only works for the main content area, not for the headers.
-         * how do we figure out which area to adjust for?
-         */
-        final Offset offset = offset();
-        bounds.translate(-offset.getDeltaX(), -offset.getDeltaY());
-        bounds.translate(left, top);
-        super.markDamaged(bounds);
-    }
-
-    @Override
-    public void mouseMoved(final Location location) {
-        final int area = adjust(location);
-        switch (area) {
-        case NORTH:
-            topHeader.mouseMoved(location);
-            break;
-
-        case WEST:
-            leftHeader.mouseMoved(location);
-            break;
-
-        case CENTER:
-            // location.add(offset());
-            // location.move(-left, -top);
-            wrappedView.mouseMoved(location);
-            break;
-
-        case SOUTH:
-        case EAST:
-        default:
-            break;
-        }
-    }
-
-    private Offset offset() {
-        final Bounds contents = viewportArea();
-        final int width = contents.getWidth();
-        final int x = width == 0 ? 0 : horizontalScrollBar.getPosition() * wrappedView.getRequiredSize(Size.createMax()).getWidth() / width;
-        final int height = contents.getHeight();
-        final int y = height == 0 ? 0 : verticalScrollBar.getPosition() * wrappedView.getRequiredSize(Size.createMax()).getHeight() / height;
-        return new Offset(x, y);
-    }
-
-    protected boolean overContent(final Location location) {
-        return viewportArea().contains(location);
-    }
-
-    public void reset() {
-        horizontalScrollBar.reset();
-        verticalScrollBar.reset();
-    }
-
-    /**
-     * Moves the scrollbar to beginning or the end when a double click occurs on
-     * that side.
-     */
-    @Override
-    public void secondClick(final Click click) {
-        final int area = adjust(click);
-        switch (area) {
-        case NORTH:
-            topHeader.secondClick(click);
-            break;
-
-        case WEST:
-            leftHeader.secondClick(click);
-            break;
-
-        case CENTER:
-            wrappedView.secondClick(click);
-            break;
-
-        case SOUTH:
-            horizontalScrollBar.secondClick(click.getLocation().getX());
-            break;
-
-        case EAST:
-            verticalScrollBar.secondClick(click.getLocation().getY());
-            break;
-
-        default:
-            break;
-        }
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-        final int area = adjust(click);
-        switch (area) {
-        case NORTH:
-            topHeader.thirdClick(click);
-            break;
-
-        case WEST:
-            leftHeader.thirdClick(click);
-            break;
-
-        case CENTER:
-            wrappedView.thirdClick(click);
-            break;
-
-        case SOUTH:
-        case EAST:
-        default:
-            // ignore
-            break;
-        }
-    }
-
-    @Override
-    public void setBounds(final Bounds bounds) {
-        setLocation(bounds.getLocation());
-        setSize(bounds.getSize());
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        // TODO need to restore the offset after size change - see limitBounds
-        // float verticalRatio = ((float) verticalScrollPosition) /
-        // contentArea().getHeight();
-
-        this.size = new Size(size);
-
-        final Size contentSize = wrappedView.getRequiredSize(Size.createMax());
-        wrappedView.setSize(contentSize);
-
-        final int availableHeight2 = size.getHeight() - top;
-        final int contentHeight2 = contentSize.getHeight();
-        right = availableHeight2 >= contentHeight2 ? 0 : SCROLLBAR_WIDTH;
-
-        final int availableWidth2 = size.getWidth() - left;
-        final int contentWidth2 = contentSize.getWidth();
-        bottom = availableWidth2 >= contentWidth2 ? 0 : SCROLLBAR_WIDTH;
-
-        final Bounds viewport = viewportArea();
-
-        final int viewportHeight = viewport.getHeight();
-        final int maxContentHeight = Math.max(viewportHeight, contentSize.getHeight());
-
-        verticalScrollBar.setSize(viewportHeight, maxContentHeight);
-        if (leftHeader != null) {
-            leftHeader.setSize(new Size(left, maxContentHeight));
-        }
-
-        final int viewportWidth = viewport.getWidth();
-        final int maxContentWidth = Math.max(viewportWidth, contentSize.getWidth());
-
-        horizontalScrollBar.setSize(viewportWidth, maxContentWidth);
-        if (topHeader != null) {
-            topHeader.setSize(new Size(maxContentWidth, top));
-        }
-    }
-
-    public int getVerticalPosition() {
-        return verticalScrollBar.getPosition();
-    }
-
-    public int getHorizontalPosition() {
-        return horizontalScrollBar.getPosition();
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location location) {
-        final int area = adjust(location);
-        switch (area) {
-        case NORTH:
-            return topHeader.viewAreaType(location);
-
-        case WEST:
-            return leftHeader.viewAreaType(location);
-
-        case CENTER:
-            return wrappedView.viewAreaType(location);
-
-        case SOUTH:
-        case EAST:
-        default:
-            return ViewAreaType.INTERNAL;
-        }
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        super.viewMenuOptions(menuOptions);
-        menuOptions.add(new UserActionAbstract("Reset scroll border", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                reset();
-                invalidateLayout();
-            }
-        });
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectObjectBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectObjectBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectObjectBorder.java
deleted file mode 100644
index c99271d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectObjectBorder.java
+++ /dev/null
@@ -1,130 +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.dnd.view.border;
-
-import java.awt.event.KeyEvent;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class SelectObjectBorder extends AbstractBorder {
-    private final SelectableViewAxis axis;
-
-    public static class Factory implements SubviewDecorator {
-        @Override
-        public ViewAxis createAxis(final Content content) {
-            return null;
-        }
-
-        @Override
-        public View decorate(final Axes axes, final View view) {
-            if (axes.contains(SelectableViewAxis.class)) {
-                final SelectableViewAxis axis = axes.getAxis(SelectableViewAxis.class);
-                return new SelectObjectBorder(view, axis);
-            } else {
-                return view;
-            }
-        }
-    }
-
-    protected SelectObjectBorder(final View view, final SelectableViewAxis axis) {
-        super(view);
-        this.axis = axis;
-    }
-
-    @Override
-    public Axes getViewAxes() {
-        final Axes viewAxes = super.getViewAxes();
-        viewAxes.add(axis);
-        return viewAxes;
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        debug.appendln("axis", axis);
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (key.getKeyCode() == KeyEvent.VK_SPACE) {
-            selectNode();
-        } else {
-            super.keyPressed(key);
-        }
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final int x = click.getLocation().getX();
-        final int y = click.getLocation().getY();
-        if (withinSelectorBounds(x, y) && click.button1()) {
-            selectNode();
-        } else {
-            super.firstClick(click);
-        }
-    }
-
-    private void selectNode() {
-        axis.selected(getView());
-    }
-
-    private boolean withinSelectorBounds(final int x, final int y) {
-        return true;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        super.viewMenuOptions(options);
-        options.add(new UserActionAbstract("Select node") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                selectNode();
-            }
-
-            @Override
-            public String getDescription(final View view) {
-                return "Show this node in the right-hand pane";
-            }
-        });
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        if (axis.isSelected(getView())) {
-            clearBackground(canvas, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        }
-        super.draw(canvas);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectableViewAxis.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectableViewAxis.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectableViewAxis.java
deleted file mode 100644
index 734cfca..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectableViewAxis.java
+++ /dev/null
@@ -1,51 +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.dnd.view.border;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.view.Selectable;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-
-public class SelectableViewAxis implements ViewAxis {
-    private View selectedView;
-    private final Selectable target;
-
-    public SelectableViewAxis(final Selectable view) {
-        target = view;
-    }
-
-    public void selected(final View view) {
-        selectedView = view;
-        target.setSelectedNode(selectedView);
-    }
-
-    public boolean isSelected(final View view) {
-        return selectedView == view;
-    }
-
-    @Override
-    public String toString() {
-        final ToString s = new ToString(this);
-        s.append("target", target.getId());
-        s.append("selected", selectedView == null ? "none" : selectedView.getId());
-        return s.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectedBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectedBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectedBorder.java
deleted file mode 100644
index 0a8f3a1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/SelectedBorder.java
+++ /dev/null
@@ -1,53 +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.dnd.view.border;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-public class SelectedBorder extends AbstractBorder {
-    private final SelectableViewAxis axis;
-
-    public SelectedBorder(final View view, final SelectableViewAxis axis) {
-        super(view);
-        this.axis = axis;
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        axis.selected(getView());
-        super.firstClick(click);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        if (axis.isSelected(getView())) {
-            final Size size = getSize();
-            canvas.drawSolidRectangle(left, right, size.getWidth() - left - right, size.getHeight() - top - bottom, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3));
-        }
-        super.draw(canvas);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/TextFieldResizeBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/TextFieldResizeBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/TextFieldResizeBorder.java
deleted file mode 100644
index ec4bae6..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/TextFieldResizeBorder.java
+++ /dev/null
@@ -1,54 +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.dnd.view.border;
-
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Shape;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class TextFieldResizeBorder extends ResizeBorder {
-    public static final int BORDER_WIDTH = IsisContext.getConfiguration().getInteger(Properties.PROPERTY_BASE + "field-resize-border", 5);
-
-    public TextFieldResizeBorder(final View view) {
-        super(view, RIGHT + DOWN, 1, 1);
-    }
-
-    @Override
-    protected void drawResizeBorder(final Canvas canvas, final Size size) {
-        if (resizing) {
-            final Shape shape = new Shape(0, 0);
-            final int resizeMarkerSize = 10;
-            shape.addVector(resizeMarkerSize, 0);
-            shape.addVector(0, resizeMarkerSize);
-            shape.addVector(-resizeMarkerSize, -resizeMarkerSize);
-            final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-            final int height = size.getHeight();
-            final int width = size.getWidth();
-            canvas.drawSolidShape(shape, width - resizeMarkerSize, height, color);
-            canvas.drawRectangle(0, 0, width, height, color);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ViewResizeBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ViewResizeBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ViewResizeBorder.java
deleted file mode 100644
index 8efb9e1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ViewResizeBorder.java
+++ /dev/null
@@ -1,49 +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.dnd.view.border;
-
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.View;
-
-// TODO enhance so the direction of resizing can be specified (could limit to width on right, height on bottom, or width/height from corner
-public class ViewResizeBorder extends ResizeBorder {
-    public static final int BORDER_WIDTH = IsisContext.getConfiguration().getInteger(Properties.PROPERTY_BASE + "tree-resize-border", 7);
-
-    private static ResizeViewRender render;
-
-    public static void setRender(final ResizeViewRender render) {
-        ViewResizeBorder.render = render;
-    }
-
-    public ViewResizeBorder(final View view) {
-        super(view, RIGHT, BORDER_WIDTH, 0);
-    }
-
-    @Override
-    protected void drawResizeBorder(final Canvas canvas, final Size size) {
-        final int x = getSize().getWidth() - BORDER_WIDTH;
-        final int height = getSize().getHeight() - 1;
-        final boolean hasFocus = getParent().containsFocus();
-        render.draw(canvas, x, BORDER_WIDTH, height, hasFocus);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ViewResizeOutline.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ViewResizeOutline.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ViewResizeOutline.java
deleted file mode 100644
index 44cf1e8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ViewResizeOutline.java
+++ /dev/null
@@ -1,68 +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.dnd.view.border;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-
-public class ViewResizeOutline extends AbstractView {
-    private final int thickness = 1;
-    private String label = "";
-    private final Size size;
-
-    protected ViewResizeOutline(final Bounds resizeArea) {
-        super(new NullContent());
-        size = resizeArea.getSize();
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final Size s = getSize();
-        // LoggerFactory.getLogger(getClass()).debug("drag outline size " + s);
-        final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2);
-        for (int i = 0; i < thickness; i++) {
-            canvas.drawRectangle(i, i, s.getWidth() - i * 2 - 1, s.getHeight() - i * 2 - 1, color);
-        }
-        canvas.drawText(label, 2, 16, color, Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-    }
-
-    public void setDisplay(final String label) {
-        this.label = label == null ? "" : label;
-    }
-
-    @Override
-    public void dispose() {
-        getFeedbackManager().showDefaultCursor();
-        super.dispose();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(size);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java
deleted file mode 100644
index 6257ee2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java
+++ /dev/null
@@ -1,304 +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.dnd.view.collection;
-
-import java.util.Enumeration;
-import java.util.List;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.ResolveState;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.ConsentAbstract;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.content.AbstractContent;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public abstract class AbstractCollectionContent extends AbstractContent implements CollectionContent {
-    private static final TypeComparator TYPE_COMPARATOR = new TypeComparator();
-    private static final TitleComparator TITLE_COMPARATOR = new TitleComparator();
-    private final static CollectionSorter sorter = new SimpleCollectionSorter();
-    private Comparator order;
-    private boolean reverse;
-
-    @Override
-    public final Enumeration<ObjectAdapter> allElements() {
-        final ObjectAdapter[] elements = elements();
-
-        sorter.sort(elements, order, reverse);
-
-        return new Enumeration<ObjectAdapter>() {
-            int i = 0;
-            int size = elements.length;
-
-            @Override
-            public boolean hasMoreElements() {
-                return i < size;
-            }
-
-            @Override
-            public ObjectAdapter nextElement() {
-                return elements[i++];
-            }
-        };
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("order", order);
-        debug.appendln("reverse order", reverse);
-    }
-
-    @Override
-    public final boolean isCollection() {
-        return true;
-    }
-
-    @Override
-    public ObjectAdapter[] elements() {
-        final ObjectAdapter collection = getCollection();
-        final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
-        final ObjectAdapter[] elementsArray = new ObjectAdapter[facet.size(collection)];
-        int i = 0;
-        for (final ObjectAdapter element : facet.iterable(collection)) {
-            elementsArray[i++] = element;
-        }
-        return elementsArray;
-    }
-
-    @Override
-    public abstract ObjectAdapter getCollection();
-
-    @Override
-    public ObjectSpecification getElementSpecification() {
-        final ObjectAdapter collection = getCollection();
-        return collection.getElementSpecification();
-    }
-
-    @Override
-    public String getDescription() {
-        return "Collection";
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        final ObjectAdapter collection = getCollection();
-        options.addObjectMenuOptions(collection);
-
-        // TODO find all collection actions, and make them available
-        // not valid ObjectOption.menuOptions((ObjectAdapter) object, options);
-        /*
-         * Action[] actions =
-         * collection.getSpecification().getObjectActions(Action.USER);
-         * 
-         * for (int i = 0; i < actions.length; i++) { final Action action =
-         * actions[i]; AbstractUserAction option; option = new
-         * AbstractUserAction(actions[i].getId()) { public void execute(final
-         * Workspace workspace, final View view, final Location at) {
-         * ObjectAdapter result = collection.execute(action, new
-         * ObjectAdapter[0]); at.add(20, 20); workspace.addOpenViewFor(result,
-         * at); } };
-         * 
-         * if (option != null) { options.add(option); } }
-         */
-        options.add(new UserActionAbstract("Clear resolved", ActionType.DEBUG) {
-            @Override
-            public Consent disabled(final View component) {
-                return ConsentAbstract.allowIf(collection == null || !(collection.isTransient()) || collection.isGhost());
-            }
-
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                collection.changeState(ResolveState.GHOST);
-            }
-        });
-
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        final UserActionSet sortOptions = options.addNewActionSet("Sort");
-
-        sortOptions.add(new UserActionAbstract("Clear") {
-            @Override
-            public Consent disabled(final View component) {
-                return ConsentAbstract.allowIf(order != null);
-            }
-
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                order = null;
-                view.invalidateContent();
-            }
-        });
-
-        if (reverse) {
-            sortOptions.add(new UserActionAbstract("Normal sort order") {
-                @Override
-                public Consent disabled(final View component) {
-                    return ConsentAbstract.allowIf(order != null);
-                }
-
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    reverse = false;
-                    view.invalidateContent();
-                }
-            });
-        } else {
-            sortOptions.add(new UserActionAbstract("Reverse sort order") {
-                @Override
-                public Consent disabled(final View component) {
-                    return ConsentAbstract.allowIf(order != null);
-                }
-
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    reverse = true;
-                    view.invalidateContent();
-                }
-            });
-        }
-
-        sortOptions.add(new UserActionAbstract("Sort by title") {
-            @Override
-            public Consent disabled(final View component) {
-                return ConsentAbstract.allowIf(order != TITLE_COMPARATOR);
-            }
-
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                order = TITLE_COMPARATOR;
-                view.invalidateContent();
-            }
-        });
-
-        sortOptions.add(new UserActionAbstract("Sort by type") {
-            @Override
-            public Consent disabled(final View component) {
-                return ConsentAbstract.allowIf(order != TYPE_COMPARATOR);
-            }
-
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                order = TYPE_COMPARATOR;
-                view.invalidateContent();
-            }
-        });
-
-        final List<ObjectAssociation> fields = getElementSpecification().getAssociations(Contributed.EXCLUDED);
-        for (int i = 0; i < fields.size(); i++) {
-            final ObjectAssociation field = fields.get(i);
-
-            sortOptions.add(new UserActionAbstract("Sort by " + field.getName()) {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    order = new FieldComparator(field);
-                    view.invalidateContent();
-                }
-            });
-        }
-    }
-
-    @Override
-    public void parseTextEntry(final String entryText) {
-        throw new UnexpectedCallException();
-    }
-
-    @Override
-    public void setOrder(final Comparator order) {
-        this.order = order;
-    }
-
-    @Override
-    public void setOrderByField(final ObjectAssociation field) {
-        if (order instanceof FieldComparator && ((FieldComparator) order).getField() == field) {
-            reverse = !reverse;
-        } else {
-            order = new FieldComparator(field);
-            reverse = false;
-        }
-    }
-
-    @Override
-    public void setOrderByElement() {
-        if (order == TITLE_COMPARATOR) {
-            reverse = !reverse;
-        } else {
-            order = TITLE_COMPARATOR;
-            reverse = false;
-        }
-    }
-
-    @Override
-    public ObjectAssociation getFieldSortOrder() {
-        if (order instanceof FieldComparator) {
-            return ((FieldComparator) order).getField();
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        final ObjectAdapter adapter = getCollection();
-        if (adapter == null) {
-            return ImageFactory.getInstance().loadIcon("emptyField", iconHeight, null);
-        }
-        final ObjectSpecification specification = adapter.getSpecification();
-        Image icon = ImageFactory.getInstance().loadIcon(specification, iconHeight, null);
-        if (icon == null) {
-            icon = ImageFactory.getInstance().loadDefaultIcon(iconHeight, null);
-        }
-        return icon;
-    }
-
-    @Override
-    public boolean getOrderByElement() {
-        return order == TITLE_COMPARATOR;
-    }
-
-    @Override
-    public boolean getReverseSortOrder() {
-        return reverse;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionContent.java
deleted file mode 100644
index c8c0a3c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionContent.java
+++ /dev/null
@@ -1,73 +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.dnd.view.collection;
-
-import java.util.Enumeration;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-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.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-
-public interface CollectionContent extends Content {
-
-    Enumeration allElements();
-
-    @Override
-    void debugDetails(final DebugBuilder debug);
-
-    ObjectAdapter[] elements();
-
-    ObjectAdapter getCollection();
-
-    @Override
-    void contentMenuOptions(final UserActionSet options);
-
-    @Override
-    void viewMenuOptions(final UserActionSet options);
-
-    void parseTextEntry(final String entryText);
-
-    void setOrder(final Comparator order);
-
-    void setOrderByField(final ObjectAssociation field);
-
-    void setOrderByElement();
-
-    ObjectAssociation getFieldSortOrder();
-
-    @Override
-    Image getIconPicture(final int iconHeight);
-
-    boolean getOrderByElement();
-
-    boolean getReverseSortOrder();
-
-    @Override
-    boolean isOptionEnabled();
-
-    @Override
-    ObjectAdapter[] getOptions();
-
-    ObjectSpecification getElementSpecification();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionElement.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionElement.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionElement.java
deleted file mode 100644
index 67df816..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionElement.java
+++ /dev/null
@@ -1,126 +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.dnd.view.collection;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.view.content.AbstractObjectContent;
-
-public class CollectionElement extends AbstractObjectContent {
-    private final ObjectAdapter adapter;
-
-    public CollectionElement(final ObjectAdapter adapter) {
-        this.adapter = adapter;
-    }
-
-    @Override
-    public boolean isObject() {
-        return true;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public Consent canClear() {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public Consent canSet(final ObjectAdapter dragSource) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public void clear() {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("element", adapter);
-    }
-
-    @Override
-    public String getId() {
-        return "";
-    }
-
-    @Override
-    public String getDescription() {
-        return getSpecification().getSingularName() + ": " + getObject().titleString() + " " + getSpecification().getDescription();
-    }
-
-    @Override
-    public String getHelp() {
-        return "";
-    }
-
-    @Override
-    public ObjectAdapter getObject() {
-        return adapter;
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return adapter;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return adapter.getSpecification();
-    }
-
-    @Override
-    public boolean isTransient() {
-        return adapter.isTransient();
-    }
-
-    @Override
-    public void setObject(final ObjectAdapter object) {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public String title() {
-        return adapter.titleString();
-    }
-
-    @Override
-    public String windowTitle() {
-        return getSpecification().getShortIdentifier();
-    }
-
-    @Override
-    public String toString() {
-        return "" + adapter;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionSorter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionSorter.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionSorter.java
deleted file mode 100644
index d68b5b1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionSorter.java
+++ /dev/null
@@ -1,32 +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.dnd.view.collection;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public interface CollectionSorter {
-    boolean REVERSED = true;
-    boolean NORMAL = false;
-
-    /**
-     * Sorts the array of objects into the order specified by the comparator.
-     */
-    void sort(final ObjectAdapter[] element, Comparator order, boolean reverse);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/Comparator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/Comparator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/Comparator.java
deleted file mode 100644
index 895fdfd..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/Comparator.java
+++ /dev/null
@@ -1,28 +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.dnd.view.collection;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public interface Comparator {
-    void init(ObjectAdapter element);
-
-    int compare(ObjectAdapter sortedElement);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/FieldComparator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/FieldComparator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/FieldComparator.java
deleted file mode 100644
index 257d822..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/FieldComparator.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.dnd.view.collection;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-
-public class FieldComparator implements Comparator {
-    private final ObjectAssociation field;
-    private String title;
-
-    public FieldComparator(final ObjectAssociation field) {
-        this.field = field;
-    }
-
-    @Override
-    public void init(final ObjectAdapter element) {
-        final ObjectAdapter refTo = field.get(element);
-        title = refTo == null ? null : refTo.titleString();
-        title = title == null ? "" : title;
-    }
-
-    @Override
-    public int compare(final ObjectAdapter sortedElement) {
-        final ObjectAdapter refTo = field.get(sortedElement);
-        String sortedTitle = refTo == null ? null : refTo.titleString();
-        sortedTitle = sortedTitle == null ? "" : sortedTitle;
-        final int compareTo = sortedTitle.compareTo(title);
-        return compareTo;
-    }
-
-    public ObjectAssociation getField() {
-        return field;
-    }
-}


[32/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetPropertyChoices.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetPropertyChoices.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetPropertyChoices.java
deleted file mode 100644
index e901ccc..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetPropertyChoices.java
+++ /dev/null
@@ -1,49 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-
-public class GetPropertyChoices extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public GetPropertyChoices(final Perform.Mode mode) {
-        super("get property choices", Type.PROPERTY, NumParameters.ZERO, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) nakedObjectMember;
-
-        result = performContext.getPeer().toAdaptedListOfPojos(otoa.getChoices(onAdapter));
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetPropertyDefault.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetPropertyDefault.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetPropertyDefault.java
deleted file mode 100644
index 2766e41..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetPropertyDefault.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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-
-public class GetPropertyDefault extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public GetPropertyDefault(final Perform.Mode mode) {
-        super("get property default", Type.PROPERTY, NumParameters.ZERO, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) nakedObjectMember;
-
-        // TODO: the OTOA interface is wrong, should be declared as returning a
-        // NakedObject
-        // (which is indeed what the implementation does)
-        result = otoa.getDefault(onAdapter);
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/InvokeAction.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/InvokeAction.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/InvokeAction.java
deleted file mode 100644
index c3c7fe6..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/InvokeAction.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.bdd.common.fixtures.perform;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public class InvokeAction extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public InvokeAction(final Perform.Mode mode) {
-        super("invoke action", Type.ACTION, NumParameters.UNLIMITED, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember objectMember = performContext.getObjectMember();
-        final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-        final List<ScenarioCell> argumentCells = performContext.getArgumentCells();
-
-        final ObjectAction objectAction = (ObjectAction) objectMember;
-
-        final int parameterCount = objectAction.getParameterCount();
-        final boolean isContributedOneArgAction = objectAction.isContributed() && parameterCount == 1;
-
-        ObjectAdapter[] proposedArguments;
-        if (!isContributedOneArgAction) {
-
-            // lookup arguments
-            proposedArguments = performContext.getPeer().getAdapters(onAdapter, objectAction, onMemberBinding, argumentCells);
-
-            // validate arguments
-            final Consent argSetValid = objectAction.isProposedArgumentSetValid(onAdapter, proposedArguments);
-            if (argSetValid.isVetoed()) {
-                throw ScenarioBoundValueException.current(onMemberBinding, argSetValid.getReason());
-            }
-        } else {
-            proposedArguments = new ObjectAdapter[] { onAdapter };
-        }
-
-        // execute
-        result = objectAction.execute(onAdapter, proposedArguments);
-
-        // all OK.
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/Perform.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/Perform.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/Perform.java
deleted file mode 100644
index 10a1c7d..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/Perform.java
+++ /dev/null
@@ -1,37 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-
-public interface Perform {
-
-    public static enum Mode {
-        SETUP, TEST
-    }
-
-    String getKey();
-
-    void perform(PerformContext performContext) throws ScenarioBoundValueException;
-
-    ObjectAdapter getResult();
-
-    boolean requiresMember();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformAbstract.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformAbstract.java
deleted file mode 100644
index a821df6..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformAbstract.java
+++ /dev/null
@@ -1,47 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public abstract class PerformAbstract implements Perform {
-
-    private final String key;
-    private final Perform.Mode mode;
-
-    public PerformAbstract(final String key, final Perform.Mode mode) {
-        this.key = key;
-        this.mode = mode;
-    }
-
-    @Override
-    public String getKey() {
-        return key;
-    }
-
-    protected Perform.Mode getMode() {
-        return mode;
-    }
-
-    protected AuthenticationSession getSession() {
-        return IsisContext.getAuthenticationSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformAbstractTypeParams.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformAbstractTypeParams.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformAbstractTypeParams.java
deleted file mode 100644
index 2e0d1fa..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformAbstractTypeParams.java
+++ /dev/null
@@ -1,188 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public abstract class PerformAbstractTypeParams extends PerformAbstract {
-
-    protected static enum Type {
-        PROPERTY(true) {
-            @Override
-            String ensureMemberIsOfType(final ObjectMember m) {
-                return m instanceof OneToOneAssociation ? null : "(not a property)";
-            }
-        },
-        COLLECTION(true) {
-            @Override
-            String ensureMemberIsOfType(final ObjectMember m) {
-                return m instanceof OneToManyAssociation ? null : "(not a collection)";
-            }
-        },
-        ACTION(true) {
-            @Override
-            String ensureMemberIsOfType(final ObjectMember m) {
-                return m instanceof ObjectAction ? null : "(not an action)";
-            }
-        },
-        OBJECT(false) {
-            @Override
-            String ensureMemberIsOfType(final ObjectMember m) {
-                return m != null ? "(not required)" : null;
-            }
-        };
-        // public void ensureMemberIsOfType(
-        // final NakedObjectMember nakedObjectMember,
-        // final StoryCell onMemberCell) throws StoryFailureException {
-        // final String msg = ensureMemberIsOfType(nakedObjectMember);
-        // if (msg != null) {
-        // throw new StoryFailureException(onMemberCell, msg);
-        // }
-        // }
-
-        abstract String ensureMemberIsOfType(ObjectMember m);
-
-        private final boolean representsMember;
-
-        private Type(final boolean representsMember) {
-            this.representsMember = representsMember;
-        }
-
-        public boolean representsMember() {
-            return representsMember;
-        }
-    }
-
-    protected static enum NumParameters {
-        ZERO, ONE, UNLIMITED;
-    }
-
-    private final Type type;
-    private final NumParameters numParameters;
-
-    public PerformAbstractTypeParams(final String key, final Type type, final NumParameters numParameters, final Perform.Mode mode) {
-        super(key, mode);
-        this.type = type;
-        this.numParameters = numParameters;
-    }
-
-    @Override
-    public boolean requiresMember() {
-        return type.representsMember();
-    }
-
-    /**
-     * Can be overridden, but provides basic checking that member is of correct
-     * type and, if taking {@link NumParameters#ZERO zero} or
-     * {@link NumParameters#ONE one} parameter, that the correct number of
-     * actual arguments match.
-     */
-    @Override
-    public void perform(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-        final ScenarioCell onMemberCell = onMemberBinding.getCurrentCell();
-
-        final String reason = type.ensureMemberIsOfType(performContext.getObjectMember());
-        if (reason != null) {
-            throw ScenarioBoundValueException.current(onMemberBinding, reason);
-        }
-
-        if (type.representsMember()) {
-
-            if (getMode() == Perform.Mode.TEST) {
-
-                performContext.ensureAvailableForDeploymentType(onMemberBinding, onMemberCell);
-
-                performContext.ensureVisible(onMemberBinding, onMemberCell);
-                performContext.ensureUsable(onMemberBinding, onMemberCell);
-            }
-
-            // validate we have correct number of parameters if zero or one.
-            final int numArgs = performContext.getArgumentCells().size();
-
-            // don't do these two checks, because there could be additional
-            // cells due to previous or subsequent rows in the table
-            // (with the author keeping this 'tidy')
-
-            // if (numParameters == NumParameters.ZERO && length > 0) {
-            // ... "(no arguments required)"
-            // }
-            // if (numParameters == NumParameters.ONE && length > 1) {
-            // ... "(need just 1 argument)"
-            // }
-
-            // okay to do this check, though
-            if (numParameters == NumParameters.ONE && numArgs < 1) {
-                throw ScenarioBoundValueException.current(onMemberBinding, "(need one argument)");
-            }
-        }
-
-        doHandle(performContext);
-    }
-
-    /**
-     * Hook method that does nothing; should be overridden if
-     * {@link #perform(PerformContextForFitNesse) handle(...)} method has not
-     * been.
-     */
-    protected void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-        // does nothing
-    }
-
-    // /**
-    // * Convenience; delegates to
-    // * {@link Type#ensureMemberIsOfType(NakedObjectMember)} and downcasts.
-    // */
-    // protected OneToOneAssociation ensureMemberIsProperty(
-    // final NakedObjectMember nakedObjectMember,
-    // final StoryCell usingMemberCell) throws StoryFailureException {
-    // type.ensureMemberIsOfType(nakedObjectMember, usingMemberCell);
-    // return (OneToOneAssociation) nakedObjectMember;
-    // }
-    //
-    // /**
-    // * Convenience; delegates to
-    // * {@link Type#ensureMemberIsOfType(NakedObjectMember)} and downcasts.
-    // */
-    // protected OneToManyAssociation ensureMemberIsCollection(
-    // final NakedObjectMember nakedObjectMember,
-    // final StoryCell usingMemberCell) throws StoryFailureException {
-    // type.ensureMemberIsOfType(nakedObjectMember, usingMemberCell);
-    // return (OneToManyAssociation) nakedObjectMember;
-    // }
-    //
-    // /**
-    // * Convenience; delegates to
-    // * {@link Type#ensureMemberIsOfType(NakedObjectMember)} and downcasts.
-    // */
-    // protected NakedObjectAction ensureMemberIsAction(
-    // final NakedObjectMember nakedObjectMember,
-    // final StoryCell usingMemberCell) throws StoryFailureException {
-    // type.ensureMemberIsOfType(nakedObjectMember, usingMemberCell);
-    // return (NakedObjectAction) nakedObjectMember;
-    // }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformContext.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformContext.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformContext.java
deleted file mode 100644
index e1679d5..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformContext.java
+++ /dev/null
@@ -1,128 +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.bdd.common.fixtures.perform;
-
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.actions.exploration.ExplorationFacet;
-import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.UsingIsisViewerPeer;
-import org.apache.isis.viewer.bdd.common.parsers.DateParser;
-
-/**
- * Represents the context for a single {@link Perform} command; in effect, a row
- * of a table.
- */
-public class PerformContext {
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    private final Where where = Where.ANYWHERE;
-
-    private final UsingIsisViewerPeer peer;
-
-    private final ObjectAdapter onAdapter;
-    private final ObjectMember objectMember;
-    private final List<ScenarioCell> argumentCells;
-
-    public PerformContext(final UsingIsisViewerPeer peer, final ObjectAdapter onAdapter, final ObjectMember objectMember, final List<ScenarioCell> argumentCells) {
-        this.onAdapter = onAdapter;
-        this.objectMember = objectMember;
-        this.peer = peer;
-        this.argumentCells = argumentCells;
-    }
-
-    public UsingIsisViewerPeer getPeer() {
-        return peer;
-    }
-
-    public ObjectAdapter getOnAdapter() {
-        return onAdapter;
-    }
-
-    public ObjectMember getObjectMember() {
-        return objectMember;
-    }
-
-    public List<ScenarioCell> getArgumentCells() {
-        return argumentCells;
-    }
-
-    public Consent visibleMemberConsent() {
-        return getObjectMember().isVisible(getAuthenticationSession(), getOnAdapter(), where);
-    }
-
-    public Consent usableMemberConsent() {
-        return getObjectMember().isUsable(getAuthenticationSession(), getOnAdapter(), where);
-    }
-
-    public Consent validObjectConsent() {
-        final ObjectAdapter onAdapter = getOnAdapter();
-        return onAdapter.getSpecification().isValid(onAdapter);
-    }
-
-    public void ensureVisible(final CellBinding onMemberBinding, final ScenarioCell onMemberCell) throws ScenarioBoundValueException {
-        final Consent visible = objectMember.isVisible(getAuthenticationSession(), getOnAdapter(), where);
-        if (visible.isVetoed()) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(not visible)");
-        }
-    }
-
-    public void ensureUsable(final CellBinding onMemberBinding, final ScenarioCell onMemberCell) throws ScenarioBoundValueException {
-        final Consent usable = objectMember.isUsable(getAuthenticationSession(), getOnAdapter(), where);
-        if (usable.isVetoed()) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(not usable)");
-        }
-    }
-
-    public void ensureAvailableForDeploymentType(final CellBinding onMemberBinding, final ScenarioCell onMemberCell) throws ScenarioBoundValueException {
-        final DeploymentType deploymentType = this.peer.getDeploymentType();
-
-        final boolean isExploration = objectMember.getFacet(ExplorationFacet.class) != null;
-        if (isExploration && !deploymentType.isExploring()) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(not running in exploration mode)");
-        }
-
-        final boolean isPrototype = objectMember.getFacet(PrototypeFacet.class) != null;
-        if (isPrototype && !deploymentType.isPrototyping()) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(not running in prototype mode)");
-        }
-    }
-
-    protected AuthenticationSession getAuthenticationSession() {
-        return getPeer().getAuthenticationSession();
-    }
-
-    public DateParser getDateParser() {
-        return peer.getDateParser();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformOwner.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformOwner.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformOwner.java
deleted file mode 100644
index 06b5157..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/PerformOwner.java
+++ /dev/null
@@ -1,23 +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.bdd.common.fixtures.perform;
-
-public interface PerformOwner {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/RemoveFromCollection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/RemoveFromCollection.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/RemoveFromCollection.java
deleted file mode 100644
index 7fe0b39..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/RemoveFromCollection.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.bdd.common.fixtures.perform;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public class RemoveFromCollection extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public RemoveFromCollection(final Perform.Mode mode) {
-        super("remove from collection", Type.COLLECTION, NumParameters.ONE, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-        @SuppressWarnings("unused")
-        final ScenarioCell onMemberCell = onMemberBinding.getCurrentCell();
-
-        final List<ScenarioCell> argumentCells = performContext.getArgumentCells();
-
-        final OneToManyAssociation otma = (OneToManyAssociation) nakedObjectMember;
-
-        // safe since guaranteed by superclass
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-        final ScenarioCell arg0Cell = argumentCells.get(0);
-        final String toRemove = arg0Cell.getText();
-
-        final CollectionRemoveFromFacet removeFromFacet = nakedObjectMember.getFacet(CollectionRemoveFromFacet.class);
-        if (removeFromFacet == null) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(cannot remove from collection)");
-        }
-
-        final ObjectAdapter toRemoveAdapter = performContext.getPeer().getAliasRegistry().getAliased(toRemove);
-        if (toRemoveAdapter == null) {
-            throw ScenarioBoundValueException.current(arg0Binding, "(unknown alias)");
-        }
-
-        // validate argument
-        otma.createValidateAddInteractionContext(getSession(), InteractionInvocationMethod.BY_USER, onAdapter, toRemoveAdapter);
-        final Consent validToRemove = otma.isValidToRemove(onAdapter, toRemoveAdapter);
-        if (validToRemove.isVetoed()) {
-            throw ScenarioBoundValueException.current(onMemberBinding, validToRemove.getReason());
-        }
-
-        // remove
-        removeFromFacet.remove(onAdapter, toRemoveAdapter);
-
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/SaveObject.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/SaveObject.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/SaveObject.java
deleted file mode 100644
index d101d13..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/SaveObject.java
+++ /dev/null
@@ -1,71 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.Persistor;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-
-public class SaveObject extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public SaveObject(final Perform.Mode mode) {
-        super("save", Type.OBJECT, NumParameters.ZERO, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-
-        final Consent valid = onAdapter.getSpecification().isValid(onAdapter);
-
-        final CellBinding performBinding = performContext.getPeer().getPerformBinding();
-        if (valid.isVetoed()) {
-            throw ScenarioBoundValueException.current(performBinding, valid.getReason());
-        }
-
-        if (onAdapter.representsPersistent()) {
-            throw ScenarioBoundValueException.current(performBinding, "(already persistent)");
-        }
-
-        // persist
-
-        // xactn mgmt now performed by PersistenceSession#makePersistent
-        // getOwner().getTransactionManager().startTransaction();
-        getPersistenceSession().makePersistent(onAdapter);
-        // getOwner().getTransactionManager().endTransaction();
-
-        // all OK.
-    }
-
-    protected Persistor getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/SetProperty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/SetProperty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/SetProperty.java
deleted file mode 100644
index 71d7c85..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/SetProperty.java
+++ /dev/null
@@ -1,79 +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.bdd.common.fixtures.perform;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertySetterFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public class SetProperty extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public SetProperty(final Perform.Mode mode) {
-        super("set property", Type.PROPERTY, NumParameters.ONE, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final List<ScenarioCell> argumentCells = performContext.getArgumentCells();
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) nakedObjectMember;
-
-        // set
-        final PropertySetterFacet setterFacet = otoa.getFacet(PropertySetterFacet.class);
-        if (setterFacet == null) {
-            final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-            throw ScenarioBoundValueException.current(onMemberBinding, "(cannot set)");
-        }
-
-        // safe to obtain since guaranteed by superclass
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-        final ScenarioCell arg0Cell = argumentCells.get(0);
-
-        // obtain existing as 'context' (used if this is a parsed @Value)
-        final ObjectAdapter contextAdapter = otoa.get(onAdapter);
-
-        // validate parameter
-        final ObjectAdapter toSetAdapter = performContext.getPeer().getAdapter(contextAdapter, otoa.getSpecification(), arg0Binding, arg0Cell);
-        final Consent validConsent = otoa.isAssociationValid(onAdapter, toSetAdapter);
-        if (validConsent.isVetoed()) {
-            throw ScenarioBoundValueException.current(arg0Binding, validConsent.getReason());
-        }
-
-        setterFacet.setProperty(onAdapter, toSetAdapter);
-
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsContainment.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsContainment.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsContainment.java
deleted file mode 100644
index b3b246b..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsContainment.java
+++ /dev/null
@@ -1,53 +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.bdd.common.fixtures.perform.checkthat;
-
-/**
- * Parameterizes {@link ThatSubcommand}s.
- */
-public enum AssertsContainment {
-
-    CONTAINS("contains", true, "(does not contain)"), DOES_NOT_CONTAIN("does not contain", false, "(contains)");
-
-    private final String key;
-    private final boolean contains;
-    private final String errorMsgIfNotSatisfied;
-
-    private AssertsContainment(final String key, final boolean contains, final String errorMsgIfNotSatisfied) {
-        this.key = key;
-        this.contains = contains;
-        this.errorMsgIfNotSatisfied = errorMsgIfNotSatisfied;
-    }
-
-    public String getKey() {
-        return key;
-    }
-
-    public boolean doesContain() {
-        return contains;
-    }
-
-    public boolean isSatisfiedBy(final boolean contains) {
-        return this.contains == contains;
-    }
-
-    public String getErrorMsgIfNotSatisfied() {
-        return errorMsgIfNotSatisfied;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsEmpty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsEmpty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsEmpty.java
deleted file mode 100644
index 6b69c09..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsEmpty.java
+++ /dev/null
@@ -1,53 +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.bdd.common.fixtures.perform.checkthat;
-
-/**
- * Parameterizes {@link ThatSubcommand}s.
- */
-public enum AssertsEmpty {
-
-    EMPTY("is empty", true, "(not empty)"), NOT_EMPTY("is not empty", false, "(empty)");
-
-    private final String key;
-    private final boolean empty;
-    private final String errorMsgIfNotSatisfied;
-
-    AssertsEmpty(final String key, final boolean empty, final String errorMsgIfNotSatisfied) {
-        this.key = key;
-        this.empty = empty;
-        this.errorMsgIfNotSatisfied = errorMsgIfNotSatisfied;
-    }
-
-    public String getKey() {
-        return key;
-    }
-
-    public boolean isEmpty() {
-        return empty;
-    }
-
-    public boolean isSatisfiedBy(final boolean empty) {
-        return this.empty == empty;
-    }
-
-    public String getErrorMsgIfNotSatisfied() {
-        return errorMsgIfNotSatisfied;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsValidity.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsValidity.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsValidity.java
deleted file mode 100644
index 831512c..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/AssertsValidity.java
+++ /dev/null
@@ -1,70 +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.bdd.common.fixtures.perform.checkthat;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-
-/**
- * Parameterizes {@link ThatSubcommand}s.
- * 
- * @author Dan Haywood
- */
-public enum AssertsValidity {
-
-    VALID(true, "is valid for", "is valid", "valid"), INVALID(false, "is not valid for", "is not valid", "not valid", "invalid");
-
-    private final String[] keys;
-    private final boolean valid;
-
-    AssertsValidity(final boolean valid, final String... keys) {
-        this.keys = keys;
-        this.valid = valid;
-    }
-
-    public String[] getKeys() {
-        return keys;
-    }
-
-    public boolean isValid() {
-        return valid;
-    }
-
-    public boolean satisfiedBy(final Consent validityConsent) {
-        return validityConsent.isAllowed() && isValid() || validityConsent.isVetoed() && !isValid();
-    }
-
-    /**
-     * The reason to use if the assertion is not valid.
-     */
-    public String getReason(final Consent validityConsent) {
-        return isValid() ? validityConsent.getReason() : "(valid)";
-    }
-
-    /**
-     * The binding whose current cell should be coloured if the assertion fails.
-     */
-    public CellBinding colorBinding(final CellBinding arg0Binding, final CellBinding thatBinding) {
-        if (arg0Binding == null) {
-            return thatBinding;
-        }
-        return isValid() ? arg0Binding : thatBinding;
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Disabled.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Disabled.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Disabled.java
deleted file mode 100644
index 5242f81..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Disabled.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.bdd.common.fixtures.perform.checkthat;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-
-public class Disabled extends ThatSubcommandAbstract {
-
-    public Disabled() {
-        super("is disabled", "is not usable", "is not enabled");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        if (performContext.usableMemberConsent().isAllowed()) {
-            final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-            throw ScenarioBoundValueException.current(onMemberBinding, "(usable)");
-        }
-
-        return null;
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Hidden.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Hidden.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Hidden.java
deleted file mode 100644
index a39148c..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Hidden.java
+++ /dev/null
@@ -1,43 +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.bdd.common.fixtures.perform.checkthat;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-
-public class Hidden extends ThatSubcommandAbstract {
-
-    public Hidden() {
-        super("is hidden", "is not visible");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        if (performContext.visibleMemberConsent().isAllowed()) {
-            final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-            throw ScenarioBoundValueException.current(onMemberBinding, "(visible)");
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/PerformCheckThatAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/PerformCheckThatAbstract.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/PerformCheckThatAbstract.java
deleted file mode 100644
index 46fbf3a..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/PerformCheckThatAbstract.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.bdd.common.fixtures.perform.checkthat;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.IsisViewerConstants;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.Perform;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-
-public abstract class PerformCheckThatAbstract extends PerformAbstract {
-
-    protected static enum OnMemberColumn {
-        REQUIRED, NOT_REQUIRED
-    }
-
-    private final Map<String, ThatSubcommand> subcommandByKey = new HashMap<String, ThatSubcommand>();
-    private ObjectAdapter result;
-    private final boolean requiresMember;
-
-    public PerformCheckThatAbstract(final String key, final OnMemberColumn onMemberColumn, final Perform.Mode mode, final ThatSubcommand... thatSubcommands) {
-        super(key, mode);
-        requiresMember = onMemberColumn == OnMemberColumn.REQUIRED;
-        for (final ThatSubcommand thatSubcommand : thatSubcommands) {
-            for (final String subKey : thatSubcommand.getSubkeys()) {
-                subcommandByKey.put(subKey, thatSubcommand);
-            }
-        }
-    }
-
-    @Override
-    public void perform(final PerformContext performContext) throws ScenarioBoundValueException {
-        final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-        if (!thatItBinding.isFound()) {
-            final CellBinding performBinding = performContext.getPeer().getPerformBinding();
-            throw ScenarioBoundValueException.current(performBinding, "(require " + IsisViewerConstants.THAT_IT_NAME + "' column)");
-        }
-        final ScenarioCell thatItCell = thatItBinding.getCurrentCell();
-        final String thatIt = thatItCell.getText();
-        final ThatSubcommand thatSubcommand = subcommandByKey.get(thatIt);
-        if (thatSubcommand == null) {
-            throw ScenarioBoundValueException.current(thatItBinding, "(unknown '" + IsisViewerConstants.THAT_IT_NAME + "' verb)");
-        }
-        result = thatSubcommand.that(performContext);
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-    @Override
-    public boolean requiresMember() {
-        return requiresMember;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ProposedArgumentValidityAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ProposedArgumentValidityAbstract.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ProposedArgumentValidityAbstract.java
deleted file mode 100644
index 91fd422..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ProposedArgumentValidityAbstract.java
+++ /dev/null
@@ -1,65 +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.bdd.common.fixtures.perform.checkthat;
-
-import org.apache.isis.core.commons.lang.StringUtils;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-
-public abstract class ProposedArgumentValidityAbstract extends ThatValidityAbstract {
-
-    public ProposedArgumentValidityAbstract(final AssertsValidity assertion) {
-        super(assertion);
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final CellBinding thatBinding = performContext.getPeer().getThatItBinding();
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-
-        // check we have an argument to validate (if one is required)
-        if (!arg0Binding.isFound()) {
-            throw ScenarioBoundValueException.current(thatBinding, "(requires argument)");
-        }
-
-        final ScenarioCell arg0Cell = arg0Binding.getCurrentCell();
-        final String toValidate = arg0Cell.getText();
-        if (StringUtils.isNullOrEmpty(toValidate)) {
-            throw ScenarioBoundValueException.current(arg0Binding, "(required)");
-        }
-
-        final ObjectAdapter toValidateAdapter = performContext.getPeer().getAdapter(null, nakedObjectMember.getSpecification(), arg0Binding, arg0Cell);
-        final Consent validityConsent = determineConsent(performContext, toValidateAdapter);
-        if (!getAssertion().satisfiedBy(validityConsent)) {
-            throw ScenarioBoundValueException.current(getAssertion().colorBinding(arg0Binding, thatBinding), getAssertion().getReason(validityConsent));
-        }
-
-        return toValidateAdapter;
-    }
-
-    protected abstract Consent determineConsent(final PerformContext performContext, ObjectAdapter toValidateAdapter);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatSubcommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatSubcommand.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatSubcommand.java
deleted file mode 100644
index 9209512..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatSubcommand.java
+++ /dev/null
@@ -1,36 +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.bdd.common.fixtures.perform.checkthat;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformOwner;
-
-public interface ThatSubcommand {
-
-    ObjectAdapter that(PerformContext performContext) throws ScenarioBoundValueException;
-
-    List<String> getSubkeys();
-
-    void setOwner(PerformOwner owner);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatSubcommandAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatSubcommandAbstract.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatSubcommandAbstract.java
deleted file mode 100644
index fcc8206..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatSubcommandAbstract.java
+++ /dev/null
@@ -1,53 +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.bdd.common.fixtures.perform.checkthat;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformOwner;
-
-public abstract class ThatSubcommandAbstract implements ThatSubcommand {
-
-    private final List<String> subkeys;
-    private PerformOwner owner;
-
-    public ThatSubcommandAbstract(final String... subkeys) {
-        this.subkeys = Collections.unmodifiableList(Arrays.asList(subkeys));
-    }
-
-    @Override
-    public List<String> getSubkeys() {
-        return subkeys;
-    }
-
-    protected PerformOwner getOwner() {
-        return owner;
-    }
-
-    /**
-     * Injected.
-     */
-    @Override
-    public void setOwner(final PerformOwner owner) {
-        this.owner = owner;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatValidityAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatValidityAbstract.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatValidityAbstract.java
deleted file mode 100644
index 9c41083..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/ThatValidityAbstract.java
+++ /dev/null
@@ -1,34 +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.bdd.common.fixtures.perform.checkthat;
-
-public abstract class ThatValidityAbstract extends ThatSubcommandAbstract {
-
-    private final AssertsValidity assertion;
-
-    public ThatValidityAbstract(final AssertsValidity assertion) {
-        super(assertion.getKeys());
-        this.assertion = assertion;
-    }
-
-    public AssertsValidity getAssertion() {
-        return assertion;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Usable.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Usable.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Usable.java
deleted file mode 100644
index b254b94..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Usable.java
+++ /dev/null
@@ -1,43 +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.bdd.common.fixtures.perform.checkthat;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-
-public class Usable extends ThatSubcommandAbstract {
-
-    public Usable() {
-        super("is usable", "is enabled", "is not disabled");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        if (!performContext.usableMemberConsent().isAllowed()) {
-            final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-            throw ScenarioBoundValueException.current(onMemberBinding, "(disabled)");
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Visible.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Visible.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Visible.java
deleted file mode 100644
index 02c7c7d..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/Visible.java
+++ /dev/null
@@ -1,43 +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.bdd.common.fixtures.perform.checkthat;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-
-public class Visible extends ThatSubcommandAbstract {
-
-    public Visible() {
-        super("is visible", "is not hidden");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        if (performContext.visibleMemberConsent().isVetoed()) {
-            final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-            throw ScenarioBoundValueException.current(onMemberBinding, "(hidden)");
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/action/ArgumentSetNotValid.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/action/ArgumentSetNotValid.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/action/ArgumentSetNotValid.java
deleted file mode 100644
index 906305a..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/action/ArgumentSetNotValid.java
+++ /dev/null
@@ -1,70 +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.bdd.common.fixtures.perform.checkthat.action;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class ArgumentSetNotValid extends ThatSubcommandAbstract {
-
-    public ArgumentSetNotValid() {
-        super("is not valid for", "is invalid", "invalid");
-    }
-
-    // TODO: a lot of duplication with InvokeAction; simplify somehow?
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-        final List<ScenarioCell> argumentCells = performContext.getArgumentCells();
-
-        final ObjectAction nakedObjectAction = (ObjectAction) nakedObjectMember;
-        final int parameterCount = nakedObjectAction.getParameterCount();
-        final boolean isContributedOneArgAction = nakedObjectAction.isContributed() && parameterCount == 1;
-
-        if (isContributedOneArgAction) {
-            return null;
-        }
-
-        // lookup arguments
-        final ObjectAdapter[] proposedArguments = performContext.getPeer().getAdapters(onAdapter, nakedObjectAction, onMemberBinding, argumentCells);
-
-        // validate arguments
-        final Consent argSetValid = nakedObjectAction.isProposedArgumentSetValid(onAdapter, proposedArguments);
-        if (argSetValid.isAllowed()) {
-            final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-            throw ScenarioBoundValueException.current(thatItBinding, "(valid)");
-        }
-
-        // execute
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/action/ArgumentSetValid.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/action/ArgumentSetValid.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/action/ArgumentSetValid.java
deleted file mode 100644
index 666b2e3..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/action/ArgumentSetValid.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.bdd.common.fixtures.perform.checkthat.action;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class ArgumentSetValid extends ThatSubcommandAbstract {
-
-    public ArgumentSetValid() {
-        super("is valid for", "is valid", "valid");
-    }
-
-    // TODO: a lot of duplication with InvokeAction; simplify somehow?
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-        final List<ScenarioCell> argumentCells = performContext.getArgumentCells();
-
-        final ObjectAction nakedObjectAction = (ObjectAction) nakedObjectMember;
-        final int parameterCount = nakedObjectAction.getParameterCount();
-        final boolean isContributedOneArgAction = nakedObjectAction.isContributed() && parameterCount == 1;
-
-        if (isContributedOneArgAction) {
-            return null;
-        }
-
-        // lookup arguments
-        final ObjectAdapter[] proposedArguments = performContext.getPeer().getAdapters(onAdapter, nakedObjectAction, onMemberBinding, argumentCells);
-
-        // validate arguments
-        final Consent argSetValid = nakedObjectAction.isProposedArgumentSetValid(onAdapter, proposedArguments);
-        if (argSetValid.isVetoed()) {
-            throw ScenarioBoundValueException.current(onMemberBinding, argSetValid.getReason());
-        }
-
-        // execute
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Containment.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Containment.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Containment.java
deleted file mode 100644
index ba485fb..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Containment.java
+++ /dev/null
@@ -1,67 +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.bdd.common.fixtures.perform.checkthat.collections;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsContainment;
-
-public class Containment extends ThatAbstract {
-
-    private final AssertsContainment assertion;
-
-    public Containment(final AssertsContainment assertion) {
-        super(assertion.getKey());
-        this.assertion = assertion;
-    }
-
-    @Override
-    protected void doThat(final PerformContext performContext, final Iterable<ObjectAdapter> collection) throws ScenarioBoundValueException {
-
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final CellBinding thatBinding = performContext.getPeer().getThatItBinding();
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-
-        if (!arg0Binding.isFound()) {
-            throw ScenarioBoundValueException.current(thatBinding, "(requires argument)");
-        }
-
-        final ScenarioCell arg0Cell = arg0Binding.getCurrentCell();
-
-        final ObjectAdapter containedAdapter = performContext.getPeer().getAdapter(null, nakedObjectMember.getSpecification(), arg0Binding, arg0Cell);
-
-        boolean contains = false;
-        for (final ObjectAdapter eachAdapter : collection) {
-            if (containedAdapter == eachAdapter) {
-                contains = true;
-                break;
-            }
-        }
-
-        if (!assertion.isSatisfiedBy(contains)) {
-            throw ScenarioBoundValueException.current(arg0Binding, assertion.getErrorMsgIfNotSatisfied());
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Emptiness.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Emptiness.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Emptiness.java
deleted file mode 100644
index e07ad75..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Emptiness.java
+++ /dev/null
@@ -1,51 +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.bdd.common.fixtures.perform.checkthat.collections;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsEmpty;
-
-public class Emptiness extends ThatAbstract {
-
-    private final AssertsEmpty assertion;
-
-    public Emptiness(final AssertsEmpty assertion) {
-        super(assertion.getKey());
-        this.assertion = assertion;
-    }
-
-    @Override
-    protected void doThat(final PerformContext performContext, final Iterable<ObjectAdapter> collection) throws ScenarioBoundValueException {
-
-        boolean empty = true;
-        for (@SuppressWarnings("unused")
-        final ObjectAdapter eachObject : collection) {
-            empty = false;
-        }
-
-        if (!assertion.isSatisfiedBy(empty)) {
-            final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-            throw ScenarioBoundValueException.current(thatItBinding, assertion.getErrorMsgIfNotSatisfied());
-        }
-    }
-
-}


[53/56] [abbrv] isis git commit: ISIS-1335: deleting the tool/structure101 directory ... out-of-date, not been maintained.

Posted by da...@apache.org.
ISIS-1335: deleting the tool/structure101 directory ... out-of-date, not been maintained.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/dbe266f8
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/dbe266f8
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/dbe266f8

Branch: refs/heads/master
Commit: dbe266f8e996fcd82303a07b677bc8562e5b0ae6
Parents: a43dbdd
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat May 21 07:38:44 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat May 21 07:38:44 2016 +0100

----------------------------------------------------------------------
 tool/structure101/applib/applib.java.hsp        | 267 ---------
 .../core/commons/core-commons.java.hsp          |  37 --
 tool/structure101/core/core.java.hsp            |  84 ---
 .../core/metamodel/core-metamodel.java.hsp      |  70 ---
 .../core/progmodel/core-progmodel.java.hsp      |  79 ---
 .../core/runtime/core-runtime.java.hsp          | 118 ----
 .../core/testsupport/core-testsupport.java.hsp  |  13 -
 .../runtimes/dflt/runtime-dflt.java.hsp         | 592 -------------------
 .../runtimes/dflt/runtime/core-runtime.java.hsp |  13 -
 .../runtimes/dflt/runtimes-dflt-JARs.java.hsp   |  53 --
 .../runtimes/dflt/webapp/core-webapp.java.hsp   |  13 -
 .../dflt/webserver/core-webserver.java.hsp      |  13 -
 12 files changed, 1352 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/applib/applib.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/applib/applib.java.hsp b/tool/structure101/applib/applib.java.hsp
deleted file mode 100644
index 319880b..0000000
--- a/tool/structure101/applib/applib.java.hsp
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.4.1223" flavor="j2se">
-  <property name="show-needs-to-compile" value="false" />
-  <property name="hide-externals" value="true" />
-  <property name="detail-mode" value="false" />
-  <classpath relativeto="D:\SVN\ai\trunk\applib">
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\applib\target\classes" />
-  </classpath>
-  <restructuring>
-    <set version="1" name="Sandbox 1" hiview="Codemap" active="true" todo="false" />
-    <set version="1" name="Flattened to classes" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="true">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-    <set version="1" name="Flattened to leaf packages" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="false">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-  </restructuring>
-  <sourcepaths>
-    <pathentry type="file" path="src/main/java" />
-  </sourcepaths>
-  <grid-set sep="." version="3.4.1223">
-    <grid name="Diagram 1" enforce="true" strict="false">
-      <row>
-        <cell name="fixtures" pattern="org.apache.isis.applib.fixtures.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="fixtures" pattern="org.apache.isis.applib.fixtures.?" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="switchuser" pattern="org.apache.isis.applib.fixtures.switchuser.?" vexpanded="false" visibility="public" />
-              <cell name="userprofile" pattern="org.apache.isis.applib.fixtures.userprofile.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="value" pattern="org.apache.isis.applib.value.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="DateTime" pattern="org.apache.isis.applib.value.DateTime" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="Color" pattern="org.apache.isis.applib.value.Color" vexpanded="false" visibility="public" />
-              <cell name="Date" pattern="org.apache.isis.applib.value.Date" vexpanded="false" visibility="public" />
-              <cell name="Money" pattern="org.apache.isis.applib.value.Money" vexpanded="false" visibility="public" />
-              <cell name="Percentage" pattern="org.apache.isis.applib.value.Percentage" vexpanded="false" visibility="public" />
-              <cell name="Time" pattern="org.apache.isis.applib.value.Time" vexpanded="false" visibility="public" />
-              <cell name="TimeStamp" pattern="org.apache.isis.applib.value.TimeStamp" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="Image" pattern="org.apache.isis.applib.value.Image" vexpanded="false" visibility="public" />
-              <cell name="Magnitude" pattern="org.apache.isis.applib.value.Magnitude" vexpanded="false" visibility="public" />
-              <cell name="Password" pattern="org.apache.isis.applib.value.Password" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="events" pattern="org.apache.isis.applib.events.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="ActionArgumentEvent" pattern="org.apache.isis.applib.events.ActionArgumentEvent" vexpanded="false" visibility="public" />
-              <cell name="ActionInvocationEvent" pattern="org.apache.isis.applib.events.ActionInvocationEvent" vexpanded="false" visibility="public" />
-              <cell name="ActionUsabilityEvent" pattern="org.apache.isis.applib.events.ActionUsabilityEvent" vexpanded="false" visibility="public" />
-              <cell name="ActionVisibilityEvent" pattern="org.apache.isis.applib.events.ActionVisibilityEvent" vexpanded="false" visibility="public" />
-              <cell name="CollectionAccessEvent" pattern="org.apache.isis.applib.events.CollectionAccessEvent" vexpanded="false" visibility="public" />
-              <cell name="CollectionAddToEvent" pattern="org.apache.isis.applib.events.CollectionAddToEvent" vexpanded="false" visibility="public" />
-              <cell name="CollectionMethodEvent" pattern="org.apache.isis.applib.events.CollectionMethodEvent" vexpanded="false" visibility="public" />
-              <cell name="CollectionRemoveFromEvent" pattern="org.apache.isis.applib.events.CollectionRemoveFromEvent" vexpanded="false" visibility="public" />
-              <cell name="CollectionUsabilityEvent" pattern="org.apache.isis.applib.events.CollectionUsabilityEvent" vexpanded="false" visibility="public" />
-              <cell name="CollectionVisibilityEvent" pattern="org.apache.isis.applib.events.CollectionVisibilityEvent" vexpanded="false" visibility="public" />
-              <cell name="ObjectTitleEvent" pattern="org.apache.isis.applib.events.ObjectTitleEvent" vexpanded="false" visibility="public" />
-              <cell name="ObjectValidityEvent" pattern="org.apache.isis.applib.events.ObjectValidityEvent" vexpanded="false" visibility="public" />
-              <cell name="ParseValueEvent" pattern="org.apache.isis.applib.events.ParseValueEvent" vexpanded="false" visibility="public" />
-              <cell name="PropertyAccessEvent" pattern="org.apache.isis.applib.events.PropertyAccessEvent" vexpanded="false" visibility="public" />
-              <cell name="PropertyModifyEvent" pattern="org.apache.isis.applib.events.PropertyModifyEvent" vexpanded="false" visibility="public" />
-              <cell name="PropertyUsabilityEvent" pattern="org.apache.isis.applib.events.PropertyUsabilityEvent" vexpanded="false" visibility="public" />
-              <cell name="PropertyVisibilityEvent" pattern="org.apache.isis.applib.events.PropertyVisibilityEvent" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="AccessEvent" pattern="org.apache.isis.applib.events.AccessEvent" vexpanded="false" visibility="public" />
-              <cell name="UsabilityEvent" pattern="org.apache.isis.applib.events.UsabilityEvent" vexpanded="false" visibility="public" />
-              <cell name="ValidityEvent" pattern="org.apache.isis.applib.events.ValidityEvent" vexpanded="false" visibility="public" />
-              <cell name="VisibilityEvent" pattern="org.apache.isis.applib.events.VisibilityEvent" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="InteractionEvent" pattern="org.apache.isis.applib.events.InteractionEvent" vexpanded="false" visibility="public" />
-              <cell name="ProposedHolderEvent" pattern="org.apache.isis.applib.events.ProposedHolderEvent" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="clock" pattern="org.apache.isis.applib.clock.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="Clock" pattern="org.apache.isis.applib.clock.Clock" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="SystemClock" pattern="org.apache.isis.applib.clock.SystemClock" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="applib" pattern="org.apache.isis.applib.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="AbstractFactoryAndRepository" pattern="org.apache.isis.applib.AbstractFactoryAndRepository" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="AbstractDomainObject" pattern="org.apache.isis.applib.AbstractDomainObject" vexpanded="false" visibility="public" />
-              <cell name="AbstractService" pattern="org.apache.isis.applib.AbstractService" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="AbstractContainedObject" pattern="org.apache.isis.applib.AbstractContainedObject" vexpanded="false" visibility="public" />
-              <cell name="Identifier" pattern="org.apache.isis.applib.Identifier" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="ApplicationException" pattern="org.apache.isis.applib.ApplicationException" vexpanded="false" visibility="public" />
-              <cell name="Defaults" pattern="org.apache.isis.applib.Defaults" vexpanded="false" visibility="public" />
-              <cell name="DomainObjectContainer" pattern="org.apache.isis.applib.DomainObjectContainer" vexpanded="false" visibility="public" />
-              <cell name="NameUtils" pattern="org.apache.isis.applib.NameUtils" vexpanded="false" visibility="public" />
-              <cell name="PersistFailedException" pattern="org.apache.isis.applib.PersistFailedException" vexpanded="false" visibility="public" />
-              <cell name="RepositoryException" pattern="org.apache.isis.applib.RepositoryException" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="security" pattern="org.apache.isis.applib.security.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="UserMemento" pattern="org.apache.isis.applib.security.UserMemento" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="RoleMemento" pattern="org.apache.isis.applib.security.RoleMemento" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="adapters" pattern="org.apache.isis.applib.adapters.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="AbstractValueSemanticsProvider" pattern="org.apache.isis.applib.adapters.AbstractValueSemanticsProvider" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="ValueSemanticsProvider" pattern="org.apache.isis.applib.adapters.ValueSemanticsProvider" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="DefaultsProvider" pattern="org.apache.isis.applib.adapters.DefaultsProvider" vexpanded="false" visibility="public" />
-              <cell name="EncoderDecoder" pattern="org.apache.isis.applib.adapters.EncoderDecoder" vexpanded="false" visibility="public" />
-              <cell name="EncodingException" pattern="org.apache.isis.applib.adapters.EncodingException" vexpanded="false" visibility="public" />
-              <cell name="Parser" pattern="org.apache.isis.applib.adapters.Parser" vexpanded="false" visibility="public" />
-              <cell name="ParsingException" pattern="org.apache.isis.applib.adapters.ParsingException" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="marker" pattern="org.apache.isis.applib.marker.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="AlwaysImmutable" pattern="org.apache.isis.applib.marker.AlwaysImmutable" vexpanded="false" visibility="public" />
-              <cell name="Bounded" pattern="org.apache.isis.applib.marker.Bounded" vexpanded="false" visibility="public" />
-              <cell name="ImmutableOncePersisted" pattern="org.apache.isis.applib.marker.ImmutableOncePersisted" vexpanded="false" visibility="public" />
-              <cell name="ImmutableUntilPersisted" pattern="org.apache.isis.applib.marker.ImmutableUntilPersisted" vexpanded="false" visibility="public" />
-              <cell name="NeverImmutable" pattern="org.apache.isis.applib.marker.NeverImmutable" vexpanded="false" visibility="public" />
-              <cell name="NonPersistable" pattern="org.apache.isis.applib.marker.NonPersistable" vexpanded="false" visibility="public" />
-              <cell name="ProgramPersistable" pattern="org.apache.isis.applib.marker.ProgramPersistable" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="annotation" pattern="org.apache.isis.applib.annotation.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="Disabled" pattern="org.apache.isis.applib.annotation.Disabled" vexpanded="false" visibility="public" />
-              <cell name="EqualByContent" pattern="org.apache.isis.applib.annotation.EqualByContent" vexpanded="false" visibility="public" />
-              <cell name="Hidden" pattern="org.apache.isis.applib.annotation.Hidden" vexpanded="false" visibility="public" />
-              <cell name="Immutable" pattern="org.apache.isis.applib.annotation.Immutable" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="ActionOrder" pattern="org.apache.isis.applib.annotation.ActionOrder" vexpanded="false" visibility="public" />
-              <cell name="Aggregated" pattern="org.apache.isis.applib.annotation.Aggregated" vexpanded="false" visibility="public" />
-              <cell name="Bounded" pattern="org.apache.isis.applib.annotation.Bounded" vexpanded="false" visibility="public" />
-              <cell name="Debug" pattern="org.apache.isis.applib.annotation.Debug" vexpanded="false" visibility="public" />
-              <cell name="Defaulted" pattern="org.apache.isis.applib.annotation.Defaulted" vexpanded="false" visibility="public" />
-              <cell name="DescribedAs" pattern="org.apache.isis.applib.annotation.DescribedAs" vexpanded="false" visibility="public" />
-              <cell name="Encodable" pattern="org.apache.isis.applib.annotation.Encodable" vexpanded="false" visibility="public" />
-              <cell name="Executed" pattern="org.apache.isis.applib.annotation.Executed" vexpanded="false" visibility="public" />
-              <cell name="Exploration" pattern="org.apache.isis.applib.annotation.Exploration" vexpanded="false" visibility="public" />
-              <cell name="Facets" pattern="org.apache.isis.applib.annotation.Facets" vexpanded="false" visibility="public" />
-              <cell name="FieldOrder" pattern="org.apache.isis.applib.annotation.FieldOrder" vexpanded="false" visibility="public" />
-              <cell name="Ignore" pattern="org.apache.isis.applib.annotation.Ignore" vexpanded="false" visibility="public" />
-              <cell name="Mask" pattern="org.apache.isis.applib.annotation.Mask" vexpanded="false" visibility="public" />
-              <cell name="MaxLength" pattern="org.apache.isis.applib.annotation.MaxLength" vexpanded="false" visibility="public" />
-              <cell name="MemberOrder" pattern="org.apache.isis.applib.annotation.MemberOrder" vexpanded="false" visibility="public" />
-              <cell name="MultiLine" pattern="org.apache.isis.applib.annotation.MultiLine" vexpanded="false" visibility="public" />
-              <cell name="MustSatisfy" pattern="org.apache.isis.applib.annotation.MustSatisfy" vexpanded="false" visibility="public" />
-              <cell name="Named" pattern="org.apache.isis.applib.annotation.Named" vexpanded="false" visibility="public" />
-              <cell name="NotContributed" pattern="org.apache.isis.applib.annotation.NotContributed" vexpanded="false" visibility="public" />
-              <cell name="NotInServiceMenu" pattern="org.apache.isis.applib.annotation.NotInServiceMenu" vexpanded="false" visibility="public" />
-              <cell name="NotPersistable" pattern="org.apache.isis.applib.annotation.NotPersistable" vexpanded="false" visibility="public" />
-              <cell name="NotPersisted" pattern="org.apache.isis.applib.annotation.NotPersisted" vexpanded="false" visibility="public" />
-              <cell name="Optional" pattern="org.apache.isis.applib.annotation.Optional" vexpanded="false" visibility="public" />
-              <cell name="Parseable" pattern="org.apache.isis.applib.annotation.Parseable" vexpanded="false" visibility="public" />
-              <cell name="Plural" pattern="org.apache.isis.applib.annotation.Plural" vexpanded="false" visibility="public" />
-              <cell name="Prototype" pattern="org.apache.isis.applib.annotation.Prototype" vexpanded="false" visibility="public" />
-              <cell name="RegEx" pattern="org.apache.isis.applib.annotation.RegEx" vexpanded="false" visibility="public" />
-              <cell name="TypeOf" pattern="org.apache.isis.applib.annotation.TypeOf" vexpanded="false" visibility="public" />
-              <cell name="TypicalLength" pattern="org.apache.isis.applib.annotation.TypicalLength" vexpanded="false" visibility="public" />
-              <cell name="Value" pattern="org.apache.isis.applib.annotation.Value" vexpanded="false" visibility="public" />
-              <cell name="When" pattern="org.apache.isis.applib.annotation.When" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="snapshot" pattern="org.apache.isis.applib.snapshot.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="SnapshottableWithInclusions" pattern="org.apache.isis.applib.snapshot.SnapshottableWithInclusions" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="Snapshottable" pattern="org.apache.isis.applib.snapshot.Snapshottable" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="profiles" pattern="org.apache.isis.applib.profiles.?" vexpanded="false" visibility="public" />
-        <cell name="query" pattern="org.apache.isis.applib.query.?" vexpanded="false" visibility="public" />
-        <cell name="filter" pattern="org.apache.isis.applib.filter.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="Filters" pattern="org.apache.isis.applib.filter.Filters" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="Filter" pattern="org.apache.isis.applib.filter.Filter" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="spec" pattern="org.apache.isis.applib.spec.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="AbstractSpecification" pattern="org.apache.isis.applib.spec.AbstractSpecification" vexpanded="false" visibility="public" />
-              <cell name="SpecificationAnd" pattern="org.apache.isis.applib.spec.SpecificationAnd" vexpanded="false" visibility="public" />
-              <cell name="SpecificationNot" pattern="org.apache.isis.applib.spec.SpecificationNot" vexpanded="false" visibility="public" />
-              <cell name="SpecificationOr" pattern="org.apache.isis.applib.spec.SpecificationOr" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="Specification" pattern="org.apache.isis.applib.spec.Specification" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="maybe" pattern="org.apache.isis.applib.maybe.?" vexpanded="false" visibility="public" />
-        <cell name="util" pattern="org.apache.isis.applib.util.?" vexpanded="false" visibility="public" />
-      </row>
-    </grid>
-  </grid-set>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/core/commons/core-commons.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/core/commons/core-commons.java.hsp b/tool/structure101/core/commons/core-commons.java.hsp
deleted file mode 100644
index 1486d7a..0000000
--- a/tool/structure101/core/commons/core-commons.java.hsp
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.3.722" flavor="j2se">
-   <property name="hide-externals" value="true" />
-   <property name="show-needs-to-compile" value="false" />
-   <property name="detail-mode" value="false" />
-   <classpath relativeto="D:\SVN\ai\trunk\framework\core\commons">
-      <classpathentry kind="lib" path="target\classes" />
-   </classpath>
-   <sourcepaths>
-      <pathentry type="file" path="src/main/java" />
-   </sourcepaths>
-   <grid-set sep="." version="3.3.722">
-      <grid name="Diagram 2" enforce="true" strict="false">
-         <row>
-            <cell name="factory" pattern="org.apache.isis.core.commons.factory.?" vexpanded="true" visibility="public" />
-            <cell name="io" pattern="org.apache.isis.core.commons.io.?" vexpanded="true" visibility="public" />
-         </row>
-         <row>
-            <cell name="ensure" pattern="org.apache.isis.core.commons.ensure.?" vexpanded="true" visibility="public" />
-            <cell name="xml" pattern="org.apache.isis.core.commons.xml.?" vexpanded="true" visibility="public" />
-            <cell name="authentication" pattern="org.apache.isis.core.commons.authentication.?" vexpanded="true" visibility="public" />
-            <cell name="config" pattern="org.apache.isis.core.commons.config.?" vexpanded="true" visibility="public" />
-            <cell name="matchers" pattern="org.apache.isis.core.commons.matchers.?" vexpanded="true" visibility="public" />
-         </row>
-         <row>
-            <cell name="exceptions" pattern="org.apache.isis.core.commons.exceptions.?" vexpanded="true" visibility="public" />
-            <cell name="debug" pattern="org.apache.isis.core.commons.debug.?" vexpanded="true" visibility="public" />
-            <cell name="resource" pattern="org.apache.isis.core.commons.resource.?" vexpanded="true" visibility="public" />
-            <cell name="components" pattern="org.apache.isis.core.commons.components.?" vexpanded="true" visibility="public" />
-            <cell name="encoding" pattern="org.apache.isis.core.commons.encoding.?" vexpanded="true" visibility="public" />
-            <cell name="lang" pattern="org.apache.isis.core.commons.lang.?" vexpanded="true" visibility="public" />
-            <cell name="futures" pattern="org.apache.isis.core.commons.futures.?" vexpanded="true" visibility="public" />
-         </row>
-      </grid>
-   </grid-set>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/core/core.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/core/core.java.hsp b/tool/structure101/core/core.java.hsp
deleted file mode 100644
index 592e5b1..0000000
--- a/tool/structure101/core/core.java.hsp
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.5.1527" flavor="j2se">
-  <property name="hide-externals" value="true" />
-  <property name="show-needs-to-compile" value="false" />
-  <property name="detail-mode" value="false" />
-  <property name="project-type" value="classpath" />
-  <property name="hide-deprecated" value="false" />
-  <classpath relativeto="D:\SVN\ai\trunk\framework\core">
-    <classpathentry kind="lib" path="commons\target\classes" />
-    <classpathentry kind="lib" path="metamodel\target\classes" />
-    <classpathentry kind="lib" path="progmodel\target\classes" />
-    <classpathentry kind="lib" path="runtime\target\classes" />
-    <classpathentry kind="lib" path="webapp\target\classes" />
-    <classpathentry kind="lib" path="core\webserver\target\classes" />
-  </classpath>
-  <transformations>
-    <transformation in="*" out="{jar}.*" />
-  </transformations>
-  <restructuring>
-    <set version="1" name="Sandbox 1" hiview="Codemap" active="true" todo="false" />
-    <set version="1" name="Flattened to classes" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="true">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-    <set version="1" name="Flattened to leaf packages" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="false">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-  </restructuring>
-  <sourcepaths>
-    <pathentry type="file" path="commons/src/main/java" />
-    <pathentry type="file" path="metamodel/src/main/java" />
-    <pathentry type="file" path="progmodel/src/main/java" />
-    <pathentry type="file" path="runtime/src/main/java" />
-    <pathentry type="file" path="webapp/src/main/java" />
-    <pathentry type="file" path="webserver/src/main/java" />
-  </sourcepaths>
-  <grid-set sep="." version="3.5.1527">
-    <grid name="Diagram 1" enforce="true" strict="false">
-      <row>
-        <cell name="webapp" pattern="webapp.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="config" pattern="webapp.org.apache.isis.core.webapp.config.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="ConfigurationBuilderForWebapp" pattern="webapp.org.apache.isis.core.webapp.config.ConfigurationBuilderForWebapp" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="ResourceStreamSourceForWebInf" pattern="webapp.org.apache.isis.core.webapp.config.ResourceStreamSourceForWebInf" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-              <cell name="content" pattern="webapp.org.apache.isis.core.webapp.content.?" vexpanded="false" visibility="public" />
-              <cell name="routing" pattern="webapp.org.apache.isis.core.webapp.routing.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="webserver" pattern="webserver.*" vexpanded="true" visibility="public" />
-      </row>
-      <row>
-        <cell name="runtime" pattern="runtime.*" vexpanded="true" visibility="public" />
-      </row>
-      <row>
-        <cell name="progmodel" pattern="progmodel.*" vexpanded="true" visibility="public" />
-      </row>
-      <row>
-        <cell name="metamodel" pattern="metamodel.*" vexpanded="true" visibility="public" />
-      </row>
-      <row>
-        <cell name="commons" pattern="commons.*" vexpanded="true" visibility="public" />
-      </row>
-    </grid>
-  </grid-set>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/core/metamodel/core-metamodel.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/core/metamodel/core-metamodel.java.hsp b/tool/structure101/core/metamodel/core-metamodel.java.hsp
deleted file mode 100644
index 9221d0c..0000000
--- a/tool/structure101/core/metamodel/core-metamodel.java.hsp
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.3.722" flavor="j2se">
-   <property name="hide-externals" value="true" />
-   <property name="show-needs-to-compile" value="false" />
-   <property name="detail-mode" value="false" />
-   <classpath relativeto="D:\SVN\ai\trunk\framework\core\metamodel">
-      <classpathentry kind="lib" path="target\classes" />
-   </classpath>
-   <sourcepaths>
-      <pathentry type="file" path="src/main/java" />
-   </sourcepaths>
-   <grid-set sep="." version="3.3.722">
-      <grid name="Diagram 1" enforce="true" strict="false">
-         <row>
-            <cell name="specloader" pattern="org.apache.isis.core.metamodel.specloader.*" vexpanded="true" visibility="public">
-               <grid>
-                  <row>
-                     <cell name="specloader" pattern="org.apache.isis.core.metamodel.specloader.?" vexpanded="true" visibility="public" />
-                  </row>
-                  <row>
-                     <cell name="validator" pattern="org.apache.isis.core.metamodel.specloader.validator.?" vexpanded="true" visibility="public" />
-                     <cell name="speccache" pattern="org.apache.isis.core.metamodel.specloader.speccache.?" vexpanded="true" visibility="public" />
-                     <cell name="specimpl" pattern="org.apache.isis.core.metamodel.specloader.specimpl.*" vexpanded="true" visibility="public" />
-                  </row>
-                  <row>
-                     <cell name="traverser" pattern="org.apache.isis.core.metamodel.specloader.traverser.?" vexpanded="true" visibility="public" />
-                     <cell name="classsubstitutor" pattern="org.apache.isis.core.metamodel.specloader.classsubstitutor.?" vexpanded="true" visibility="public" />
-                     <cell name="facetprocessor" pattern="org.apache.isis.core.metamodel.specloader.facetprocessor.?" vexpanded="true" visibility="public" />
-                  </row>
-                  <row>
-                     <cell name="collectiontyperegistry" pattern="org.apache.isis.core.metamodel.specloader.collectiontyperegistry.?" vexpanded="true" visibility="public" />
-                  </row>
-               </grid>
-            </cell>
-         </row>
-         <row>
-            <cell name="progmodel" pattern="org.apache.isis.core.metamodel.progmodel.?" vexpanded="true" visibility="public" />
-            <cell name="facetdecorator" pattern="org.apache.isis.core.metamodel.facetdecorator.?" vexpanded="true" visibility="public" />
-            <cell name="runtimecontext" pattern="org.apache.isis.core.metamodel.runtimecontext.*" vexpanded="true" visibility="public" />
-            <cell name="layout" pattern="org.apache.isis.core.metamodel.layout.*" vexpanded="true" visibility="public" />
-         </row>
-         <row>
-            <cell name="services" pattern="org.apache.isis.core.metamodel.services.*" vexpanded="true" visibility="public" />
-            <cell name="facets" pattern="org.apache.isis.core.metamodel.facets.*" vexpanded="true" visibility="public" />
-         </row>
-         <row>
-            <cell name="Tangle of 3" vexpanded="true" visibility="public">
-               <grid>
-                  <row>
-                     <cell name="spec" pattern="org.apache.isis.core.metamodel.spec.*" vexpanded="true" visibility="public" />
-                  </row>
-                  <row>
-                     <cell name="interactions" pattern="org.apache.isis.core.metamodel.interactions.?" vexpanded="true" visibility="public" />
-                     <cell name="adapter" pattern="org.apache.isis.core.metamodel.adapter.*" vexpanded="true" visibility="public" />
-                  </row>
-               </grid>
-            </cell>
-         </row>
-         <row>
-            <cell name="facetapi" pattern="org.apache.isis.core.metamodel.facetapi.?" vexpanded="true" visibility="public" />
-            <cell name="consent" pattern="org.apache.isis.core.metamodel.consent.?" vexpanded="true" visibility="public" />
-            <cell name="exceptions" pattern="org.apache.isis.core.metamodel.exceptions.?" vexpanded="true" visibility="public" />
-         </row>
-         <row>
-            <cell name="methodutils" pattern="org.apache.isis.core.metamodel.methodutils.?" vexpanded="true" visibility="public" />
-         </row>
-      </grid>
-   </grid-set>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/core/progmodel/core-progmodel.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/core/progmodel/core-progmodel.java.hsp b/tool/structure101/core/progmodel/core-progmodel.java.hsp
deleted file mode 100644
index 5d230a8..0000000
--- a/tool/structure101/core/progmodel/core-progmodel.java.hsp
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.4.1223" flavor="j2se">
-  <property name="hide-externals" value="true" />
-  <property name="show-needs-to-compile" value="false" />
-  <property name="detail-mode" value="false" />
-  <classpath  relativeto="D:\SVN\ai\trunk\framework\core\progmodel">
-    <classpathentry kind="lib" path="target\classes" />
-  </classpath>
-  <restructuring>
-    <set version="1" name="Sandbox 1" hiview="Codemap" active="true" todo="false" />
-    <set version="1" name="Flattened to classes" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="true">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-    <set version="1" name="Flattened to leaf packages" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="false">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-  </restructuring>
-  <sourcepaths>
-    <pathentry type="file" path="src/main/java" />
-  </sourcepaths>
-  <grid-set sep="." version="3.4.1223">
-    <grid name="Diagram 1" enforce="true" strict="false">
-      <row>
-        <cell name="facets" pattern="org.apache.isis.core.progmodel.facets.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="param" pattern="org.apache.isis.core.progmodel.facets.param.*" vexpanded="false" visibility="public" />
-              <cell name="properties" pattern="org.apache.isis.core.progmodel.facets.properties.*" vexpanded="false" visibility="public" />
-              <cell name="value" pattern="org.apache.isis.core.progmodel.facets.value.*" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="collections" pattern="org.apache.isis.core.progmodel.facets.collections.*" vexpanded="false" visibility="public" />
-              <cell name="object" pattern="org.apache.isis.core.progmodel.facets.object.*" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="actions" pattern="org.apache.isis.core.progmodel.facets.actions.*" vexpanded="false" visibility="public" />
-              <cell name="members" pattern="org.apache.isis.core.progmodel.facets.members.*" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="facets" pattern="org.apache.isis.core.progmodel.facets.?" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="fallback" pattern="org.apache.isis.core.progmodel.facets.fallback.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="facetdecorators" pattern="org.apache.isis.core.progmodel.facetdecorators.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="i18n" pattern="org.apache.isis.core.progmodel.facetdecorators.i18n.*" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="layout" pattern="org.apache.isis.core.progmodel.layout.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="dflt" pattern="org.apache.isis.core.progmodel.layout.dflt.?" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="ordermethod" pattern="org.apache.isis.core.progmodel.layout.ordermethod.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="metamodelvalidator.dflt" pattern="org.apache.isis.core.progmodel.metamodelvalidator.dflt.?" vexpanded="false" visibility="public" />
-      </row>
-    </grid>
-  </grid-set>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/core/runtime/core-runtime.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/core/runtime/core-runtime.java.hsp b/tool/structure101/core/runtime/core-runtime.java.hsp
deleted file mode 100644
index 147239a..0000000
--- a/tool/structure101/core/runtime/core-runtime.java.hsp
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.4.1223" flavor="j2se">
-  <property name="hide-externals" value="true" />
-  <property name="show-needs-to-compile" value="false" />
-  <property name="detail-mode" value="false" />
-  <classpath relativeto="D:\SVN\ai\trunk\framework\core\runtime">
-    <classpathentry kind="lib" path="target\classes" />
-  </classpath>
-  <restructuring>
-    <set version="1" name="Sandbox 1" hiview="Codemap" active="true" todo="false" />
-    <set version="1" name="Flattened to classes" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="true">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-    <set version="1" name="Flattened to leaf packages" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="false">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-  </restructuring>
-  <grid-set sep="." version="3.4.1223">
-    <grid name="Diagram 1" enforce="true" strict="false">
-      <row>
-        <cell name="about" pattern="org.apache.isis.core.runtime.about.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="AboutIsis" pattern="org.apache.isis.core.runtime.about.AboutIsis" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="ComponentDetails" pattern="org.apache.isis.core.runtime.about.ComponentDetails" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="authentication" pattern="org.apache.isis.core.runtime.authentication.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="standard" pattern="org.apache.isis.core.runtime.authentication.standard.?" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="authentication" pattern="org.apache.isis.core.runtime.authentication.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="authorization" pattern="org.apache.isis.core.runtime.authorization.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="standard" pattern="org.apache.isis.core.runtime.authorization.standard.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="AuthorizationFacetFactory" pattern="org.apache.isis.core.runtime.authorization.standard.AuthorizationFacetFactory" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="AuthorizationFacetImpl" pattern="org.apache.isis.core.runtime.authorization.standard.AuthorizationFacetImpl" vexpanded="false" visibility="public" />
-                    <cell name="AuthorizationManagerStandardInstallerAbstract" pattern="org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandardInstallerAbstract" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="AuthorizationFacetAbstract" pattern="org.apache.isis.core.runtime.authorization.standard.AuthorizationFacetAbstract" vexpanded="false" visibility="public" />
-                    <cell name="AuthorizationManagerStandard" pattern="org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandard" vexpanded="false" visibility="public" />
-                    <cell name="AuthorizorAbstract" pattern="org.apache.isis.core.runtime.authorization.standard.AuthorizorAbstract" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="AuthorizationConstants" pattern="org.apache.isis.core.runtime.authorization.standard.AuthorizationConstants" vexpanded="false" visibility="public" />
-                    <cell name="AuthorizationFacet" pattern="org.apache.isis.core.runtime.authorization.standard.AuthorizationFacet" vexpanded="false" visibility="public" />
-                    <cell name="Authorizor" pattern="org.apache.isis.core.runtime.authorization.standard.Authorizor" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="authorization" pattern="org.apache.isis.core.runtime.authorization.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="imageloader" pattern="org.apache.isis.core.runtime.imageloader.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="awt" pattern="org.apache.isis.core.runtime.imageloader.awt.?" vexpanded="false" visibility="public" />
-              <cell name="noop" pattern="org.apache.isis.core.runtime.imageloader.noop.?" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="imageloader" pattern="org.apache.isis.core.runtime.imageloader.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="snapshot" pattern="org.apache.isis.core.runtime.snapshot.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="XmlSnapshot" pattern="org.apache.isis.core.runtime.snapshot.XmlSnapshot" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="XmlSchema" pattern="org.apache.isis.core.runtime.snapshot.XmlSchema" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="XsMetaModel" pattern="org.apache.isis.core.runtime.snapshot.XsMetaModel" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="DomSerializerJaxp" pattern="org.apache.isis.core.runtime.snapshot.DomSerializerJaxp" vexpanded="false" visibility="public" />
-              <cell name="IsisMetaModel" pattern="org.apache.isis.core.runtime.snapshot.IsisMetaModel" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="DomSerializer" pattern="org.apache.isis.core.runtime.snapshot.DomSerializer" vexpanded="false" visibility="public" />
-              <cell name="Helper" pattern="org.apache.isis.core.runtime.snapshot.Helper" vexpanded="false" visibility="public" />
-              <cell name="Place" pattern="org.apache.isis.core.runtime.snapshot.Place" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-    </grid>
-  </grid-set>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/core/testsupport/core-testsupport.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/core/testsupport/core-testsupport.java.hsp b/tool/structure101/core/testsupport/core-testsupport.java.hsp
deleted file mode 100644
index 00d3100..0000000
--- a/tool/structure101/core/testsupport/core-testsupport.java.hsp
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.3.722" flavor="j2se">
-   <property name="hide-externals" value="true" />
-   <property name="show-needs-to-compile" value="false" />
-   <property name="detail-mode" value="false" />
-   <classpath relativeto="D:\SVN\ai\trunk\framework\core">
-      <classpathentry kind="lib" path="target/classes" />
-   </classpath>
-   <sourcepaths>
-      <pathentry type="file" path="src/main/java" />
-   </sourcepaths>
-</local-project>
-


[19/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/IconElementFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/IconElementFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/IconElementFactory.java
deleted file mode 100644
index 4f16f27..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/IconElementFactory.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.dnd.icon;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.BlankView;
-
-public class IconElementFactory implements ViewFactory {
-    private final ViewSpecification objectSpec;
-    private final ViewSpecification collectionSpec;
-    private final boolean createViewsForEmptyContent;
-
-    public IconElementFactory() {
-        this(null, null, false);
-    }
-
-    public IconElementFactory(final ViewSpecification objectSpec, final ViewSpecification collectionSpec, final boolean createViewsForEmptyContent) {
-        this.objectSpec = this.objectSpec == null ? new SubviewIconSpecification() : objectSpec;
-        this.collectionSpec = this.collectionSpec == null ? new SubviewIconSpecification() : collectionSpec;
-        this.createViewsForEmptyContent = createViewsForEmptyContent;
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        if (content.isObject()) {
-            if (content.getAdapter() == null) {
-                return createViewsForEmptyContent ? new BlankView(content) : null;
-            } else {
-                return objectSpec.createView(content, axes, -1);
-            }
-        } else if (content.isCollection()) {
-            return collectionSpec.createView(content, axes, -1);
-        } else {
-            // TODO decide what to do with values: use factory, use another
-            // SubviewSpec, or ignore always
-            return null;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/IconSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/IconSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/IconSpecification.java
deleted file mode 100644
index 9aefbc2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/IconSpecification.java
+++ /dev/null
@@ -1,93 +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.dnd.icon;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.text.ObjectTitleText;
-
-public class IconSpecification implements ViewSpecification {
-    private final boolean isSubView;
-    private final boolean isReplaceable;
-
-    public IconSpecification() {
-        this(true, true);
-    }
-
-    IconSpecification(final boolean isSubView, final boolean isReplaceable) {
-        this.isSubView = isSubView;
-        this.isReplaceable = isReplaceable;
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isClosed() && requirement.isObject() && requirement.hasReference();
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final Text style = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-        final Icon icon = new Icon(content, this);
-        icon.setTitle(new ObjectTitleText(icon, style));
-        icon.setSelectedGraphic(new IconGraphic(icon, style));
-        return icon;
-    }
-
-    @Override
-    public String getName() {
-        return "Icon";
-    }
-
-    @Override
-    public boolean isSubView() {
-        return isSubView;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return isReplaceable;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    public View decorateSubview(final View subview) {
-        return subview;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/LargeIconSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/LargeIconSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/LargeIconSpecification.java
deleted file mode 100644
index 6fdb2ba..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/LargeIconSpecification.java
+++ /dev/null
@@ -1,90 +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.dnd.icon;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.border.ObjectBorder;
-import org.apache.isis.viewer.dnd.view.text.ObjectTitleText;
-
-public class LargeIconSpecification implements ViewSpecification {
-    private static final int DEFAULT_SIZE = 64;
-    private final int size;
-
-    public LargeIconSpecification() {
-        this(DEFAULT_SIZE);
-    }
-
-    LargeIconSpecification(final int size) {
-        this.size = size;
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isClosed() && requirement.isObject() && requirement.hasReference() && requirement.isSubview();
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final Text style = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-        final Icon icon = new Icon(content, this);
-        icon.setTitle(new ObjectTitleText(icon, style));
-        icon.setSelectedGraphic(new IconGraphic(icon, size));
-        icon.setVertical(true);
-        return new ObjectBorder(icon);
-    }
-
-    @Override
-    public String getName() {
-        return "Image";
-    }
-
-    @Override
-    public boolean isSubView() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/RootIconSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/RootIconSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/RootIconSpecification.java
deleted file mode 100644
index eeba48a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/RootIconSpecification.java
+++ /dev/null
@@ -1,80 +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.dnd.icon;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator;
-import org.apache.isis.viewer.dnd.view.border.ObjectBorder;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-class IconOpenAction extends AbstractViewDecorator {
-    protected IconOpenAction(final View wrappedView) {
-        super(wrappedView);
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        super.viewMenuOptions(menuOptions);
-        menuOptions.add(new UserActionAbstract("Close") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                getView().dispose();
-                // getWorkspace().removeObject((ObjectAdapter)
-                // view.getContent().getAdapter());
-            }
-        });
-    }
-
-    private void openIcon() {
-        getWorkspace().addWindowFor(getContent().getAdapter(), new Placement(getLocation()));
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        openIcon();
-    }
-}
-
-public class RootIconSpecification extends IconSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return super.canDisplay(requirement) && requirement.is(ViewRequirement.ROOT);
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final View icon = super.createView(content, axes, sequence);
-        return new ObjectBorder(new IconOpenAction(icon));
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/SubviewIconSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/SubviewIconSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/SubviewIconSpecification.java
deleted file mode 100644
index 6d0d6d0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/SubviewIconSpecification.java
+++ /dev/null
@@ -1,61 +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.dnd.icon;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.border.ObjectBorder;
-import org.apache.isis.viewer.dnd.view.field.OneToOneField;
-import org.apache.isis.viewer.dnd.view.lookup.OpenObjectDropDownBorder;
-
-public class SubviewIconSpecification extends IconSpecification {
-    private static final ViewSpecification spec = new IconSpecification();
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return super.canDisplay(requirement) && requirement.is(ViewRequirement.CLOSED) && requirement.is(ViewRequirement.SUBVIEW);
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final View view = super.createView(content, axes, sequence);
-        /*
-         * boolean isEditable = content instanceof OneToOneField &&
-         * ((OneToOneField) content).isEditable().isAllowed(); boolean
-         * hasOptions = content.isOptionEnabled(); if (isEditable && hasOptions)
-         * { return new OpenObjectDropDownBorder(view, spec); } return view;
-         */
-
-        if (content instanceof OneToOneField && ((OneToOneField) content).isEditable().isVetoed()) {
-            return new ObjectBorder(view);
-        } else {
-            if (content.isOptionEnabled()) {
-                return new ObjectBorder(new OpenObjectDropDownBorder(view, spec));
-            } else {
-                return new ObjectBorder(view);
-            }
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ClickImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ClickImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ClickImpl.java
deleted file mode 100644
index 1c4e4ec..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ClickImpl.java
+++ /dev/null
@@ -1,84 +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.dnd.interaction;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.view.Click;
-
-/**
- * Describes a mouse click event.
- */
-public class ClickImpl extends PointerEvent implements Click {
-    private final Location location;
-    private final Location locationWithinViewer;
-
-    /**
-     * Creates a new click event object.
-     * 
-     * @param mouseLocation
-     *            the location of the mouse relative to the viewer
-     * @param modifiers
-     *            the button and key held down during the click (@see
-     *            java.awt.event.MouseEvent)
-     */
-    public ClickImpl(final Location mouseLocation, final int modifiers) {
-        super(modifiers);
-
-        this.location = new Location(mouseLocation);
-        this.locationWithinViewer = new Location(mouseLocation);
-    }
-
-    @Override
-    public Location getLocation() {
-        return location;
-    }
-
-    @Override
-    public Location getLocationWithinViewer() {
-        return locationWithinViewer;
-    }
-
-    /**
-     * Translate the location of this event by the specified offset.
-     */
-    @Override
-    public void subtract(final int x, final int y) {
-        location.subtract(x, y);
-    }
-
-    @Override
-    public String toString() {
-        return "Click [location=" + location + "," + super.toString() + "]";
-    }
-
-    public void add(final Offset offset) {
-        location.add(offset.getDeltaX(), offset.getDeltaY());
-    }
-
-    public void subtract(final Offset offset) {
-        subtract(offset.getDeltaX(), offset.getDeltaY());
-    }
-
-    @Override
-    public void subtract(final Location location) {
-        subtract(location.getX(), location.getY());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ContentDragImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ContentDragImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ContentDragImpl.java
deleted file mode 100644
index cb5ddb7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ContentDragImpl.java
+++ /dev/null
@@ -1,165 +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.dnd.interaction;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Viewer;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class ContentDragImpl extends DragImpl implements ContentDrag {
-    private final View dragView;
-    private Location location;
-    private View previousTarget;
-    private final Content sourceContent;
-    private View target;
-    private final Workspace workspace;
-    private final Location offset;
-    private final View source;
-
-    /**
-     * Creates a new drag event. The source view has its pickup(), and then,
-     * exited() methods called on it. The view returned by the pickup method
-     * becomes this event overlay view, which is moved continuously so that it
-     * tracks the pointer,
-     * 
-     * @param source
-     *            the view over which the pointer was when this event started
-     */
-    public ContentDragImpl(final View source, final Location offset, final View dragView) {
-        if (dragView == null) {
-            throw new NullPointerException();
-        }
-        workspace = source.getWorkspace();
-        sourceContent = source.getContent();
-        this.dragView = dragView;
-        this.offset = offset;
-        this.source = source.getView();
-    }
-
-    /**
-     * Cancels drag by calling dragOut() on the current target, and changes the
-     * cursor back to the default.
-     */
-    @Override
-    public void cancel(final Viewer viewer) {
-        if (target != null) {
-            target.dragOut(this);
-        }
-        viewer.clearAction();
-    }
-
-    @Override
-    public void drag(final View target, final Location location, final int mods) {
-        this.location = location;
-        this.target = target;
-        this.mods = mods;
-
-        moveDragView();
-        crossBoundary(target);
-        target.drag(this);
-    }
-
-    private void crossBoundary(final View target) {
-        if (target != previousTarget) {
-            if (previousTarget != null) {
-                previousTarget.dragOut(this);
-                previousTarget = null;
-            }
-
-            target.dragIn(this);
-            previousTarget = target;
-        }
-    }
-
-    private void moveDragView() {
-        if (dragView != null) {
-            dragView.markDamaged();
-            final Location newLocation = new Location(this.location);
-            newLocation.subtract(offset);
-            dragView.setLocation(newLocation);
-            dragView.limitBoundsWithin(workspace.getSize());
-            dragView.markDamaged();
-        }
-    }
-
-    /**
-     * Ends the drag by calling drop() on the current target, and changes the
-     * cursor back to the default.
-     */
-    @Override
-    public void end(final Viewer viewer) {
-        viewer.getSpy().addAction("drop on " + target);
-        target.drop(this);
-        viewer.clearAction();
-    }
-
-    @Override
-    public View getOverlay() {
-        return dragView;
-    }
-
-    @Override
-    public View getSource() {
-        return source;
-    }
-
-    /**
-     * Returns the Content object from the source view.
-     */
-    @Override
-    public Content getSourceContent() {
-        return sourceContent;
-    }
-
-    @Override
-    public Location getTargetLocation() {
-        final Location location = new Location(this.location);
-        location.subtract(target.getAbsoluteLocation());
-        // location.add(-getOffset().getX(), -getOffset().getY());
-        // location.add(-getOffset().getX(), -getOffset().getY());
-
-        return location;
-    }
-
-    @Override
-    public Location getOffset() {
-        return offset;
-    }
-
-    /**
-     * Returns the current target view.
-     */
-    @Override
-    public View getTargetView() {
-        return target;
-    }
-
-    @Override
-    public String toString() {
-        return "ContentDrag [" + super.toString() + "]";
-    }
-
-    @Override
-    public void subtract(final int left, final int top) {
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/DragImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/DragImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/DragImpl.java
deleted file mode 100644
index 55a1f89..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/DragImpl.java
+++ /dev/null
@@ -1,54 +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.dnd.interaction;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Viewer;
-
-public abstract class DragImpl extends PointerEvent implements DragEvent {
-    protected DragImpl() {
-        super(0);
-    }
-
-    /**
-     * Indicates the drag has been cancelled; no action should be taken.
-     */
-    @Override
-    public abstract void cancel(final Viewer viewer);
-
-    /**
-     * Indicates that the drag state has changed.
-     */
-    @Override
-    public abstract void drag(final View target, final Location location, final int mods);
-
-    /**
-     * Indicates the drag has properly ended (the mouse button has been
-     * released)
-     * 
-     */
-    @Override
-    public abstract void end(final Viewer viewer);
-
-    @Override
-    public abstract View getOverlay();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/DragStartImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/DragStartImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/DragStartImpl.java
deleted file mode 100644
index 3fd5784..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/DragStartImpl.java
+++ /dev/null
@@ -1,61 +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.dnd.interaction;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.view.DragStart;
-
-public class DragStartImpl extends PointerEvent implements DragStart {
-    private final Location location;
-
-    public DragStartImpl(final Location location, final int mods) {
-        super(mods);
-        this.location = location;
-    }
-
-    @Override
-    public Location getLocation() {
-        return location;
-    }
-
-    @Override
-    public void subtract(final Location location) {
-        this.location.subtract(location);
-    }
-
-    @Override
-    public void subtract(final int x, final int y) {
-        location.subtract(x, y);
-    }
-
-    public void add(final Offset offset) {
-        location.add(offset.getDeltaX(), offset.getDeltaY());
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("location", location);
-        str.append("buttons", super.toString());
-        return str.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/KeyboardActionImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/KeyboardActionImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/KeyboardActionImpl.java
deleted file mode 100644
index 7fcab94..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/KeyboardActionImpl.java
+++ /dev/null
@@ -1,61 +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.dnd.interaction;
-
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-
-public class KeyboardActionImpl implements KeyboardAction {
-
-    final int keyCode;
-    final int modifiers;
-    private boolean isConsumed;
-
-    public KeyboardActionImpl(final int keyCode, final int modifiers) {
-        this.keyCode = keyCode;
-        this.modifiers = modifiers;
-        isConsumed = false;
-    }
-
-    @Override
-    public int getKeyCode() {
-        return keyCode;
-    }
-
-    @Override
-    public char getKeyChar() {
-        return (char) keyCode;
-    }
-
-    @Override
-    public int getModifiers() {
-        return modifiers;
-    }
-
-    @Override
-    public boolean isConsumed() {
-        return isConsumed;
-    }
-
-    @Override
-    public void consume() {
-        isConsumed = true;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/PointerEvent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/PointerEvent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/PointerEvent.java
deleted file mode 100644
index 8367021..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/PointerEvent.java
+++ /dev/null
@@ -1,108 +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.dnd.interaction;
-
-import java.awt.event.InputEvent;
-
-/**
- * Details an event involving the pointer, such as a click or drag.
- */
-public abstract class PointerEvent {
-    protected int mods;
-
-    /**
-     * Creates a new pointer event object.
-     * 
-     * @param mods
-     *            the button and key modifiers (@see java.awt.event.MouseEvent)
-     */
-    PointerEvent(final int mods) {
-        this.mods = mods;
-    }
-
-    public boolean button1() {
-        return (isButton1() && !isShift()) || (isButton2() && isShift());
-    }
-
-    public boolean button2() {
-        return (isButton2() && !isShift()) || (isButton1() && isShift());
-    }
-
-    public boolean button3() {
-        return isButton3();
-    }
-
-    /**
-     * Returns true if the 'Alt' key is depressed
-     */
-    public boolean isAlt() {
-        return (mods & InputEvent.ALT_MASK) > 0;
-    }
-
-    /**
-     * Returns true if the left-hand button on the mouse is depressed
-     */
-    private boolean isButton1() {
-        return (mods & InputEvent.BUTTON1_MASK) > 0;
-    }
-
-    /**
-     * Returns true if the middle button on the mouse is depressed
-     */
-    private boolean isButton2() {
-        return (mods & InputEvent.BUTTON2_MASK) > 0;
-    }
-
-    /**
-     * Returns true if the right-hand button on the mouse is depressed
-     */
-    private boolean isButton3() {
-        return (mods & InputEvent.BUTTON3_MASK) > 0;
-    }
-
-    /**
-     * Returns true if the control key is depressed
-     */
-    public boolean isCtrl() {
-        return (mods & InputEvent.CTRL_MASK) > 0;
-    }
-
-    /**
-     * Returns true if the 'Alt' key is depressed
-     */
-    public boolean isMeta() {
-        return (mods & InputEvent.META_MASK) > 0;
-    }
-
-    /**
-     * Returns true if the shift key is depressed
-     */
-    public boolean isShift() {
-        return (mods & InputEvent.SHIFT_MASK) > 0;
-    }
-
-    @Override
-    public String toString() {
-        final String buttons = (isButton1() ? "^" : "-") + (isButton2() ? "^" : "-") + (isButton3() ? "^" : "-");
-        final String modifiers = (isShift() ? "S" : "-") + (isAlt() ? "A" : "-") + (isCtrl() ? "C" : "-");
-
-        return "buttons=" + buttons + ",modifiers=" + modifiers;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/SimpleInternalDrag.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/SimpleInternalDrag.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/SimpleInternalDrag.java
deleted file mode 100644
index e05f452..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/SimpleInternalDrag.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.dnd.interaction;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Viewer;
-
-public class SimpleInternalDrag extends DragImpl implements InternalDrag {
-    private final Location location;
-    // TODO replace Location with Offset
-    private final Location offset;
-    private final View view;
-
-    /**
-     * Creates a new drag event. The source view has its pickup(), and then,
-     * exited() methods called on it. The view returned by the pickup method
-     * becomes this event overlay view, which is moved continuously so that it
-     * tracks the pointer,
-     * 
-     * @param view
-     *            the view over which the pointer was when this event started
-     * @param location
-     *            the location within the viewer (the Frame/Applet/Window etc)
-     * 
-     *            TODO combine the two constructors
-     */
-    public SimpleInternalDrag(final View view, final Location location) {
-        this.view = view;
-
-        this.location = new Location(location);
-        offset = view.getAbsoluteLocation();
-
-        final Padding targetPadding = view.getPadding();
-        final Padding containerPadding = view.getView().getPadding();
-        offset.add(containerPadding.getLeft() - targetPadding.getLeft(), containerPadding.getTop() - targetPadding.getTop());
-
-        this.location.subtract(offset);
-    }
-
-    public SimpleInternalDrag(final View view, final Offset off) {
-        this.view = view;
-
-        location = new Location();
-
-        offset = new Location(off.getDeltaX(), off.getDeltaY());
-
-        final Padding targetPadding = view.getPadding();
-        final Padding containerPadding = view.getView().getPadding();
-        offset.add(containerPadding.getLeft() - targetPadding.getLeft(), containerPadding.getTop() - targetPadding.getTop());
-
-        this.location.subtract(offset);
-    }
-
-    @Override
-    public void cancel(final Viewer viewer) {
-        view.dragCancel(this);
-    }
-
-    @Override
-    public void drag(final View target, final Location location, final int mods) {
-        this.location.setX(location.getX());
-        this.location.setY(location.getY());
-        this.location.subtract(offset);
-        view.drag(this);
-    }
-
-    @Override
-    public void end(final Viewer viewer) {
-        view.dragTo(this);
-    }
-
-    /**
-     * Gets the location of the pointer relative to the view.
-     */
-    @Override
-    public Location getLocation() {
-        return new Location(location);
-    }
-
-    @Override
-    public View getOverlay() {
-        return null;
-    }
-
-    @Override
-    public String toString() {
-        final ToString s = new ToString(this, super.toString());
-        s.append("location", location);
-        s.append("relative", getLocation());
-        return s.toString();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ViewDragImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ViewDragImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ViewDragImpl.java
deleted file mode 100644
index 9bf31e8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/interaction/ViewDragImpl.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.dnd.interaction;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewDrag;
-import org.apache.isis.viewer.dnd.view.Viewer;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class ViewDragImpl extends DragImpl implements ViewDrag {
-    private Location location;
-    /**
-     * Offset from the view's top-left corner to the pointer (relative to the
-     * view).
-     */
-    private final Offset overlayOffset;
-    private final View sourceView;
-    private final View overlayView;
-    private View targetView;
-    private final Workspace viewsWorkspace;
-
-    /**
-     * Creates a new drag event. The source view has its pickup(), and then,
-     * exited() methods called on it. The view returned by the pickup method
-     * becomes this event overlay view, which is moved continuously so that it
-     * tracks the pointer.
-     * 
-     * @param view
-     *            the view over which the pointer was when this event started
-     */
-    public ViewDragImpl(final View view, final Offset offset, final View dragView) {
-        this.sourceView = view;
-        this.overlayView = dragView;
-        this.overlayOffset = offset;
-
-        viewsWorkspace = view.getWorkspace();
-    }
-
-    /**
-     * getView().getAbsoluteLocation().getX(),
-     * -getView().getAbsoluteLocation().getY() Cancel drag by changing cursor
-     * back to pointer.
-     */
-    @Override
-    public void cancel(final Viewer viewer) {
-        getSourceView().getFeedbackManager().showDefaultCursor();
-    }
-
-    /**
-     * Moves the overlay view so it follows the pointer
-     */
-    protected void drag(final Viewer viewer) {
-        if (overlayView != null) {
-            overlayView.markDamaged();
-            updateDraggingLocation();
-            overlayView.markDamaged();
-        }
-    }
-
-    @Override
-    public void drag(final View target, final Location location, final int mods) {
-        this.location = location;
-        if (overlayView != null) {
-            overlayView.markDamaged();
-            updateDraggingLocation();
-            // this.location.subtract(target.getAbsoluteLocation());
-            viewsWorkspace.getViewManager().getSpy().addTrace(target, "   over", getLocation());
-            targetView = target;
-            target.drag(this);
-            overlayView.markDamaged();
-        }
-    }
-
-    /**
-     * Ends the drag by calling drop() on the workspace.
-     */
-    @Override
-    public void end(final Viewer viewer) {
-        viewer.clearAction();
-        targetView.drop(this);
-    }
-
-    @Override
-    public View getOverlay() {
-        return overlayView;
-    }
-
-    @Override
-    public Location getLocation() {
-        return location;
-    }
-
-    @Override
-    public View getSourceView() {
-        return sourceView;
-    }
-
-    @Override
-    public Location getViewDropLocation() {
-        final Location viewLocation = new Location(location);
-        viewLocation.subtract(overlayOffset);
-        return viewLocation;
-    }
-
-    public void subtract(final Location location) {
-        location.subtract(location);
-    }
-
-    @Override
-    public String toString() {
-        return "ViewDrag [" + super.toString() + "]";
-    }
-
-    private void updateDraggingLocation() {
-        final Location viewLocation = new Location(location);
-        viewLocation.subtract(overlayOffset);
-        overlayView.setLocation(viewLocation);
-        overlayView.limitBoundsWithin(viewsWorkspace.getSize());
-    }
-
-    @Override
-    public void subtract(final int x, final int y) {
-        location.subtract(x, y);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalCollectionBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalCollectionBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalCollectionBorder.java
deleted file mode 100644
index 9ea2cc5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalCollectionBorder.java
+++ /dev/null
@@ -1,128 +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.dnd.list;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.view.field.OneToManyField;
-
-public class InternalCollectionBorder extends AbstractBorder {
-    public static class Factory implements CompositeViewDecorator {
-        @Override
-        public View decorate(final View child, final Axes axes) {
-            return new InternalCollectionBorder(child);
-        }
-    }
-
-    private final IconGraphic icon;
-
-    protected InternalCollectionBorder(final View wrappedView) {
-        super(wrappedView);
-
-        icon = new InternalCollectionIconGraphic(this, Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-        left = icon.getSize().getWidth();
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        debug.append("InternalCollectionBorder ");
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        final Size size = super.getRequiredSize(maximumSize);
-        size.ensureWidth(left + 45 + right);
-        size.ensureHeight(24);
-        return size;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        icon.draw(canvas, 0, getBaseline());
-
-        final ObjectAdapter collection = getContent().getAdapter();
-        final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
-        final ViewState state = getState();
-        final Color color;
-        if (state.canDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_VALID);
-        } else if (state.cantDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_INVALID);
-        } else {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        }
-        if (collection == null || facet.size(collection) == 0) {
-            canvas.drawText("empty", left, getBaseline(), color, Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-        } else {
-            final int x = icon.getSize().getWidth() / 2;
-            final int x2 = x + 4;
-            final int y = icon.getSize().getHeight() + 1;
-            final int y2 = getSize().getHeight() - 5;
-            canvas.drawLine(x, y, x, y2, color);
-            canvas.drawLine(x, y2, x2, y2, color);
-        }
-        super.draw(canvas);
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        super.contentMenuOptions(options);
-        // final ObjectSpecification specification = ((OneToManyField)
-        // getContent()).getSpecification();
-        // OptionFactory.addCreateOptions(specification, options);
-    }
-
-    @Override
-    public void objectActionResult(final ObjectAdapter result, final Placement placement) {
-        // same as in TreeNodeBorder
-        final OneToManyField internalCollectionContent = (OneToManyField) getContent();
-        final OneToManyAssociation field = internalCollectionContent.getOneToManyAssociation();
-        final ObjectAdapter target = ((ObjectContent) getParent().getContent()).getObject();
-
-        final Consent valid = field.isValidToAdd(target, result);
-        if (valid.isAllowed()) {
-            field.addElement(target, result);
-        }
-        super.objectActionResult(result, placement);
-    }
-
-    @Override
-    public String toString() {
-        return "InternalCollectionBorder/" + wrappedView;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalCollectionIconGraphic.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalCollectionIconGraphic.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalCollectionIconGraphic.java
deleted file mode 100644
index 737ace8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalCollectionIconGraphic.java
+++ /dev/null
@@ -1,39 +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.dnd.list;
-
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-
-public class InternalCollectionIconGraphic extends IconGraphic {
-
-    public InternalCollectionIconGraphic(final View view, final Text text) {
-        super(view, text);
-    }
-
-    /*
-     * protected Image iconPicture(ObjectAdapter object) { final
-     * InternalCollection cls = (InternalCollection) object; final
-     * ObjectSpecification spec = cls.getElementSpecification(); Image icon =
-     * loadIcon(spec, ""); if(icon == null) { icon = loadIcon(spec, ""); }
-     * return icon; }
-     */
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalListSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalListSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalListSpecification.java
deleted file mode 100644
index 77f4229..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/InternalListSpecification.java
+++ /dev/null
@@ -1,34 +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.dnd.list;
-
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-
-public class InternalListSpecification extends SimpleListSpecification {
-
-    public InternalListSpecification() {
-        addViewDecorator(new InternalCollectionBorder.Factory());
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return super.canDisplay(requirement) && requirement.is(ViewRequirement.SUBVIEW);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/SimpleListSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/SimpleListSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/SimpleListSpecification.java
deleted file mode 100644
index b3d0bef..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/list/SimpleListSpecification.java
+++ /dev/null
@@ -1,39 +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.dnd.list;
-
-import org.apache.isis.viewer.dnd.icon.IconElementFactory;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.composite.AbstractCollectionViewSpecification;
-
-// TODO use the superclass instead
-public class SimpleListSpecification extends AbstractCollectionViewSpecification {
-
-    @Override
-    protected ViewFactory createElementFactory() {
-        return new IconElementFactory();
-    }
-
-    @Override
-    public String getName() {
-        return "List";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/PerspectiveContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/PerspectiveContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/PerspectiveContent.java
deleted file mode 100644
index 47ad1aa..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/PerspectiveContent.java
+++ /dev/null
@@ -1,130 +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.dnd.service;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.content.AbstractContent;
-
-public class PerspectiveContent extends AbstractContent {
-    private final PerspectiveEntry perspective;
-
-    public PerspectiveContent(final PerspectiveEntry perspective) {
-        this.perspective = perspective;
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("perspective", perspective);
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return null;
-    }
-
-    @Override
-    public String getDescription() {
-        return null;
-    }
-
-    @Override
-    public String getHelp() {
-        return "";
-    }
-
-    @Override
-    public String getId() {
-        return "";
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return null;
-    }
-
-    @Override
-    public boolean isObject() {
-        return false;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return false;
-    }
-
-    @Override
-    public String title() {
-        return perspective.getTitle();
-    }
-
-    @Override
-    public String toString() {
-        return "Perspective: " + perspective;
-    }
-
-    @Override
-    public String windowTitle() {
-        return perspective.getTitle();
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public String getIconName() {
-        return "icon";
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        return null;
-    }
-
-    public void parseTextEntry(final String entryText) {
-    }
-
-    public PerspectiveEntry getPerspective() {
-        return perspective;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceBorder.java
deleted file mode 100644
index 2b8f750..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceBorder.java
+++ /dev/null
@@ -1,110 +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.dnd.service;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-public class ServiceBorder extends AbstractBorder {
-    private static final int BORDER = 13;
-
-    public ServiceBorder(final int size, final View wrappedView) {
-        super(wrappedView);
-
-        top = size;
-        left = size;
-        bottom = size;
-        right = size + BORDER;
-    }
-
-    public ServiceBorder(final View wrappedView) {
-        this(1, wrappedView);
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        debug.append("ServiceBorder " + top + " pixels");
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        Color color = null;
-        final ViewState state = getState();
-        final boolean hasFocus = getViewManager().hasFocus(getView());
-        if (hasFocus) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED);
-        } else if (state.isObjectIdentified()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        }
-
-        final Size s = getSize();
-        if (color != null) {
-            if (hasFocus) {
-                final int xExtent = s.getWidth() - left;
-                for (int i = 0; i < left; i++) {
-                    canvas.drawRectangle(i, i, xExtent - 2 * i, s.getHeight() - 2 * i, color);
-                }
-            } else {
-                final int xExtent = s.getWidth();
-                for (int i = 0; i < left; i++) {
-                    canvas.drawRectangle(i, i, xExtent - 2 * i, s.getHeight() - 2 * i, color);
-                }
-                canvas.drawLine(xExtent - BORDER, left, xExtent - BORDER, left + s.getHeight(), color);
-                canvas.drawSolidRectangle(xExtent - BORDER + 1, left, BORDER - 2, s.getHeight() - 2 * left, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-            }
-        }
-    }
-
-    @Override
-    public void entered() {
-        getState().setContentIdentified();
-        getState().setViewIdentified();
-        wrappedView.entered();
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearObjectIdentified();
-        getState().clearViewIdentified();
-        wrappedView.exited();
-        markDamaged();
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        // ignore - prevents the super class opening a view
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/ServiceBorder [" + getSpecification() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceIcon.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceIcon.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceIcon.java
deleted file mode 100644
index a1baa90..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceIcon.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.dnd.service;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.icon.Icon;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.action.OptionFactory;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.option.CloseViewOption;
-import org.apache.isis.viewer.dnd.view.text.ObjectTitleText;
-
-public class ServiceIcon extends Icon {
-    private final static int ICON_SIZE;
-    private final static int LARGE_ICON_SIZE = 34;
-    private final static String LARGE_ICON_SIZE_PROPERTY;
-
-    static {
-        LARGE_ICON_SIZE_PROPERTY = Properties.PROPERTY_BASE + "large-icon-size";
-        ICON_SIZE = IsisContext.getConfiguration().getInteger(LARGE_ICON_SIZE_PROPERTY, LARGE_ICON_SIZE);
-    }
-
-    public ServiceIcon(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-        setTitle(new ObjectTitleText(this, Toolkit.getText(ColorsAndFonts.TEXT_ICON)));
-        setSelectedGraphic(new IconGraphic(this, ICON_SIZE));
-        setVertical(true);
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_CONTENT));
-        OptionFactory.addObjectMenuOptions(getContent().getAdapter(), options);
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_VIEW));
-
-        options.add(new CloseViewOption() {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final PerspectiveContent parent = (PerspectiveContent) view.getParent().getContent();
-                final PerspectiveEntry perspective = parent.getPerspective();
-                final ServiceObject serviceContent = (ServiceObject) view.getContent();
-                final ObjectAdapter element = serviceContent.getObject();
-                perspective.removeFromServices(element);
-                super.execute(workspace, view, at);
-            }
-        });
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        return Toolkit.getViewFactory().createDragContentOutline(this, drag.getLocation());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceIconSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceIconSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceIconSpecification.java
deleted file mode 100644
index ebb4d5a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceIconSpecification.java
+++ /dev/null
@@ -1,71 +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.dnd.service;
-
-import org.apache.isis.viewer.dnd.icon.Icon;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public class ServiceIconSpecification implements ViewSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isFor(ServiceObject.class) && requirement.getSpecification().isService();
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final Icon icon = new ServiceIcon(content, this);
-        return new ServiceBorder(icon);
-    }
-
-    @Override
-    public String getName() {
-        return "Service Icon";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceObject.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceObject.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceObject.java
deleted file mode 100644
index 4bba0af..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/service/ServiceObject.java
+++ /dev/null
@@ -1,181 +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.dnd.service;
-
-import java.util.Arrays;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.content.AbstractContent;
-
-public class ServiceObject extends AbstractContent {
-    private final ObjectAdapter adapter;
-
-    public ServiceObject(final ObjectAdapter adapter) {
-        this.adapter = adapter;
-    }
-
-    public Consent canClear() {
-        return Veto.DEFAULT;
-    }
-
-    public Consent canSet(final ObjectAdapter dragSource) {
-        return Veto.DEFAULT;
-    }
-
-    public void clear() {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("service", adapter);
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return adapter;
-    }
-
-    @Override
-    public String getDescription() {
-        final String specName = getSpecification().getSingularName();
-        final String objectTitle = getObject().titleString();
-        return specName + (specName.equalsIgnoreCase(objectTitle) ? "" : ": " + objectTitle) + " " + getSpecification().getDescription();
-    }
-
-    @Override
-    public String getHelp() {
-        return "";
-    }
-
-    @Override
-    public String getId() {
-        return "";
-    }
-
-    public ObjectAdapter getObject() {
-        return adapter;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return adapter.getSpecification();
-    }
-
-    @Override
-    public boolean isObject() {
-        return false;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return adapter != null && adapter.isTransient();
-    }
-
-    public void setObject(final ObjectAdapter object) {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public String title() {
-        return adapter.titleString();
-    }
-
-    @Override
-    public String toString() {
-        return "Service Object [" + adapter + "]";
-    }
-
-    @Override
-    public String windowTitle() {
-        return (isTransient() ? "UNSAVED " : "") + getSpecification().getSingularName();
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        final ObjectAction action = actionFor(sourceContent);
-        if (action == null) {
-            return Veto.DEFAULT;
-        } else {
-            final ObjectAdapter source = sourceContent.getAdapter();
-            final Consent parameterSetValid = action.isProposedArgumentSetValid(adapter, new ObjectAdapter[] { source });
-            parameterSetValid.setDescription("Execute '" + action.getName() + "' with " + source.titleString());
-            return parameterSetValid;
-        }
-    }
-
-    private ObjectAction actionFor(final Content sourceContent) {
-        ObjectAction action;
-        action = adapter.getSpecification().getObjectAction(ActionType.USER, null, Arrays.asList(sourceContent.getSpecification()));
-        return action;
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        final ObjectAction action = actionFor(sourceContent);
-        final ObjectAdapter source = sourceContent.getAdapter();
-        return action.execute(adapter, new ObjectAdapter[] { source });
-    }
-
-    @Override
-    public String getIconName() {
-        final ObjectAdapter object = getObject();
-        return object == null ? null : object.getIconName();
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        final ObjectAdapter adapter = getObject();
-        final ObjectSpecification specification = adapter.getSpecification();
-        final Image icon = ImageFactory.getInstance().loadIcon(specification, iconHeight, null);
-        return icon;
-    }
-
-    public void parseTextEntry(final String entryText) {
-        throw new UnexpectedCallException();
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java
deleted file mode 100644
index 427925f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java
+++ /dev/null
@@ -1,114 +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.dnd.table;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.composite.CollectionElementBuilder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-
-public abstract class AbstractTableSpecification extends CompositeViewSpecification {
-
-    public AbstractTableSpecification() {
-        builder = new CollectionElementBuilder(new ViewFactory() {
-            TableRowSpecification rowSpecification = new TableRowSpecification();
-
-            // TODO do directly without specification
-            @Override
-            public View createView(final Content content, final Axes axes, final int sequence) {
-                // ViewSpecification rowSpecification = new
-                // SubviewIconSpecification();
-                return rowSpecification.createView(content, axes, -1);
-            }
-        });
-
-        addSubviewDecorator(new TableRowBorder.Factory());
-
-        addViewDecorator(new CompositeViewDecorator() {
-            @Override
-            public View decorate(final View view, final Axes axes) {
-                axes.getAxis(TableAxis.class).setRoot(view);
-                return view;
-            }
-        });
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    @Override
-    public void createAxes(final Content content, final Axes axes) {
-        axes.add(new TableAxisImpl((CollectionContent) content), TableAxis.class);
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        if (!requirement.isCollection() || !requirement.isOpen()) {
-            return false;
-        } else {
-            final CollectionContent collectionContent = (CollectionContent) requirement.getContent();
-            final ObjectSpecification elementSpecification = collectionContent.getElementSpecification();
-            final List<ObjectAssociation> fields = elementSpecification.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.VISIBLE_AT_LEAST_SOMETIMES);
-            for (int i = 0; i < fields.size(); i++) {
-                if (fields.get(i).isOneToOneAssociation()) {
-                    return true;
-                }
-            }
-            return false;
-        }
-    }
-
-    /*
-     * protected View decorateView(View view) { TableAxis tableAxis =
-     * (TableAxis) view.getViewAxisForChildren(); tableAxis.setRoot(view);
-     * return view; // return doCreateView(table, content, axis); } protected
-     * abstract View doCreateView(final View table, final Content content, final
-     * ViewAxis axis);
-     */
-
-    @Override
-    public String getName() {
-        return "Standard Table";
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return true;
-    }
-}


[31/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ProposedAddTo.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ProposedAddTo.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ProposedAddTo.java
deleted file mode 100644
index 95cfd4c..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ProposedAddTo.java
+++ /dev/null
@@ -1,43 +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.bdd.common.fixtures.perform.checkthat.collections;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsValidity;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ProposedArgumentValidityAbstract;
-
-public class ProposedAddTo extends ProposedArgumentValidityAbstract {
-
-    public ProposedAddTo(final AssertsValidity assertion) {
-        super(assertion);
-    }
-
-    @Override
-    protected Consent determineConsent(final PerformContext performContext, final ObjectAdapter toValidateAdapter) {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final OneToManyAssociation otma = (OneToManyAssociation) performContext.getObjectMember();
-
-        return otma.isValidToAdd(onAdapter, toValidateAdapter);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ProposedRemoveFrom.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ProposedRemoveFrom.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ProposedRemoveFrom.java
deleted file mode 100644
index dc03f81..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ProposedRemoveFrom.java
+++ /dev/null
@@ -1,43 +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.bdd.common.fixtures.perform.checkthat.collections;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsValidity;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ProposedArgumentValidityAbstract;
-
-public class ProposedRemoveFrom extends ProposedArgumentValidityAbstract {
-
-    public ProposedRemoveFrom(final AssertsValidity assertion) {
-        super(assertion);
-    }
-
-    @Override
-    protected Consent determineConsent(final PerformContext performContext, final ObjectAdapter toValidateAdapter) {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final OneToManyAssociation otma = (OneToManyAssociation) performContext.getObjectMember();
-
-        return otma.isValidToRemove(onAdapter, toValidateAdapter);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Size.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Size.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Size.java
deleted file mode 100644
index 49ce0b0..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/Size.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.bdd.common.fixtures.perform.checkthat.collections;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-
-public class Size extends ThatAbstract {
-
-    public Size() {
-        super("size");
-    }
-
-    @Override
-    protected void doThat(final PerformContext performContext, final Iterable<ObjectAdapter> collection) throws ScenarioBoundValueException {
-
-        final CellBinding thatBinding = performContext.getPeer().getThatItBinding();
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-
-        if (!arg0Binding.isFound()) {
-            throw ScenarioBoundValueException.current(thatBinding, "(requires argument)");
-        }
-
-        final ScenarioCell arg0Cell = arg0Binding.getCurrentCell();
-
-        final String expectedSizeStr = arg0Cell.getText();
-        final int expectedSize;
-        try {
-            expectedSize = Integer.parseInt(expectedSizeStr);
-        } catch (final NumberFormatException ex) {
-            throw ScenarioBoundValueException.current(arg0Binding, "(not an integer)");
-        }
-
-        if (expectedSize <= 0) {
-            throw ScenarioBoundValueException.current(arg0Binding, "(not a positive integer)");
-        }
-
-        int actualSize = 0;
-        for (@SuppressWarnings("unused")
-        final ObjectAdapter eachObject : collection) {
-            actualSize++;
-        }
-
-        if (expectedSize != actualSize) {
-            throw ScenarioBoundValueException.current(arg0Binding, "" + actualSize);
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ThatAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ThatAbstract.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ThatAbstract.java
deleted file mode 100644
index e5a39f5..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/collections/ThatAbstract.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.bdd.common.fixtures.perform.checkthat.collections;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public abstract class ThatAbstract extends ThatSubcommandAbstract {
-
-    public ThatAbstract(final String key) {
-        super(key);
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final OneToManyAssociation otma = (OneToManyAssociation) performContext.getObjectMember();
-
-        final ObjectAdapter nakedObjectRepresentingCollection = otma.get(onAdapter);
-        final CollectionFacet collectionFacet = nakedObjectRepresentingCollection.getSpecification().getFacet(CollectionFacet.class);
-
-        doThat(performContext, collectionFacet.iterable(nakedObjectRepresentingCollection));
-
-        return nakedObjectRepresentingCollection; // can alias if wish
-    }
-
-    protected abstract void doThat(PerformContext performContext, Iterable<ObjectAdapter> collection) throws ScenarioBoundValueException;
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/NotSaved.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/NotSaved.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/NotSaved.java
deleted file mode 100644
index 544fe98..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/NotSaved.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.bdd.common.fixtures.perform.checkthat.object;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class NotSaved extends ThatSubcommandAbstract {
-
-    public NotSaved() {
-        super("is not saved", "is not persistent", "is not persisted", "not saved", "not persistent", "not persisted");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-
-        if (onAdapter.representsPersistent()) {
-            throw ScenarioBoundValueException.current(thatItBinding, "(saved)");
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/NotValid.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/NotValid.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/NotValid.java
deleted file mode 100644
index f85f85c..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/NotValid.java
+++ /dev/null
@@ -1,45 +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.bdd.common.fixtures.perform.checkthat.object;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class NotValid extends ThatSubcommandAbstract {
-
-    public NotValid() {
-        super("is not valid", "is invalid", "not valid", "invalid");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-
-        if (performContext.validObjectConsent().isAllowed()) {
-            throw ScenarioBoundValueException.current(thatItBinding, "(valid)");
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/Saved.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/Saved.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/Saved.java
deleted file mode 100644
index fdad338..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/Saved.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.bdd.common.fixtures.perform.checkthat.object;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class Saved extends ThatSubcommandAbstract {
-
-    public Saved() {
-        super("is saved", "is persistent", "is persisted", "saved", "persistent", "persisted");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-
-        if (!onAdapter.representsPersistent()) {
-            throw ScenarioBoundValueException.current(thatItBinding, "(not saved)");
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/Valid.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/Valid.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/Valid.java
deleted file mode 100644
index 774ed63..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/object/Valid.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.bdd.common.fixtures.perform.checkthat.object;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class Valid extends ThatSubcommandAbstract {
-
-    public Valid() {
-        super("is valid", "valid");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        if (!performContext.validObjectConsent().isAllowed()) {
-            final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-            throw ScenarioBoundValueException.current(thatItBinding, "(not valid)");
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Contains.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Contains.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Contains.java
deleted file mode 100644
index 4334c82..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Contains.java
+++ /dev/null
@@ -1,105 +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.bdd.common.fixtures.perform.checkthat.property;
-
-import java.util.Date;
-
-import org.apache.isis.core.commons.lang.StringUtils;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.progmodel.facets.value.date.DateValueFacet;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-import org.apache.isis.viewer.bdd.common.parsers.DateParser;
-
-public class Contains extends ThatSubcommandAbstract {
-
-    public Contains() {
-        super("contains", "is", "does contain");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) performContext.getObjectMember();
-
-        // if we have an expected result
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-        final ScenarioCell arg0Cell = arg0Binding.getCurrentCell();
-        final String expected = arg0Cell.getText();
-
-        // get
-        final ObjectAdapter resultAdapter = otoa.get(performContext.getOnAdapter());
-
-        // see if matches null
-        if (resultAdapter == null) {
-            if (StringUtils.isNullOrEmpty(expected)) {
-                return resultAdapter;
-            }
-            throw ScenarioBoundValueException.current(arg0Binding, "(is null)");
-        }
-
-        final String resultTitle = resultAdapter.titleString();
-
-        if (!StringUtils.isNullOrEmpty(expected)) {
-
-            // see if expected matches an alias
-            final ObjectAdapter expectedAdapter = performContext.getPeer().getAliasRegistry().getAliased(expected);
-            if (expectedAdapter != null) {
-                // known
-                if (resultAdapter == expectedAdapter) {
-                    return resultAdapter;
-                }
-                throw ScenarioBoundValueException.current(arg0Binding, resultTitle);
-            }
-
-            // otherwise, see if date and if so compare as such
-            final DateValueFacet dateValueFacet = resultAdapter.getSpecification().getFacet(DateValueFacet.class);
-            if (dateValueFacet != null) {
-                final Date resultDate = dateValueFacet.dateValue(resultAdapter);
-
-                final DateParser dateParser = performContext.getDateParser();
-                final Date expectedDate = dateParser.parse(expected);
-                if (expectedDate != null) {
-                    if (expectedDate.compareTo(resultDate) == 0) {
-                        return resultAdapter; // ok
-                    }
-                }
-                final String format = dateParser.format(resultDate);
-                throw ScenarioBoundValueException.current(arg0Binding, format);
-            }
-
-            // otherwise, compare title
-            if (!StringUtils.nullSafeEquals(resultTitle, expected)) {
-                throw ScenarioBoundValueException.current(arg0Binding, resultTitle);
-            }
-        } else {
-            // try to provide a default
-            final String resultAlias = performContext.getPeer().getAliasRegistry().getAlias(resultAdapter);
-            final String resultStr = resultAlias != null ? resultAlias : resultTitle;
-            performContext.getPeer().provideDefault(arg0Cell, resultStr);
-        }
-
-        return resultAdapter;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/DoesNotContain.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/DoesNotContain.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/DoesNotContain.java
deleted file mode 100644
index 9291a7d..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/DoesNotContain.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.bdd.common.fixtures.perform.checkthat.property;
-
-import org.apache.isis.core.commons.lang.StringUtils;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class DoesNotContain extends ThatSubcommandAbstract {
-
-    public DoesNotContain() {
-        super("does not contain", "is not");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) performContext.getObjectMember();
-
-        // if we have an expected result
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-        final ScenarioCell arg0Cell = arg0Binding.getCurrentCell();
-        final String expected = arg0Cell.getText();
-
-        // get
-        final ObjectAdapter resultAdapter = otoa.get(performContext.getOnAdapter());
-
-        // see if matches null
-        if (resultAdapter == null) {
-            // ok
-            return null;
-        }
-
-        final String resultTitle = resultAdapter.titleString();
-
-        if (!StringUtils.isNullOrEmpty(expected)) {
-
-            // see if expected matches an alias
-            final ObjectAdapter expectedAdapter = performContext.getPeer().getAliasRegistry().getAliased(expected);
-            if (expectedAdapter != null) {
-                // known
-                if (resultAdapter != expectedAdapter) {
-                    return resultAdapter;
-                }
-                throw ScenarioBoundValueException.current(arg0Binding, "(does contain)");
-            }
-
-            // otherwise, compare title
-            if (StringUtils.nullSafeEquals(resultTitle, expected)) {
-                throw ScenarioBoundValueException.current(arg0Binding, "(does contain)");
-            }
-        }
-
-        return resultAdapter;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Empty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Empty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Empty.java
deleted file mode 100644
index b4fdd2b..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/Empty.java
+++ /dev/null
@@ -1,54 +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.bdd.common.fixtures.perform.checkthat.property;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class Empty extends ThatSubcommandAbstract {
-
-    public Empty() {
-        super("is empty");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) performContext.getObjectMember();
-
-        // get
-        final ObjectAdapter resultAdapter = otoa.get(performContext.getOnAdapter());
-
-        if (resultAdapter != null) {
-            String actualStr = performContext.getPeer().getAliasRegistry().getAlias(resultAdapter);
-            if (actualStr == null) {
-                actualStr = resultAdapter.titleString();
-            }
-            final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-            throw ScenarioBoundValueException.current(thatItBinding, actualStr);
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/NotEmpty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/NotEmpty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/NotEmpty.java
deleted file mode 100644
index c04153f..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/NotEmpty.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.bdd.common.fixtures.perform.checkthat.property;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatSubcommandAbstract;
-
-public class NotEmpty extends ThatSubcommandAbstract {
-
-    public NotEmpty() {
-        super("is not empty");
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) performContext.getObjectMember();
-
-        // get
-        final ObjectAdapter resultAdapter = otoa.get(performContext.getOnAdapter());
-
-        if (resultAdapter == null) {
-            final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-            throw ScenarioBoundValueException.current(thatItBinding, "(empty)");
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/ProposedClear.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/ProposedClear.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/ProposedClear.java
deleted file mode 100644
index 3befe79..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/ProposedClear.java
+++ /dev/null
@@ -1,53 +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.bdd.common.fixtures.perform.checkthat.property;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsValidity;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ThatValidityAbstract;
-
-public class ProposedClear extends ThatValidityAbstract {
-
-    public ProposedClear(final AssertsValidity assertion) {
-        super(assertion);
-    }
-
-    @Override
-    public ObjectAdapter that(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final OneToOneAssociation otoa = (OneToOneAssociation) performContext.getObjectMember();
-
-        final Consent validityConsent = otoa.isAssociationValid(onAdapter, null);
-
-        if (!getAssertion().satisfiedBy(validityConsent)) {
-            final CellBinding thatBinding = performContext.getPeer().getThatItBinding();
-            throw ScenarioBoundValueException.current(thatBinding, getAssertion().getReason(validityConsent));
-        }
-
-        // can only return null.
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/ProposedSet.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/ProposedSet.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/ProposedSet.java
deleted file mode 100644
index 8c017cf..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/checkthat/property/ProposedSet.java
+++ /dev/null
@@ -1,43 +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.bdd.common.fixtures.perform.checkthat.property;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsValidity;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.ProposedArgumentValidityAbstract;
-
-public class ProposedSet extends ProposedArgumentValidityAbstract {
-
-    public ProposedSet(final AssertsValidity assertion) {
-        super(assertion);
-    }
-
-    @Override
-    protected Consent determineConsent(final PerformContext performContext, final ObjectAdapter toValidateAdapter) {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final OneToOneAssociation otoa = (OneToOneAssociation) performContext.getObjectMember();
-
-        return otoa.isAssociationValid(onAdapter, toValidateAdapter);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/parsers/DateParser.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/parsers/DateParser.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/parsers/DateParser.java
deleted file mode 100644
index b32fe3b..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/parsers/DateParser.java
+++ /dev/null
@@ -1,130 +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.bdd.common.parsers;
-
-import java.text.DateFormat;
-import java.text.MessageFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.TimeZone;
-
-/**
- * A mutable wrapper around a {@link DateFormat}, allowing the date and time
- * parts of the format to be specified independently specified.
- */
-public class DateParser {
-
-    /**
-     * Taken from the {@link org.apache.isis.applib.value.Date}
-     */
-    private static final TimeZone UTC_TIME_ZONE;
-    static {
-        TimeZone timeZone = TimeZone.getTimeZone("Etc/UTC");
-        if (timeZone == null) {
-            timeZone = TimeZone.getTimeZone("UTC");
-        }
-        UTC_TIME_ZONE = timeZone;
-    }
-
-    private static final String DEFAULT_DATE_MASK = "yyyy-MM-dd";
-    private static final String DEFAULT_TIME_MASK = "hh:mm";
-
-    private String dateMask = DEFAULT_DATE_MASK;
-    private String timeMask = DEFAULT_TIME_MASK;
-    private DateFormat dateAndTimeFormat = null;
-    private DateFormat dateOnlyFormat = null;
-    private DateFormat timeOnlyFormat = null;
-
-    public DateParser() {
-    }
-
-    public Date parse(final String dateAndOrTimeStr) {
-        try {
-            return getDateAndTimeFormat().parse(dateAndOrTimeStr);
-        } catch (final ParseException e) {
-            try {
-                return getDateFormat().parse(dateAndOrTimeStr);
-            } catch (final ParseException e2) {
-                try {
-                    return getTimeFormat().parse(dateAndOrTimeStr);
-                } catch (final ParseException e3) {
-                    return null;
-                }
-            }
-        }
-    }
-
-    public void setDateFormat(final String dateMask) {
-        this.dateMask = dateMask;
-        invalidateFormats();
-    }
-
-    public void setTimeFormat(final String timeMask) {
-        this.timeMask = timeMask;
-        invalidateFormats();
-    }
-
-    private void invalidateFormats() {
-        this.dateAndTimeFormat = null;
-        this.dateOnlyFormat = null;
-        this.timeOnlyFormat = null;
-    }
-
-    public String format(final Date resultDate) {
-        return getDateAndTimeFormat().format(resultDate);
-    }
-
-    private DateFormat getDateAndTimeFormat() {
-        if (dateAndTimeFormat == null) {
-            dateAndTimeFormat = getUTCDateFormat(getCombinedMask());
-        }
-        return dateAndTimeFormat;
-    }
-
-    private DateFormat getTimeFormat() {
-        if (timeOnlyFormat == null) {
-            timeOnlyFormat = getUTCDateFormat(timeMask);
-        }
-        return timeOnlyFormat;
-    }
-
-    private DateFormat getDateFormat() {
-        if (dateOnlyFormat == null) {
-            dateOnlyFormat = getUTCDateFormat(dateMask);
-        }
-        return dateOnlyFormat;
-    }
-
-    private DateFormat getUTCDateFormat(final String dateTimeMask) {
-        final DateFormat dateFormat = new SimpleDateFormat(dateTimeMask);
-        dateFormat.setTimeZone(UTC_TIME_ZONE);
-        return dateFormat;
-    }
-
-    public String getCombinedMask() {
-        return MessageFormat.format("{0} {1}", dateMask, timeMask);
-    }
-
-    @Override
-    public String toString() {
-        return getCombinedMask();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/AbstractHelper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/AbstractHelper.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/AbstractHelper.java
deleted file mode 100644
index c994859..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/AbstractHelper.java
+++ /dev/null
@@ -1,35 +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.bdd.common.story.bootstrapping;
-
-import org.apache.isis.viewer.bdd.common.Scenario;
-
-public abstract class AbstractHelper {
-
-    private final Scenario story;
-
-    public AbstractHelper(final Scenario story) {
-        this.story = story;
-    }
-
-    protected Scenario getStory() {
-        return story;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/OpenSession.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/OpenSession.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/OpenSession.java
deleted file mode 100644
index a36de30..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/OpenSession.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.bdd.common.story.bootstrapping;
-
-import java.util.List;
-
-import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.fixtures.authentication.AuthenticationRequestLogonFixture;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.bdd.common.Scenario;
-
-public class OpenSession {
-
-    @SuppressWarnings("unused")
-    private final Scenario story;
-
-    public OpenSession(final Scenario story) {
-        this.story = story;
-    }
-
-    public void openSession(final String userName, final List<String> roles) {
-        IsisContext.closeSession();
-        final LogonFixture logonFixture = new LogonFixture(userName, roles);
-        final AuthenticationRequestLogonFixture authRequest = new AuthenticationRequestLogonFixture(logonFixture);
-        final AuthenticationSession authSession = getAuthenticationManager().authenticate(authRequest);
-
-        IsisContext.openSession(authSession);
-    }
-
-    protected AuthenticationManager getAuthenticationManager() {
-        return IsisContext.getAuthenticationManager();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/RunViewer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/RunViewer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/RunViewer.java
deleted file mode 100644
index 185a206..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/RunViewer.java
+++ /dev/null
@@ -1,43 +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.bdd.common.story.bootstrapping;
-
-import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstaller;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
-import org.apache.isis.viewer.bdd.common.Scenario;
-
-public class RunViewer extends AbstractHelper {
-
-    private static final String DND_VIEWER_NAME = "dnd";
-
-    public RunViewer(final Scenario story) {
-        super(story);
-    }
-
-    public void run() {
-        final InstallerLookup installerLookup = getStory().getInstallerLookup();
-
-        final IsisViewerInstaller viewerInstaller = installerLookup.viewerInstaller(DND_VIEWER_NAME);
-        final IsisViewer viewer = viewerInstaller.createViewer();
-
-        viewer.init();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/SetClock.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/SetClock.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/SetClock.java
deleted file mode 100644
index 32b980b..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/SetClock.java
+++ /dev/null
@@ -1,41 +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.bdd.common.story.bootstrapping;
-
-import java.util.Calendar;
-import java.util.Date;
-
-import org.apache.isis.applib.fixtures.FixtureClock;
-import org.apache.isis.viewer.bdd.common.Scenario;
-
-public class SetClock extends AbstractHelper {
-
-    public SetClock(final Scenario story) {
-        super(story);
-    }
-
-    public void setClock(final Date date) {
-        final FixtureClock clock = FixtureClock.initialize();
-        final Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        clock.setDate(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH));
-        clock.setTime(calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/ShutdownIsis.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/ShutdownIsis.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/ShutdownIsis.java
deleted file mode 100644
index dac6e66..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/bootstrapping/ShutdownIsis.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.bdd.common.story.bootstrapping;
-
-import org.apache.isis.core.runtime.system.IsisSystem;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.bdd.common.Scenario;
-
-public class ShutdownIsis extends AbstractHelper {
-
-    public ShutdownIsis(final Scenario story) {
-        super(story);
-    }
-
-    public void shutdown() {
-        final IsisSystem system = getStory().getSystem();
-
-        IsisContext.closeAllSessions();
-
-        if (system != null) {
-            system.shutdown();
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/AliasRegistryDefault.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/AliasRegistryDefault.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/AliasRegistryDefault.java
deleted file mode 100644
index 12f3ed6..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/AliasRegistryDefault.java
+++ /dev/null
@@ -1,108 +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.bdd.common.story.registries;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.TreeMap;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.ScenarioValueException;
-
-public class AliasRegistryDefault implements AliasRegistry {
-
-    private final Map<String, ObjectAdapter> adaptersByAlias = new HashMap<String, ObjectAdapter>();
-    private final Map<ObjectAdapter, String> aliasesByAdapter = new HashMap<ObjectAdapter, String>();
-
-    /**
-     * @see #nextAlias()
-     * @see #aliasPrefixedAs(String, NakedObject)
-     */
-    private final Map<String, int[]> aliasCountsByPrefix = new TreeMap<String, int[]>();
-
-    @Override
-    public void aliasAs(final String alias, final ObjectAdapter adapter) {
-        adaptersByAlias.put(alias, adapter);
-        aliasesByAdapter.put(adapter, alias);
-    }
-
-    @Override
-    public ObjectAdapter getAliased(final String alias) {
-        return adaptersByAlias.get(alias);
-    }
-
-    @Override
-    public String getAlias(final ObjectAdapter adapter) {
-        return aliasesByAdapter.get(adapter);
-    }
-
-    @Override
-    public String aliasPrefixedAs(final String prefix, final ObjectAdapter adapter) {
-        int[] aliasCountForPrefix = aliasCountsByPrefix.get(prefix);
-        if (aliasCountForPrefix == null) {
-            aliasCountForPrefix = new int[1];
-            aliasCountsByPrefix.put(prefix, aliasCountForPrefix);
-        }
-        final String nextAliasForPrefix = nextAlias(prefix, aliasCountForPrefix);
-        adaptersByAlias.put(nextAliasForPrefix, adapter);
-        return nextAliasForPrefix;
-    }
-
-    private String nextAlias(final String prefix, final int[] heldAsCount) {
-        return prefix + "#" + (++heldAsCount[0]);
-    }
-
-    @Override
-    public Iterator<Entry<String, ObjectAdapter>> iterator() {
-        final Set<Entry<String, ObjectAdapter>> entrySet = adaptersByAlias.entrySet();
-        return Collections.unmodifiableSet(entrySet).iterator();
-    }
-
-    @Override
-    public void aliasService(final String aliasAs, final String className) throws ScenarioValueException {
-        final List<ObjectAdapter> serviceAdapters = getPersistenceSession().getServices();
-        for (final ObjectAdapter serviceAdapter : serviceAdapters) {
-            if (serviceAdapter.getSpecification().getFullIdentifier().equals(className)) {
-                adaptersByAlias.put(aliasAs, serviceAdapter);
-                return;
-            }
-        }
-        throw new ScenarioValueException("no such service");
-    }
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    @Override
-    public void clear() {
-        this.adaptersByAlias.clear();
-        this.aliasesByAdapter.clear();
-        this.aliasCountsByPrefix.clear();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/AliasRegistryHolder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/AliasRegistryHolder.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/AliasRegistryHolder.java
deleted file mode 100644
index 1bbc75c..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/AliasRegistryHolder.java
+++ /dev/null
@@ -1,27 +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.bdd.common.story.registries;
-
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-
-public interface AliasRegistryHolder {
-
-    AliasRegistry getAliasRegistry();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/ServiceRegistrySpi.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/ServiceRegistrySpi.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/ServiceRegistrySpi.java
deleted file mode 100644
index 25dff70..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/story/registries/ServiceRegistrySpi.java
+++ /dev/null
@@ -1,25 +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.bdd.common.story.registries;
-
-import org.apache.isis.viewer.bdd.common.ServiceRegistry;
-
-public interface ServiceRegistrySpi extends ServiceRegistry {
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/util/Strings.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/util/Strings.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/util/Strings.java
deleted file mode 100644
index c3950c7..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/util/Strings.java
+++ /dev/null
@@ -1,26 +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.bdd.common.util;
-
-public final class Strings {
-
-    private Strings() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/site/apt/index.apt b/mothballed/component/viewer/bdd/common/src/site/apt/index.apt
deleted file mode 100644
index 1fa9d22..0000000
--- a/mothballed/component/viewer/bdd/common/src/site/apt/index.apt
+++ /dev/null
@@ -1,32 +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.
-
-
-
-BDD Common
-
- The BDD <common> module provides integration logic with <Apache Isis>, 
- independent of any particular BDD testing framework.   Although
- the {{{../bdd-concordion/index.html}concordion}} module is the only user,
- it is separate from that module in order to enable integrations with other 
- BDD frameworks in the future.
-    
-Further Info
-  
-  See this module's {{{./apidocs/index.html}Javadoc}} and the 
-  {{{../docbkx/html/guide/isis-bdd-integration.html}user guide}} for more information.
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/site/apt/jottings.apt b/mothballed/component/viewer/bdd/common/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/viewer/bdd/common/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/site/site.xml b/mothballed/component/viewer/bdd/common/src/site/site.xml
deleted file mode 100644
index aaffb84..0000000
--- a/mothballed/component/viewer/bdd/common/src/site/site.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="Common" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="BDD Common">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-        
-        <menu name="BDD Modules">
-            <item name="Common" href="../bdd-common/index.html" />
-            <item name="Concordion" href="../bdd-concordion/index.html" />
-        </menu>
-
-		<menu name="Maven Reports" ref="reports" />
-	</body>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/test/java/org/apache/isis/viewer/bdd/common/parsers/DateParserTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/test/java/org/apache/isis/viewer/bdd/common/parsers/DateParserTest.java b/mothballed/component/viewer/bdd/common/src/test/java/org/apache/isis/viewer/bdd/common/parsers/DateParserTest.java
deleted file mode 100644
index 2ef1307..0000000
--- a/mothballed/component/viewer/bdd/common/src/test/java/org/apache/isis/viewer/bdd/common/parsers/DateParserTest.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.bdd.common.parsers;
-
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.not;
-import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-import java.util.Date;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-public class DateParserTest {
-
-    /**
-     * Tracking down problem in ISIS-18...
-     * <p>
-     * This fails because 'MMM' is gonna be different in different languages.
-     */
-    @Ignore
-    @Test
-    public void parsesUnder_enUK_butNotUnder_deDE() throws Exception {
-        final DateParser dateParser = new DateParser();
-        dateParser.setDateFormat("dd-MMM-yyyy");
-        dateParser.setTimeFormat("hh:mm");
-        final Date parse = dateParser.parse("02-May-2010 09:20");
-        assertThat(parse, is(not(nullValue())));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/test/java/org/apache/isis/viewer/bdd/common/registries/AliasesRegistryTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/test/java/org/apache/isis/viewer/bdd/common/registries/AliasesRegistryTest.java b/mothballed/component/viewer/bdd/common/src/test/java/org/apache/isis/viewer/bdd/common/registries/AliasesRegistryTest.java
deleted file mode 100644
index 01617b4..0000000
--- a/mothballed/component/viewer/bdd/common/src/test/java/org/apache/isis/viewer/bdd/common/registries/AliasesRegistryTest.java
+++ /dev/null
@@ -1,75 +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.bdd.common.registries;
-
-import org.hamcrest.CoreMatchers;
-import org.jmock.Mockery;
-import org.jmock.integration.junit4.JMock;
-import org.jmock.integration.junit4.JUnit4Mockery;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.story.registries.AliasRegistryDefault;
-
-@RunWith(JMock.class)
-public class AliasesRegistryTest {
-
-    private final Mockery mockery = new JUnit4Mockery();
-
-    private AliasRegistryDefault registry;
-
-    private ObjectAdapter mockAdapter1;
-    private ObjectAdapter mockAdapter2;
-    @SuppressWarnings("unused")
-    private ObjectAdapter mockAdapter3;
-
-    @Before
-    public void setUp() throws Exception {
-        mockAdapter1 = mockery.mock(ObjectAdapter.class, "adapter1");
-        mockAdapter2 = mockery.mock(ObjectAdapter.class, "adapter2");
-        mockAdapter3 = mockery.mock(ObjectAdapter.class, "adapter3");
-        registry = new AliasRegistryDefault();
-    }
-
-    @Test
-    public void registerOneAdapter() {
-        final String heldAs1 = registry.aliasPrefixedAs("Foo", mockAdapter1);
-        Assert.assertThat(heldAs1, CoreMatchers.is("Foo#1"));
-    }
-
-    @Test
-    public void registerTwoAdaptersOfSamePrefix() {
-        @SuppressWarnings("unused")
-        final String heldAs1 = registry.aliasPrefixedAs("Foo", mockAdapter1);
-        final String heldAs2 = registry.aliasPrefixedAs("Foo", mockAdapter2);
-        Assert.assertThat(heldAs2, CoreMatchers.is("Foo#2"));
-    }
-
-    @Test
-    public void registerAdaptersOfDiffereingPrefixes() {
-        @SuppressWarnings("unused")
-        final String heldAs1 = registry.aliasPrefixedAs("Foo", mockAdapter1);
-        final String heldAs2 = registry.aliasPrefixedAs("Bar", mockAdapter2);
-        Assert.assertThat(heldAs2, CoreMatchers.is("Bar#1"));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/pom.xml b/mothballed/component/viewer/bdd/concordion/pom.xml
deleted file mode 100755
index bbdcd9c..0000000
--- a/mothballed/component/viewer/bdd/concordion/pom.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-	    <groupId>org.apache.isis.viewer</groupId>
-	    <artifactId>isis-viewer-bdd</artifactId>
-	    <version>1.0.0-SNAPSHOT</version>
-	</parent>
-	
-	<artifactId>isis-viewer-bdd-concordion</artifactId>
-	<name>Isis BDD Viewer (Concordion)</name>
-
-	<properties>
-		<siteBaseDir>..</siteBaseDir>
-		<relativeUrl>concordion/</relativeUrl>
-
-		<concordion.version>1.4.3</concordion.version>
-	</properties>
-	
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <dependencyManagement>
-        <dependencies>
-
-            <!-- 3rd party dependencies -->
-			<dependency>
-				<groupId>org.concordion</groupId>
-				<artifactId>concordion</artifactId>
-		        <version>${concordion.version}</version>
-			</dependency>
-         </dependencies>
-    </dependencyManagement>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.viewer</groupId>
-			<artifactId>isis-viewer-bdd-common</artifactId>
-		</dependency>
-	
-        <dependency>
-            <groupId>org.concordion</groupId>
-            <artifactId>concordion</artifactId>
-            <exclusions>
-               <exclusion>
-                   <!--  excluded because of LGPL; end-developer must include in POM file directly -->
-                   <groupId>xom</groupId>
-                   <artifactId>xom</artifactId>
-               </exclusion>
-                <exclusion>
-                    <!-- for dependency convergence -->
-                    <groupId>junit</groupId>
-                    <artifactId>junit-dep</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-		<dependency>
-            <groupId>junit</groupId>
-	        <artifactId>junit</artifactId>
-		</dependency>
-	</dependencies>
-
-</project>


[37/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManagerTest_instances.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManagerTest_instances.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManagerTest_instances.java
deleted file mode 100644
index 3cb5050..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManagerTest_instances.java
+++ /dev/null
@@ -1,315 +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.objectstore.xml.internal.data.xml;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.xml.XmlFile;
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.tck.dom.xmlos.TeamDomainRepository;
-import org.apache.isis.objectstore.xml.XmlPersistenceMechanismInstaller;
-import org.apache.isis.objectstore.xml.internal.clock.DefaultClock;
-import org.apache.isis.objectstore.xml.internal.data.ObjectData;
-import org.apache.isis.objectstore.xml.internal.data.ObjectDataVector;
-import org.apache.isis.objectstore.xml.internal.version.FileVersion;
-
-public class XmlDataManagerTest_instances {
-    
-    @Rule
-    public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder()
-        .with(new XmlPersistenceMechanismInstaller())
-        .withServices(new TeamDomainRepository())
-        .build();
-
-    protected XmlDataManager manager;
-    protected final int SIZE = 5;
-
-    private RootOid oids[];
-    private ObjectData data[];
-    private ObjectData pattern;
-
-    @Before
-    public void setUp() throws Exception {
-
-        clearTestDirectory();
-        final String charset = Utils.lookupCharset(iswf.getIsisSystem().getConfiguration());
-        manager = new XmlDataManager(new XmlFile(charset, "tmp/tests"));
-
-        FileVersion.setClock(new DefaultClock());
-
-        oids = new RootOid[SIZE];
-        data = new ObjectData[SIZE];
-
-        pattern = new ObjectData(RootOidDefault.deString("RLE:1", new OidMarshaller()), FileVersion.create("user", 13));
-        for (int i = 0; i < SIZE; i++) {
-            oids[i] = RootOidDefault.create(ObjectSpecId.of("RLE"), ""+i);
-            data[i] = new ObjectData(oids[i], FileVersion.create("user", 13));
-            manager.insertObject(data[i]);
-        }
-    }
-
-    protected static void clearTestDirectory() {
-        final File directory = new File("tmp" + File.separator + "tests");
-        final String[] files = directory.list(new FilenameFilter() {
-            @Override
-            public boolean accept(final File arg0, final String name) {
-                return name.endsWith(".xml");
-            }
-        });
-
-        if (files != null) {
-            for (final String file : files) {
-                new File(directory, file).delete();
-            }
-        }
-    }
-
-
-    @Test
-    public void testNumberOfInstances() {
-        assertEquals(SIZE, manager.numberOfInstances(pattern));
-    }
-
-    @Test
-    public void testRemove() throws Exception {
-        final RootOid oid = oids[2];
-        manager.remove(oid);
-
-        assertEquals(SIZE - 1, manager.numberOfInstances(pattern));
-
-        final ObjectDataVector instances = manager.getInstances(pattern);
-        for (int i = 0; i < instances.size(); i++) {
-            assertFalse(instances.element(i) == data[2]);
-        }
-
-        assertNull((manager.loadData(oid)));
-    }
-
-    @Test
-    public void testSaveObject() throws Exception {
-        data[2].set("Person", RootOidDefault.create(ObjectSpecId.of("PER"), ""+231));
-        data[2].set("Name", "Fred");
-        manager.save(data[2]);
-
-        assertTrue(manager.getInstances(pattern).contains(data[2]));
-        final ObjectData read = (ObjectData) manager.loadData(oids[2]);
-        assertEquals(data[2], read);
-        assertEquals(data[2].get("Name"), read.get("Name"));
-        assertEquals(data[2].get("Person"), read.get("Person"));
-    }
-
-    /*
-     * public void xxxtestInsertValues() throws ObjectStoreException {
-     * ObjectSpecification type =
-     * Isis.getSpecificationLoader().loadSpecification
-     * (ValueObjectExample.class.getName()); SerialOid oid = new SerialOid(99);
-     * ObjectData data = new ObjectData(type, oid);
-     * 
-     * 
-     * Date date1 = new Date(); date1.add(1,2,3); data.saveValue("Date", date1);
-     * 
-     * FloatingPointNumber floatingPoint1 = new FloatingPointNumber();
-     * floatingPoint1.setValue(3.145); data.saveValue("Floating Point",
-     * floatingPoint1);
-     * 
-     * Label label1 = new Label(); label1.setValue("Labelled");
-     * data.saveValue("Label", label1);
-     * 
-     * Logical logical1 = new Logical(); logical1.setValue(true);
-     * data.saveValue("Logical", logical1);
-     * 
-     * Money money1 = new Money(); money1.setValue(1233.45);
-     * data.saveValue("Money", money1);
-     * 
-     * Option option1 = new Option(new String[] {"Fred", "Sam", "joe"}, 1);
-     * data.saveValue("Option", option1);
-     * 
-     * Percentage percentage1 = new Percentage(); percentage1.setValue(95);
-     * data.saveValue("Percentage", percentage1);
-     * 
-     * TextString textString1 = new TextString("Fred");
-     * data.saveValue("Text String", textString1);
-     * 
-     * DateTime timestamp1 = new DateTime(); timestamp1.add(1,2,3);
-     * data.saveValue("Time Stamp", timestamp1);
-     * 
-     * Time time1 = new Time(); time1.add(1,30); data.saveValue("Time", time1);
-     * 
-     * URLString urlString1 = new URLString("http://isis.apache.org/");
-     * data.saveValue("Url String", urlString1);
-     * 
-     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422);
-     * data.saveValue("Whole Number", number1);
-     * 
-     * 
-     * manager.insert(data);
-     * 
-     * 
-     * 
-     * ObjectData object = manager.loadObjectData(oid);
-     * 
-     * Date date2 = new Date(); object.restoreValue("Date", date2);
-     * assertEquals(date1, date2);
-     * 
-     * FloatingPointNumber floatingPoint2 = new FloatingPointNumber();
-     * object.restoreValue("Floating Point", floatingPoint2);
-     * assertEquals(floatingPoint1, floatingPoint2);
-     * 
-     * Label label2 = new Label(); object.restoreValue("Label", label2);
-     * assertEquals(label1, label2);
-     * 
-     * Logical logical2 = new Logical(); object.restoreValue("Logical",
-     * logical2); assertEquals(logical1, logical2);
-     * 
-     * Money money2 = new Money(); object.restoreValue("Money", money2);
-     * assertEquals(money1, money2);
-     * 
-     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"});
-     * object.restoreValue("Option", option2); assertEquals(option1, option2);
-     * 
-     * Percentage percentage2 = new Percentage();
-     * object.restoreValue("Percentage", percentage2); assertEquals(percentage1,
-     * percentage2);
-     * 
-     * Time time2 = new Time(); object.restoreValue("Time", time2);
-     * assertEquals(time1, time2);
-     * 
-     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp",
-     * timestamp2); assertEquals(timestamp1, timestamp2);
-     * 
-     * TextString textString2 = new TextString();
-     * object.restoreValue("Text String", textString2);
-     * assertEquals(textString1, textString2);
-     * 
-     * URLString urlString2 = new URLString(); object.restoreValue("Url String",
-     * urlString2); assertEquals(urlString1, urlString2);
-     * 
-     * WholeNumber number2 = new WholeNumber();
-     * object.restoreValue("Whole Number", number2); assertEquals(number1,
-     * number2); }
-     * 
-     * public void xxxtestSaveValues() throws ObjectStoreException {
-     * ObjectSpecification type =
-     * Isis.getSpecificationLoader().loadSpecification
-     * (ValueObjectExample.class.getName()); SerialOid oid = new SerialOid(99);
-     * ObjectData data = new ObjectData(type, oid);
-     * 
-     * manager.insert(data);
-     * 
-     * 
-     * Date date1 = new Date(); date1.add(1,2,3); data.saveValue("Date", date1);
-     * 
-     * FloatingPointNumber floatingPoint1 = new FloatingPointNumber();
-     * floatingPoint1.setValue(3.145); data.saveValue("Floating Point",
-     * floatingPoint1);
-     * 
-     * Label label1 = new Label(); label1.setValue("Labelled");
-     * data.saveValue("Label", label1);
-     * 
-     * Logical logical1 = new Logical(); logical1.setValue(true);
-     * data.saveValue("Logical", logical1);
-     * 
-     * Money money1 = new Money(); money1.setValue(1233.45);
-     * data.saveValue("Money", money1);
-     * 
-     * Option option1 = new Option(new String[] {"Fred", "Sam", "joe"}, 1);
-     * data.saveValue("Option", option1);
-     * 
-     * Percentage percentage1 = new Percentage(); percentage1.setValue(95);
-     * data.saveValue("Percentage", percentage1);
-     * 
-     * TextString textString1 = new TextString("Fred");
-     * data.saveValue("Text String", textString1);
-     * 
-     * DateTime timestamp1 = new DateTime(); timestamp1.add(1,2,3);
-     * data.saveValue("Time Stamp", timestamp1);
-     * 
-     * Time time1 = new Time(); time1.add(1,30); data.saveValue("Time", time1);
-     * 
-     * URLString urlString1 = new URLString("http://isis.apache.org/");
-     * data.saveValue("Url String", urlString1);
-     * 
-     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422);
-     * data.saveValue("Whole Number", number1);
-     * 
-     * 
-     * manager.save(data);
-     * 
-     * 
-     * 
-     * ObjectData object = manager.loadObjectData(oid);
-     * 
-     * Date date2 = new Date(); object.restoreValue("Date", date2);
-     * assertEquals(date1, date2);
-     * 
-     * FloatingPointNumber floatingPoint2 = new FloatingPointNumber();
-     * object.restoreValue("Floating Point", floatingPoint2);
-     * assertEquals(floatingPoint1, floatingPoint2);
-     * 
-     * Label label2 = new Label(); object.restoreValue("Label", label2);
-     * assertEquals(label1, label2);
-     * 
-     * Logical logical2 = new Logical(); object.restoreValue("Logical",
-     * logical2); assertEquals(logical1, logical2);
-     * 
-     * Money money2 = new Money(); object.restoreValue("Money", money2);
-     * assertEquals(money1, money2);
-     * 
-     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"});
-     * object.restoreValue("Option", option2); assertEquals(option1, option2);
-     * 
-     * Percentage percentage2 = new Percentage();
-     * object.restoreValue("Percentage", percentage2); assertEquals(percentage1,
-     * percentage2);
-     * 
-     * Time time2 = new Time(); object.restoreValue("Time", time2);
-     * assertEquals(time1, time2);
-     * 
-     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp",
-     * timestamp2); assertEquals(timestamp1, timestamp2);
-     * 
-     * TextString textString2 = new TextString();
-     * object.restoreValue("Text String", textString2);
-     * assertEquals(textString1, textString2);
-     * 
-     * URLString urlString2 = new URLString(); object.restoreValue("Url String",
-     * urlString2); assertEquals(urlString1, urlString2);
-     * 
-     * WholeNumber number2 = new WholeNumber();
-     * object.restoreValue("Whole Number", number2); assertEquals(number1,
-     * number2);
-     * 
-     * }
-     */
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/tmp/tests/RLE/99.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/tmp/tests/RLE/99.xml b/mothballed/component/objectstore/xml/tmp/tests/RLE/99.xml
deleted file mode 100644
index de9edc2..0000000
--- a/mothballed/component/objectstore/xml/tmp/tests/RLE/99.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<isis oid="RLE:99" user="tester" ver="D">
-  <value field="Name">Harry</value>
-  <association field="Person" oid="RLE:101"/>
-</isis>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/tmp/tests/TEA/99.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/tmp/tests/TEA/99.xml b/mothballed/component/objectstore/xml/tmp/tests/TEA/99.xml
deleted file mode 100644
index 262d737..0000000
--- a/mothballed/component/objectstore/xml/tmp/tests/TEA/99.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<isis oid="TEA:99" user="tester" ver="D">
-</isis>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/tmp/tests/oid.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/tmp/tests/oid.xml b/mothballed/component/objectstore/xml/tmp/tests/oid.xml
deleted file mode 100644
index a1c3e8e..0000000
--- a/mothballed/component/objectstore/xml/tmp/tests/oid.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<number>4</number>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/xml/objects/services.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/xml/objects/services.xml b/mothballed/component/objectstore/xml/xml/objects/services.xml
deleted file mode 100644
index 7a8c8e4..0000000
--- a/mothballed/component/objectstore/xml/xml/objects/services.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<services>
-  <service oid="org.apache.isis.core.tck.dom.xmlos.TeamDomainRepository:1390427852616"/>
-</services>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/sql/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/sql/NOTICE b/mothballed/component/profilestore/sql/NOTICE
deleted file mode 100755
index ba21d0c..0000000
--- a/mothballed/component/profilestore/sql/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/sql/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/sql/pom.xml b/mothballed/component/profilestore/sql/pom.xml
deleted file mode 100755
index 45a37c2..0000000
--- a/mothballed/component/profilestore/sql/pom.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.2.0-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-	</parent>
-
-	<groupId>org.apache.isis.profilestore</groupId>
-	<artifactId>isis-profilestore-sql</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-    <name>Isis SQL ProfileStore</name>
-
-	<properties>
-        <siteBaseDir>.</siteBaseDir>
-		<relativeUrl/>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.8</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
-	
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-				<version>${maven-project-info-reports-plugin}</version>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencies>
-		<dependency>
-			<groupId>org.hsqldb</groupId>
-			<artifactId>hsqldb</artifactId>
-			<scope>test</scope>
-		</dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-unittestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-        
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-metamodel</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		</dependency>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		    <type>test-jar</type>
-		    <scope>test</scope>
-		</dependency>
-	</dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/sql/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/sql/src/main/appended-resources/supplemental-models.xml b/mothballed/component/profilestore/sql/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/mothballed/component/profilestore/sql/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-   	<!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
-    <project>
-		<groupId>org.datanucleus</groupId>
-	    <artifactId>datanucleus-jodatime</artifactId>
-	    <version>3.1.1</version>
-          <licenses>
-			<license>
-	            <name>The Apache Software License, Version 2.0</name>
-	            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-	        </license>
-	    </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>org.scannotation</groupId>
-      <artifactId>scannotation</artifactId>
-      <version>1.0.3</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-    
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>net.jcip</groupId>
-      <artifactId>jcip-annotations</artifactId>
-      <version>1.0</version>
-      <licenses>
-        <license>
-            <name>Creative Commons Attribution 2.5 License</name>
-            <url>http://creativecommons.org/licenses/by/2.5/</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  
-
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.0</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
- 
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/sql/src/main/java/org/apache/isis/profilestore/sql/SqlUserProfileStore.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/sql/src/main/java/org/apache/isis/profilestore/sql/SqlUserProfileStore.java b/mothballed/component/profilestore/sql/src/main/java/org/apache/isis/profilestore/sql/SqlUserProfileStore.java
deleted file mode 100755
index 66114e9..0000000
--- a/mothballed/component/profilestore/sql/src/main/java/org/apache/isis/profilestore/sql/SqlUserProfileStore.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.profilestore.sql;
-
-import com.google.inject.Inject;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-
-/**
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class SqlUserProfileStore implements UserProfileStore {
-
-    @Inject
-    public SqlUserProfileStore(final IsisConfiguration configuration) {
-
-    }
-
-    @Override
-    public boolean isFixturesInstalled() {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    @Override
-    public void save(final String userName, final UserProfile userProfile) {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
-    public UserProfile getUserProfile(final String userName) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/sql/src/main/java/org/apache/isis/profilestore/sql/SqlUserProfileStoreInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/sql/src/main/java/org/apache/isis/profilestore/sql/SqlUserProfileStoreInstaller.java b/mothballed/component/profilestore/sql/src/main/java/org/apache/isis/profilestore/sql/SqlUserProfileStoreInstaller.java
deleted file mode 100755
index 10f9b00..0000000
--- a/mothballed/component/profilestore/sql/src/main/java/org/apache/isis/profilestore/sql/SqlUserProfileStoreInstaller.java
+++ /dev/null
@@ -1,47 +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.profilestore.sql;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
-
-/**
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class SqlUserProfileStoreInstaller extends InstallerAbstract implements UserProfileStoreInstaller {
-
-    public SqlUserProfileStoreInstaller() {
-        super(UserProfileStoreInstaller.TYPE, "sql");
-    }
-
-    @Override
-    public UserProfileStore createUserProfileStore(final IsisConfiguration configuration) {
-        return new SqlUserProfileStore(configuration);
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(UserProfileStore.class);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/sql/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/sql/src/site/apt/index.apt b/mothballed/component/profilestore/sql/src/site/apt/index.apt
deleted file mode 100755
index a3591d0..0000000
--- a/mothballed/component/profilestore/sql/src/site/apt/index.apt
+++ /dev/null
@@ -1,43 +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.
-
-
-
-SQL Profile Store (jdbc)
- 
- The <sql> (jdbc) profile store module provides a skeleton to accept 
- a persistent store for user profiles that is backed onto any jdbc 
- compatible database.
- 
- It is currently a no-op skeleton, yet to be implemented. 
- 
-
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}dflt}} (in-memory) profile store
-
-  * the {{{../xml/index.html}XML}} profile store
-
-Further Info
-  
-  See this module's {{{./apidocs/index.html}Javadoc}} for more information.
-
-
-  [] 
-  

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/sql/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/sql/src/site/apt/jottings.apt b/mothballed/component/profilestore/sql/src/site/apt/jottings.apt
deleted file mode 100755
index c5d1200..0000000
--- a/mothballed/component/profilestore/sql/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/sql/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/sql/src/site/site.xml b/mothballed/component/profilestore/sql/src/site/site.xml
deleted file mode 100755
index 55d03a7..0000000
--- a/mothballed/component/profilestore/sql/src/site/site.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="Sql" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="SQL (jdbc) Profile Store">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-        
-        <menu name="Profile Stores">
-            <item name="Default (In-mem)" href="../dflt/index.html" />
-            <item name="XML" href="../xml/index.html" />
-        </menu>
-        
-		<menu name="Maven Reports" ref="reports"/>
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/NOTICE b/mothballed/component/profilestore/xml/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/mothballed/component/profilestore/xml/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/pom.xml b/mothballed/component/profilestore/xml/pom.xml
deleted file mode 100644
index 38084af..0000000
--- a/mothballed/component/profilestore/xml/pom.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-    <parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.6.0-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-	</parent>
-
-	<groupId>org.apache.isis.profilestore</groupId>
-	<artifactId>isis-profilestore-xml</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-	<name>Isis XML ProfileStore</name>
-
-	<properties>
-        <siteBaseDir>.</siteBaseDir>
-		<relativeUrl/>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.10</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-    
-    <dependencyManagement>
-    	<!-- for benefit of application developers, using scope=import -->
-    	<dependencies>
-			<dependency>
-			    <groupId>org.apache.isis.profilestore</groupId>
-			    <artifactId>isis-profilestore-xml</artifactId>
-				<version>1.0.0-SNAPSHOT</version>
-			</dependency>
-    	</dependencies>
-    </dependencyManagement>
-    
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-metamodel</artifactId>
-			<type>test-jar</type>
-			<scope>test</scope>
-        </dependency>
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-unittestsupport</artifactId>
-			<scope>test</scope>
-        </dependency>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-runtime</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-runtime</artifactId>
-			<type>test-jar</type>
-			<scope>test</scope>
-		</dependency>
-
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-	</dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/main/appended-resources/supplemental-models.xml b/mothballed/component/profilestore/xml/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/mothballed/component/profilestore/xml/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-   	<!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
-    <project>
-		<groupId>org.datanucleus</groupId>
-	    <artifactId>datanucleus-jodatime</artifactId>
-	    <version>3.1.1</version>
-          <licenses>
-			<license>
-	            <name>The Apache Software License, Version 2.0</name>
-	            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-	        </license>
-	    </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>org.scannotation</groupId>
-      <artifactId>scannotation</artifactId>
-      <version>1.0.3</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-    
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>net.jcip</groupId>
-      <artifactId>jcip-annotations</artifactId>
-      <version>1.0</version>
-      <licenses>
-        <license>
-            <name>Creative Commons Attribution 2.5 License</name>
-            <url>http://creativecommons.org/licenses/by/2.5/</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  
-
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.0</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
- 
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/XmlUserProfileStore.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/XmlUserProfileStore.java b/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/XmlUserProfileStore.java
deleted file mode 100644
index fb28307..0000000
--- a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/XmlUserProfileStore.java
+++ /dev/null
@@ -1,64 +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.profilestore.xml;
-
-import com.google.inject.Inject;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.xml.XmlFile;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-import org.apache.isis.profilestore.xml.internal.UserProfileContentWriter;
-import org.apache.isis.profilestore.xml.internal.UserProfileDataHandler;
-import org.apache.isis.profilestore.xml.internal.XmlFileUtil;
-
-public class XmlUserProfileStore implements UserProfileStore {
-
-    private static final String XML_DIR = ConfigurationConstants.ROOT + "xmluserprofile.dir";
-    private final XmlFile xmlFile;
-
-    @Inject
-    public XmlUserProfileStore(final IsisConfiguration configuration) {
-        final String directory = configuration.getString(XML_DIR, "xml/profiles");
-        xmlFile = new XmlFile(XmlFileUtil.lookupCharset(configuration), directory);
-    }
-
-    @Override
-    public UserProfile getUserProfile(final String userName) {
-        final UserProfileDataHandler handler = new UserProfileDataHandler();
-        if (xmlFile.parse(handler, userName)) {
-            return handler.getUserProfile();
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public boolean isFixturesInstalled() {
-        return xmlFile.isFixturesInstalled();
-    }
-
-    @Override
-    public void save(final String userName, final UserProfile userProfile) {
-        xmlFile.writeXml(userName, new UserProfileContentWriter(userProfile));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/XmlUserProfileStoreInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/XmlUserProfileStoreInstaller.java b/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/XmlUserProfileStoreInstaller.java
deleted file mode 100644
index d8968e4..0000000
--- a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/XmlUserProfileStoreInstaller.java
+++ /dev/null
@@ -1,45 +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.profilestore.xml;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
-
-public class XmlUserProfileStoreInstaller extends InstallerAbstract implements UserProfileStoreInstaller {
-
-    public XmlUserProfileStoreInstaller() {
-        super(UserProfileStoreInstaller.TYPE, "xml");
-    }
-
-    @Override
-    public UserProfileStore createUserProfileStore(final IsisConfiguration configuration) {
-        return new XmlUserProfileStore(configuration);
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(UserProfileStore.class);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/UserProfileContentWriter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/UserProfileContentWriter.java b/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/UserProfileContentWriter.java
deleted file mode 100644
index 1a08e79..0000000
--- a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/UserProfileContentWriter.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.profilestore.xml.internal;
-
-import java.io.IOException;
-import java.io.Writer;
-import java.util.Iterator;
-
-import org.apache.isis.core.commons.lang.StringExtensions;
-import org.apache.isis.core.commons.xml.ContentWriter;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.services.ServiceUtil;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-
-public class UserProfileContentWriter implements ContentWriter {
-    private final UserProfile userProfile;
-
-    public UserProfileContentWriter(final UserProfile userProfile) {
-        this.userProfile = userProfile;
-    }
-
-    @Override
-    public void write(final Writer writer) throws IOException {
-        final StringBuffer xml = new StringBuffer();
-        xml.append("<profile>\n");
-
-        final Options options = userProfile.getOptions();
-        writeOptions(xml, options, null, 0);
-
-        xml.append("  <perspectives>\n");
-        for (final String perspectiveName : userProfile.list()) {
-            final PerspectiveEntry perspective = userProfile.getPerspective(perspectiveName);
-
-            xml.append("    <perspective" + attribute("name", perspectiveName) + ">\n");
-            xml.append("      <services>\n");
-            for (final Object service : perspective.getServices()) {
-                xml.append("        <service " + attribute("id", ServiceUtil.id(service)) + "/>\n");
-            }
-            xml.append("      </services>\n");
-            xml.append("      <objects>\n");
-            for (final Object object : perspective.getObjects()) {
-                final ObjectAdapter adapter = getPersistenceSession().getAdapterManager().adapterFor(object);
-                xml.append("        <object>" + adapter.getOid().enString(getOidMarshaller()) + "</object>\n");
-            }
-            xml.append("      </objects>\n");
-            xml.append("    </perspective>\n");
-        }
-        xml.append("  </perspectives>\n");
-
-        xml.append("</profile>\n");
-
-        writer.write(xml.toString());
-    }
-
-    private void writeOptions(final StringBuffer xml, final Options options, final String name1, final int level) {
-        final String spaces = StringExtensions.repeat("  ", level);
-
-        final Iterator<String> names = options.names();
-        if (level == 0 || names.hasNext()) {
-            xml.append(spaces + "  <options");
-            if (name1 != null) {
-                xml.append(" id=\"" + name1 + "\"");
-            }
-            xml.append(">\n");
-            while (names.hasNext()) {
-                final String name = names.next();
-                if (options.isOptions(name)) {
-                    writeOptions(xml, options.getOptions(name), name, level + 1);
-                } else {
-                    xml.append(spaces + "    <option" + attribute("id", name) + ">" + options.getString(name) + "</option>\n");
-                }
-            }
-            xml.append(spaces + "  </options>\n");
-        }
-    }
-
-    private String attribute(final String name, final String value) {
-        return " " + name + "=\"" + value + "\"";
-    }
-
-    // ///////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////
-
-    protected OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
-
-    protected static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/UserProfileDataHandler.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/UserProfileDataHandler.java b/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/UserProfileDataHandler.java
deleted file mode 100644
index 4fec8d2..0000000
--- a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/UserProfileDataHandler.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.profilestore.xml.internal;
-
-import java.util.List;
-import java.util.Stack;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import org.apache.isis.core.metamodel.services.ServiceUtil;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-
-public class UserProfileDataHandler extends DefaultHandler {
-    private final StringBuffer data = new StringBuffer();
-    private final UserProfile userProfile = new UserProfile();
-    private final Stack<Options> options = new Stack<Options>();
-    private String optionName;
-    private boolean isProfile;
-    private boolean isOptions;
-    private boolean isPerspectives;
-    private PerspectiveEntry perspective;
-    private boolean isServices;
-    private boolean isObjects;
-
-    public UserProfile getUserProfile() {
-        return userProfile;
-    }
-
-    @Override
-    public void characters(final char[] ch, final int start, final int end) throws SAXException {
-        data.append(new String(ch, start, end));
-    }
-
-    @Override
-    public void endElement(final String ns, final String name, final String tagName) throws SAXException {
-        if (tagName.equals("options")) {
-            options.pop();
-            isOptions = options.size() > 0;
-        } else if (tagName.equals("perspectives")) {
-            isPerspectives = false;
-        } else if (tagName.equals("perspective")) {
-            // TODO add perspective to profile
-
-            perspective = null;
-        } else if (tagName.equals("services")) {
-            isServices = false;
-        } else if (tagName.equals("objects")) {
-            isObjects = false;
-        } else if (tagName.equals("option")) {
-            final String value = data.toString();
-            options.peek().addOption(optionName, value);
-        } else if (tagName.equals("name")) {
-            final String value = data.toString();
-            System.out.println(value);
-        }
-    }
-
-    @Override
-    public void startElement(final String ns, final String name, final String tagName, final Attributes attributes) throws SAXException {
-
-        if (isProfile) {
-            if (isOptions) {
-                if (tagName.equals("option")) {
-                    optionName = attributes.getValue("id");
-                    data.setLength(0);
-                } else if (tagName.equals("options")) {
-                    final String optionsName = attributes.getValue("id");
-                    final Options newOptions = new Options();
-                    options.peek().addOptions(optionsName, newOptions);
-                    options.push(newOptions);
-                } else {
-                    throw new SAXException("Invalid element in options: " + tagName);
-                }
-            } else if (isPerspectives) {
-                if (perspective != null) {
-                    if (isServices) {
-                        if (tagName.equals("service")) {
-                            final String serviceId = attributes.getValue("id");
-                            final List<Object> serviceObjects = IsisContext.getServices();
-                            for (final Object service : serviceObjects) {
-                                if (ServiceUtil.id(service).equals(serviceId)) {
-                                    perspective.addToServices(service);
-                                    break;
-                                }
-                            }
-                        } else {
-                            throw new SAXException("Invalid element in services: " + tagName);
-                        }
-                    } else if (isObjects) {
-                        // TODO reload objects
-                    } else if (tagName.equals("services")) {
-                        isServices = true;
-                    } else if (tagName.equals("objects")) {
-                        isObjects = true;
-                    } else {
-                        throw new SAXException("Invalid element in perspective: " + tagName);
-                    }
-                } else if (tagName.equals("perspective")) {
-                    perspective = userProfile.newPerspective(attributes.getValue("name"));
-                } else {
-                    throw new SAXException("Invalid element in perspectives: " + tagName);
-                }
-            } else if (tagName.equals("options")) {
-                isOptions = true;
-                options.push(userProfile.getOptions());
-            } else if (tagName.equals("perspectives") && !isOptions) {
-                isPerspectives = true;
-            } else {
-                throw new SAXException("Invalid element in profile: " + tagName);
-            }
-
-        }
-        /*
-         * else { throw new SAXException("Invalid data"); } }
-         */
-
-        if (tagName.equals("profile")) {
-            isProfile = true;
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/XmlFileUtil.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/XmlFileUtil.java b/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/XmlFileUtil.java
deleted file mode 100644
index 68f9b00..0000000
--- a/mothballed/component/profilestore/xml/src/main/java/org/apache/isis/profilestore/xml/internal/XmlFileUtil.java
+++ /dev/null
@@ -1,34 +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.profilestore.xml.internal;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-
-public class XmlFileUtil {
-
-    public static final String ENCODING_PROPERTY = ConfigurationConstants.ROOT + "xmlos.encoding";
-    public static final String DEFAULT_ENCODING = "ISO-8859-1";
-
-    public static String lookupCharset(final IsisConfiguration configuration) {
-        return configuration.getString(ENCODING_PROPERTY, DEFAULT_ENCODING);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/site/apt/index.apt b/mothballed/component/profilestore/xml/src/site/apt/index.apt
deleted file mode 100644
index 61e9f4b..0000000
--- a/mothballed/component/profilestore/xml/src/site/apt/index.apt
+++ /dev/null
@@ -1,36 +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.
-
-
-
-XML ProfileStore
-
- The <xml> profile store provides a simple way to persist user profile 
- information to file storage.  The format of this file is a
- proprietary XML schema.
- 
-
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}dflt}} (in-memory) profile store
-
-  * the {{{../sql/index.html}SQL}} (jdbc) profile store (incomplete)
-
-  [] 
- 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/site/apt/jottings.apt b/mothballed/component/profilestore/xml/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/profilestore/xml/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/site/site.xml b/mothballed/component/profilestore/xml/src/site/site.xml
deleted file mode 100644
index 8ba380f..0000000
--- a/mothballed/component/profilestore/xml/src/site/site.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="XML"  href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="XML Profile Store">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Profile Stores">
-            <item name="Default (In-mem)" href="../dflt/index.html" />
-            <item name="XML" href="../xml/index.html" />
-            <item name="SQL (jdbc)" href="../sql/index.html" />
-        </menu>
-
-		<menu name="Documentation">
-			<item name="${docbkxGuideTitle} (PDF)" href="docbkx/pdf/${docbkxGuideName}.pdf" />
-			<item name="${docbkxGuideTitle} (HTML)" href="docbkx/html/guide/${docbkxGuideName}.html" />
-		</menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/TestServiceObject1.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/TestServiceObject1.java b/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/TestServiceObject1.java
deleted file mode 100644
index da30c7e..0000000
--- a/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/TestServiceObject1.java
+++ /dev/null
@@ -1,28 +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.profilestore.xml.internal;
-
-public class TestServiceObject1 {
-    public static final String ID = "test service";
-
-    public String getId() {
-        return ID;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/UserProfileContentWriterTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/UserProfileContentWriterTest.java b/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/UserProfileContentWriterTest.java
deleted file mode 100644
index 2de9fb9..0000000
--- a/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/UserProfileContentWriterTest.java
+++ /dev/null
@@ -1,105 +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.profilestore.xml.internal;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.IOException;
-import java.io.StringWriter;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-
-public class UserProfileContentWriterTest {
-
-    private UserProfileContentWriter writer1;
-    private UserProfile profile;
-    private StringWriter writer;
-
-    @Before
-    public void setup() throws Exception {
-        profile = new UserProfile();
-        writer1 = new UserProfileContentWriter(profile);
-        writer = new StringWriter();
-
-    }
-
-    @Test
-    public void emptyStructure() throws Exception {
-        writeContent();
-        assertEquals("<profile>\n  <options>\n  </options>\n  <perspectives>\n  </perspectives>\n</profile>\n", writer.toString());
-    }
-
-    @Test
-    public void singleOption() throws Exception {
-        profile.addToOptions("option1", "value1");
-        profile.addToOptions("option2", "value2");
-        assertLine("    <option id=\"option2\">value2</option>", 2);
-        assertLine("    <option id=\"option1\">value1</option>", 3);
-    }
-
-    @Test
-    public void recursiveOptions() throws Exception {
-        final Options options = new Options();
-        options.addOption("option2", "value2");
-        profile.getOptions().addOptions("option1", options);
-        assertLine("    <options id=\"option1\">", 2);
-        assertLine("      <option id=\"option2\">value2</option>", 3);
-        assertLine("    </options>", 4);
-    }
-
-    @Test
-    public void emptyOptionsAreIgnored() throws Exception {
-        final Options options = new Options();
-        profile.getOptions().addOptions("option1", options);
-        debug();
-        assertLine("  </options>", 2);
-    }
-
-    @Test
-    public void perspective() throws Exception {
-        final PerspectiveEntry perspective = new PerspectiveEntry();
-        perspective.setName("test");
-        profile.addToPerspectives(perspective);
-        // debug();
-        writeContent();
-        assertEquals("<profile>\n  <options>\n  </options>\n  <perspectives>\n" + "    <perspective name=\"test\">\n      <services>\n      </services>\n      <objects>\n      </objects>\n    </perspective>\n" + "  </perspectives>\n</profile>\n", writer.toString());
-    }
-
-    // // Helpers
-
-    private void assertLine(final String expected, final int line) throws IOException {
-        writeContent();
-        assertEquals(expected, writer.toString().split("\n")[line]);
-    }
-
-    private void debug() throws IOException {
-        writeContent();
-        System.out.println(writer.toString());
-    }
-
-    private void writeContent() throws IOException {
-        writer1.write(writer);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/UserProfileDataHandlerTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/UserProfileDataHandlerTest.java b/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/UserProfileDataHandlerTest.java
deleted file mode 100644
index 621332a..0000000
--- a/mothballed/component/profilestore/xml/src/test/java/org/apache/isis/profilestore/xml/internal/UserProfileDataHandlerTest.java
+++ /dev/null
@@ -1,154 +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.profilestore.xml.internal;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.List;
-
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.system.context.IsisContextStatic;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
-import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
-import org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-public class UserProfileDataHandlerTest {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    @Mock
-    private TemplateImageLoader mockTemplateImageLoader;
-    @Mock
-    private SpecificationLoader mockSpecificationLoader;
-    @Mock
-    private AuthenticationManager mockAuthenticationManager;
-    @Mock
-    private AuthorizationManager mockAuthorizationManager;
-    @Mock
-    private UserProfileLoader mockUserProfileLoader;
-    @Mock
-    private PersistenceSessionFactory mockPersistenceSessionFactory;
-    @Mock
-    private DomainObjectContainer mockContainer;
-    
-    private TestServiceObject1 service;
-    private UserProfile profile;
-
-    
-    @Before
-    public void setup() throws Exception {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
-        service = new TestServiceObject1();
-        final IsisSessionFactory executionContextFactory = new IsisSessionFactoryDefault(DeploymentType.EXPLORATION, new IsisConfigurationDefault(), mockSpecificationLoader, mockTemplateImageLoader, mockAuthenticationManager,
-                mockAuthorizationManager, mockUserProfileLoader, mockPersistenceSessionFactory, mockContainer, Arrays.<Object>asList(service), new OidMarshaller());
-
-        IsisContextStatic.createRelaxedInstance(executionContextFactory);
-
-        final XMLReader parser = XMLReaderFactory.createXMLReader();
-        final UserProfileDataHandler handler = new UserProfileDataHandler();
-        parser.setContentHandler(handler);
-        parser.parse(new InputSource(new InputStreamReader(new FileInputStream("test.xml"))));
-
-        profile = handler.getUserProfile();
-    }
-
-    @Test
-    public void stringOption() throws Exception {
-        assertEquals("on", profile.getOptions().getString("power"));
-    }
-
-    @Test
-    public void unknownOptionReturnsNull() throws Exception {
-        assertEquals(null, profile.getOptions().getString("device"));
-    }
-
-    @Test
-    public void integerOption() throws Exception {
-        assertEquals(50, profile.getOptions().getInteger("height", 10));
-    }
-
-    @Test
-    public void unknownIntegerReturnsDefault() throws Exception {
-        assertEquals(30, profile.getOptions().getInteger("width", 30));
-    }
-
-    @Test
-    public void unknownOptionsCreated() throws Exception {
-        final Options options = profile.getOptions().getOptions("");
-        assertNotNull(options);
-        assertEquals(false, options.names().hasNext());
-    }
-
-    @Test
-    public void containedOptions() throws Exception {
-        final Options options = profile.getOptions().getOptions("opts");
-        assertNotNull(options);
-        assertEquals("value1", options.getString("option1"));
-        assertEquals("value2", options.getString("option2"));
-    }
-
-    @Test
-    public void recursiveOptions() throws Exception {
-        Options options = profile.getOptions().getOptions("opts");
-        options = options.getOptions("options3");
-        assertEquals("value4", options.getString("option4"));
-        assertEquals("value5", options.getString("option5"));
-    }
-
-    @Test
-    public void profileNames() throws Exception {
-        final List<String> list = profile.list();
-        assertEquals(2, list.size());
-        assertEquals("Library", list.get(0));
-        assertEquals("Admin", list.get(1));
-    }
-
-    @Test
-    public void perspective() throws Exception {
-        assertEquals("Admin", profile.getPerspective().getName());
-        assertEquals(1, profile.getPerspective().getServices().size());
-        assertEquals(service, profile.getPerspective().getServices().get(0));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/profilestore/xml/test.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/profilestore/xml/test.xml b/mothballed/component/profilestore/xml/test.xml
deleted file mode 100644
index 12fcca4..0000000
--- a/mothballed/component/profilestore/xml/test.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-
-<profile>
-  <options>
-    <option id="power">on</option>
-    <option id="height">50</option>
-    <options id="opts">
-        <option id="option1">value1</option>
-        <options id="options3">
-            <option id="option4">value4</option>
-            <option id="option5">value5</option>
-        </options>
-        <option id="option2">value2</option>
-    </options>
-  </options>
-  <perspectives>
-  <perspective name="Library">
-    <services>
-      <service  id="Service one"/>
-      <service  id="Service two"/>
-      <service  id="Service three"/>
-    </services>
-    <objects>
-    </objects>
-  </perspective>
-  <perspective name="Admin">
-    <services>
-      <service  id="repository#org.apache.isis.xmlpersistence.profilestore.TestServiceObject"/>
-      <service  id="test service"/>
-    </services>
-    <objects>
-    </objects>
-  </perspective>
-  </perspectives>
-</profile>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/NOTICE b/mothballed/component/progmodel/groovy/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/mothballed/component/progmodel/groovy/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/progmodel/groovy/applib/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/progmodel/groovy/applib/pom.xml b/mothballed/component/progmodel/groovy/applib/pom.xml
deleted file mode 100644
index 3410a1d..0000000
--- a/mothballed/component/progmodel/groovy/applib/pom.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-	<parent>
-      <groupId>org.apache.isis.progmodel</groupId>
-      <artifactId>isis-progmodel-groovy</artifactId>
-      <version>1.0.0-SNAPSHOT</version>
-	</parent>
-
-    <artifactId>isis-progmodel-groovy-applib</artifactId>
-    <name>Isis Groovy ProgModel AppLib</name>
-
-	<properties>
-		<siteBaseDir>..</siteBaseDir>
-		<relativeUrl>applib/</relativeUrl>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-applib</artifactId>
-        </dependency>
-  
-  		<!-- is marked as optional in parent, so not exported as a transitive dependency -->      
-  		<dependency> 
-		    <groupId>org.codehaus.groovy</groupId> 
-		    <artifactId>groovy-all</artifactId> 
-		</dependency>
-        
-    </dependencies>
-
-</project>


[22/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/ImageFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/ImageFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/ImageFactory.java
deleted file mode 100644
index a894d4a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/ImageFactory.java
+++ /dev/null
@@ -1,179 +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.dnd.drawing;
-
-/*
- import java.awt.Toolkit;
- import java.awt.image.FilteredImageSource;
- import java.awt.image.RGBImageFilter;
- */
-import java.util.Hashtable;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.util.Properties;
-
-public abstract class ImageFactory {
-    private static final String DEFAULT_IMAGE_NAME = "Default";
-    private static final String DEFAULT_IMAGE_PROPERTY = Properties.PROPERTY_BASE + "default-image";
-    private static ImageFactory instance;
-    private static final String SEPARATOR = "_";
-
-    public static ImageFactory getInstance() {
-        if (instance == null) {
-            throw new IllegalStateException("Instance not set up yet");
-        }
-        return instance;
-    }
-
-    /**
-     * Keyed list of icons (each derived from an image, of a specific size etc),
-     * where the key is the name of the icon and its size.
-     */
-    private final Hashtable<String, Image> templateImages = new Hashtable<String, Image>();
-
-    // ////////////////////////////////////////////////////////////////////
-    // Constructor
-    // ////////////////////////////////////////////////////////////////////
-
-    public ImageFactory() {
-        instance = this;
-    }
-
-    // ////////////////////////////////////////////////////////////////////
-    // loadIcon for Specifications
-    // ////////////////////////////////////////////////////////////////////
-
-    public Image loadIcon(final ObjectSpecification specification, final int iconHeight, final Color tint) {
-        return findIcon(specification, iconHeight, null);
-    }
-
-    private Image findIcon(final ObjectSpecification specification, final int iconHeight, final Color tint) {
-        Image loadIcon = null;
-        if (loadIcon == null) {
-            final String fullClassNameSlashes = specification.getFullIdentifier().replace(".", "/");
-            loadIcon = loadIcon(fullClassNameSlashes, iconHeight, tint);
-        }
-        if (loadIcon == null) {
-            final String fullClassNameUnderscores = specification.getFullIdentifier().replace('.', '_');
-            loadIcon = loadIcon(fullClassNameUnderscores, iconHeight, tint);
-        }
-        if (loadIcon == null) {
-            final String shortClassNameUnderscores = specification.getShortIdentifier().replace('.', '_');
-            loadIcon = loadIcon(shortClassNameUnderscores, iconHeight, tint);
-        }
-        if (loadIcon == null) {
-            loadIcon = findIconForSuperClass(specification, iconHeight, tint);
-        }
-        if (loadIcon == null) {
-            loadIcon = findIconForInterfaces(specification, iconHeight, tint);
-        }
-        return loadIcon;
-    }
-
-    private Image findIconForSuperClass(final ObjectSpecification specification, final int iconHeight, final Color tint) {
-        final ObjectSpecification superclassSpecification = specification.superclass();
-        Image loadIcon;
-        if (superclassSpecification == null) {
-            loadIcon = null;
-        } else {
-            loadIcon = findIcon(superclassSpecification, iconHeight, tint);
-        }
-        return loadIcon;
-    }
-
-    private Image findIconForInterfaces(final ObjectSpecification specification, final int iconHeight, final Color tint) {
-        Image loadIcon = null;
-        for (final ObjectSpecification interfaceSpecification : specification.interfaces()) {
-            loadIcon = findIcon(interfaceSpecification, iconHeight, tint);
-            if (loadIcon != null) {
-                return loadIcon;
-            }
-        }
-        return loadIcon;
-    }
-
-    // ////////////////////////////////////////////////////////////////////
-    // loadIcon for arbitrary path
-    // ////////////////////////////////////////////////////////////////////
-
-    /**
-     * Loads an icon of the specified size, and with the specified tint. If
-     * color is null then no tint is applied.
-     */
-    public Image loadIcon(final String name, final int height, final Color tint) {
-        final String id = name + SEPARATOR + height + SEPARATOR + tint;
-
-        if (templateImages.containsKey(id)) {
-            return templateImages.get(id);
-        }
-        final Image icon = loadImage(name, height, tint);
-        if (icon != null) {
-            templateImages.put(id, icon);
-        }
-        return icon;
-    }
-
-    // ////////////////////////////////////////////////////////////////////
-    // loadDefaultIcon
-    // ////////////////////////////////////////////////////////////////////
-
-    /**
-     * Loads the fall back icon image, for use when no specific image can be
-     * found
-     */
-    public Image loadDefaultIcon(final int height, final Color tint) {
-        final String fallbackImage = getConfiguration().getString(DEFAULT_IMAGE_PROPERTY, DEFAULT_IMAGE_NAME);
-        Image icon = loadIcon(fallbackImage, height, tint);
-        if (icon == null) {
-            icon = loadIcon("unknown", height, tint);
-        }
-        if (icon == null) {
-            throw new IsisException("Failed to find default icon: " + fallbackImage);
-        }
-        return icon;
-    }
-
-    // ////////////////////////////////////////////////////////////////////
-    // loadImage
-    // ////////////////////////////////////////////////////////////////////
-
-    /**
-     * Load an image with the given name.
-     */
-    public abstract Image loadImage(final String path);
-
-    /**
-     * Load an image with the given name, but of a specific height and of a
-     * specific hint.
-     */
-    protected abstract Image loadImage(final String name, final int height, final Color tint);
-
-    // ////////////////////////////////////////////////////////////////////
-    // Dependencies (from singleton)
-    // ////////////////////////////////////////////////////////////////////
-
-    private IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Location.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Location.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Location.java
deleted file mode 100644
index c3e1bd6..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Location.java
+++ /dev/null
@@ -1,113 +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.dnd.drawing;
-
-public class Location {
-    int x;
-    int y;
-
-    public Location() {
-        x = 0;
-        y = 0;
-    }
-
-    public Location(final int x, final int y) {
-        super();
-        this.x = x;
-        this.y = y;
-    }
-
-    public Location(final Location location) {
-        x = location.x;
-        y = location.y;
-    }
-
-    public void add(final int x, final int y) {
-        move(x, y);
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj == this) {
-            return true;
-        }
-
-        if (obj instanceof Location) {
-            final Location object = (Location) obj;
-
-            return object.x == this.x && object.y == this.y;
-        }
-
-        return false;
-    }
-
-    public int getX() {
-        return x;
-    }
-
-    public int getY() {
-        return y;
-    }
-
-    public void move(final int dx, final int dy) {
-        x += dx;
-        y += dy;
-    }
-
-    public Offset offsetFrom(final Location location) {
-
-        Offset offset;
-        offset = new Offset(x - location.x, y - location.y);
-        return offset;
-    }
-
-    public void setX(final int x) {
-        this.x = x;
-    }
-
-    public void setY(final int y) {
-        this.y = y;
-    }
-
-    public void subtract(final int x, final int y) {
-        move(-x, -y);
-    }
-
-    public void subtract(final Location location) {
-        move(-location.x, -location.y);
-    }
-
-    public void subtract(final Offset offset) {
-        move(-offset.getDeltaX(), -offset.getDeltaY());
-    }
-
-    @Override
-    public String toString() {
-        return x + "," + y;
-    }
-
-    public void translate(final Location offset) {
-        move(offset.x, offset.y);
-    }
-
-    public void translate(final Offset offset) {
-        move(offset.getDeltaX(), offset.getDeltaY());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Offset.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Offset.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Offset.java
deleted file mode 100644
index d36852d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Offset.java
+++ /dev/null
@@ -1,84 +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.dnd.drawing;
-
-public class Offset {
-
-    private int dx;
-    private int dy;
-
-    public Offset(final Location locationInViewer, final Location locationInView) {
-        dx = locationInViewer.getX() - locationInView.getX();
-        dy = locationInViewer.getY() - locationInView.getY();
-    }
-
-    public Offset(final int dx, final int dy) {
-        this.dx = dx;
-        this.dy = dy;
-    }
-
-    public Offset(final Location location) {
-        this.dx = location.getX();
-        this.dy = location.getY();
-    }
-
-    public int getDeltaX() {
-        return dx;
-    }
-
-    public int getDeltaY() {
-        return dy;
-    }
-
-    public Location offset(final Location locationInViewer) {
-        final Location location = new Location(locationInViewer);
-        location.move(dx, dy);
-        return location;
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj == this) {
-            return true;
-        }
-
-        if (obj instanceof Offset) {
-            Offset offset;
-            offset = (Offset) obj;
-            return offset.dx == dx && offset.dy == dy;
-        }
-
-        return false;
-    }
-
-    @Override
-    public String toString() {
-        return "Offset " + dx + ", " + dy;
-    }
-
-    public void add(final int dx, final int dy) {
-        this.dx += dx;
-        this.dy += dy;
-    }
-
-    public void subtract(final int dx, final int dy) {
-        add(-dx, -dy);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Padding.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Padding.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Padding.java
deleted file mode 100644
index e5f346d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Padding.java
+++ /dev/null
@@ -1,136 +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.dnd.drawing;
-
-public class Padding {
-    int bottom;
-    int left;
-    int right;
-    int top;
-
-    public Padding(final int top, final int left, final int bottom, final int right) {
-        this.top = top;
-        this.bottom = bottom;
-        this.left = left;
-        this.right = right;
-    }
-
-    public Padding() {
-        top = 0;
-        bottom = 0;
-        left = 0;
-        right = 0;
-    }
-
-    public Padding(final Padding padding) {
-        this.top = padding.top;
-        this.bottom = padding.bottom;
-        this.left = padding.left;
-        this.right = padding.right;
-    }
-
-    public void setBottom(final int bottom) {
-        this.bottom = bottom;
-    }
-
-    public int getBottom() {
-        return bottom;
-    }
-
-    public void setLeft(final int left) {
-        this.left = left;
-    }
-
-    public int getLeft() {
-        return left;
-    }
-
-    public int getLeftRight() {
-        return left + right;
-    }
-
-    public void setRight(final int right) {
-        this.right = right;
-    }
-
-    public int getRight() {
-        return right;
-    }
-
-    public void setTop(final int top) {
-        this.top = top;
-    }
-
-    public int getTop() {
-        return top;
-    }
-
-    public int getTopBottom() {
-        return top + bottom;
-    }
-
-    /**
-     * Extend the padding on the bottom by the specified amount.
-     */
-    public void extendBottom(final int pad) {
-        bottom += pad;
-    }
-
-    /**
-     * Extend the padding on the left by the specified amount.
-     */
-    public void extendLeft(final int pad) {
-        left += pad;
-    }
-
-    /**
-     * Extend the padding on the right by the specified amount.
-     */
-    public void extendRight(final int pad) {
-        right += pad;
-    }
-
-    /**
-     * Extend the padding on the top by the specified amount.
-     */
-    public void extendTop(final int pad) {
-        top += pad;
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj == this) {
-            return true;
-        }
-
-        if (obj instanceof Padding) {
-            final Padding object = (Padding) obj;
-
-            return object.top == this.top && object.bottom == this.bottom && object.left == this.left && object.right == this.right;
-        }
-
-        return false;
-    }
-
-    @Override
-    public String toString() {
-        return "Padding [top=" + top + ",bottom=" + bottom + ",left=" + left + ",right=" + right + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Shape.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Shape.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Shape.java
deleted file mode 100644
index bf2196d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Shape.java
+++ /dev/null
@@ -1,102 +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.dnd.drawing;
-
-public class Shape {
-    int count = 0;
-    int[] x = new int[6];
-    int[] y = new int[6];
-
-    public Shape() {
-    }
-
-    public Shape(final int xOrigin, final int yOrigin) {
-        this.x[0] = xOrigin;
-        this.y[0] = yOrigin;
-        count = 1;
-    }
-
-    public Shape(final Shape shape) {
-        count = shape.count;
-        this.x = new int[count];
-        this.y = new int[count];
-        for (int i = 0; i < count; i++) {
-            this.x[i] = shape.x[i];
-            this.y[i] = shape.y[i];
-        }
-    }
-
-    public void addVector(final int width, final int height) {
-        final int x = this.x[count - 1] + width;
-        final int y = this.y[count - 1] + height;
-        addPoint(x, y);
-    }
-
-    public void addPoint(final int x, final int y) {
-        if (this.x.length == count) {
-            final int[] newX = new int[count * 2];
-            final int[] newY = new int[count * 2];
-            System.arraycopy(this.x, 0, newX, 0, count);
-            System.arraycopy(this.y, 0, newY, 0, count);
-            this.x = newX;
-            this.y = newY;
-        }
-        this.x[count] = x;
-        this.y[count] = y;
-        count++;
-    }
-
-    public int count() {
-        return count;
-    }
-
-    public int[] getX() {
-        final int[] xx = new int[count];
-        System.arraycopy(x, 0, xx, 0, count);
-        return xx;
-    }
-
-    public int[] getY() {
-        final int[] yy = new int[count];
-        System.arraycopy(y, 0, yy, 0, count);
-        return yy;
-    }
-
-    @Override
-    public String toString() {
-        final StringBuffer points = new StringBuffer();
-        for (int i = 0; i < count; i++) {
-            if (i > 0) {
-                points.append("; ");
-            }
-            points.append(this.x[i]);
-            points.append(",");
-            points.append(this.y[i]);
-        }
-        return "Shape {" + points + "}";
-    }
-
-    public void translate(final int x, final int y) {
-        for (int i = 0; i < count; i++) {
-            this.x[i] += x;
-            this.y[i] += y;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Size.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Size.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Size.java
deleted file mode 100644
index f5dca68..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Size.java
+++ /dev/null
@@ -1,165 +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.dnd.drawing;
-
-public class Size {
-    public static final Size createMax() {
-        return new Size(10000, 10000);
-    }
-
-    int height;
-    int width;
-
-    public Size() {
-        width = 0;
-        height = 0;
-    }
-
-    public Size(final int width, final int height) {
-        this.width = width;
-        this.height = height;
-    }
-
-    public Size(final Size size) {
-        width = size.width;
-        height = size.height;
-    }
-
-    public void contract(final int width, final int height) {
-        this.width -= width;
-        this.height -= height;
-    }
-
-    public void contract(final Size size) {
-        this.width -= size.width;
-        this.height -= size.height;
-    }
-
-    public void contractHeight(final int height) {
-        this.height -= height;
-    }
-
-    public void contract(final Padding padding) {
-        height -= padding.top + padding.bottom;
-        width -= padding.left + padding.right;
-    }
-
-    public void contractWidth(final int width) {
-        this.width -= width;
-    }
-
-    public void ensureHeight(final int height) {
-        this.height = Math.max(this.height, height);
-    }
-
-    public void ensureWidth(final int width) {
-        this.width = Math.max(this.width, width);
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj == this) {
-            return true;
-        }
-
-        if (obj instanceof Size) {
-            final Size object = (Size) obj;
-
-            return object.width == this.width && object.height == this.height;
-        }
-
-        return false;
-    }
-
-    public void extend(final int width, final int height) {
-        this.width += width;
-        this.height += height;
-    }
-
-    public void extend(final Padding padding) {
-        this.width += padding.getLeftRight();
-        this.height += padding.getTopBottom();
-    }
-
-    public void extend(final Size size) {
-        this.width += size.width;
-        this.height += size.height;
-    }
-
-    public void extendHeight(final int height) {
-        this.height += height;
-    }
-
-    public void extendWidth(final int width) {
-        this.width += width;
-    }
-
-    public int getHeight() {
-        return height;
-    }
-
-    public int getWidth() {
-        return width;
-    }
-
-    /**
-     * Limits the height of this Size so that if its height is greater than the
-     * specified maximum then the height is reduced to the maximum. If the
-     * height is less than maximum (or equal to it) then nothing is done.
-     */
-    public void limitHeight(final int maximum) {
-        height = Math.min(height, maximum);
-    }
-
-    /**
-     * Limits the width of this Size so that if its width is greater than the
-     * specified maximum then the width is reduced to the maximum. If the width
-     * is less than maximum (or equal to it) then nothing is done.
-     */
-    public void limitWidth(final int maximum) {
-        width = Math.min(width, maximum);
-    }
-
-    /**
-     * Limits the width and height of this Size so it is no larger than the
-     * specified maximum size.
-     * 
-     * @see #limitWidth(int)
-     * @see #limitHeight(int)
-     */
-    public void limitSize(final Size maximum) {
-        limitWidth(maximum.width);
-        limitHeight(maximum.height);
-    }
-
-    public void setHeight(final int height) {
-        this.height = height;
-    }
-
-    public void setWidth(final int width) {
-        this.width = width;
-    }
-
-    @Override
-    public String toString() {
-        return width + "x" + height;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Text.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Text.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Text.java
deleted file mode 100644
index 68739e7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Text.java
+++ /dev/null
@@ -1,85 +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.dnd.drawing;
-
-public interface Text {
-
-    /**
-     * Returns the width, in pixels, of the specified character.
-     */
-    int charWidth(char c);
-
-    /**
-     * Returns the height, in pixels, of the distance from the baseline to top
-     * of the tallest character (including accents that are not common in
-     * english.
-     */
-    int getAscent();
-
-    /**
-     * Returns the height, in pixels, of the distance from bottom of the lowest
-     * descending character to the baseline.
-     */
-    int getDescent();
-
-    /**
-     * Returns the mid point, in pixels, between the baseline and the top of the
-     * characters.
-     */
-    int getMidPoint();
-
-    /**
-     * Return the name of this text style.
-     */
-    String getName();
-
-    /**
-     * Returns the height, in pixels, for a normal line of text - where there is
-     * some space between two lines of text.
-     */
-    int getTextHeight();
-
-    /**
-     * Returns the sum of the text height and line spacing.
-     * 
-     * @see #getLineHeight()
-     * @see #getLineSpacing()
-     */
-    int getLineHeight();
-
-    /**
-     * Returns the number of blank vertical pixels to add between adjacent lines
-     * to give them additional spacing.
-     */
-    int getLineSpacing();
-
-    /**
-     * Returns the width of the specified in pixels.
-     */
-    int stringWidth(String text);
-
-    /**
-     * Returns the height in pixels when the specified text is wrapped at the
-     * specified width
-     */
-    int stringHeight(String text, int maxWidth);
-
-    int stringWidth(String message, int maxWidth);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/AbstractField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/AbstractField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/AbstractField.java
deleted file mode 100644
index 0f3aa58..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/AbstractField.java
+++ /dev/null
@@ -1,262 +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.dnd.field;
-
-import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.view.BackgroundTask;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.action.BackgroundWork;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-
-public abstract class AbstractField extends AbstractView {
-    protected static final int TEXT_WIDTH = 20;
-    private boolean identified;
-
-    protected AbstractField(final Content content, final ViewSpecification design) {
-        super(content, design);
-    }
-
-    @Override
-    public boolean canFocus() {
-        return canChangeValue().isAllowed();
-    }
-
-    protected boolean provideClearCopyPaste() {
-        return false;
-    }
-
-    protected Consent canClear() {
-        return Allow.DEFAULT;
-    }
-
-    protected void clear() {
-    }
-
-    protected void copyToClipboard() {
-    }
-
-    protected void pasteFromClipboard() {
-    }
-
-    /**
-     * Indicates the drag started within this view's bounds is continuing. By
-     * default does nothing.
-     */
-    @Override
-    public void drag(final InternalDrag drag) {
-    }
-
-    /**
-     * Default implementation - does nothing
-     */
-    @Override
-    public void dragCancel(final InternalDrag drag) {
-    }
-
-    /**
-     * Indicates the start of a drag within this view's bounds. By default does
-     * nothing.
-     */
-    @Override
-    public View dragFrom(final Location location) {
-        return null;
-    }
-
-    /**
-     * Indicates the drag started within this view's bounds has been finished
-     * (although the location may now be outside of its bounds). By default does
-     * nothing.
-     */
-    @Override
-    public void dragTo(final InternalDrag drag) {
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        if (getState().isActive()) {
-            clearBackground(canvas, Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED));
-        }
-
-        if (getState().isOutOfSynch()) {
-            clearBackground(canvas, Toolkit.getColor(ColorsAndFonts.COLOR_OUT_OF_SYNC));
-        }
-
-        if (getState().isInvalid()) {
-            final Image image = ImageFactory.getInstance().loadIcon("invalid-entry", 12, null);
-            if (image != null) {
-                canvas.drawImage(image, getSize().getWidth() - 16, 2);
-            }
-
-            // canvas.clearBackground(this,
-            // Toolkit.getColor(ColorsAndFonts.COLOR_INVALID));
-        }
-
-        super.draw(canvas);
-    }
-
-    @Override
-    public void entered() {
-        super.entered();
-        identified = true;
-        final Consent changable = canChangeValue();
-        if (changable.isVetoed()) {
-            getFeedbackManager().setViewDetail(changable.getReason());
-        }
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        super.exited();
-        identified = false;
-        markDamaged();
-    }
-
-    public boolean getIdentified() {
-        return identified;
-    }
-
-    @Override
-    public Padding getPadding() {
-        return new Padding(0, 0, 0, 0);
-    }
-
-    public View getRoot() {
-        throw new NotYetImplementedException();
-    }
-
-    String getSelectedText() {
-        return "";
-    }
-
-    @Override
-    public boolean hasFocus() {
-        return getViewManager().hasFocus(getView());
-    }
-
-    public boolean isEmpty() {
-        return false;
-    }
-
-    public boolean indicatesForView(final Location mouseLocation) {
-        return false;
-    }
-
-    /**
-     * Called when the user presses any key on the keyboard while this view has
-     * the focus.
-     */
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-    }
-
-    /**
-     * Called when the user releases any key on the keyboard while this view has
-     * the focus.
-     */
-    @Override
-    public void keyReleased(final KeyboardAction action) {
-    }
-
-    /**
-     * Called when the user presses a non-control key (i.e. data entry keys and
-     * not shift, up-arrow etc). Such a key press will result in a prior call to
-     * <code>keyPressed</code> and a subsequent call to <code>keyReleased</code>
-     * .
-     */
-    @Override
-    public void keyTyped(final KeyboardAction action) {
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        if (provideClearCopyPaste()) {
-            options.add(new CopyValueOption(this));
-            options.add(new PasteValueOption(this));
-            options.add(new ClearValueOption(this));
-        }
-
-        super.contentMenuOptions((options));
-        options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_VALUE));
-    }
-
-    protected final void initiateSave(final boolean moveToNextField) {
-        BackgroundWork.runTaskInBackground(this, new BackgroundTask() {
-            @Override
-            public void execute() {
-                save();
-                getParent().updateView();
-                invalidateLayout();
-                if (moveToNextField) {
-                    getFocusManager().focusNextView();
-                }
-            }
-
-            @Override
-            public String getName() {
-                return "Save field";
-            }
-
-            @Override
-            public String getDescription() {
-                return "Saving " + getContent().windowTitle();
-            }
-
-        });
-    }
-
-    protected abstract void save();
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this, getId());
-        str.append("location", getLocation());
-        final ObjectAdapter adapter = getContent().getAdapter();
-        str.append("object", adapter == null ? "" : adapter.getObject());
-        return str.toString();
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        return ViewAreaType.INTERNAL;
-    }
-
-    @Override
-    public int getBaseline() {
-        return Toolkit.defaultBaseline();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/AbstractValueOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/AbstractValueOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/AbstractValueOption.java
deleted file mode 100644
index 03f071b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/AbstractValueOption.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.dnd.field;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public abstract class AbstractValueOption extends UserActionAbstract {
-    protected final AbstractField field;
-
-    AbstractValueOption(final AbstractField field, final String name) {
-        super(name);
-        this.field = field;
-    }
-
-    protected ObjectAdapter getValue(final View view) {
-        final TextParseableContent vc = (TextParseableContent) view.getContent();
-        final ObjectAdapter value = vc.getAdapter();
-        return value;
-    }
-
-    protected void updateParent(final View view) {
-        // have commented this out because it isn't needed; the transaction
-        // manager will do this
-        // for us on endTransaction. Still, if I'm wrong and it is needed,
-        // hopefully this
-        // comment will help...
-        // IsisContext.getObjectPersistor().objectChangedAllDirty();
-
-        view.markDamaged();
-        view.getParent().invalidateContent();
-    }
-
-    protected boolean isEmpty(final View view) {
-        return field.isEmpty();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/CheckboxField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/CheckboxField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/CheckboxField.java
deleted file mode 100644
index dd44730..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/CheckboxField.java
+++ /dev/null
@@ -1,158 +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.dnd.field;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.progmodel.facets.value.booleans.BooleanValueFacet;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-/*
- * TODO this class does not set the underlying business object  via its boolean adapter.  Need
- * to create an content type for flags.
- */
-public class CheckboxField extends AbstractField {
-    private static final int size = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getTextHeight();
-
-    public static class Specification extends AbstractFieldSpecification {
-        @Override
-        public boolean canDisplay(final ViewRequirement requirement) {
-            return requirement.isTextParseable() && requirement.isForValueType(BooleanValueFacet.class);
-        }
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            return new CheckboxField(content, this);
-        }
-
-        @Override
-        public String getName() {
-            return "Checkbox";
-        }
-    }
-
-    public CheckboxField(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        Color color;
-        color = getIdentified() ? Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2) : null;
-        color = hasFocus() ? Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED) : color;
-
-        final int top = ViewConstants.VPADDING;
-        final int left = ViewConstants.HPADDING;
-        if (color != null) {
-            canvas.drawRectangle(left - 2, top - 2, size + 4, size + 4, color);
-        }
-
-        color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        canvas.drawRectangle(left, top, size, size, color);
-        if (isSet()) {
-            final Image image = ImageFactory.getInstance().loadImage("check-mark");
-            canvas.drawImage(image, 3, 3, size, size);
-        }
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        toggle();
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        // ignore
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-        // ignore
-    }
-
-    @Override
-    public void keyTyped(final KeyboardAction action) {
-        if (action.getKeyCode() == ' ') {
-            toggle();
-        } else {
-            super.keyTyped(action);
-        }
-    }
-
-    private void toggle() {
-        if (canChangeValue().isAllowed()) {
-            initiateSave(false);
-        }
-    }
-
-    @Override
-    public Consent canChangeValue() {
-        final TextParseableContent cont = (TextParseableContent) getContent();
-        return cont.isEditable();
-    }
-
-    @Override
-    public int getBaseline() {
-        return ViewConstants.VPADDING + Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getAscent();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(ViewConstants.HPADDING + size + ViewConstants.HPADDING, ViewConstants.VPADDING + size + ViewConstants.VPADDING);
-    }
-
-    private boolean isSet() {
-        final BooleanValueFacet booleanValueFacet = getContent().getSpecification().getFacet(BooleanValueFacet.class);
-        return booleanValueFacet.isSet(getContent().getAdapter());
-    }
-
-    @Override
-    protected void save() {
-        final BooleanValueFacet booleanValueFacet = getContent().getSpecification().getFacet(BooleanValueFacet.class);
-        final ObjectAdapter adapter = getContent().getAdapter();
-        if (adapter == null) {
-            ((TextParseableContent) getContent()).parseTextEntry("true");
-        } else {
-            booleanValueFacet.toggle(adapter);
-        }
-
-        // return parsed != null ? PersistorUtil.createAdapter(parsed) : null;
-
-        markDamaged();
-        ((TextParseableContent) getContent()).entryComplete();
-        getParent().invalidateContent();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ClearValueOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ClearValueOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ClearValueOption.java
deleted file mode 100644
index 3daa53f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ClearValueOption.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.dnd.field;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class ClearValueOption extends AbstractValueOption {
-
-    public ClearValueOption(final AbstractField field) {
-        super(field, "Clear");
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "Clear field";
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        final ObjectAdapter value = getValue(view);
-        final Consent consent = view.canChangeValue();
-        if (consent.isVetoed()) {
-            return consent;
-        }
-        final Consent canClear = field.canClear();
-        if (canClear.isVetoed()) {
-            // TODO: move logic into Facets.
-            return new Veto(String.format("Can't clear %s values", value.getSpecification().getShortIdentifier()));
-        }
-        if (value == null || isEmpty(view)) {
-            // TODO: move logic into Facets.
-            return new Veto("Field is already empty");
-        }
-        // TODO: move logic into Facets.
-        return consent.setDescription(String.format("Clear value ", value.titleString()));
-    }
-
-    @Override
-    public void execute(final Workspace frame, final View view, final Location at) {
-        field.clear();
-    }
-
-    @Override
-    public String toString() {
-        return "ClearValueOption";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ColorField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ColorField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ColorField.java
deleted file mode 100644
index 986ef0f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ColorField.java
+++ /dev/null
@@ -1,144 +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.dnd.field;
-
-import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
-import org.apache.isis.core.metamodel.facets.object.parseable.InvalidEntryException;
-import org.apache.isis.core.progmodel.facets.value.color.ColorValueFacet;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.lookup.OpenDropDownBorder;
-import org.apache.isis.viewer.dnd.view.lookup.OptionContent;
-
-public class ColorField extends TextParseableFieldAbstract {
-    public static class Specification extends AbstractFieldSpecification {
-
-        @Override
-        public boolean canDisplay(final ViewRequirement requirement) {
-            return requirement.isTextParseable() && requirement.isForValueType(ColorValueFacet.class);
-        }
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            final ColorField field = new ColorField(content, this);
-            return new OpenDropDownBorder(field) {
-                @Override
-                protected View createDropDownView() {
-                    return new ColorFieldOverlay(field);
-                }
-
-                @Override
-                protected void setSelection(final OptionContent selectedContent) {
-                }
-            };
-        }
-
-        @Override
-        public String getName() {
-            return "Color";
-        }
-    }
-
-    private int color;
-
-    public ColorField(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        Color color;
-
-        if (hasFocus()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-        } else if (getParent().getState().isObjectIdentified()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED);
-        } else if (getParent().getState().isRootViewIdentified()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2);
-        } else {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        }
-
-        int top = 0;
-        int left = 0;
-
-        final Size size = getSize();
-        int w = size.getWidth() - 1;
-        int h = size.getHeight() - 1;
-        canvas.drawRectangle(left, top, w, h, color);
-        left++;
-        top++;
-        w -= 1;
-        h -= 1;
-        canvas.drawSolidRectangle(left, top, w, h, Toolkit.getColor(getColor()));
-    }
-
-    /*
-     * @Override public void firstClick(final Click click) { if
-     * (((TextParseableContent) getContent()).isEditable().isAllowed()) { final
-     * View overlay = new DisposeOverlay(new ColorFieldOverlay(this), new
-     * ValueDropDownAxis((TextParseableContent) getContent(), getView())); final
-     * Location location = this.getAbsoluteLocation(); // Location location =
-     * click.getLocationWithinViewer(); // TODO offset by constant amount //
-     * location.move(10, 10); overlay.setLocation(location); //
-     * overlay.setSize(overlay.getRequiredSize(new Size())); //
-     * overlay.markDamaged(); getViewManager().setOverlayView(overlay); } }
-     */
-    @Override
-    public int getBaseline() {
-        return ViewConstants.VPADDING + Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getAscent();
-    }
-
-    int getColor() {
-        final TextParseableContent content = ((TextParseableContent) getContent());
-        final ColorValueFacet col = content.getSpecification().getFacet(ColorValueFacet.class);
-        return col.colorValue(content.getAdapter());
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(45, 15);
-    }
-
-    @Override
-    protected void save() {
-        try {
-            parseEntry("" + color);
-        } catch (final InvalidEntryException e) {
-            throw new NotYetImplementedException();
-        }
-    }
-
-    void setColor(final int color) {
-        this.color = color;
-        initiateSave(false);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ColorFieldOverlay.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ColorFieldOverlay.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ColorFieldOverlay.java
deleted file mode 100644
index ab27820..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ColorFieldOverlay.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.dnd.field;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-
-class ColorFieldOverlay extends AbstractView {
-    private static final int colors[] = new int[] { 0xffffff, 0x0, 0x666666, 0xcccccc, // white,
-                                                                                       // black,
-                                                                                       // dark
-            // gray, light gray
-            0x000099, 0x0066cc, 0x0033ff, 0x99ccff, // blues
-            0x990000, 0xff0033, 0xcc0066, 0xff66ff, // reds
-            0x003300, 0x00ff33, 0x669933, 0xccff66 // greens
-    };
-    private static final int COLUMNS = 4;
-    private static final int ROWS = 4;
-    private static final int ROW_HEIGHT = 18;
-    private static final int COLUMN_WIDTH = 23;
-
-    private final ColorField field;
-
-    public ColorFieldOverlay(final ColorField field) {
-        super(field.getContent());
-
-        this.field = field;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(COLUMNS * COLUMN_WIDTH, ROWS * ROW_HEIGHT);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        canvas.drawSolidRectangle(0, 0, COLUMNS * COLUMN_WIDTH - 1, ROWS * ROW_HEIGHT - 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        for (int i = 0; i < colors.length; i++) {
-            final Color color = Toolkit.getColor(colors[i]);
-            final int y = i / COLUMNS * ROW_HEIGHT;
-            final int x = i % COLUMNS * COLUMN_WIDTH;
-            canvas.drawSolidRectangle(x, y, COLUMN_WIDTH - 1, ROW_HEIGHT - 1, color);
-        }
-        canvas.drawRectangle(0, 0, COLUMNS * COLUMN_WIDTH - 1, ROWS * ROW_HEIGHT - 1, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2));
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final int x = click.getLocation().getX();
-        final int y = click.getLocation().getY();
-        final int color = colors[y / ROW_HEIGHT * COLUMNS + x / COLUMN_WIDTH];
-        field.setColor(color);
-        getViewManager().clearOverlayView();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/CopyValueOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/CopyValueOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/CopyValueOption.java
deleted file mode 100644
index b9219af..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/CopyValueOption.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.dnd.field;
-
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class CopyValueOption extends AbstractValueOption {
-
-    public CopyValueOption(final AbstractField field) {
-        super(field, "Copy");
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        if (isEmpty(view)) {
-            // TODO: move logic into Facets
-            return new Veto("Field is empty");
-        }
-        // TODO: move logic into Facets
-        return Allow.DEFAULT;
-        // return new Allow(String.format("Copy value '%s' to clipboard",
-        // field.getSelectedText()));
-    }
-
-    @Override
-    public void execute(final Workspace frame, final View view, final Location at) {
-        field.copyToClipboard();
-    }
-
-    @Override
-    public String toString() {
-        return "CopyValueOption";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DateFieldSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DateFieldSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DateFieldSpecification.java
deleted file mode 100644
index 5a8cc12..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DateFieldSpecification.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.dnd.field;
-
-import org.apache.isis.core.progmodel.facets.value.date.DateValueFacet;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.view.border.TextFieldResizeBorder;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.lookup.OpenDropDownBorder;
-import org.apache.isis.viewer.dnd.view.lookup.OptionContent;
-
-/**
- * Creates a single line text field with the base line drawn.
- */
-public class DateFieldSpecification extends AbstractFieldSpecification {
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isTextParseable() && requirement.isForValueType(DateValueFacet.class);
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final SingleLineTextField textField = new SingleLineTextField((TextParseableContent) content, this, true);
-        final View field = new TextFieldResizeBorder(textField);
-        return new OpenDropDownBorder(field) {
-            @Override
-            protected View createDropDownView() {
-                return DatePickerControl.getPicker(content);
-            }
-
-            @Override
-            protected void setSelection(final OptionContent selectedContent) {
-            }
-        };
-    }
-
-    @Override
-    public String getName() {
-        return "Date Field";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DatePicker.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DatePicker.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DatePicker.java
deleted file mode 100644
index 2153fb5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DatePicker.java
+++ /dev/null
@@ -1,30 +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.dnd.field;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-public interface DatePicker {
-
-    public abstract Size getRequiredSize(Size availableSpace);
-
-    public abstract void draw(final Canvas canvas);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DatePickerControl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DatePickerControl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DatePickerControl.java
deleted file mode 100644
index 99f1675..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/DatePickerControl.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.dnd.field;
-
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Look;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.look.LookFactory;
-import org.apache.isis.viewer.dnd.view.look.linux.LinuxDatePicker;
-import org.apache.isis.viewer.dnd.view.look.linux.LinuxLook;
-
-public class DatePickerControl {
-
-    private static final Look LINUX_LOOK = new LinuxLook();
-
-    public static View getPicker(final Content content) {
-        final Look look = LookFactory.getInstalledLook();
-        if (look.getClass().isInstance(LINUX_LOOK)) {
-            return new LinuxDatePicker(content);
-        }
-        return new SimpleDatePicker(content);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/EmptyField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/EmptyField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/EmptyField.java
deleted file mode 100644
index 1f5449a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/EmptyField.java
+++ /dev/null
@@ -1,208 +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.dnd.field;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.icon.IconSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.action.ObjectParameter;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.border.ObjectBorder;
-import org.apache.isis.viewer.dnd.view.field.OneToOneField;
-import org.apache.isis.viewer.dnd.view.lookup.OpenObjectDropDownBorder;
-import org.apache.isis.viewer.dnd.view.text.TitleText;
-
-public class EmptyField extends AbstractView {
-
-    public static class Specification implements ViewSpecification {
-        @Override
-        public boolean canDisplay(final ViewRequirement requirement) {
-            return requirement.isObject() && requirement.isOpen() && !requirement.isTextParseable() && !requirement.hasReference();
-        }
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            final EmptyField emptyField = new EmptyField(content, this, Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-            if ((content instanceof OneToOneField && ((OneToOneField) content).isEditable().isAllowed()) || content instanceof ObjectParameter) {
-                if (content.isOptionEnabled()) {
-                    return new ObjectBorder(new OpenObjectDropDownBorder(emptyField, new IconSpecification()));
-                } else {
-                    return new ObjectBorder(emptyField);
-                }
-            } else {
-                return emptyField;
-            }
-        }
-
-        @Override
-        public String getName() {
-            return "empty field";
-        }
-
-        @Override
-        public boolean isAligned() {
-            return false;
-        }
-
-        @Override
-        public boolean isOpen() {
-            return false;
-        }
-
-        @Override
-        public boolean isReplaceable() {
-            return true;
-        }
-
-        @Override
-        public boolean isResizeable() {
-            return false;
-        }
-
-        @Override
-        public boolean isSubView() {
-            return true;
-        }
-    }
-
-    private final IconGraphic icon;
-    private final TitleText text;
-
-    public EmptyField(final Content content, final ViewSpecification specification, final Text style) {
-        super(content, specification);
-        if (((ObjectContent) content).getObject() != null) {
-            throw new IllegalArgumentException("Content for EmptyField must be null: " + content);
-        }
-        final ObjectAdapter object = ((ObjectContent) getContent()).getObject();
-        if (object != null) {
-            throw new IllegalArgumentException("Content for EmptyField must be null: " + object);
-        }
-        icon = new IconGraphic(this, style);
-        text = new EmptyFieldTitleText(this, style);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-        int x = 0;
-        final int y = icon.getBaseline();
-        icon.draw(canvas, x, y);
-        x += icon.getSize().getWidth();
-        x += ViewConstants.HPADDING;
-
-        text.draw(canvas, x, y);
-    }
-
-    @Override
-    public int getBaseline() {
-        return icon.getBaseline();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size size = icon.getSize();
-        size.extendWidth(ViewConstants.HPADDING);
-        size.extendWidth(text.getSize().getWidth());
-        return size;
-    }
-
-    private Consent canDrop(final ObjectAdapter dragSource) {
-        final ObjectContent content = (ObjectContent) getContent();
-        return content.canSet(dragSource);
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        final Content sourceContent = drag.getSourceContent();
-        if (sourceContent instanceof ObjectContent) {
-            final ObjectAdapter source = ((ObjectContent) sourceContent).getObject();
-            final Consent canDrop = canDrop(source);
-            if (canDrop.isAllowed()) {
-                getState().setCanDrop();
-            } else {
-                getState().setCantDrop();
-            }
-            final String actionText = canDrop.isVetoed() ? canDrop.getReason() : "Set to " + sourceContent.title();
-            getFeedbackManager().setAction(actionText);
-        } else {
-            getState().setCantDrop();
-        }
-
-        markDamaged();
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        getState().clearObjectIdentified();
-        markDamaged();
-    }
-
-    @Override
-    public void drop(final ContentDrag drag) {
-        getState().clearViewIdentified();
-        markDamaged();
-        final ObjectAdapter target = ((ObjectContent) getParent().getContent()).getObject();
-        final Content sourceContent = drag.getSourceContent();
-        if (sourceContent instanceof ObjectContent) {
-            final ObjectAdapter source = ((ObjectContent) sourceContent).getObject();
-            setField(target, source);
-        }
-    }
-
-    /**
-     * Objects returned by menus are used to set this field before passing the
-     * call on to the parent.
-     */
-    @Override
-    public void objectActionResult(final ObjectAdapter result, final Placement placement) {
-        final ObjectAdapter target = ((ObjectContent) getParent().getContent()).getObject();
-        if (result instanceof ObjectAdapter) {
-            setField(target, result);
-        }
-        super.objectActionResult(result, placement);
-    }
-
-    private void setField(final ObjectAdapter parent, final ObjectAdapter object) {
-        if (canDrop(object).isAllowed()) {
-            ((ObjectContent) getContent()).setObject(object);
-            getParent().invalidateContent();
-        }
-    }
-
-    @Override
-    public String toString() {
-        return "EmptyField" + getId();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/EmptyFieldTitleText.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/EmptyFieldTitleText.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/EmptyFieldTitleText.java
deleted file mode 100644
index 4cbc524..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/EmptyFieldTitleText.java
+++ /dev/null
@@ -1,43 +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.dnd.field;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.text.TitleText;
-
-class EmptyFieldTitleText extends TitleText {
-    private final Content content;
-
-    public EmptyFieldTitleText(final View view, final Text style) {
-        super(view, style, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-        content = view.getContent();
-    }
-
-    @Override
-    protected String title() {
-        return ((ObjectContent) content).getSpecification().getSingularName();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/FieldOfSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/FieldOfSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/FieldOfSpecification.java
deleted file mode 100644
index 362405f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/FieldOfSpecification.java
+++ /dev/null
@@ -1,139 +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.dnd.field;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.form.InternalFormSpecification;
-import org.apache.isis.viewer.dnd.list.SimpleListSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeView;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.text.TitleText;
-
-public class FieldOfSpecification implements ViewSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isOpen() && !requirement.isSubview() && requirement.getContent() instanceof FieldContent;
-    }
-
-    @Override
-    public String getName() {
-        return "Field Of";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final FieldContent fieldContent = (FieldContent) content;
-        final ObjectAdapter parent = fieldContent.getParent();
-        final Content parentContent = Toolkit.getContentFactory().createRootContent(parent);
-        View view = new InternalFieldView(parentContent, fieldContent, axes, this);
-        view = addBorder(parentContent, fieldContent, view);
-        return view;
-    }
-
-    private View addBorder(final Content parentContent, final FieldContent fieldContent, View view) {
-        final Text textStyle = Toolkit.getText(ColorsAndFonts.TEXT_TITLE);
-        final Color colorStyle = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        final TitleText titleText = new TitleText(view, textStyle, colorStyle) {
-            @Override
-            protected String title() {
-                return parentContent.title() + "/" + fieldContent.getFieldName();
-            }
-        };
-        view = new IconBorder(view, titleText, null, textStyle);
-        return view;
-    }
-
-}
-
-class InternalFieldView extends CompositeView {
-    // final View[] subviews = new View[1];
-
-    private final Content fieldContent;
-
-    public InternalFieldView(final Content content, final Content fieldContent, final Axes axes, final ViewSpecification specification) {
-        super(content, specification);
-        this.fieldContent = fieldContent;
-    }
-
-    /*
-     * public void draw(Canvas canvas) { subviews[0].draw(canvas); }
-     * 
-     * public View[] getSubviews() { return subviews; }
-     */
-    @Override
-    public Size requiredSize(final Size availableSpace) {
-        return getSubviews()[0].getRequiredSize(availableSpace);
-    }
-
-    @Override
-    protected void doLayout(final Size maximumSize) {
-        final View view = getSubviews()[0];
-        view.setSize(view.getRequiredSize(maximumSize));
-        view.layout();
-    }
-
-    @Override
-    protected void buildView() {
-        ViewSpecification internalSpecification;
-        if (fieldContent.isCollection()) {
-            internalSpecification = new SimpleListSpecification();
-        } else {
-            internalSpecification = new InternalFormSpecification();
-        }
-        addView(internalSpecification.createView(fieldContent, new Axes(), 0));
-    }
-}


[54/56] [abbrv] isis git commit: ISIS-1335: bumping isis.version in archetype resource

Posted by da...@apache.org.
ISIS-1335: bumping isis.version in archetype resource


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/f66afc7c
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/f66afc7c
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/f66afc7c

Branch: refs/heads/master
Commit: f66afc7c75ddc9013dd1fc14a1da1460cdf86405
Parents: dbe266f
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat May 21 08:03:35 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat May 21 08:03:35 2016 +0100

----------------------------------------------------------------------
 .../simpleapp/src/main/resources/archetype-resources/pom.xml       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/f66afc7c/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml b/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
index 71cb3b4..d00be40 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
@@ -32,7 +32,7 @@
     </prerequisites>
 
     <properties>
-        <isis.version>1.12.1</isis.version>
+        <isis.version>1.13.0-SNAPSHOT</isis.version>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>


[25/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/PrintOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/PrintOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/PrintOption.java
deleted file mode 100644
index a1c19e6..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/PrintOption.java
+++ /dev/null
@@ -1,74 +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.dnd.awt;
-
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.PrintJob;
-import java.awt.Toolkit;
-
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class PrintOption extends UserActionAbstract {
-    private final int HEIGHT = 60;
-    private final int LEFT = 60;
-
-    public PrintOption() {
-        super("Print...");
-    }
-
-    @Override
-    public Consent disabled(final View component) {
-        return Allow.DEFAULT;
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        final Frame frame = new Frame();
-        final PrintJob job = Toolkit.getDefaultToolkit().getPrintJob(frame, "Print object", null);
-
-        if (job != null) {
-            final Graphics pg = job.getGraphics();
-            final Dimension pageSize = job.getPageDimension();
-
-            if (pg != null) {
-                pg.translate(LEFT, HEIGHT);
-                pg.drawRect(0, 0, pageSize.width - LEFT - 1, pageSize.height - HEIGHT - 1);
-                view.print(new PrintCanvas(pg, view));
-                pg.dispose();
-            }
-
-            job.end();
-        }
-        frame.dispose();
-    }
-
-    private class PrintCanvas extends AwtCanvas {
-        PrintCanvas(final Graphics g, final View view) {
-            super(g, null, 0, 0, view.getSize().getWidth(), view.getSize().getHeight());
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/RenderingArea.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/RenderingArea.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/RenderingArea.java
deleted file mode 100644
index b461f75..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/RenderingArea.java
+++ /dev/null
@@ -1,57 +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.dnd.awt;
-
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Image;
-import java.awt.Insets;
-import java.awt.event.KeyListener;
-import java.awt.event.MouseListener;
-import java.awt.event.MouseMotionListener;
-
-public interface RenderingArea {
-
-    Dimension getSize();
-
-    Image createImage(int w, int h);
-
-    Insets getInsets();
-
-    void repaint();
-
-    void repaint(int x, int y, int width, int height);
-
-    void setCursor(Cursor cursor);
-
-    void dispose();
-
-    void setBounds(int x, int y, int width, int height);
-
-    void show();
-
-    void addMouseMotionListener(MouseMotionListener interactionHandler);
-
-    void addMouseListener(MouseListener interactionHandler);
-
-    void addKeyListener(KeyListener interactionHandler);
-
-    String selectFilePath(String title, String directory);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/ShutdownDialog.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/ShutdownDialog.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/ShutdownDialog.java
deleted file mode 100644
index 331c1a1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/ShutdownDialog.java
+++ /dev/null
@@ -1,150 +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.dnd.awt;
-
-import java.awt.Button;
-import java.awt.Dialog;
-import java.awt.Dimension;
-import java.awt.GridLayout;
-import java.awt.Insets;
-import java.awt.Label;
-import java.awt.Panel;
-import java.awt.Point;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class ShutdownDialog extends Dialog implements ActionListener, KeyListener {
-    private static final long serialVersionUID = 1L;
-    private static final Logger LOG = LoggerFactory.getLogger(ShutdownDialog.class);
-    private final static int BORDER = 10;
-    private Button cancel;
-    private Button quit;
-    private static String CANCEL_LABEL = "Cancel";
-    private static String QUIT_LABEL = "Ok";
-
-    public ShutdownDialog(final ViewerFrame owner) {
-        super(owner, "Apache Isis", true);
-
-        // AWTUtilities.addWindowIcon(this, "shutdown-logo.gif");
-
-        setLayout(new GridLayout(2, 3, 10, 10));
-
-        add(new Label("Exit Apache Isis?", Label.LEFT));
-
-        add(new Panel());
-        add(new Panel());
-        add(new Panel());
-
-        add(quit = new Button(QUIT_LABEL));
-        quit.addActionListener(this);
-        quit.addKeyListener(this);
-
-        add(cancel = new Button(CANCEL_LABEL));
-        cancel.addActionListener(this);
-        cancel.addKeyListener(this);
-
-        pack();
-        final int width = getSize().width; // getWidth();
-        final int height = getSize().height; // getHeight();
-        final Dimension screen = owner.getSize();
-        final Point point = owner.getLocation();
-
-        final int x = point.x + (screen.width / 2) - (width / 2);
-        final int y = point.y + (screen.height / 2) - (height / 2);
-
-        setLocation(x, y);
-        setVisible(true);
-        quit.requestFocus();
-
-        addWindowListener(new WindowAdapter() {
-            @Override
-            public void windowClosing(final WindowEvent e) {
-                dispose();
-            }
-        });
-    }
-
-    @Override
-    public Insets getInsets() {
-        final Insets in = super.getInsets();
-        in.top += BORDER;
-        in.bottom += BORDER;
-        in.left += BORDER;
-        in.right += BORDER;
-        return in;
-    }
-
-    @Override
-    public void actionPerformed(final ActionEvent evt) {
-        action(evt.getSource());
-    }
-
-    @Override
-    public void keyPressed(final KeyEvent e) {
-        // ignore
-    }
-
-    @Override
-    public void keyReleased(final KeyEvent e) {
-        if (e.getKeyCode() == KeyEvent.VK_ENTER) {
-            action(e.getComponent());
-        }
-        if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
-            cancel(e.getComponent());
-        }
-    }
-
-    @Override
-    public void keyTyped(final KeyEvent e) {
-        // ignore
-    }
-
-    private synchronized void cancel(final Object widget) {
-        dispose();
-    }
-
-    private synchronized void action(final Object widget) {
-        if (widget == cancel) {
-            cancel(widget);
-        } else if (widget == quit) {
-            quit();
-        }
-    }
-
-    private void quit() {
-        dispose();
-        ((ViewerFrame) getParent()).quit();
-    }
-
-    @Override
-    public void dispose() {
-        LOG.debug("dispose...");
-        super.dispose();
-        LOG.debug("...disposed");
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/SpyWindow.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/SpyWindow.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/SpyWindow.java
deleted file mode 100644
index 09f8ab1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/SpyWindow.java
+++ /dev/null
@@ -1,97 +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.dnd.awt;
-
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-
-import org.apache.isis.viewer.dnd.view.InteractionSpyWindow;
-
-class SpyWindow implements InteractionSpyWindow {
-    private int event;
-    private String label[][] = new String[2][20];
-    private String[] trace = new String[60];
-    private int traceIndex;
-    private SpyFrame frame;
-
-    class SpyFrame extends Frame {
-        private static final long serialVersionUID = 1L;
-
-        public SpyFrame() {
-            super("View/Interaction Spy");
-            addWindowListener(new WindowAdapter() {
-                @Override
-                public void windowClosing(final WindowEvent e) {
-                    close();
-                }
-            });
-        }
-
-        @Override
-        public void paint(final Graphics g) {
-            int baseline = getInsets().top + 15;
-
-            g.drawString("Event " + event, 10, baseline);
-            baseline += 18;
-
-            for (int i = 0; i < label[0].length; i++) {
-                if (label[0][i] != null) {
-                    g.drawString(label[0][i], 10, baseline);
-                    g.drawString(label[1][i], 150, baseline);
-                }
-                baseline += 12;
-            }
-
-            baseline += 6;
-            for (int i = 0; i < traceIndex; i++) {
-                if (trace[i] != null) {
-                    g.drawString(trace[i], 10, baseline);
-                }
-                baseline += 12;
-            }
-        }
-    }
-
-    @Override
-    public void display(final int event, final String label[][], final String[] trace, final int traceIndex) {
-        if (frame != null) {
-            this.event = event;
-            this.traceIndex = traceIndex;
-            this.label = label;
-            this.trace = trace;
-            frame.repaint();
-        }
-    }
-
-    @Override
-    public void open() {
-        frame = new SpyFrame();
-        frame.setBounds(10, 10, 800, 500);
-        frame.setVisible(true);
-    }
-
-    @Override
-    public void close() {
-        frame.setVisible(false);
-        frame.dispose();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/ViewerFrame.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/ViewerFrame.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/ViewerFrame.java
deleted file mode 100644
index 0e6241c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/ViewerFrame.java
+++ /dev/null
@@ -1,146 +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.dnd.awt;
-
-import java.awt.FileDialog;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Image;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.apache.isis.core.runtime.about.AboutIsis;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-
-public class ViewerFrame extends Frame implements RenderingArea {
-    private static final String DEFAULT_TITLE = "Apache Isis";
-    private static final long serialVersionUID = 1L;
-    private XViewer viewer;
-
-    public ViewerFrame() {
-    }
-
-    {
-        setBackground(((AwtColor) Toolkit.getColor(ColorsAndFonts.COLOR_APPLICATION)).getAwtColor());
-
-        AWTUtilities.addWindowIcon(this, "application-logo.png");
-        setTitle(null);
-
-        /*
-         * compensate for change in tab handling in Java 1.4
-         */
-        try {
-            final Class<?> c = getClass();
-            final Method m = c.getMethod("setFocusTraversalKeysEnabled", new Class[] { Boolean.TYPE });
-            m.invoke(this, new Object[] { Boolean.FALSE });
-        } catch (final SecurityException e1) {
-            e1.printStackTrace();
-        } catch (final NoSuchMethodException ignore) {
-            /*
-             * Ignore no such method exception as this method is only available,
-             * but needed, in version 1.4 and later.
-             */
-        } catch (final IllegalArgumentException e) {
-            e.printStackTrace();
-        } catch (final IllegalAccessException e) {
-            e.printStackTrace();
-        } catch (final InvocationTargetException e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Override
-    public boolean imageUpdate(final Image img, final int flags, final int x, final int y, final int w, final int h) {
-        repaint();
-        return true;
-    }
-
-    /**
-     * Calls <code>update()</code> to do double-buffered drawing of all views.
-     * 
-     * @see #update(Graphics)
-     * @see java.awt.Component#paint(Graphics)
-     */
-    @Override
-    public final void paint(final Graphics g) {
-        update(g);
-    }
-
-    public void quit() {
-        viewer.quit();
-    }
-
-    /**
-     * Paints the double-buffered image. Calls the <code>draw()</code> method on
-     * each top-level view.
-     * 
-     * @see java.awt.Component#update(Graphics)
-     */
-    @Override
-    public void update(final Graphics g) {
-        viewer.paint(g);
-    }
-
-    public void setViewer(final XViewer viewer) {
-        this.viewer = viewer;
-    }
-
-    public void init() {
-        addWindowListener(new WindowAdapter() {
-            @Override
-            public void windowClosing(final WindowEvent e) {
-                new ShutdownDialog(ViewerFrame.this);
-            }
-        });
-
-        addComponentListener(new ComponentAdapter() {
-            @Override
-            public void componentResized(final ComponentEvent e) {
-                ViewerFrame.this.viewer.sizeChange();
-            }
-
-            @Override
-            public void componentMoved(final ComponentEvent e) {
-                ViewerFrame.this.viewer.locationChange(getLocation().x, getLocation().y);
-            }
-        });
-    }
-
-    @Override
-    public void setTitle(final String title) {
-        final String application = AboutIsis.getApplicationName();
-        final String str = title == null ? (application == null ? DEFAULT_TITLE : application) : title;
-        super.setTitle(str);
-    }
-
-    @Override
-    public String selectFilePath(final String title, final String directory) {
-        final FileDialog dlg = new FileDialog(this, title);
-        dlg.setVisible(true);
-
-        final String path = dlg.getDirectory() + dlg.getFile();
-        return path;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/XFeedbackManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/XFeedbackManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/XFeedbackManager.java
deleted file mode 100644
index 507731d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/XFeedbackManager.java
+++ /dev/null
@@ -1,266 +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.dnd.awt;
-
-import java.awt.Cursor;
-import java.util.List;
-import java.util.Vector;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
-import org.apache.isis.viewer.dnd.view.BackgroundTask;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Feedback;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.message.ExceptionMessageContent;
-import org.apache.isis.viewer.dnd.view.message.TextMessageContent;
-
-public class XFeedbackManager implements Feedback {
-    private final XViewer viewer;
-    private final Vector<ObjectAdapter> busy = new Vector<ObjectAdapter>();
-    private String messages;
-    private String view;
-    private String action;
-    private String error;
-    private String message;
-    private Cursor cursor;
-
-    public XFeedbackManager(final XViewer viewer) {
-        this.viewer = viewer;
-    }
-
-    @Override
-    public String getStatusBarOutput() {
-        final StringBuffer text = new StringBuffer();
-        append(text, view);
-        append(text, action);
-        append(text, error);
-        append(text, message);
-        append(text, messages);
-        return text.toString();
-
-        // for debug
-        // return "[view: " + view + "] [action: " + action + "] [error: " +
-        // error + "] [message: " + message
-        // + "] [messages:" + messages + "]";
-    }
-
-    private void append(final StringBuffer text, final String entry) {
-        if (entry != null && !entry.equals("")) {
-            if (text.length() > 0) {
-                text.append(";  ");
-            }
-            text.append(entry);
-        }
-    }
-
-    // REVIEW why can only objects be set to busy? Specifically the service icon
-    // do not show as bust when a
-    // long standing option is being set up when a menu is being created.
-    @Override
-    public void setBusy(final View view, final BackgroundTask task) {
-        final Content content = view.getContent();
-        if (content != null && content.isObject()) {
-            final ObjectAdapter object = ((ObjectContent) content).getObject();
-            busy.addElement(object);
-        }
-        showBusyState(view);
-
-        message = "BUSY";
-        // Don't force repaint here, else an infinite loop forms as the layout
-    }
-
-    @Override
-    public void clearBusy(final View view) {
-        if (view.getContent().isObject()) {
-            final ObjectAdapter object = ((ObjectContent) view.getContent()).getObject();
-            busy.removeElement(object);
-            // showDefaultCursor();
-        }
-        showBusyState(view);
-
-        if (busy.size() == 0) {
-            message = "";
-            viewer.forcePaintOfStatusBar();
-        }
-    }
-
-    @Override
-    public boolean isBusy(final View view) {
-        if (view != null) {
-            final Content content = view.getContent();
-            if (content != null && content.isObject()) {
-                final ObjectAdapter object = ((ObjectContent) content).getObject();
-                if (busy.contains(object)) {
-                    return true;
-                }
-            }
-            final View parent = view.getParent();
-            return parent != null && isBusy(parent);
-        }
-        return false;
-    }
-
-    @Override
-    public void showBusyState(final View view) {
-        Cursor cursor;
-        if (isBusy(view)) {
-            cursor = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR);
-        } else {
-            cursor = this.cursor;
-        }
-        viewer.setCursor(cursor);
-    }
-
-    @Override
-    public void setViewDetail(final String text) {
-        view = text;
-        viewer.forcePaintOfStatusBar();
-    }
-
-    @Override
-    public void addMessage(final String text) {
-        message = text;
-        viewer.forcePaintOfStatusBar();
-    }
-
-    @Override
-    public void clearAction() {
-        action = null;
-        viewer.forcePaintOfStatusBar();
-    }
-
-    @Override
-    public void setAction(final String text) {
-        action = text;
-        viewer.forcePaintOfStatusBar();
-    }
-
-    @Override
-    public void setError(final String text) {
-        error = text;
-        viewer.forcePaintOfStatusBar();
-    }
-
-    @Override
-    public void clearError() {
-        error = null;
-        viewer.forcePaintOfStatusBar();
-    }
-
-    @Override
-    public void showMessagesAndWarnings() {
-        this.messages = getMessageBroker().getMessagesCombined();
-
-        // TODO this is common across viewers so should be in common code.
-        final List<String> warnings = getMessageBroker().getWarnings();
-        for (final String warning : warnings) {
-            final TextMessageContent content = new TextMessageContent("Warning", warning);
-            viewer.showDialog(content);
-        }
-    }
-
-    private MessageBroker getMessageBroker() {
-        return IsisContext.getMessageBroker();
-    }
-
-    @Override
-    public void showException(final Throwable e) {
-        final ExceptionMessageContent content = new ExceptionMessageContent(e);
-        viewer.showDialog(content);
-    }
-
-    @Override
-    public void showArrowCursor() {
-        setCursor(Cursor.DEFAULT_CURSOR);
-    }
-
-    @Override
-    public void showCrosshairCursor() {
-        setCursor(Cursor.CROSSHAIR_CURSOR);
-    }
-
-    @Override
-    public void showDefaultCursor() {
-        setCursor(Cursor.DEFAULT_CURSOR);
-    }
-
-    @Override
-    public void showHandCursor() {
-        setCursor(Cursor.HAND_CURSOR);
-    }
-
-    @Override
-    public void showMoveCursor() {
-        setCursor(Cursor.MOVE_CURSOR);
-    }
-
-    @Override
-    public void showResizeDownCursor() {
-        setCursor(Cursor.S_RESIZE_CURSOR);
-    }
-
-    @Override
-    public void showResizeDownLeftCursor() {
-        setCursor(Cursor.SW_RESIZE_CURSOR);
-    }
-
-    @Override
-    public void showResizeDownRightCursor() {
-        setCursor(Cursor.SE_RESIZE_CURSOR);
-    }
-
-    @Override
-    public void showResizeLeftCursor() {
-        setCursor(Cursor.W_RESIZE_CURSOR);
-    }
-
-    @Override
-    public void showResizeRightCursor() {
-        setCursor(Cursor.E_RESIZE_CURSOR);
-    }
-
-    @Override
-    public void showResizeUpCursor() {
-        setCursor(Cursor.N_RESIZE_CURSOR);
-    }
-
-    @Override
-    public void showResizeUpLeftCursor() {
-        setCursor(Cursor.NW_RESIZE_CURSOR);
-    }
-
-    @Override
-    public void showResizeUpRightCursor() {
-        setCursor(Cursor.NE_RESIZE_CURSOR);
-    }
-
-    @Override
-    public void showTextCursor() {
-        setCursor(Cursor.TEXT_CURSOR);
-    }
-
-    private void setCursor(final int cursorStyle) {
-        cursor = Cursor.getPredefinedCursor(cursorStyle);
-        viewer.setCursor(cursor);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/XViewer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/XViewer.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/XViewer.java
deleted file mode 100644
index 745857d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/XViewer.java
+++ /dev/null
@@ -1,835 +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.dnd.awt;
-
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Image;
-import java.awt.Insets;
-import java.awt.Rectangle;
-import java.awt.datatransfer.Clipboard;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.StringSelection;
-import java.awt.datatransfer.Transferable;
-import java.awt.event.MouseEvent;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Background;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.help.HelpViewer;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.InteractionSpy;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.ShutdownListener;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UndoStack;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewUpdateNotifier;
-import org.apache.isis.viewer.dnd.view.Viewer;
-import org.apache.isis.viewer.dnd.view.base.NullView;
-import org.apache.isis.viewer.dnd.view.border.BackgroundBorder;
-import org.apache.isis.viewer.dnd.view.border.LineBorder;
-import org.apache.isis.viewer.dnd.view.debug.LoggingOptions;
-import org.apache.isis.viewer.dnd.view.menu.PopupMenuContainer;
-import org.apache.isis.viewer.dnd.view.message.MessageContent;
-import org.apache.isis.viewer.dnd.viewer.ApplicationOptions;
-
-public class XViewer implements Viewer {
-    private static final Size NO_SIZE = new Size(0, 0);
-    private static final Logger LOG = LoggerFactory.getLogger(Viewer.class);
-    private static final Logger UI_LOG = LoggerFactory.getLogger("ui." + Viewer.class.getName());
-    private static final LoggingOptions LOGGING_OPTIONS = new LoggingOptions();
-    private static final NullView CLEAR_OVERLAY = new NullView();
-    private static final Bounds NO_REDRAW = new Bounds();
-
-    private ApplicationOptions APPLICATION_OPTIONS;
-    private final DebugOptions DEBUG_OPTIONS = new DebugOptions(this);
-
-    private Graphics bufferGraphics;
-    private Image doubleBuffer;
-    private boolean doubleBuffering = false;
-    private Insets insets;
-    private Size internalDisplaySize = new Size(1, 1);
-    private ShutdownListener listener;
-    private View overlayView;
-    private final Bounds redrawArea;
-    private int redrawCount = 100000;
-    private RenderingArea renderingArea;
-    private View rootView;
-    private String status;
-    private boolean runningAsExploration;
-    private boolean runningAsPrototype;
-    private InteractionSpy spy;
-    private int statusBarHeight;
-    private final UndoStack undoStack = new UndoStack();
-    protected ViewUpdateNotifier updateNotifier;
-    private KeyboardManager keyboardManager;
-    private HelpViewer helpViewer;
-    private Background background;
-    private Bounds statusBarArea;
-    private XFeedbackManager feedbackManager;
-    private boolean refreshStatus;
-    public boolean showExplorationMenuByDefault;
-    boolean showRepaintArea;
-    private static Boolean isDotNetBool;
-
-    private static boolean isDotNet() {
-        if (isDotNetBool == null) {
-            isDotNetBool = new Boolean(System.getProperty("java.version", "dotnet").equals("dotnet"));
-        }
-        return isDotNetBool.booleanValue();
-    }
-
-    public XViewer() {
-        doubleBuffering = IsisContext.getConfiguration().getBoolean(Properties.PROPERTY_BASE + "double-buffer", true);
-        showExplorationMenuByDefault = IsisContext.getConfiguration().getBoolean(Properties.PROPERTY_BASE + "exploration.show", true);
-        overlayView = CLEAR_OVERLAY;
-        redrawArea = new Bounds();
-    }
-
-    public void addSpyAction(final String actionMessage) {
-        if (spy != null) {
-            spy.addAction(actionMessage);
-        }
-    }
-
-    @Override
-    public void addToNotificationList(final View view) {
-        updateNotifier.add(view.getView());
-    }
-
-    @Override
-    public String selectFilePath(final String title, final String directory) {
-        return renderingArea.selectFilePath(title, directory);
-    }
-
-    @Override
-    public void setKeyboardFocus(final View view) {
-        if (view == null) {
-            return;
-        }
-
-        final FocusManager currentFocusManager = keyboardManager.getFocusManager();
-        if (currentFocusManager != null && currentFocusManager.getFocus() != null && currentFocusManager.getFocus().getParent() != null) {
-            currentFocusManager.getFocus().getParent().markDamaged();
-        }
-
-        if (currentFocusManager != null) {
-            final View currentFocus = currentFocusManager.getFocus();
-            if (currentFocus != null && currentFocus != view) {
-                currentFocus.focusLost();
-            }
-        }
-
-        final FocusManager focusManager = view.getFocusManager();
-        if (focusManager != null) {
-            focusManager.setFocus(view);
-            if (view.getParent() != null) {
-                view.getParent().markDamaged();
-            }
-        }
-        if (focusManager == null) {
-            LOG.warn("No focus manager for " + view);
-        } else {
-            keyboardManager.setFocusManager(focusManager);
-        }
-    }
-
-    @Override
-    public void clearOverlayView() {
-        overlayView.markDamaged();
-        overlayView = CLEAR_OVERLAY;
-    }
-
-    @Override
-    public void clearOverlayView(final View view) {
-        if (this.getOverlayView() != view) {
-            LOG.warn("no such view to remove: " + view);
-        }
-        this.clearOverlayView();
-    }
-
-    /*
-     * public void clearStatus() { setStatus(""); }
-     */
-    public void quit() {
-        if (spy != null) {
-            spy.close();
-        }
-        DebugFrame.disposeAll();
-        if (listener != null) {
-            listener.quit();
-        }
-        close();
-    }
-
-    // TODO remove this method; use clearOverlay instead
-    public void disposeOverlayView() {
-        clearOverlayView();
-    }
-
-    @Override
-    public void disposeUnneededViews() {
-        updateNotifier.removeViewsForDisposedObjects();
-    }
-
-    public View dragFrom(final Location location) {
-        if (onOverlay(location)) {
-            location.subtract(overlayView.getLocation());
-            return overlayView.dragFrom(location);
-        } else {
-            return rootView.dragFrom(location);
-        }
-    }
-
-    public DragEvent dragStart(final DragStart start) {
-        if (onOverlay(start.getLocation())) {
-            start.subtract(overlayView.getLocation());
-            return overlayView.dragStart(start);
-        } else {
-            return rootView.dragStart(start);
-        }
-    }
-
-    public void firstClick(final Click click) {
-        /*
-         * for (int i = 0; i < panes.length; i++) {
-         * if(panes[i].respondsTo(click.getLocation())) {
-         * panes[i].firstClick(click); return; } }
-         */
-        if (onOverlay(click.getLocation())) {
-            click.subtract(overlayView.getLocation());
-            overlayView.firstClick(click);
-        } else {
-            rootView.firstClick(click);
-        }
-    }
-
-    private FocusManager getFocusManager() {
-        return overlayView == CLEAR_OVERLAY ? keyboardManager.getFocusManager() : overlayView.getFocusManager();
-    }
-
-    public Bounds getOverlayBounds() {
-        final Bounds bounds = new Bounds(createSize(renderingArea.getSize()));
-        final Insets in = renderingArea.getInsets();
-        bounds.contract(in.left + in.right, in.top + in.bottom);
-        bounds.contract(0, statusBarHeight);
-        return bounds;
-    }
-
-    private Size createSize(final Dimension size) {
-        return new Size(size.width, size.height);
-    }
-
-    public View getOverlayView() {
-        return overlayView;
-    }
-
-    @Override
-    public InteractionSpy getSpy() {
-        return spy;
-    }
-
-    @Override
-    public UndoStack getUndoStack() {
-        return undoStack;
-    }
-
-    @Override
-    public boolean hasFocus(final View view) {
-        final FocusManager focusManager = keyboardManager.getFocusManager();
-        return focusManager != null && focusManager.getFocus() == view;
-    }
-
-    public View identifyView(final Location location, final boolean includeOverlay) {
-        if (includeOverlay && onOverlay(location)) {
-            location.subtract(overlayView.getLocation());
-            return overlayView.identify(location);
-        } else {
-            return rootView.identify(location);
-        }
-    }
-
-    public void init() {
-        if (updateNotifier == null) {
-            throw new NullPointerException("No update notifier set for " + this);
-        }
-        if (rootView == null) {
-            throw new NullPointerException("No root view set for " + this);
-        }
-
-        insets = new Insets(0, 0, 0, 0);
-
-        spy = new InteractionSpy(new SpyWindow());
-
-        keyboardManager = new KeyboardManager(this);
-        final InteractionHandler interactionHandler = new InteractionHandler(this, feedbackManager, keyboardManager, spy);
-        renderingArea.addMouseMotionListener(interactionHandler);
-        renderingArea.addMouseListener(interactionHandler);
-        renderingArea.addKeyListener(interactionHandler);
-
-        if (IsisContext.getConfiguration().getBoolean(Properties.PROPERTY_BASE + "show-mouse-spy", false)) {
-            spy.open();
-        }
-
-        setKeyboardFocus(rootView);
-
-        APPLICATION_OPTIONS = new ApplicationOptions(listener);
-    }
-
-    @Override
-    public boolean isRunningAsExploration() {
-        return runningAsExploration;
-    }
-
-    @Override
-    public boolean isRunningAsPrototype() {
-        return runningAsPrototype;
-    }
-
-    public boolean isShowingMouseSpy() {
-        return spy.isVisible();
-    }
-
-    @Override
-    public void markDamaged(final Bounds bounds) {
-        if (spy != null) {
-            spy.addDamagedArea(bounds);
-        }
-
-        synchronized (redrawArea) {
-            if (redrawArea.equals(NO_REDRAW)) {
-                redrawArea.setBounds(bounds);
-                UI_LOG.debug("damage - new area " + redrawArea);
-            } else {
-                if (!bounds.getSize().equals(NO_SIZE)) {
-                    redrawArea.union(bounds);
-                    UI_LOG.debug("damage - extend area " + redrawArea + " - to include " + bounds);
-                }
-            }
-        }
-    }
-
-    public void menuOptions(final UserActionSet options) {
-    }
-
-    public void mouseDown(final Click click) {
-        if (onOverlay(click.getLocation())) {
-            click.subtract(overlayView.getLocation());
-            overlayView.mouseDown(click);
-        } else {
-            rootView.mouseDown(click);
-        }
-    }
-
-    public void mouseMoved(final Location location) {
-        if (onOverlay(location)) {
-            location.subtract(overlayView.getLocation());
-            overlayView.mouseMoved(location);
-        } else {
-            rootView.mouseMoved(location);
-        }
-    }
-
-    public void mouseUp(final Click click) {
-        if (onOverlay(click.getLocation())) {
-            click.subtract(overlayView.getLocation());
-            overlayView.mouseUp(click);
-        } else {
-            rootView.mouseUp(click);
-        }
-    }
-
-    private boolean onOverlay(final Location mouse) {
-        return overlayView.getBounds().contains(mouse);
-    }
-
-    public void paint(final Graphics graphic) {
-        redrawCount++;
-        graphic.translate(insets.left, insets.top);
-        final Rectangle paintArea = graphic.getClipBounds();
-        final Rectangle layoutArea = layoutViews();
-        if (layoutArea != null) {
-            paintArea.union(layoutArea);
-        }
-
-        if (spy != null) {
-            spy.redraw(paintArea.toString(), redrawCount);
-        }
-        if (UI_LOG.isDebugEnabled()) {
-            UI_LOG.debug("------ repaint viewer #" + redrawCount + " " + paintArea.x + "," + paintArea.y + " " + paintArea.width + "x" + paintArea.height);
-        }
-
-        final Canvas c = createCanvas(graphic, paintArea);
-        if (background != null) {
-            background.draw(c.createSubcanvas(), rootView.getSize());
-        }
-
-        // paint views
-        if (rootView != null) {
-            rootView.draw(c.createSubcanvas());
-        }
-        // paint overlay
-
-        final Bounds bounds = overlayView.getBounds();
-        if (paintArea.intersects(new Rectangle(bounds.getX(), bounds.getY(), bounds.getWidth(), bounds.getHeight()))) {
-            overlayView.draw(c.createSubcanvas(bounds));
-        }
-
-        /*
-         * for (int i = 0; i < panes.length; i++) {
-         * panes[i].draw(c.createSubcanvas()); }
-         */
-        // paint status
-        // paintUserStatus(bufferGraphics);
-        // blat to screen
-        if (doubleBuffering) {
-            graphic.drawImage(doubleBuffer, 0, 0, null);
-        }
-        if (showRepaintArea) {
-            graphic.setColor(((AwtColor) Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_REPAINT)).getAwtColor());
-            graphic.drawRect(paintArea.x, paintArea.y, paintArea.width - 1, paintArea.height - 1);
-            graphic.drawString("#" + redrawCount, paintArea.x + 3, paintArea.y + 15);
-        }
-
-        // paint status
-        paintStatus(graphic);
-    }
-
-    private Canvas createCanvas(final Graphics graphic, final Rectangle paintArea) {
-        final int w = internalDisplaySize.getWidth();
-        final int h = internalDisplaySize.getHeight();
-        if (doubleBuffering) {
-            if ((doubleBuffer == null) || (bufferGraphics == null) || (doubleBuffer.getWidth(null) < w) || (doubleBuffer.getHeight(null) < h)) {
-                doubleBuffer = renderingArea.createImage(w, h);
-                LOG.debug("buffer sized to " + doubleBuffer.getWidth(null) + "x" + doubleBuffer.getHeight(null));
-            }
-            bufferGraphics = doubleBuffer.getGraphics().create();
-        } else {
-            bufferGraphics = graphic;
-        }
-
-        bufferGraphics.clearRect(paintArea.x, paintArea.y, paintArea.width, paintArea.height);
-        bufferGraphics.clearRect(0, 0, w, h);
-
-        bufferGraphics.setClip(paintArea.x, paintArea.y, paintArea.width, paintArea.height);
-        final Canvas c = new AwtCanvas(bufferGraphics, renderingArea, paintArea.x, paintArea.y, paintArea.width, paintArea.height);
-        // Canvas c = new Canvas(bufferGraphics, 0, 0, w, h);
-        return c;
-    }
-
-    /**
-     * Lays out the invalid views and returns the area to be repainted.
-     */
-    private Rectangle layoutViews() {
-        if (!Thread.currentThread().getName().startsWith("AWT-EventQueue") && !isDotNet()) {
-            // REVIEW remove this check and exception when problem with multiple
-            // field drawing is resolved
-            // (Bug 1)
-            throw new IsisException("Drawing with wrong thread: " + Thread.currentThread());
-        }
-        // overlayView.layout(new Size(rootView.getSize()));
-        // rootView.layout(new Size(rootView.getSize()));
-        final Size rootViewSize = rootView.getSize();
-        overlayView.layout();
-        rootView.layout();
-        synchronized (redrawArea) {
-            if (!redrawArea.equals(NO_REDRAW)) {
-                final Rectangle r2 = new Rectangle(redrawArea.getX(), redrawArea.getY(), redrawArea.getWidth(), redrawArea.getHeight());
-                redrawArea.setBounds(NO_REDRAW);
-                return r2;
-            }
-        }
-        return null;
-    }
-
-    private void paintStatus(final Graphics graphic) {
-        final int height = internalDisplaySize.getHeight();
-        final int top = height - statusBarHeight;
-        if (refreshStatus || graphic.getClip().getBounds().getY() + graphic.getClip().getBounds().getHeight() > top) {
-            refreshStatus = false;
-            UI_LOG.debug("changed user status " + status + " " + statusBarArea);
-
-            final int width = internalDisplaySize.getWidth();
-            graphic.setClip(0, top, width, statusBarHeight);
-            graphic.setColor(((AwtColor) Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3)).getAwtColor());
-            final AwtText textStyle = (AwtText) Toolkit.getText(ColorsAndFonts.TEXT_STATUS);
-            graphic.setFont(textStyle.getAwtFont());
-            final int baseline = top + textStyle.getAscent();
-            graphic.fillRect(0, top, width, statusBarHeight);
-            graphic.setColor(((AwtColor) Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1)).getAwtColor());
-            graphic.drawLine(0, top, internalDisplaySize.getWidth(), top);
-            // graphic.drawRect(0, top, width - 1, statusBarHeight - 1);
-            graphic.setColor(((AwtColor) Toolkit.getColor(ColorsAndFonts.COLOR_BLACK)).getAwtColor());
-            graphic.drawString(status, 5, baseline + ViewConstants.VPADDING);
-        }
-    }
-
-    public View pickupContent(final Location location) {
-        if (onOverlay(location)) {
-            location.subtract(overlayView.getLocation());
-            return overlayView.pickupContent(location);
-        } else {
-            return rootView.pickupContent(location);
-        }
-    }
-
-    public View pickupView(final Location location) {
-        if (onOverlay(location)) {
-            location.subtract(overlayView.getLocation());
-            return overlayView.pickupView(location);
-        } else {
-            return rootView.pickupView(location);
-        }
-    }
-
-    public void popupMenu(final View over, final Location at, final boolean forView, final boolean includeExploration, final boolean includeDebug) {
-        feedbackManager.setBusy(over, null);
-        saveCurrentFieldEntry();
-        final PopupMenuContainer menu = new PopupMenuContainer(over, at);
-        if (over == rootView) {
-            menu.addMenuOptions(APPLICATION_OPTIONS);
-            menu.addMenuOptions(LOGGING_OPTIONS);
-            menu.addMenuOptions(DEBUG_OPTIONS);
-        }
-        final boolean showExplorationOptions = includeExploration || showExplorationMenuByDefault;
-        final boolean showPrototypeOptions = isRunningAsPrototype();
-        menu.show(forView, includeDebug, showExplorationOptions, showPrototypeOptions);
-        feedbackManager.clearBusy(over);
-    }
-
-    @Override
-    public void removeFromNotificationList(final View view) {
-        updateNotifier.remove(view);
-    }
-
-    /**
-     * Force a repaint of the damaged area of the viewer.
-     */
-    @Override
-    public void scheduleRepaint() {
-        updateNotifier.invalidateViewsForChangedObjects();
-        synchronized (redrawArea) {
-            if (!redrawArea.equals(NO_REDRAW) || refreshStatus) {
-                UI_LOG.debug("repaint viewer " + redrawArea);
-                final Bounds area = new Bounds(redrawArea);
-                area.translate(insets.left, insets.top);
-                renderingArea.repaint(area.getX(), area.getY(), area.getWidth(), area.getHeight());
-                redrawArea.setBounds(NO_REDRAW);
-            }
-        }
-    }
-
-    @Override
-    public void saveCurrentFieldEntry() {
-        final FocusManager focusManager = getFocusManager();
-        if (focusManager != null) {
-            final View focus = focusManager.getFocus();
-            if (focus != null) {
-                focus.editComplete(false, false);
-                // change should be marked by the field being completed
-                // focus.markDamaged();
-            }
-        }
-    }
-
-    public void secondClick(final Click click) {
-        if (onOverlay(click.getLocation())) {
-            click.subtract(overlayView.getLocation());
-            overlayView.secondClick(click);
-        } else {
-            rootView.secondClick(click);
-        }
-    }
-
-    @Override
-    public void setBackground(final Background background) {
-        this.background = background;
-    }
-
-    void setCursor(final Cursor cursor) {
-        renderingArea.setCursor(cursor);
-    }
-
-    public void setExploration(final boolean asExploration) {
-        this.runningAsExploration = asExploration;
-    }
-
-    public void setPrototype(final boolean asPrototype) {
-        this.runningAsPrototype = asPrototype;
-    }
-
-    public void setListener(final ShutdownListener listener) {
-        this.listener = listener;
-    }
-
-    @Override
-    public void setOverlayView(final View view) {
-        disposeOverlayView();
-        overlayView = view;
-        // TODO ensure that the view is laid out properly; hence is the right
-        // size to begin with.
-        // view.limitSize(rootView.getSize());
-
-        final Size size = view.getRequiredSize(rootView.getSize());
-        // size.ensureWidth(getSize().getWidth());
-        view.setSize(size);
-        view.layout();
-
-        view.limitBoundsWithin(getOverlaySize());
-        overlayView.markDamaged();
-    }
-
-    @Override
-    public Size getOverlaySize() {
-        return rootView.getSize();
-    }
-
-    @Override
-    public void showInOverlay(final Content content, final Location location) {
-        View view;
-        view = Toolkit.getViewFactory().createView(new ViewRequirement(content, ViewRequirement.OPEN));
-        view = new LineBorder(2, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2), new BackgroundBorder(Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3), view));
-        final Size size = view.getRequiredSize(Size.createMax());
-        location.subtract(size.getWidth() / 2, size.getHeight() / 2);
-        view.setLocation(location);
-        setOverlayView(view);
-    }
-
-    public void setRenderingArea(final RenderingArea renderingArea) {
-        this.renderingArea = renderingArea;
-    }
-
-    public void setRootView(final View rootView) {
-        this.rootView = rootView;
-        rootView.invalidateContent();
-    }
-
-    public void setHelpViewer(final HelpViewer helpViewer) {
-        this.helpViewer = helpViewer;
-    }
-
-    public void setShowMouseSpy(final boolean showDeveloperStatus) {
-        if (spy.isVisible()) {
-            spy.close();
-        } else {
-            spy.open();
-        }
-    }
-
-    public void setUpdateNotifier(final ViewUpdateNotifier updateNotifier) {
-        this.updateNotifier = updateNotifier;
-    }
-
-    public void showSpy() {
-        spy.open();
-    }
-
-    public void sizeChange() {
-        initSize();
-        final View subviews[] = rootView.getSubviews();
-        for (final View subview : subviews) {
-            subview.invalidateLayout();
-        }
-
-        final Bounds bounds = new Bounds(internalDisplaySize);
-        markDamaged(bounds);
-        scheduleRepaint();
-
-        Properties.saveSizeOption(Properties.PROPERTY_BASE + "initial.size", bounds.getSize());
-    }
-
-    public void locationChange(final int x, final int y) {
-        Properties.saveLocationOption(Properties.PROPERTY_BASE + "initial.location", new Location(x, y));
-    }
-
-    public void initSize() {
-        internalDisplaySize = createSize(renderingArea.getSize());
-        insets = renderingArea.getInsets();
-        LOG.debug("  insets " + insets);
-        internalDisplaySize.contract(insets.left + insets.right, insets.top + insets.bottom);
-        LOG.debug("  internal " + internalDisplaySize);
-
-        final Size rootViewSize = new Size(internalDisplaySize);
-        final Text text = Toolkit.getText(ColorsAndFonts.TEXT_STATUS);
-        statusBarHeight = text.getLineHeight() + text.getDescent();
-        rootViewSize.contractHeight(statusBarHeight);
-        statusBarArea = new Bounds(insets.left, insets.top + rootViewSize.getHeight(), rootViewSize.getWidth(), statusBarHeight);
-        rootView.setSize(rootViewSize);
-    }
-
-    public void thirdClick(final Click click) {
-        if (onOverlay(click.getLocation())) {
-            click.subtract(overlayView.getLocation());
-            overlayView.thirdClick(click);
-        } else {
-            rootView.thirdClick(click);
-        }
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("renderingArea", renderingArea);
-        str.append("redrawArea", redrawArea);
-        str.append("rootView", rootView);
-        return str.toString();
-    }
-
-    public void translate(final MouseEvent me) {
-        me.translatePoint(-insets.left, -insets.top);
-    }
-
-    public ViewAreaType viewAreaType(final Location location) {
-        if (onOverlay(location)) {
-            location.subtract(overlayView.getLocation());
-            return overlayView.viewAreaType(location);
-        } else {
-            return rootView.viewAreaType(location);
-        }
-    }
-
-    public boolean isOverlayAvailable() {
-        return overlayView != CLEAR_OVERLAY;
-    }
-
-    public void makeRootFocus() {
-        // makeFocus(rootView);
-    }
-
-    public void openHelp(final View forView) {
-        if (forView != null) {
-            String description = null;
-            String help = null;
-            String name = null;
-
-            if (forView != null && forView.getContent() != null) {
-                final Content content = forView.getContent();
-                description = content.getDescription();
-                help = content.getHelp();
-                name = content.getId();
-                name = name == null ? content.title() : name;
-            }
-
-            helpViewer.open(forView.getAbsoluteLocation(), name, description, help);
-
-        }
-
-    }
-
-    @Override
-    public Object getClipboard(final Class<?> cls) {
-        if (cls == String.class) {
-
-            final Clipboard cb = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
-            final Transferable content = cb.getContents(this);
-
-            String value = "illegal value";
-            try {
-                value = ((String) content.getTransferData(DataFlavor.stringFlavor));
-            } catch (final Throwable e) {
-                LOG.error("invalid clipboard operation " + e);
-            }
-            return value;
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public void setClipboard(final String clip, final Class<?> class1) {
-        final Clipboard cb = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
-        cb.setContents(new StringSelection(clip), null);
-    }
-
-    public void forcePaintOfStatusBar() {
-        status = feedbackManager.getStatusBarOutput();
-        refreshStatus = true;
-        scheduleRepaint();
-    }
-
-    public void showDialog(final MessageContent content) {
-        final ViewRequirement requirement = new ViewRequirement(content, ViewRequirement.OPEN);
-        final View view = Toolkit.getViewFactory().createView(requirement);
-        rootView.getWorkspace().addDialog(view, new Placement(Placement.CENTER));
-        scheduleRepaint();
-    }
-
-    @Override
-    public void showDebugFrame(final DebuggableWithTitle[] info, final Location at) {
-        final InfoDebugFrame f = new InfoDebugFrame();
-        f.setInfo(info);
-        f.show(at.getX(), at.getY());
-
-    }
-
-    @Override
-    public void clearAction() {
-        feedbackManager.clearAction();
-        clearOverlayView();
-        // feedbackManager.showDefaultCursor();
-    }
-
-    public void setFeedbackManager(final XFeedbackManager feedbackManager) {
-        this.feedbackManager = feedbackManager;
-    }
-
-    public void close() {
-        renderingArea.dispose();
-    }
-
-    @Override
-    public void saveOpenObjects() {
-        final List<ObjectAdapter> objects = new ArrayList<ObjectAdapter>();
-        for (final View view : rootView.getSubviews()) {
-            final Content content = view.getContent();
-            if (content instanceof ObjectContent) {
-                objects.add(((ObjectContent) content).getAdapter());
-            }
-        }
-        IsisContext.getUserProfileLoader().saveSession(objects);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarCellContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarCellContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarCellContent.java
deleted file mode 100644
index e259c74..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarCellContent.java
+++ /dev/null
@@ -1,96 +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.dnd.calendar;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.collection.AbstractCollectionContent;
-
-public class CalendarCellContent extends AbstractCollectionContent {
-    private final String title;
-    private final List<Object> collection = new ArrayList<Object>();
-
-    public CalendarCellContent(final String title) {
-        this.title = title;
-    }
-
-    @Override
-    public ObjectAdapter getCollection() {
-        return IsisContext.getPersistenceSession().getAdapterManager().adapterFor(collection);
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        throw new UnexpectedCallException();
-    }
-
-    @Override
-    public String getHelp() {
-        return "No help available";
-    }
-
-    @Override
-    public String getIconName() {
-        return null;
-    }
-
-    @Override
-    public String getId() {
-        return null;
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return getCollection();
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        throw new UnexpectedCallException();
-    }
-
-    @Override
-    public boolean isTransient() {
-        return true;
-    }
-
-    @Override
-    public String title() {
-        return title;
-    }
-
-    public void addElement(final ObjectAdapter element) {
-        collection.add(element.getObject());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarConstants.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarConstants.java
deleted file mode 100644
index eb6fb2f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarConstants.java
+++ /dev/null
@@ -1,34 +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.dnd.calendar;
-
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-
-public class CalendarConstants {
-    public final static String[] days = new String[] { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" };
-    public final static Color textColor = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-    public final static Color weekendColor = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3);
-    public final static Color lineColor = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-    public final static Text style = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java
deleted file mode 100644
index 4e747bb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java
+++ /dev/null
@@ -1,418 +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.dnd.calendar;
-
-import java.util.Date;
-import java.util.List;
-
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.progmodel.facets.value.date.DateValueFacet;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.icon.IconElementFactory;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.BlankView;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.composite.CollectionElementBuilder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeView;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewUsingBuilder;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class CalendarGrid extends CompositeView {
-    private Cells cellLayout;
-    private int rows;
-    private int columns;
-    private boolean acrossThenDown;
-
-    @Override
-    protected void buildNewView() {
-        final CalendarCellContent[] cellContents = createContentForCells();
-        addCellsToView(cellContents);
-    }
-
-    private void addCellsToView(final CalendarCellContent[] cellContents) {
-        final View[] cells = new View[rows * columns];
-        for (int row = 0; row < rows; row++) {
-            for (int column = 0; column < columns; column++) {
-                final int cellNo = acrossThenDown ? row * columns + column : column * rows + row;
-                View cell;
-                if (cellContents[cellNo] == null) {
-                    cell = new BlankView(new NullContent());
-                } else {
-                    cell = new CompositeViewUsingBuilder(cellContents[cellNo], null, new Axes(), new StackLayout(), new CollectionElementBuilder(new IconElementFactory()));
-                    cell = new ScrollBorder(cell);
-                }
-                cells[cellNo] = cell;
-                addView(cell);
-            }
-        }
-    }
-
-    private CalendarCellContent[] createContentForCells() {
-        final CalendarCellContent[] cellContents = new CalendarCellContent[rows * columns];
-        final CollectionContent content = (CollectionContent) getContent();
-        for (final ObjectAdapter element : content.elements()) {
-            final Date date = dateFor(element);
-            if (date == null) {
-                continue;
-            }
-            final int period = cellLayout.getPeriodFor(date);
-            if (period >= 0 && period < cellContents.length) {
-                if (cellContents[period] == null) {
-                    cellContents[period] = new CalendarCellContent(cellLayout.title(period));
-                }
-                cellContents[period].addElement(element);
-            }
-        }
-        return cellContents;
-    }
-
-    private Date dateFor(final ObjectAdapter element) {
-        final ObjectAssociation dateField = findDate(element);
-        if (dateField == null) {
-            return null;
-        }
-        final DateValueFacet facet = dateField.getSpecification().getFacet(DateValueFacet.class);
-        final ObjectAdapter field = dateField.get(element);
-        final Date date = facet.dateValue(field);
-        return date;
-    }
-
-    private ObjectAssociation findDate(final ObjectAdapter adapter) {
-        final ObjectSpecification spec = adapter.getSpecification();
-        final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED);
-        for (int i = 0; i < fields.size(); i++) {
-            final Facet facet = fields.get(i).getSpecification().getFacet(DateValueFacet.class);
-            if (facet != null) {
-                return fields.get(i);
-            }
-        }
-        return null;
-    }
-
-    @Override
-    protected void buildModifiedView() {
-        disposeContentsOnly();
-        buildNewView();
-    }
-
-    // TODO remove
-    @Override
-    protected void buildView() {
-        throw new UnexpectedCallException();
-    }
-
-    @Override
-    protected void doLayout(final Size maximumSize) {
-        final boolean hasHeader = cellLayout.header(0) != null;
-        final int topInset = 0 + (acrossThenDown && hasHeader ? 30 : 0);
-        final int leftInset = !acrossThenDown && hasHeader ? 50 : 0;
-        final int width = maximumSize.getWidth();
-        final int height = maximumSize.getHeight();
-        final int columnWidth = (width - leftInset) / columns;
-        final int rowHeight = (height - topInset) / rows;
-
-        final View[] cells = getSubviews();
-        int i = 0;
-        final int top = CalendarConstants.style.getLineHeight() + ViewConstants.VPADDING;
-        CalendarConstants.style.getLineSpacing();
-        final Location location = new Location(leftInset, topInset + top);
-        final Size size = new Size(columnWidth, rowHeight - top);
-        for (int row = 0; row < rows; row++) {
-            for (int column = 0; column < columns; column++) {
-                final View cell = cells[i++];
-                cell.setSize(size);
-                cell.setLocation(location);
-                location.add(columnWidth, 0);
-            }
-            location.setX(leftInset);
-            location.add(0, rowHeight);
-        }
-    }
-
-    @Override
-    public Size requiredSize(final Size availableSpace) {
-        return new Size(300, 300);
-    }
-
-    protected CalendarGrid(final Content content) {
-        super(content, null);
-
-        cellLayout = new DayCells(null);
-        acrossThenDown = true;
-        rows = cellLayout.defaultRows();
-        columns = cellLayout.defaultColumns();
-        cellLayout.add(-rows * columns / 2);
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-        // this.focusManager = focusManager;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final boolean hasHeader = cellLayout.header(0) != null;
-        final int topInset = 0 + (acrossThenDown && hasHeader ? 30 : 0);
-        final int leftInset = !acrossThenDown && hasHeader ? 50 : 0;
-        final int width = getSize().getWidth();
-        final int height = getSize().getHeight();
-        final int columnWidth = (width - leftInset) / columns;
-        final int rowHeight = (height - topInset) / rows;
-
-        for (int row = 0; row < rows; row++) {
-            final int y = topInset + row * rowHeight;
-            if (!acrossThenDown && hasHeader) {
-                canvas.drawText(cellLayout.header(row), 0, y + 20, CalendarConstants.textColor, CalendarConstants.style);
-            }
-            canvas.drawLine(leftInset, y, width, y, CalendarConstants.lineColor);
-        }
-        canvas.drawLine(leftInset, topInset + height - 1, width, topInset + height - 1, CalendarConstants.lineColor);
-
-        for (int column = 0; column < columns; column++) {
-            final int x = leftInset + column * columnWidth;
-            if (acrossThenDown && hasHeader) {
-                canvas.drawText(cellLayout.header(column), x, topInset - 5, CalendarConstants.textColor, CalendarConstants.style);
-            }
-            canvas.drawLine(x, topInset, x, topInset + height, CalendarConstants.lineColor);
-        }
-        canvas.drawLine(width - 1, topInset, width - 1, height, CalendarConstants.lineColor);
-
-        for (int row = 0; row < rows; row++) {
-            final int y = topInset + row * rowHeight + CalendarConstants.style.getAscent() + 2;
-            for (int column = 0; column < columns; column++) {
-                final int x = leftInset + column * columnWidth + 2;
-                final int cell = acrossThenDown ? row * columns + column : column * rows + row;
-                canvas.drawText(cellLayout.title(cell), x, y, CalendarConstants.textColor, CalendarConstants.style);
-            }
-        }
-    }
-
-    void addRow() {
-        rows++;
-        invalidateContent();
-        markDamaged();
-    }
-
-    void removeRow() {
-        rows--;
-        invalidateContent();
-        markDamaged();
-    }
-
-    void addColumn() {
-        columns++;
-        invalidateContent();
-        markDamaged();
-    }
-
-    void removeColumn() {
-        columns--;
-        invalidateContent();
-        markDamaged();
-    }
-
-    void showYears() {
-        cellLayout = new YearCells(cellLayout);
-        show();
-    }
-
-    void showMonths() {
-        cellLayout = new MonthCells(cellLayout);
-        show();
-    }
-
-    void showWeeks() {
-        cellLayout = new WeekCells(cellLayout);
-        show();
-    }
-
-    void show() {
-        cellLayout.roundDown();
-        rows = cellLayout.defaultRows();
-        columns = cellLayout.defaultColumns();
-        invalidateContent();
-        markDamaged();
-    }
-
-    void showSingleDay() {
-        cellLayout = new SingleDayCells(cellLayout);
-        show();
-    }
-
-    void showDays() {
-        cellLayout = new DayCells(cellLayout);
-        show();
-    }
-
-    void acrossFirst() {
-        acrossThenDown = true;
-        final int temp = rows;
-        rows = columns;
-        columns = temp;
-        invalidateContent();
-        markDamaged();
-    }
-
-    void downFirst() {
-        acrossThenDown = false;
-        final int temp = rows;
-        rows = columns;
-        columns = temp;
-        invalidateContent();
-        markDamaged();
-    }
-
-    void nextPeriod() {
-        cellLayout.add(rows * columns);
-        invalidateContent();
-        markDamaged();
-    }
-
-    void previousePeriod() {
-        cellLayout.add(-rows * columns);
-        invalidateContent();
-        markDamaged();
-    }
-
-    void today() {
-        cellLayout.today();
-        invalidateContent();
-        markDamaged();
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        super.viewMenuOptions(options);
-
-        options.add(new UserActionAbstract("Add row") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                addRow();
-            }
-        });
-        options.add(new UserActionAbstract("Remove row") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                removeRow();
-            }
-        });
-
-        options.add(new UserActionAbstract("Add column") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                addColumn();
-            }
-        });
-        options.add(new UserActionAbstract("Remove column") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                removeColumn();
-            }
-        });
-
-        options.add(new UserActionAbstract("Years") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                showYears();
-            }
-        });
-
-        options.add(new UserActionAbstract("Months") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                showMonths();
-            }
-        });
-
-        options.add(new UserActionAbstract("Weeks") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                showWeeks();
-            }
-        });
-
-        options.add(new UserActionAbstract("Day") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                showSingleDay();
-            }
-        });
-        options.add(new UserActionAbstract("Days") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                showDays();
-            }
-        });
-
-        options.add(new UserActionAbstract("Across then down") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                acrossFirst();
-            }
-        });
-
-        options.add(new UserActionAbstract("Down then across") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                downFirst();
-            }
-        });
-
-        options.add(new UserActionAbstract("Previous period") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                previousePeriod();
-            }
-        });
-
-        options.add(new UserActionAbstract("Next period") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                nextPeriod();
-            }
-        });
-
-        options.add(new UserActionAbstract("Today") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                today();
-            }
-        });
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.java
deleted file mode 100644
index 7639d95..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.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.dnd.calendar;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.progmodel.facets.value.date.DateValueFacet;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-import org.apache.isis.viewer.dnd.view.composite.ViewBuilder;
-
-public class CalendarSpecification implements CompositeViewSpecification {
-
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    public void createAxes(final Content content, final Axes axes) {
-        // axes.add(new CalendarAxis());
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        return new CalendarView(content, this);
-        // return new ViewResizeBorder(new CalendarView(content, this));
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        final boolean openCollection = requirement.isCollection() && requirement.isOpen();
-        if (openCollection) {
-            final List<OneToOneAssociation> propertyList = ((CollectionContent) requirement.getContent()).getElementSpecification().getProperties(Contributed.EXCLUDED);
-            for (final OneToOneAssociation association : propertyList) {
-                if (!association.isAlwaysHidden() && association.getSpecification().containsFacet(DateValueFacet.class)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public String getName() {
-        return "Calendar (experimental) ";
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    public ViewBuilder getSubviewBuilder() {
-        return null;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return true;
-    }
-
-}


[27/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml1-strict.dtd
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml1-strict.dtd b/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml1-strict.dtd
deleted file mode 100644
index abced1d..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml1-strict.dtd
+++ /dev/null
@@ -1,980 +0,0 @@
-<!--
-   Extensible HTML version 1.0 Strict DTD
-
-   This is the same as HTML 4 Strict except for
-   changes due to the differences between XML and SGML.
-
-   Namespace = http://www.w3.org/1999/xhtml
-
-   For further information, see: http://www.w3.org/TR/xhtml1
-
-   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
-   All Rights Reserved. 
-
-   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
-   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-
-   $Revision: 1.1 $
-   $Date: 2002/08/01 13:56:03 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-   "xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols for XHTML//EN"
-   "xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special for XHTML//EN"
-   "xhtml-special.ent">
-%HTMLspecial;
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % ContentTypes "CDATA">
-    <!-- comma-separated list of media types, as per [RFC2045] -->
-
-<!ENTITY % Charset "CDATA">
-    <!-- a character encoding, as per [RFC2045] -->
-
-<!ENTITY % Charsets "CDATA">
-    <!-- a space separated list of character encodings, as per [RFC2045] -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % Character "CDATA">
-    <!-- a single character, as per section 2.2 of [XML] -->
-
-<!ENTITY % Number "CDATA">
-    <!-- one or more digits -->
-
-<!ENTITY % LinkTypes "CDATA">
-    <!-- space-separated list of link types -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- single or comma-separated list of media descriptors -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [RFC2396] -->
-
-<!ENTITY % UriList "CDATA">
-    <!-- a space separated list of Uniform Resource Identifiers -->
-
-<!ENTITY % Datetime "CDATA">
-    <!-- date and time information. ISO date format -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % Text "CDATA">
-    <!-- used for titles etc. -->
-
-<!ENTITY % Length "CDATA">
-    <!-- nn for pixels or nn% for percentage length -->
-
-<!ENTITY % MultiLength "CDATA">
-    <!-- pixel, percentage, or relative -->
-
-<!ENTITY % Pixels "CDATA">
-    <!-- integer representing length in pixels -->
-
-<!-- these are used for image maps -->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-
-<!ENTITY % Coords "CDATA">
-    <!-- comma separated list of lengths -->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!-- core attributes common to most elements
-  id       document-wide unique id
-  class    space separated list of classes
-  style    associated style info
-  title    advisory title/amplification
--->
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED"
-  >
-
-<!-- internationalization attributes
-  lang        language code (backwards compatible)
-  xml:lang    language code (as per XML 1.0 spec)
-  dir         direction for weak/neutral text
--->
-<!ENTITY % i18n
- "lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!-- attributes for common UI events
-  onclick     a pointer button was clicked
-  ondblclick  a pointer button was double clicked
-  onmousedown a pointer button was pressed down
-  onmouseup   a pointer button was released
-  onmousemove a pointer was moved onto the element
-  onmouseout  a pointer was moved away from the element
-  onkeypress  a key was pressed and released
-  onkeydown   a key was pressed down
-  onkeyup     a key was released
--->
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- attributes for elements that can get the focus
-  accesskey   accessibility key character
-  tabindex    position in tabbing order
-  onfocus     the element got the focus
-  onblur      the element lost the focus
--->
-<!ENTITY % focus
- "accesskey   %Character;    #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED"
-  >
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-<!--=================== Text Elements ====================================-->
-
-<!ENTITY % special.pre
-   "br | span | bdo | map">
-
-
-<!ENTITY % special
-   "%special.pre; | object | img ">
-
-<!ENTITY % fontstyle "tt | i | b | big | small ">
-
-<!ENTITY % phrase "em | strong | dfn | code | q |
-                   samp | kbd | var | cite | abbr | acronym | sub | sup ">
-
-<!ENTITY % inline.forms "input | select | textarea | label | button">
-
-<!-- these can occur at block or inline level -->
-<!ENTITY % misc.inline "ins | del | script">
-
-<!-- these can only occur at block level -->
-<!ENTITY % misc "noscript | %misc.inline;">
-
-<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
-
-<!-- %Inline; covers inline or "text-level" elements -->
-<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
-
-<!--================== Block level elements ==============================-->
-
-<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
-<!ENTITY % lists "ul | ol | dl">
-<!ENTITY % blocktext "pre | hr | blockquote | address">
-
-<!ENTITY % block
-     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %Flow; mixes block and inline and is used for list items etc. -->
-<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
-
-<!--================== Content models for exclusions =====================-->
-
-<!-- a elements use %Inline; excluding a -->
-
-<!ENTITY % a.content
-   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
-
-<!-- pre uses %Inline excluding big, small, sup or sup -->
-
-<!ENTITY % pre.content
-   "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
-      | %inline.forms;)*">
-
-<!-- form uses %Block; excluding form -->
-
-<!ENTITY % form.content "(%block; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form and form controls -->
-
-<!ENTITY % button.content
-   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
-    table | %special; | %fontstyle; | %phrase; | %misc;)*">
-
-<!--================ Document Structure ==================================-->
-
-<!-- the namespace URI designates the document profile -->
-
-<!ELEMENT html (head, body)>
-<!ATTLIST html
-  %i18n;
-  id          ID             #IMPLIED
-  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
-  xmlns:concordion   %URI;          #FIXED 'http://www.concordion.org/2007/concordion'
-  xmlns:isis         %URI;          #FIXED 'http://isis.apache.org/2010/concordion'
-  >
-
-<!--================ Document Head =======================================-->
-
-<!ENTITY % head.misc "(script|style|meta|link|object)*">
-
-<!-- content model is %head.misc; combined with a single
-     title and an optional base element in any order -->
-
-<!ELEMENT head (%head.misc;,
-     ((title, %head.misc;, (base, %head.misc;)?) |
-      (base, %head.misc;, (title, %head.misc;))))>
-
-<!ATTLIST head
-  %i18n;
-  id          ID             #IMPLIED
-  profile     %URI;          #IMPLIED
-  >
-
-<!-- The title element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!ELEMENT title (#PCDATA)>
-<!ATTLIST title 
-  %i18n;
-  id          ID             #IMPLIED
-  >
-
-<!-- document base URI -->
-
-<!ELEMENT base EMPTY>
-<!ATTLIST base
-  href        %URI;          #REQUIRED
-  id          ID             #IMPLIED
-  >
-
-<!-- generic metainformation -->
-<!ELEMENT meta EMPTY>
-<!ATTLIST meta
-  %i18n;
-  id          ID             #IMPLIED
-  http-equiv  CDATA          #IMPLIED
-  name        CDATA          #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  >
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the link element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel="stylesheet")
-   c) to make a link to a script (rel="script")
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a PostScript or PDF version (rel="alternate" media="print")
--->
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  >
-
-<!-- style info, which may include CDATA sections -->
-<!ELEMENT style (#PCDATA)>
-<!ATTLIST style
-  %i18n;
-  id          ID             #IMPLIED
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- script statements, which may include CDATA sections -->
-<!ELEMENT script (#PCDATA)>
-<!ATTLIST script
-  id          ID             #IMPLIED
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Block;>
-<!ATTLIST noscript
-  %attrs;
-  >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Block;>
-<!ATTLIST body
-  %attrs;
-  onload          %Script;   #IMPLIED
-  onunload        %Script;   #IMPLIED
-  >
-
-<!ELEMENT div %Flow;>  <!-- generic language/style container -->
-<!ATTLIST div
-  %attrs;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
-  %attrs;
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from h1 (the most important)
-  to h6 (the least important).
--->
-
-<!ELEMENT h1  %Inline;>
-<!ATTLIST h1
-   %attrs;
-   >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
-   %attrs;
-   >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
-   %attrs;
-   >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
-   %attrs;
-   >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
-   %attrs;
-   >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
-   %attrs;
-   >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
-  %attrs;
-  >
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
-  %attrs;
-  >
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
-  %attrs;
-  >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
-  %attrs;
-  >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
-  %attrs;
-  >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
-  %attrs;
-  >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
-  %attrs;
-  >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
-  %attrs;
-  >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
-  %attrs;
-  xml:space (preserve) #FIXED 'preserve'
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Block;>
-<!ATTLIST blockquote
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-<!--
-  ins/del are allowed in block and inline content, but its
-  inappropriate to include block content within an ins element
-  occurring in inline content.
--->
-<!ELEMENT ins %Flow;>
-<!ATTLIST ins
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!ELEMENT del %Flow;>
-<!ATTLIST del
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--================== The Anchor Element ================================-->
-
-<!-- content is %Inline; except that anchors shouldn't be nested -->
-
-<!ELEMENT a %a.content;>
-<!ATTLIST a
-  %attrs;
-  %focus;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  >
-
-<!--===================== Inline Elements ================================-->
-
-<!ELEMENT span %Inline;> <!-- generic language/style container -->
-<!ATTLIST span
-  %attrs;
-  >
-
-<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
-<!ATTLIST bdo
-  %coreattrs;
-  %events;
-  lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-<!ELEMENT br EMPTY>   <!-- forced line break -->
-<!ATTLIST br
-  %coreattrs;
-  >
-
-<!ELEMENT em %Inline;>   <!-- emphasis -->
-<!ATTLIST em %attrs;>
-
-<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
-<!ATTLIST strong %attrs;>
-
-<!ELEMENT dfn %Inline;>   <!-- definitional -->
-<!ATTLIST dfn %attrs;>
-
-<!ELEMENT code %Inline;>   <!-- program code -->
-<!ATTLIST code %attrs;>
-
-<!ELEMENT samp %Inline;>   <!-- sample -->
-<!ATTLIST samp %attrs;>
-
-<!ELEMENT kbd %Inline;>  <!-- something user would type -->
-<!ATTLIST kbd %attrs;>
-
-<!ELEMENT var %Inline;>   <!-- variable -->
-<!ATTLIST var %attrs;>
-
-<!ELEMENT cite %Inline;>   <!-- citation -->
-<!ATTLIST cite %attrs;>
-
-<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
-<!ATTLIST abbr %attrs;>
-
-<!ELEMENT acronym %Inline;>   <!-- acronym -->
-<!ATTLIST acronym %attrs;>
-
-<!ELEMENT q %Inline;>   <!-- inlined quote -->
-<!ATTLIST q
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!ELEMENT sub %Inline;> <!-- subscript -->
-<!ATTLIST sub %attrs;>
-
-<!ELEMENT sup %Inline;> <!-- superscript -->
-<!ATTLIST sup %attrs;>
-
-<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
-<!ATTLIST tt %attrs;>
-
-<!ELEMENT i %Inline;>   <!-- italic font -->
-<!ATTLIST i %attrs;>
-
-<!ELEMENT b %Inline;>   <!-- bold font -->
-<!ATTLIST b %attrs;>
-
-<!ELEMENT big %Inline;>   <!-- bigger font -->
-<!ATTLIST big %attrs;>
-
-<!ELEMENT small %Inline;>   <!-- smaller font -->
-<!ATTLIST small %attrs;>
-
-<!--==================== Object ======================================-->
-<!--
-  object is used to embed objects as part of HTML pages.
-  param elements should precede other content. Parameters
-  can also be expressed as attribute/value pairs on the
-  object element itself when brevity is desired.
--->
-
-<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST object
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %UriList;      #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  >
-
-<!--
-  param is used to supply a named property value.
-  In XML it would seem natural to follow RDF and support an
-  abbreviated syntax where the param elements are replaced
-  by attribute value pairs on the object start tag.
--->
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  id          ID             #IMPLIED
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  valuetype   (data|ref|object) "data"
-  type        %ContentType;  #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!--
-   To avoid accessibility problems for people who aren't
-   able to see the image, you should provide a text
-   description using the alt and longdesc attributes.
-   In addition, avoid the use of server-side image maps.
-   Note that in this DTD there is no name attribute. That
-   is only available in the transitional and frameset DTD.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  >
-
-<!-- usemap points to a map element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
-<!ATTLIST map
-  %i18n;
-  %events;
-  id          ID             #REQUIRED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
-  %attrs;
-  %focus;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (get|post)     "get"
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  >
-
-<!--
-  Each label must not contain more than ONE field
-  Label elements shouldn't be nested.
--->
-<!ELEMENT label %Inline;>
-<!ATTLIST label
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(text | password | checkbox |
-    radio | submit | reset |
-    file | hidden | image | button)"
-   >
-
-<!-- the name attribute is required for all but submit & reset -->
-
-<!ELEMENT input EMPTY>     <!-- form control -->
-<!ATTLIST input
-  %attrs;
-  %focus;
-  type        %InputType;    "text"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  >
-
-<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
-<!ATTLIST select
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!ELEMENT optgroup (option)+>   <!-- option group -->
-<!ATTLIST optgroup
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
-<!ATTLIST option
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
-<!ATTLIST textarea
-  %attrs;
-  %focus;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!--
-  The fieldset element is used to group form fields.
-  Only one legend element should occur in the content
-  and if present should only be preceded by whitespace.
--->
-<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
-<!ATTLIST fieldset
-  %attrs;
-  >
-
-<!ELEMENT legend %Inline;>     <!-- fieldset label -->
-<!ATTLIST legend
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  >
-
-<!--
- Content is %Flow; excluding a, form and form controls
---> 
-<!ELEMENT button %button.content;>  <!-- push button -->
-<!ATTLIST button
-  %attrs;
-  %focus;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- Derived from IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The border attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The frame attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the valign attribute.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The rules attribute defines which rules to draw between cells:
-
- If rules is absent then assume:
-     "none" if border is absent or border="0" otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal alignment attributes for cell contents
-
-  char        alignment char, e.g. char=':'
-  charoff     offset for alignment char
--->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT table
-     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
-<!ELEMENT caption  %Inline;>
-<!ELEMENT thead    (tr)+>
-<!ELEMENT tfoot    (tr)+>
-<!ELEMENT tbody    (tr)+>
-<!ELEMENT colgroup (col)*>
-<!ELEMENT col      EMPTY>
-<!ELEMENT tr       (th|td)+>
-<!ELEMENT th       %Flow;>
-<!ELEMENT td       %Flow;>
-
-<!ATTLIST table
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  >
-
-<!ATTLIST caption
-  %attrs;
-  >
-
-<!--
-colgroup groups a set of col elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST colgroup
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- col elements define the alignment properties for cells in
- one or more columns.
-
- The width attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The span attribute causes the attributes of one
- col element to apply to more than one column.
--->
-<!ATTLIST col
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST thead
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tfoot
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tbody
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tr
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-
-<!-- Scope is simpler than headers attribute for common tables -->
-<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
-
-<!-- th is for headers, td for data and for cells acting as both -->
-
-<!ATTLIST th
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST td
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/common/BootstrapInExplorationMode.html
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/common/BootstrapInExplorationMode.html b/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/common/BootstrapInExplorationMode.html
deleted file mode 100644
index 0bf58a3..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/common/BootstrapInExplorationMode.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<html xmlns:concordion="http://www.concordion.org/2007/concordion"
-	xmlns:isis="http://isis.apache.org/2010/concordion">
-<link href="../concordion.css" rel="stylesheet" type="text/css" />
-<body>
-
-<p>
-The system:
-</p>
-<ul>
-<li>
-<p concordion:execute="#result=bootstrapIsis(#configDir,#deploymentType)">
-<span concordion:assertTrue="#result">bootstrapped</span> from
-config directory <span concordion:set="#configDir">../quickrun/src/main/resources</span>
-and running in <span concordion:set="#deploymentType">exploration</span>
-mode,
-</p>
-</li>
-<li>
-<p>with services: </p>
-<table concordion:execute="#result=aliasService(#aliasAs, #className)">
-	<tr>
-		<th concordion:set="#className">Class Name</th>
-		<th concordion:set="#aliasAs">aliasAs</th>
-		<th concordion:assertTrue="#result"/>
-	</tr>
-	<tr>
-		<td>objstore.dflt.todo.ToDoItemRepositoryDefault</td>
-		<td>toDoItems</td>
-		<td>ok</td>
-	</tr>
-</table>
-</li>
-</ul>
-
-</body>
-
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/common/ToDoItems.html
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/common/ToDoItems.html b/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/common/ToDoItems.html
deleted file mode 100644
index 33bc742..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/common/ToDoItems.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<html xmlns:concordion="http://www.concordion.org/2007/concordion"
-      xmlns:isis="http://isis.apache.org/2010/concordion">
-<link href="../concordion.css" rel="stylesheet" type="text/css" />
-<body>
-
-<h3>Operational Data</h3>
-<p>With to do items (<span concordion:set="#className">dom.todo.ToDoItem</span>):
-</p>
-<table isis:execute="#result=setUpObject(#className, #alias, #description, #done)">
-	<tr>
-        <th concordion:set="#alias">Alias</th>
-		<th concordion:set="#description">Description</th>
-		<th concordion:set="#done">Done</th>
-		<th concordion:assertEquals="#result"/>
-	</tr>
-	<tr>
-        <td>item1</td>
-		<td>Buy milk</td>
-		<td>false</td>
-		<td>ok</td>
-	</tr>
-	<tr>
-        <td>item2</td>
-        <td>Pick up laundry</td>
-        <td>false</td>
-        <td>ok</td>
-	</tr>
-	<tr>
-        <td>item3</td>
-        <td>Buy stamps</td>
-        <td>false</td>
-        <td>ok</td>
-	</tr>
-    <tr>
-        <td>item4</td>
-        <td>Write blog post</td>
-        <td>false</td>
-        <td>ok</td>
-    </tr>
-    <tr>
-        <td>item5</td>
-        <td>Organize brown bag</td>
-        <td>false</td>
-        <td>ok</td>
-    </tr>
-</table>
-
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/concordion.css
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/concordion.css b/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/concordion.css
deleted file mode 100644
index f849431..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/concordion.css
+++ /dev/null
@@ -1,102 +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.
- */
-* {
-  font-family: Arial;
-}
-body {
-  padding: 32px;  
-}
-pre {
-  padding: 6px 28px 6px 28px;
-  background-color: #E8EEF7;
-}
-pre, pre *, code, code *, kbd {
-  font-family: Courier New, Courier;
-  font-size: 10pt;
-}
-h1, h1 * {
-  font-size: 24pt;
-}
-p, td, th, li, .breadcrumbs {
-  font-size: 10pt;
-}
-p, li {
-  line-height: 140%;
-}
-table {
-  border-collapse: collapse;
-  empty-cells: show;
-  margin: 8px 0px 8px 0px;
-}
-th, td {
-  border: 1px solid black;
-  padding: 3px;
-}
-td {
-  background-color: white;
-  vertical-align: top;
-}
-th {
-  background-color: #C3D9FF;
-}
-li {
-  margin-top: 6px;
-  margin-bottom: 6px; 
-}
-
-
-.example {
-  padding: 2px 12px 6px 12px;
-  border: 1px solid #C3D9FF;
-  margin: 6px 0px 28px 0px;
-  background-color: #F5F9FD;
-}
-.example h3 {
-  margin-top: 8px;
-  margin-bottom: 8px;
-  font-size: 12pt;
-}
-
-.special {
-  font-style: italic;
-}
-
-.idea {
-  font-size: 9pt;
-  color: #888;
-  font-style: italic;	
-}
-.tight li {
-  margin-top: 1px;
-  margin-bottom: 1px; 
-}
-.commentary {
-  float: right;
-  width: 200px;
-  background-color: #ffffd0;
-  padding:8px;
-  border: 3px solid #eeeeb0;	 
-  margin: 10px 0px 10px 10px;	 
-}
-.commentary, .commentary * {
-  font-size: 8pt;
-}
-span {
-  font-style: italic;
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/AllStories.html
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/AllStories.html b/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/AllStories.html
deleted file mode 100644
index 39b3793..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/AllStories.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "file:src/test/resources/dtd/xhtml1-strict.dtd">
-<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"
-    xmlns:concordion="http://www.concordion.org/2007/concordion"
-    xmlns:isis="http://isis.apache.org/2010/concordion">
-<link href="../concordion.css" rel="stylesheet" type="text/css" />
-<body>
-
-<h1>Stories</h1>
-
-<ul>
-	<li>
-	<p><a concordion:run="concordion"
-		href="todo/Index.html">ToDo Item Stories</a></p>
-	</li>
-</ul>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/Fixtures.html
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/Fixtures.html b/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/Fixtures.html
deleted file mode 100644
index b2044e8..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/Fixtures.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "file:src/test/resources/dtd/xhtml1-strict.dtd">
-<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"
-    xmlns:concordion="http://www.concordion.org/2007/concordion"
-    xmlns:isis="http://isis.apache.org/2010/concordion">
-<link href="../../concordion.css" rel="stylesheet" type="text/css" />
-<body>
-
-<h2>Given</h2>
-<ul>
-	<li>
-	<p>bootstrapped in <a concordion:run="concordion"
-		href="../../common/BootstrapInExplorationMode.html">exploration</a> mode</p>
-	</li>
-    <li>
-    <p concordion:execute="#result=usingDateFormat(#format)"><span
-        concordion:assertTrue="#result">using a date format</span> of <span
-        concordion:set="#format">dd-MM-yyyy</span>, and</p>
-    </li>
-	<li>
-	<p concordion:execute="#result=timeIs(#dateTime)"><span
-		concordion:assertTrue="#result">date/time</span> being <span
-		concordion:set="#dateTime">02-03-2007 09:20</span>, and</p>
-	</li>
-	<li>
-	<p concordion:execute="#result=logonAs(#userName)"><span
-		concordion:assertTrue="#result">logged on</span> as <span
-		concordion:set="#userName">fsmith</span></p>
-	</li>
-	<li>
-	<p>with <a concordion:run="concordion"
-		href="../../common/ToDoItems.html">To Do Items</a>.</p>
-	</li>
-</ul>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/Index.html
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/Index.html b/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/Index.html
deleted file mode 100644
index 0a43ec4..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/Index.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "file:src/test/resources/dtd/xhtml1-strict.dtd">
-<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"
-    xmlns:concordion="http://www.concordion.org/2007/concordion"
-    xmlns:isis="http://isis.apache.org/2010/concordion">
-<link href="../../concordion.css" rel="stylesheet" type="text/css" />
-<body>
-
-<h1>ToDo Item Stories</h1>
-
-<ul>
-    <li>
-	<p><a concordion:run="concordion"
-		href="ScenarioMarkItemAsDone.html">mark item as done</a></p>
-	</li>
-</ul>
-
-
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.html
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.html b/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.html
deleted file mode 100644
index beff4b2..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "file:src/test/resources/dtd/xhtml1-strict.dtd">
-<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"
-    xmlns:concordion="http://www.concordion.org/2007/concordion"
-    xmlns:isis="http://isis.apache.org/2010/concordion">
-<link href="../../concordion.css" rel="stylesheet" type="text/css" />
-<body>
-
-<h1>Mark Item As Done</h1>
-
-<div class="example">
-
-<h2>Given</h2>
-<p>
-Given <a concordion:run="concordion"
-        href="Fixtures.html">this fixture</a></p>
-
-<p>Locate to-do item:</p>
-<table
-    isis:execute="#result=usingIsisViewerThatArgs(#onObject, #aliasResultAs, #perform, #onMember, #thatIt, #value)">
-    <tr>
-        <th concordion:set="#onObject">on object</th>
-        <th concordion:set="#aliasResultAs">alias result as</th>
-        <th concordion:set="#perform">perform</th>
-        <th concordion:set="#onMember">on member</th>
-        <th concordion:assertEquals="#result" />
-    </tr>
-    <tr>
-        <td>toDoItems</td>
-        <td>listOfItemsBefore</td>
-        <td>invoke action</td>
-        <td>not yet done</td>
-        <td>ok</td>
-    </tr>
-</table>
-
-<p
-    concordion:execute="#result=aliasItemsInList(#listAlias, #title, #aliasAs)">
-... and then alias the '<span concordion:set="#title">Buy milk</span>' item in the returned <span
-    concordion:set="#listAlias">listOfItemsBefore</span> as <span
-    concordion:set="#aliasAs">buyMilkItem</span>; <span
-    concordion:assertEquals="#result">ok</span>.</p>
-
-<p>Confirm to-do item is not done:</p>
-<table
-    isis:execute="#result=usingIsisViewerThatArgs(#onObject, #aliasResultAs, #perform, #onMember, #thatIt, #value)">
-    <tr>
-        <th concordion:set="#onObject">on object</th>
-        <th concordion:set="#aliasResultAs">alias result as</th>
-        <th concordion:set="#perform">perform</th>
-        <th concordion:set="#onMember">on member</th>
-        <th concordion:set="#thatIt">that it</th>
-        <th concordion:set="#value">value</th>
-        <th concordion:assertEquals="#result" />
-    </tr>
-    <tr>
-        <td>buyMilkItem</td>
-        <td></td>
-        <td>check property</td>
-        <td>Done</td>
-        <td>is</td>
-        <td>False</td>
-        <td>ok</td>
-    </tr>
-</table>
-
-
-
-<h2>When</h2>
-
-<p>Mark as done</p>
-<table
-	isis:execute="#result=usingIsisViewerThatArgs(#onObject, #aliasResultAs, #perform, #onMember, #thatIt, #value)">
-	<tr>
-		<th concordion:set="#onObject">on object</th>
-		<th concordion:set="#aliasResultAs">alias result as</th>
-		<th concordion:set="#perform">perform</th>
-		<th concordion:set="#onMember">on member</th>
-		<th concordion:assertEquals="#result" />
-	</tr>
-    <tr>
-        <td>buyMilkItem</td>
-        <td></td>
-        <td>invoke action</td>
-        <td>mark as done</td>
-        <td>ok</td>
-    </tr>
-</table>
-
-<h2>Then</h2>
-<p>Confirm item is done...</p>
-<table
-    isis:execute="#result=usingIsisViewerThatArgs(#onObject, #aliasResultAs, #perform, #onMember, #thatIt, #value)">
-    <tr>
-        <th concordion:set="#onObject">on object</th>
-        <th concordion:set="#aliasResultAs">alias result as</th>
-        <th concordion:set="#perform">perform</th>
-        <th concordion:set="#onMember">on member</th>
-        <th concordion:set="#thatIt">that it</th>
-        <th concordion:set="#value">value</th>
-        <th concordion:assertEquals="#result" />
-    </tr>
-    <tr>
-        <td>buyMilkItem</td>
-        <td></td>
-        <td>check property</td>
-        <td>Done</td>
-        <td>is</td>
-        <td>True</td>
-        <td>ok</td>
-    </tr>
-</table>
-
-<p>... and that when the list of items is obtained again...</p>
-<table
-    isis:execute="#result=usingIsisViewerThatArgs(#onObject, #aliasResultAs, #perform, #onMember, #thatIt, #value)">
-    <tr>
-        <th concordion:set="#onObject">on object</th>
-        <th concordion:set="#aliasResultAs">alias result as</th>
-        <th concordion:set="#perform">perform</th>
-        <th concordion:set="#onMember">on member</th>
-        <th concordion:assertEquals="#result" />
-    </tr>
-    <tr>
-        <td>toDoItems</td>
-        <td>listOfItemsAfter</td>
-        <td>invoke action</td>
-        <td>not yet done</td>
-        <td>ok</td>
-    </tr>
-</table>
-
-<p concordion:execute="#result=checkCollectionDoesNotContain(#listAlias,#alias)">
-... then the <span concordion:set="#alias">buyMilkItem</span> is no 
-longer in that list (<span concordion:set="#listAlias">listOfItemsAfter</span>);
-  <span concordion:assertEquals="#result">ok</span>.
-</p>
-
-<!-- uncomment the line below to run up the DnD viewer -->
-<!-- 
-<p concordion:execute="runViewer()">run viewer</p>
---></div>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/NOTICE b/mothballed/component/viewer/dnd/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/mothballed/component/viewer/dnd/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/pom.xml b/mothballed/component/viewer/dnd/impl/pom.xml
deleted file mode 100644
index f691a5c..0000000
--- a/mothballed/component/viewer/dnd/impl/pom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.viewer</groupId>
-		<artifactId>isis-viewer-dnd</artifactId>
-		<version>1.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-viewer-dnd-impl</artifactId>
-
-	<name>Isis Drag-n-Drop Viewer Implementation</name>
-
-	<properties>
-        <siteBaseDir>..</siteBaseDir>
-	<relativeUrl>dnd</relativeUrl>
-
-    </properties>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-unittestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-integtestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-bytecode-cglib</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-		<dependency>
-			<groupId>org.easymock</groupId>
-			<artifactId>easymock</artifactId>
-			<scope>test</scope>
-		</dependency>
-
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-junit4</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-	</dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/DndViewer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/DndViewer.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/DndViewer.java
deleted file mode 100644
index 8c1f315..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/DndViewer.java
+++ /dev/null
@@ -1,475 +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.dnd;
-
-import java.awt.Dimension;
-import java.util.StringTokenizer;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.config.IsisConfigurationException;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.factory.InstanceCreationException;
-import org.apache.isis.core.commons.factory.InstanceUtil;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.core.runtime.authentication.exploration.AuthenticationRequestExploration;
-import org.apache.isis.core.runtime.fixtures.authentication.AuthenticationRequestLogonFixture;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.viewer.IsisViewerAbstract;
-import org.apache.isis.viewer.dnd.awt.AwtImageFactory;
-import org.apache.isis.viewer.dnd.awt.AwtToolkit;
-import org.apache.isis.viewer.dnd.awt.LoginDialog;
-import org.apache.isis.viewer.dnd.awt.ViewerFrame;
-import org.apache.isis.viewer.dnd.awt.XViewer;
-import org.apache.isis.viewer.dnd.calendar.CalendarSpecification;
-import org.apache.isis.viewer.dnd.combined.ExpandableListSpecification;
-import org.apache.isis.viewer.dnd.combined.FormWithTableSpecification;
-import org.apache.isis.viewer.dnd.combined.TwoPartViewSpecification;
-import org.apache.isis.viewer.dnd.configurable.ConfigurableObjectViewSpecification;
-import org.apache.isis.viewer.dnd.configurable.GridListSpecification;
-import org.apache.isis.viewer.dnd.configurable.NewViewSpecification;
-import org.apache.isis.viewer.dnd.configurable.PanelViewSpecification;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.field.CheckboxField;
-import org.apache.isis.viewer.dnd.field.ColorField;
-import org.apache.isis.viewer.dnd.field.DateFieldSpecification;
-import org.apache.isis.viewer.dnd.field.EmptyField;
-import org.apache.isis.viewer.dnd.field.FieldOfSpecification;
-import org.apache.isis.viewer.dnd.field.ImageField;
-import org.apache.isis.viewer.dnd.field.PasswordFieldSpecification;
-import org.apache.isis.viewer.dnd.field.TextFieldSpecification;
-import org.apache.isis.viewer.dnd.form.ExpandableFormSpecification;
-import org.apache.isis.viewer.dnd.form.FormSpecification;
-import org.apache.isis.viewer.dnd.form.FormWithDetailSpecification;
-import org.apache.isis.viewer.dnd.form.InternalFormSpecification;
-import org.apache.isis.viewer.dnd.form.SummaryFormSpecification;
-import org.apache.isis.viewer.dnd.grid.GridSpecification;
-import org.apache.isis.viewer.dnd.help.HelpViewer;
-import org.apache.isis.viewer.dnd.help.InternalHelpViewer;
-import org.apache.isis.viewer.dnd.histogram.HistogramSpecification;
-import org.apache.isis.viewer.dnd.icon.LargeIconSpecification;
-import org.apache.isis.viewer.dnd.icon.RootIconSpecification;
-import org.apache.isis.viewer.dnd.icon.SubviewIconSpecification;
-import org.apache.isis.viewer.dnd.list.InternalListSpecification;
-import org.apache.isis.viewer.dnd.list.SimpleListSpecification;
-import org.apache.isis.viewer.dnd.service.PerspectiveContent;
-import org.apache.isis.viewer.dnd.service.ServiceIconSpecification;
-import org.apache.isis.viewer.dnd.table.WindowTableSpecification;
-import org.apache.isis.viewer.dnd.tree.ListWithDetailSpecification;
-import org.apache.isis.viewer.dnd.tree.TreeSpecification;
-import org.apache.isis.viewer.dnd.tree.TreeWithDetailSpecification;
-import org.apache.isis.viewer.dnd.tree2.CollectionTreeNodeSpecification;
-import org.apache.isis.viewer.dnd.tree2.TreeNodeSpecification;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.ShutdownListener;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.ViewUpdateNotifier;
-import org.apache.isis.viewer.dnd.view.base.ViewUpdateNotifierImpl;
-import org.apache.isis.viewer.dnd.view.message.DetailedMessageViewSpecification;
-import org.apache.isis.viewer.dnd.view.message.MessageDialogSpecification;
-import org.apache.isis.viewer.dnd.viewer.SkylarkViewFactory;
-import org.apache.isis.viewer.dnd.viewer.basic.DragContentSpecification;
-import org.apache.isis.viewer.dnd.viewer.basic.InnerWorkspaceSpecification;
-import org.apache.isis.viewer.dnd.viewer.basic.RootWorkspaceSpecification;
-import org.apache.isis.viewer.dnd.viewer.basic.WrappedTextFieldSpecification;
-
-public class DndViewer extends IsisViewerAbstract {
-
-    private static final Logger LOG = LoggerFactory.getLogger(DndViewer.class);
-    private static final String SPECIFICATION_BASE = Properties.PROPERTY_BASE + "specification.";
-    private ViewUpdateNotifier updateNotifier;
-    private ViewerFrame frame;
-    private XViewer viewer;
-    private ShutdownListener shutdownListener;
-    private Bounds bounds;
-    private HelpViewer helpViewer;
-    private boolean acceptingLogIns = true;
-
-    // ////////////////////////////////////
-    // shutdown
-    // ////////////////////////////////////
-
-    @Override
-    public void shutdown() {
-        System.exit(0);
-    }
-
-    private Bounds calculateInitialWindowSize(final Dimension screenSize) {
-        int maxWidth = screenSize.width;
-        final int maxHeight = screenSize.height;
-
-        if ((screenSize.width / screenSize.height) >= 2) {
-            final int f = screenSize.width / screenSize.height;
-            maxWidth = screenSize.width / f;
-        }
-
-        final int width = maxWidth - 80;
-        final int height = maxHeight - 80;
-        final int x = 100;
-        final int y = 100;
-
-        final Size defaultWindowSize = new Size(width, height);
-        defaultWindowSize.limitWidth(800);
-        defaultWindowSize.limitHeight(600);
-
-        final Size size = Properties.getSize(Properties.PROPERTY_BASE + "initial.size", defaultWindowSize);
-        final Location location = Properties.getLocation(Properties.PROPERTY_BASE + "initial.location", new Location(x, y));
-        return new Bounds(location, size);
-    }
-
-    private ViewSpecification loadSpecification(final String name, final Class<?> cls) {
-        final String factoryName = IsisContext.getConfiguration().getString(SPECIFICATION_BASE + name);
-        ViewSpecification spec;
-        if (factoryName != null) {
-            spec = InstanceUtil.createInstance(factoryName, ViewSpecification.class);
-        } else {
-            spec = InstanceUtil.createInstance(cls.getName(), ViewSpecification.class);
-        }
-        return spec;
-    }
-
-    private synchronized void logOut() {
-        LOG.info("user log out");
-        saveDesktop();
-        final AuthenticationSession session = IsisContext.getAuthenticationSession();
-        getAuthenticationManager().closeSession(session);
-        viewer.close();
-        notify();
-    }
-
-    private void saveDesktop() {
-        if (!IsisContext.inSession()) {
-            // can't do anything
-            return;
-        }
-        viewer.saveOpenObjects();
-    }
-
-    protected void quit() {
-        LOG.info("user quit");
-        saveDesktop();
-        acceptingLogIns = false;
-        shutdown();
-    }
-
-    @Override
-    public synchronized void init() {
-        super.init();
-
-        new AwtImageFactory(IsisContext.getTemplateImageLoader());
-        new AwtToolkit();
-
-        setShutdownListener(new ShutdownListener() {
-            @Override
-            public void logOut() {
-                DndViewer.this.logOut();
-            }
-
-            @Override
-            public void quit() {
-                DndViewer.this.quit();
-            }
-        });
-
-        updateNotifier = new ViewUpdateNotifierImpl();
-
-        if (updateNotifier == null) {
-            throw new NullPointerException("No update notifier set for " + this);
-        }
-        if (shutdownListener == null) {
-            throw new NullPointerException("No shutdown listener set for " + this);
-        }
-
-        while (acceptingLogIns) {
-            if (login()) {
-                openViewer();
-                try {
-                    wait();
-                } catch (final InterruptedException e) {
-                }
-            } else {
-                quit();
-            }
-        }
-    }
-
-    // ////////////////////////////////////
-    // login
-    // ////////////////////////////////////
-
-    // TODO: nasty
-    private boolean loggedInUsingLogonFixture = false;
-
-    /**
-     * TODO: there is similar code in
-     * <tt>AuthenticationSessionLookupStrategyDefault</tt>; should try to
-     * combine somehow...
-     */
-    private boolean login() {
-        final AuthenticationRequest request = determineRequestIfPossible();
-
-        // we may have enough to get a session
-        AuthenticationSession session = getAuthenticationManager().authenticate(request);
-        clearAuthenticationRequestViaArgs();
-
-        if (session == null) {
-            session = loginDialogPrompt(request);
-        }
-        if (session == null) {
-            return false;
-        } else {
-            IsisContext.openSession(session);
-            return true;
-        }
-    }
-
-    private AuthenticationSession loginDialogPrompt(final AuthenticationRequest request) {
-        AuthenticationSession session;
-        final LoginDialog dialog = new LoginDialog(getAuthenticationManager());
-        if (request != null) {
-            dialog.setUserName(request.getName());
-        }
-        dialog.setVisible(true);
-        dialog.toFront();
-        dialog.login();
-        dialog.setVisible(false);
-        dialog.dispose();
-        session = dialog.getSession();
-        return session;
-    }
-
-    private AuthenticationRequest determineRequestIfPossible() {
-
-        // command line args
-        AuthenticationRequest request = getAuthenticationRequestViaArgs();
-        ;
-
-        // exploration & (optionally) logon fixture provided
-        if (request == null) {
-            if (getDeploymentType().isExploring()) {
-                request = new AuthenticationRequestExploration(getLogonFixture());
-            }
-        }
-
-        // logon fixture provided
-        if (request == null) {
-            if (getLogonFixture() != null && !loggedInUsingLogonFixture) {
-                loggedInUsingLogonFixture = true;
-                request = new AuthenticationRequestLogonFixture(getLogonFixture());
-            }
-        }
-        return request;
-    }
-
-    private void openViewer() {
-        frame = new ViewerFrame();
-
-        if (bounds == null) {
-            bounds = calculateInitialWindowSize(frame.getToolkit().getScreenSize());
-        }
-
-        frame.pack(); // forces insets to be calculated, hence need to then set
-                      // bounds
-        frame.setBounds(bounds.getX(), bounds.getY(), bounds.getWidth(), bounds.getHeight());
-
-        viewer = (XViewer) Toolkit.getViewer();
-        viewer.setRenderingArea(frame);
-        viewer.setUpdateNotifier(updateNotifier);
-        viewer.setListener(shutdownListener);
-        viewer.setExploration(isInExplorationMode());
-        viewer.setPrototype(isInPrototypeMode());
-
-        if (helpViewer == null) {
-            helpViewer = new InternalHelpViewer(viewer);
-        }
-        viewer.setHelpViewer(helpViewer);
-
-        frame.setViewer(viewer);
-
-        final AuthenticationSession currentSession = IsisContext.getAuthenticationSession();
-        if (currentSession == null) {
-            throw new NullPointerException("No session for " + this);
-        }
-
-        setupViewFactory();
-
-        final UserProfile userProfiler = IsisContext.getUserProfile();
-
-        // TODO viewer should be shown during init() (so login can take place on
-        // main window, and can quit
-        // before
-        // logging in), and should be updated during start to show context.
-
-        // TODO resolving should be done by the views?
-        // resolveApplicationContextCollection(rootObject, "services");
-        // resolveApplicationContextCollection(rootObject, "objects");
-        final RootWorkspaceSpecification spec = new RootWorkspaceSpecification();
-        final PerspectiveContent content = new PerspectiveContent(userProfiler.getPerspective());
-        if (spec.canDisplay(new ViewRequirement(content, ViewRequirement.CLOSED))) {
-            // View view = spec.createView(new RootObject(rootObject), null);
-            final View view = spec.createView(content, new Axes(), -1);
-            viewer.setRootView(view);
-        } else {
-            throw new IsisException();
-        }
-
-        viewer.init();
-
-        final String name = userProfiler.getPerspective().getName();
-        frame.setTitle(name);
-        frame.init();
-
-        viewer.initSize();
-        viewer.scheduleRepaint();
-
-        frame.setVisible(true);
-        frame.toFront();
-    }
-
-    private boolean isInExplorationMode() {
-        return getDeploymentType().isExploring();
-    }
-
-    private boolean isInPrototypeMode() {
-        return getDeploymentType().isPrototyping();
-    }
-
-    public void setBounds(final Bounds bounds) {
-        this.bounds = bounds;
-    }
-
-    public void setHelpViewer(final HelpViewer helpViewer) {
-        this.helpViewer = helpViewer;
-    }
-
-    public void setShutdownListener(final ShutdownListener shutdownListener) {
-        this.shutdownListener = shutdownListener;
-    }
-
-    private void setupViewFactory() throws IsisConfigurationException, InstanceCreationException {
-        final SkylarkViewFactory viewFactory = (SkylarkViewFactory) Toolkit.getViewFactory();
-
-        LOG.debug("setting up default views (provided by the framework)");
-
-        /*
-         * viewFactory.addValueFieldSpecification(loadSpecification("field.option"
-         * , OptionSelectionField.Specification.class));
-         * viewFactory.addValueFieldSpecification
-         * (loadSpecification("field.percentage",
-         * PercentageBarField.Specification.class));
-         * viewFactory.addValueFieldSpecification
-         * (loadSpecification("field.timeperiod",
-         * TimePeriodBarField.Specification.class));
-         */
-        viewFactory.addSpecification(loadSpecification("field.image", ImageField.Specification.class));
-        viewFactory.addSpecification(loadSpecification("field.color", ColorField.Specification.class));
-        viewFactory.addSpecification(loadSpecification("field.password", PasswordFieldSpecification.class));
-        viewFactory.addSpecification(loadSpecification("field.wrappedtext", WrappedTextFieldSpecification.class));
-        viewFactory.addSpecification(loadSpecification("field.checkbox", CheckboxField.Specification.class));
-        viewFactory.addSpecification(loadSpecification("field.date", DateFieldSpecification.class));
-        viewFactory.addSpecification(loadSpecification("field.text", TextFieldSpecification.class));
-        viewFactory.addSpecification(new RootWorkspaceSpecification());
-        viewFactory.addSpecification(new InnerWorkspaceSpecification());
-
-        if (IsisContext.getConfiguration().getBoolean(SPECIFICATION_BASE + "defaults", true)) {
-            viewFactory.addSpecification(new FieldOfSpecification());
-
-            viewFactory.addSpecification(new InternalListSpecification());
-            viewFactory.addSpecification(new SimpleListSpecification());
-            viewFactory.addSpecification(new GridSpecification());
-            // TBA viewFactory.addSpecification(new
-            // ListWithExpandableElementsSpecification());
-            // TBA
-            viewFactory.addSpecification(new CalendarSpecification());
-            viewFactory.addSpecification(new ListWithDetailSpecification());
-            viewFactory.addSpecification(new HistogramSpecification());
-
-            viewFactory.addSpecification(new TreeWithDetailSpecification());
-            viewFactory.addSpecification(new FormSpecification());
-            viewFactory.addSpecification(new FormWithTableSpecification());
-            viewFactory.addSpecification(new WindowTableSpecification());
-            // TBA
-            viewFactory.addSpecification(new ExpandableFormSpecification());
-            viewFactory.addSpecification(new InternalFormSpecification());
-            viewFactory.addSpecification(new TwoPartViewSpecification());
-            // TBA
-            viewFactory.addSpecification(new FormWithDetailSpecification());
-
-            viewFactory.addSpecification(new SummaryFormSpecification());
-
-            viewFactory.addSpecification(new TreeSpecification());
-            // TODO allow window form to be used for objects with limited number
-            // of collections
-            // viewFactory.addSpecification(new TreeWithDetailSpecification(0,
-            // 3));
-
-            viewFactory.addDesignSpecification(new GridListSpecification());
-            viewFactory.addDesignSpecification(new ConfigurableObjectViewSpecification());
-            viewFactory.addDesignSpecification(new PanelViewSpecification());
-            viewFactory.addDesignSpecification(new NewViewSpecification());
-        }
-
-        viewFactory.addSpecification(new MessageDialogSpecification());
-        viewFactory.addSpecification(new DetailedMessageViewSpecification());
-
-        viewFactory.addEmptyFieldSpecification(loadSpecification("field.empty", EmptyField.Specification.class));
-
-        viewFactory.addSpecification(loadSpecification("icon.object", RootIconSpecification.class));
-        viewFactory.addSpecification(loadSpecification("icon.subview", SubviewIconSpecification.class));
-        viewFactory.addSpecification(loadSpecification("icon.collection", ExpandableListSpecification.class));
-        viewFactory.addSpecification(new LargeIconSpecification());
-
-        viewFactory.addSpecification(loadSpecification("icon.service", ServiceIconSpecification.class));
-        viewFactory.setDragContentSpecification(loadSpecification("drag-content", DragContentSpecification.class));
-
-        // TODO remove or move to better position
-        final ViewSpecification[] specifications = CollectionTreeNodeSpecification.create();
-        viewFactory.addSpecification(specifications[0]);
-        viewFactory.addSpecification(specifications[1]);
-        viewFactory.addSpecification(new TreeNodeSpecification());
-
-        installSpecsFromConfiguration(viewFactory);
-
-        viewFactory.loadUserViewSpecifications();
-    }
-
-    private void installSpecsFromConfiguration(final SkylarkViewFactory viewFactory) {
-        final String viewParams = IsisContext.getConfiguration().getString(SPECIFICATION_BASE + "view");
-        if (viewParams != null) {
-            final StringTokenizer st = new StringTokenizer(viewParams, ",");
-            while (st.hasMoreTokens()) {
-                final String specName = st.nextToken().trim();
-                if (specName != null && !specName.trim().equals("")) {
-                    viewFactory.addSpecification(specName);
-                }
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/DndViewerInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/DndViewerInstaller.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/DndViewerInstaller.java
deleted file mode 100644
index a5b909f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/DndViewerInstaller.java
+++ /dev/null
@@ -1,36 +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.dnd;
-
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstallerAbstract;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
-
-public class DndViewerInstaller extends IsisViewerInstallerAbstract {
-
-    public DndViewerInstaller() {
-        super("dnd");
-    }
-
-    @Override
-    public IsisViewer doCreateViewer() {
-        return new DndViewer();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AWTUtilities.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AWTUtilities.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AWTUtilities.java
deleted file mode 100644
index 64c33a3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AWTUtilities.java
+++ /dev/null
@@ -1,37 +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.dnd.awt;
-
-import java.awt.Frame;
-import java.awt.Image;
-import java.net.URL;
-
-public class AWTUtilities {
-
-    public static void addWindowIcon(final Frame window, final String file) {
-        final URL url = ViewerFrame.class.getResource("/" + "images/" + file);
-        if (url != null) {
-            final Image image = java.awt.Toolkit.getDefaultToolkit().getImage(url);
-            if (image != null) {
-                window.setIconImage(image);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtCanvas.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtCanvas.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtCanvas.java
deleted file mode 100644
index 48e7790..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtCanvas.java
+++ /dev/null
@@ -1,263 +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.dnd.awt;
-
-import java.awt.Font;
-import java.awt.Graphics;
-import java.awt.Polygon;
-import java.awt.Rectangle;
-import java.awt.image.ImageObserver;
-import java.util.StringTokenizer;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Shape;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.base.AwtImage;
-
-public class AwtCanvas implements Canvas {
-    private java.awt.Color color;
-    private Font font;
-    private final Graphics graphics;
-    private final RenderingArea renderingArea;
-
-    private AwtCanvas(final Graphics graphics, final RenderingArea renderingArea) {
-        this.graphics = graphics;
-        this.renderingArea = renderingArea;
-    }
-
-    public AwtCanvas(final Graphics bufferGraphic, final RenderingArea renderingArea, final int x, final int y, final int width, final int height) {
-        graphics = bufferGraphic;
-        this.renderingArea = renderingArea;
-        graphics.clipRect(x, y, width, height);
-    }
-
-    private Polygon createOval(final int x, final int y, final int width, final int height) {
-        final int points = 40;
-        final int xPoints[] = new int[points];
-        final int yPoints[] = new int[points];
-        double radians = 0.0;
-        for (int i = 0; i < points; i++) {
-            xPoints[i] = x + (int) (width / 2.0) + (int) (width / 2.0 * Math.cos(radians));
-            yPoints[i] = y + (int) (height / 2.0) + (int) (height / 2.0 * Math.sin(radians));
-            radians += (2.0 * Math.PI) / points;
-        }
-        final Polygon p = new Polygon(xPoints, yPoints, points);
-        return p;
-    }
-
-    @Override
-    public Canvas createSubcanvas() {
-        return new AwtCanvas(graphics.create(), renderingArea);
-    }
-
-    @Override
-    public Canvas createSubcanvas(final Bounds bounds) {
-        return createSubcanvas(bounds.getX(), bounds.getY(), bounds.getWidth(), bounds.getHeight());
-    }
-
-    @Override
-    public Canvas createSubcanvas(final int x, final int y, final int width, final int height) {
-        final Graphics g = graphics.create();
-        // this form of clipping must go here!
-        g.translate(x, y);
-        return new AwtCanvas(g, renderingArea, 0, 0, width, height);
-    }
-
-    @Override
-    public void draw3DRectangle(final int x, final int y, final int width, final int height, final Color color, final boolean raised) {
-        useColor(color);
-        graphics.draw3DRect(x, y, width - 1, height - 1, raised);
-    }
-
-    @Override
-    public void drawDebugOutline(final Bounds bounds, final int baseline, final Color color) {
-        final int width = bounds.getWidth();
-        final int height = bounds.getHeight();
-        drawRectangle(bounds.getX(), bounds.getY(), width, height, color);
-        final int midpoint = bounds.getY() + height / 2;
-        drawLine(bounds.getX(), midpoint, width - 2, midpoint, color);
-        if (baseline > 0) {
-            drawLine(bounds.getX(), baseline, width - 1, baseline, Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BASELINE));
-        }
-    }
-
-    @Override
-    public void drawImage(final Image image, final int x, final int y) {
-        graphics.drawImage(((AwtImage) image).getAwtImage(), x, y, (ImageObserver) renderingArea);
-    }
-
-    @Override
-    public void drawImage(final Image image, final int x, final int y, final int width, final int height) {
-        graphics.drawImage(((AwtImage) image).getAwtImage(), x, y, width - 1, height - 1, (ImageObserver) renderingArea);
-    }
-
-    @Override
-    public void drawLine(final int x, final int y, final int x2, final int y2, final Color color) {
-        useColor(color);
-        graphics.drawLine(x, y, x2, y2);
-    }
-
-    @Override
-    public void drawLine(final Location start, final int xExtent, final int yExtent, final Color color) {
-        drawLine(start.getX(), start.getY(), start.getX() + xExtent, start.getY() + yExtent, color);
-    }
-
-    @Override
-    public void drawOval(final int x, final int y, final int width, final int height, final Color color) {
-        useColor(color);
-        final Polygon p = createOval(x, y, width - 1, height - 1);
-        graphics.drawPolygon(p);
-    }
-
-    @Override
-    public void drawRectangle(final int x, final int y, final int width, final int height, final Color color) {
-        useColor(color);
-        graphics.drawRect(x, y, width - 1, height - 1);
-    }
-
-    @Override
-    public void drawRectangleAround(final Bounds bounds, final Color color) {
-        drawRectangle(0, 0, bounds.getWidth(), bounds.getHeight(), color);
-    }
-
-    @Override
-    public void drawRoundedRectangle(final int x, final int y, final int width, final int height, final int arcWidth, final int arcHeight, final Color color) {
-        useColor(color);
-        graphics.drawRoundRect(x, y, width - 1, height - 1, arcWidth, arcHeight);
-    }
-
-    @Override
-    public void drawShape(final Shape shape, final Color color) {
-        useColor(color);
-        graphics.drawPolygon(shape.getX(), shape.getY(), shape.count());
-    }
-
-    @Override
-    public void drawShape(final Shape shape, final int x, final int y, final Color color) {
-        final Shape copy = new Shape(shape);
-        copy.translate(x, y);
-        drawShape(copy, color);
-    }
-
-    @Override
-    public void drawSolidOval(final int x, final int y, final int width, final int height, final Color color) {
-        useColor(color);
-        final Polygon p = createOval(x, y, width, height);
-        graphics.fillPolygon(p);
-    }
-
-    @Override
-    public void drawSolidRectangle(final int x, final int y, final int width, final int height, final Color color) {
-        useColor(color);
-        graphics.fillRect(x, y, width, height);
-    }
-
-    @Override
-    public void drawSolidShape(final Shape shape, final Color color) {
-        useColor(color);
-        graphics.fillPolygon(shape.getX(), shape.getY(), shape.count());
-    }
-
-    @Override
-    public void drawSolidShape(final Shape shape, final int x, final int y, final Color color) {
-        final Shape copy = new Shape(shape);
-        copy.translate(x, y);
-        drawSolidShape(copy, color);
-    }
-
-    @Override
-    public void drawText(final String text, final int x, final int y, final Color color, final Text style) {
-        useColor(color);
-        useFont(style);
-        graphics.drawString(text, x, y);
-    }
-
-    @Override
-    public void drawText(final String text, final int x, final int y, final int maxWidth, final Color color, final Text style) {
-        useColor(color);
-        useFont(style);
-
-        int top = y;
-        final StringTokenizer lines = new StringTokenizer(text, "\n\r");
-        while (lines.hasMoreTokens()) {
-            final String line = lines.nextToken();
-            final StringTokenizer words = new StringTokenizer(line, " ");
-            final StringBuffer l = new StringBuffer();
-            int width = 0;
-            while (words.hasMoreTokens()) {
-                final String nextWord = words.nextToken();
-                final int wordWidth = style.stringWidth(nextWord);
-                width += wordWidth;
-                if (width >= maxWidth) {
-                    graphics.drawString(l.toString(), x + (line.startsWith("\t") ? 20 : 00), top);
-                    top += style.getLineHeight();
-                    l.setLength(0);
-                    width = wordWidth;
-                }
-                l.append(nextWord);
-                l.append(" ");
-                width += style.stringWidth(" ");
-            }
-            graphics.drawString(l.toString(), x + (line.startsWith("\t") ? 20 : 00), top);
-            top += style.getLineHeight();
-        }
-    }
-
-    @Override
-    public void offset(final int x, final int y) {
-        graphics.translate(x, y);
-    }
-
-    @Override
-    public boolean overlaps(final Bounds bounds) {
-        final Rectangle clip = graphics.getClipBounds();
-        final Bounds activeArea = new Bounds(clip.x, clip.y, clip.width, clip.height);
-        return bounds.intersects(activeArea);
-    }
-
-    @Override
-    public String toString() {
-        final Rectangle cb = graphics.getClipBounds();
-        return "Canvas [area=" + cb.x + "," + cb.y + " " + cb.width + "x" + cb.height + ",color=" + color + ",font=" + font + "]";
-    }
-
-    private void useColor(final Color color) {
-        final java.awt.Color awtColor = ((AwtColor) color).getAwtColor();
-
-        if (this.color != awtColor) {
-            this.color = awtColor;
-            graphics.setColor(awtColor);
-        }
-    }
-
-    private void useFont(final Text style) {
-        final Font font = ((AwtText) style).getAwtFont();
-        if (this.font != font) {
-            this.font = font;
-            graphics.setFont(font);
-        }
-    }
-}


[10/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java
deleted file mode 100644
index b8f2d9f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java
+++ /dev/null
@@ -1,196 +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.dnd.view.composite;
-
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.UnknownTypeException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.util.AdapterUtils;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.base.FieldErrorView;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public class ObjectFieldBuilder extends AbstractViewBuilder {
-    private static final Logger LOG = LoggerFactory.getLogger(ObjectFieldBuilder.class);
-
-    // REVIEW: confirm this rendering context
-    private final Where where = Where.OBJECT_FORMS;
-
-    private final ViewFactory subviewDesign;
-
-    // TODO remove - transitional
-    public ObjectFieldBuilder(final ViewFactory subviewDesign) {
-        this.subviewDesign = subviewDesign;
-    }
-
-    public ObjectFieldBuilder(final ViewFactory subviewDesign, final SubviewDecorator subviewDecorator) {
-        this.subviewDesign = subviewDesign;
-        addSubviewDecorator(subviewDecorator);
-    }
-
-    @Override
-    public void build(final View view, final Axes axes) {
-        Assert.assertEquals("ensure the view is the complete decorated view", view.getView(), view);
-
-        final Content content = view.getContent();
-        final ObjectAdapter object = ((ObjectContent) content).getObject();
-
-        LOG.debug("build view " + view + " for " + object);
-
-        final ObjectSpecification spec = object.getSpecification();
-        final Filter<ObjectAssociation> filter = ObjectAssociation.Filters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where);
-        final List<ObjectAssociation> flds = spec.getAssociations(Contributed.EXCLUDED, filter);
-
-        if (view.getSubviews().length == 0) {
-            initialBuild(view, axes, object, flds);
-        } else {
-            updateBuild(view, axes, object, flds);
-        }
-    }
-
-    private void initialBuild(final View view, final Axes axes, final ObjectAdapter object, final List<ObjectAssociation> flds) {
-        LOG.debug("  as new build");
-        // addViewAxes(view);
-        for (int f = 0; f < flds.size(); f++) {
-            final ObjectAssociation field = flds.get(f);
-            addField(view, axes, object, field, f);
-        }
-    }
-
-    private void addField(final View view, final Axes axes, final ObjectAdapter object, final ObjectAssociation field, final int fieldNumber) {
-        final View fieldView = createFieldView(view, axes, object, fieldNumber, field);
-        if (fieldView != null) {
-            view.addView(decorateSubview(axes, fieldView));
-        }
-    }
-
-    private void updateBuild(final View view, final Axes axes, final ObjectAdapter object, final List<ObjectAssociation> flds) {
-        LOG.debug("  as update build");
-        /*
-         * 1/ To remove fields: look through views and remove any that don't
-         * exists in visible fields
-         * 
-         * 2/ From remaining views, check for changes as already being done, and
-         * replace if needed
-         * 
-         * 3/ Finally look through fields to see if there is no existing
-         * subview; and add one
-         */
-
-        View[] subviews = view.getSubviews();
-
-        // remove views for fields that no longer exist
-        outer: for (int i = 0; i < subviews.length; i++) {
-            final FieldContent fieldContent = ((FieldContent) subviews[i].getContent());
-
-            for (int j = 0; j < flds.size(); j++) {
-                final ObjectAssociation field = flds.get(j);
-                if (fieldContent.getField() == field) {
-                    continue outer;
-                }
-            }
-            view.removeView(subviews[i]);
-        }
-
-        // update existing fields if needed
-        subviews = view.getSubviews();
-        for (int i = 0; i < subviews.length; i++) {
-            final View subview = subviews[i];
-            final ObjectAssociation field = ((FieldContent) subview.getContent()).getField();
-            final ObjectAdapter value = field.get(object);
-
-            if (field.isOneToManyAssociation()) {
-                subview.update(value);
-            } else if (field.isOneToOneAssociation()) {
-                final ObjectAdapter existing = subview.getContent().getAdapter();
-
-                // if the field is parseable then it may have been modified; we
-                // need to replace what was
-                // typed in with the actual title.
-                if (!field.getSpecification().isParseable()) {
-                    final boolean changedValue = value != existing;
-                    final boolean isDestroyed = existing != null && existing.isDestroyed();
-                    if (changedValue || isDestroyed) {
-                        View fieldView;
-                        fieldView = createFieldView(view, axes, object, i, field);
-                        if (fieldView != null) {
-                            view.replaceView(subview, decorateSubview(axes, fieldView));
-                        } else {
-                            view.addView(new FieldErrorView("No field for " + value));
-                        }
-                    }
-                } else {
-                    if (AdapterUtils.exists(value) && !AdapterUtils.wrappedEqual(value, existing)) {
-                        final View fieldView = createFieldView(view, axes, object, i, field);
-                        view.replaceView(subview, decorateSubview(axes, fieldView));
-                    } else {
-                        subview.refresh();
-                    }
-                }
-            } else {
-                throw new UnknownTypeException(field.getName());
-            }
-        }
-
-        // add new fields
-        outer2: for (int j = 0; j < flds.size(); j++) {
-            final ObjectAssociation field = flds.get(j);
-            for (int i = 0; i < subviews.length; i++) {
-                final FieldContent fieldContent = ((FieldContent) subviews[i].getContent());
-                if (fieldContent.getField() == field) {
-                    continue outer2;
-                }
-            }
-            addField(view, axes, object, field, j);
-        }
-    }
-
-    private View createFieldView(final View view, final Axes axes, final ObjectAdapter object, final int fieldNumber, final ObjectAssociation field) {
-        if (field == null) {
-            throw new NullPointerException();
-        }
-
-        if (field.isOneToOneAssociation()) {
-            IsisContext.getPersistenceSession().resolveField(object, field);
-        }
-
-        final Content content1 = Toolkit.getContentFactory().createFieldContent(field, object);
-        final View fieldView = subviewDesign.createView(content1, axes, fieldNumber);
-        return fieldView;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ReplaceViewBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ReplaceViewBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ReplaceViewBorder.java
deleted file mode 100644
index 7252e52..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ReplaceViewBorder.java
+++ /dev/null
@@ -1,57 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.form.FormSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-public class ReplaceViewBorder extends AbstractBorder {
-
-    protected ReplaceViewBorder(final View view) {
-        super(view);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final Bounds b = getButtonBounds();
-        canvas.drawRoundedRectangle(b.getX(), b.getY(), b.getWidth(), b.getHeight(), 6, 6, Toolkit.getColor(0xfff));
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        if (getButtonBounds().contains(click.getLocation())) {
-            final View view = new FormSpecification().createView(getContent(), new Axes(), 0);
-            getWorkspace().replaceView(getParent(), view);
-        }
-    }
-
-    private Bounds getButtonBounds() {
-        final int x = getSize().getWidth() - 28;
-        return new Bounds(x, 8, 20, 16);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/StackLayout.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/StackLayout.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/StackLayout.java
deleted file mode 100644
index 3d224c3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/StackLayout.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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-
-/**
- * A stack layout stacks its components vertically, one on top of the other,
- * working down from the top. Each component is given the space it requests.
- * Components adopt the width of the widest component when that component's view
- * specification's <code>isAligned</code> method returns <code>true</code>, or
- * the layout's <code>fixedWidth</code> flag is set (via the two parameter
- * constructor).
- * 
- */
-public class StackLayout implements Layout {
-    private final boolean fixedWidth;
-
-    public StackLayout() {
-        this.fixedWidth = false;
-    }
-
-    public StackLayout(final boolean fixedWidth) {
-        this.fixedWidth = fixedWidth;
-    }
-
-    @Override
-    public Size getRequiredSize(final View view) {
-        int height = 0;
-        int width = 0;
-        final View views[] = view.getSubviews();
-
-        for (final View v : views) {
-            final Size s = v.getRequiredSize(new Size(Integer.MAX_VALUE, Integer.MAX_VALUE));
-            width = Math.max(width, s.getWidth());
-            height += s.getHeight();
-        }
-
-        return new Size(width, height);
-    }
-
-    @Override
-    public void layout(final View view, final Size maximumSize) {
-        final int x = 0;
-        int y = 0;
-        final View subviews[] = view.getSubviews();
-
-        int maxWidth = 0;
-        for (final View v : subviews) {
-            final Size s = v.getRequiredSize(new Size(maximumSize));
-            maxWidth = Math.max(maxWidth, s.getWidth());
-        }
-
-        for (final View v : subviews) {
-            final Size s = v.getRequiredSize(new Size(maximumSize));
-            s.limitWidth(maximumSize.getWidth());
-            if (fixedWidth || v.getSpecification().isAligned()) {
-                s.ensureWidth(maxWidth);
-            }
-            v.setSize(s);
-            v.setLocation(new Location(x, y));
-            y += s.getHeight();
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/StandardFields.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/StandardFields.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/StandardFields.java
deleted file mode 100644
index 9caba31..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/StandardFields.java
+++ /dev/null
@@ -1,74 +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.dnd.view.composite;
-
-import org.apache.isis.core.commons.exceptions.UnknownTypeException;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.GlobalViewFactory;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-
-/**
- * A view factory for the components of a container
- */
-public class StandardFields implements ViewFactory {
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final GlobalViewFactory factory = Toolkit.getViewFactory();
-
-        int requirement = 0;
-        if (content.isObject()) {
-            requirement = objectRequirement();
-        } else if (content.isTextParseable()) {
-            requirement = textParseableRequirement();
-        } else if (content.isCollection()) {
-            requirement = collectionRequirement();
-        } else {
-            throw new UnknownTypeException(content);
-        }
-
-        if (requirement != 0 && include(content, sequence)) {
-            final ViewRequirement viewRequirement = new ViewRequirement(content, requirement);
-            return factory.createView(viewRequirement);
-        } else {
-            return null;
-        }
-    }
-
-    protected boolean include(final Content content, final int sequence) {
-        return true;
-    }
-
-    protected int objectRequirement() {
-        return ViewRequirement.CLOSED | ViewRequirement.SUBVIEW;
-    }
-
-    protected int textParseableRequirement() {
-        return ViewRequirement.CLOSED | ViewRequirement.SUBVIEW;
-    }
-
-    protected int collectionRequirement() {
-        return ViewRequirement.CLOSED | ViewRequirement.SUBVIEW;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ViewBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ViewBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ViewBuilder.java
deleted file mode 100644
index 4d6fef5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ViewBuilder.java
+++ /dev/null
@@ -1,58 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-
-public interface ViewBuilder {
-
-    void addSubviewDecorator(SubviewDecorator decorator);
-
-    void createAxes(Axes axes, Content content);
-
-    void build(View view, Axes axes);
-
-    /**
-     * Indicates whether this view is expanded, or iconized.
-     * 
-     * @return true if it is showing the object's details; false if it is
-     *         showing the object only.
-     */
-    boolean isOpen();
-
-    /**
-     * Indicates whether this view can be replaced with another view (for the
-     * same value or reference).
-     * 
-     * @return true if it can be replaced by another view; false if it can't be
-     *         replaces
-     */
-    boolean isReplaceable();
-
-    boolean isSubView();
-
-    boolean canDragView();
-
-    void viewMenuOptions(UserActionSet options, View view);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractContent.java
deleted file mode 100644
index ac2ca9f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractContent.java
+++ /dev/null
@@ -1,58 +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.dnd.view.content;
-
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-
-public abstract class AbstractContent implements Content {
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-    }
-
-    @Override
-    public boolean isCollection() {
-        return false;
-    }
-
-    @Override
-    public boolean isObject() {
-        return false;
-    }
-
-    @Override
-    public boolean isPersistable() {
-        return false;
-    }
-
-    @Override
-    public boolean isTextParseable() {
-        return false;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-    }
-
-    @Override
-    public String windowTitle() {
-        return "";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java
deleted file mode 100644
index 6586e08..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java
+++ /dev/null
@@ -1,294 +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.dnd.view.content;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.query.QueryFindAllInstances;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.ResolveState;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.ConsentAbstract;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.services.container.query.QueryCardinality;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.Persistability;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.Persistor;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public abstract class AbstractObjectContent extends AbstractContent implements ObjectContent {
-
-    public static final class ExplorationInstances extends UserActionAbstract {
-
-        public ExplorationInstances() {
-            super("Instances", ActionType.EXPLORATION);
-        }
-
-        @Override
-        public Consent disabled(final View view) {
-            final ObjectAdapter object = view.getContent().getAdapter();
-            return ConsentAbstract.allowIf(object != null);
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            final ObjectAdapter object = view.getContent().getAdapter();
-            final ObjectSpecification spec = object.getSpecification();
-            final ObjectAdapter instances = IsisContext.getPersistenceSession().findInstances(new QueryFindAllInstances(spec.getFullIdentifier()), QueryCardinality.MULTIPLE);
-            workspace.objectActionResult(instances, new Placement(view));
-        }
-    }
-
-    public static final class ExplorationClone extends UserActionAbstract {
-
-        public ExplorationClone() {
-            super("Clone", ActionType.EXPLORATION);
-        }
-
-        @Override
-        public Consent disabled(final View view) {
-            final ObjectAdapter object = view.getContent().getAdapter();
-            return ConsentAbstract.allowIf(object != null);
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            final ObjectAdapter original = view.getContent().getAdapter();
-            // ObjectAdapter original = getObject();
-            final ObjectSpecification spec = original.getSpecification();
-
-            final ObjectAdapter clone = getPersistenceSession().createTransientInstance(spec);
-            final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED);
-            for (int i = 0; i < fields.size(); i++) {
-                final ObjectAdapter fld = fields.get(i).get(original);
-
-                if (fields.get(i).isOneToOneAssociation()) {
-                    ((OneToOneAssociation) fields.get(i)).setAssociation(clone, fld);
-                } else if (fields.get(i).isOneToManyAssociation()) {
-                    // clone.setValue((OneToOneAssociation) fields[i],
-                    // fld.getObject());
-                }
-            }
-
-            workspace.objectActionResult(clone, new Placement(view));
-        }
-    }
-
-    public static final class DebugClearResolvedOption extends UserActionAbstract {
-
-        private DebugClearResolvedOption() {
-            super("Clear resolved", ActionType.DEBUG);
-        }
-
-        @Override
-        public Consent disabled(final View view) {
-            final ObjectAdapter object = view.getContent().getAdapter();
-            return ConsentAbstract.allowIf(object == null || !object.isTransient() || object.isGhost());
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            final ObjectAdapter object = view.getContent().getAdapter();
-            object.changeState(ResolveState.GHOST);
-        }
-    }
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    protected final Where where = Where.ANYWHERE;
-
-    @Override
-    public abstract Consent canClear();
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        final ObjectAdapter target = getObject();
-        if (!(sourceContent instanceof ObjectContent) || target == null) {
-            // TODO: move logic into Facet
-            return new Veto(String.format("Can't drop %s onto empty target", sourceContent.getAdapter().titleString()));
-        } else {
-            final ObjectAdapter source = ((ObjectContent) sourceContent).getObject();
-            return canDropOntoObject(target, source);
-        }
-    }
-
-    private Consent canDropOntoObject(final ObjectAdapter target, final ObjectAdapter source) {
-        final ObjectAction action = dropAction(source, target);
-        if (action != null) {
-            final Consent parameterSetValid = action.isProposedArgumentSetValid(target, new ObjectAdapter[] { source });
-            parameterSetValid.setDescription("Execute '" + action.getName() + "' with " + source.titleString());
-            return parameterSetValid;
-        } else {
-            return setFieldOfMatchingType(target, source);
-        }
-    }
-
-    private Consent setFieldOfMatchingType(final ObjectAdapter targetAdapter, final ObjectAdapter sourceAdapter) {
-        if (targetAdapter.isTransient() && sourceAdapter.representsPersistent()) {
-            // TODO: use Facet for this test instead.
-            return new Veto("Can't set field in persistent object with reference to non-persistent object");
-        }
-        final List<ObjectAssociation> fields = targetAdapter.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.dynamicallyVisible(IsisContext.getAuthenticationSession(), targetAdapter, where));
-        for (final ObjectAssociation fld : fields) {
-            if (!fld.isOneToOneAssociation()) {
-                continue;
-            }
-            if (!sourceAdapter.getSpecification().isOfType(fld.getSpecification())) {
-                continue;
-            }
-            if (fld.get(targetAdapter) != null) {
-                continue;
-            }
-            final Consent associationValid = ((OneToOneAssociation) fld).isAssociationValid(targetAdapter, sourceAdapter);
-            if (associationValid.isAllowed()) {
-                return associationValid.setDescription("Set field " + fld.getName());
-            }
-
-        }
-        // TODO: use Facet for this test instead
-        return new Veto(String.format("No empty field accepting object of type %s in %s", sourceAdapter.getSpecification().getSingularName(), title()));
-    }
-
-    @Override
-    public abstract Consent canSet(final ObjectAdapter dragSource);
-
-    @Override
-    public abstract void clear();
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        if (!(sourceContent instanceof ObjectContent)) {
-            return null;
-        }
-
-        final ObjectAdapter source = sourceContent.getAdapter();
-        Assert.assertNotNull(source);
-
-        final ObjectAdapter target = getObject();
-        Assert.assertNotNull(target);
-
-        if (!canDrop(sourceContent).isAllowed()) {
-            return null;
-        }
-
-        final ObjectAction action = dropAction(source, target);
-        if ((action != null) && action.isProposedArgumentSetValid(target, new ObjectAdapter[] { source }).isAllowed()) {
-            return action.execute(target, new ObjectAdapter[] { source });
-        }
-
-        final List<ObjectAssociation> associations = target.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.dynamicallyVisible(IsisContext.getAuthenticationSession(), target, where));
-
-        for (int i = 0; i < associations.size(); i++) {
-            final ObjectAssociation association = associations.get(i);
-            if (association.isOneToOneAssociation() && source.getSpecification().isOfType(association.getSpecification())) {
-                final OneToOneAssociation otoa = (OneToOneAssociation) association;
-                if (association.get(target) == null && otoa.isAssociationValid(target, source).isAllowed()) {
-                    otoa.setAssociation(target, source);
-                    break;
-                }
-            }
-        }
-
-        return null;
-    }
-
-    private ObjectAction dropAction(final ObjectAdapter source, final ObjectAdapter target) {
-        final ObjectAction action = target.getSpecification().getObjectAction(ActionType.USER, null, Arrays.asList(source.getSpecification()));
-        return action;
-    }
-
-    @Override
-    public abstract ObjectAdapter getObject();
-
-    @Override
-    public boolean isPersistable() {
-        return getObject().getSpecification().persistability() == Persistability.USER_PERSISTABLE;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        final ObjectAdapter object = getObject();
-        options.addObjectMenuOptions(object);
-
-        if (getObject() == null) {
-            options.addCreateOptions(getSpecification());
-        } else {
-            options.add(new ExplorationInstances());
-        }
-
-        options.add(new ExplorationClone());
-        options.add(new DebugClearResolvedOption());
-    }
-
-    public void parseTextEntry(final String entryText) {
-        throw new UnexpectedCallException();
-    }
-
-    @Override
-    public abstract void setObject(final ObjectAdapter object);
-
-    @Override
-    public String getIconName() {
-        final ObjectAdapter object = getObject();
-        return object == null ? null : object.getIconName();
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        final ObjectAdapter adapter = getObject();
-        if (adapter == null) {
-            return ImageFactory.getInstance().loadIcon("empty-field", iconHeight, null);
-        }
-        final ObjectSpecification specification = adapter.getSpecification();
-        final Image icon = ImageFactory.getInstance().loadIcon(specification, iconHeight, null);
-        return icon;
-    }
-
-    // ////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ////////////////////////////////////////////////////////////
-
-    private static Persistor getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractTextParsableContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractTextParsableContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractTextParsableContent.java
deleted file mode 100644
index 6b60e51..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractTextParsableContent.java
+++ /dev/null
@@ -1,82 +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.dnd.view.content;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.ParseableEntryActionParameter;
-import org.apache.isis.viewer.dnd.drawing.Image;
-
-public abstract class AbstractTextParsableContent extends AbstractContent {
-
-    public abstract void clear();
-
-    public abstract void entryComplete();
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        return null;
-    }
-
-    public abstract boolean isEmpty();
-
-    @Override
-    public boolean isPersistable() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return false;
-    }
-
-    public abstract void parseTextEntry(final String entryText);
-
-    public abstract Consent isEditable();
-
-    @Override
-    public boolean isTextParseable() {
-        return true;
-    }
-
-    /**
-     * @param propertyOrParamValue
-     *            the target property or parameter
-     * @param propertyOrParam
-     *            the {@link ObjectAssociation} or
-     *            {@link ParseableEntryActionParameter}
-     * @param propertyOrParamTypeSpecification
-     *            the specification of the type of the property or parameter
-     *            (for fallback).
-     */
-    protected String titleString(final ObjectAdapter propertyOrParamValue, final FacetHolder propertyOrParam, final FacetHolder propertyOrParamTypeSpecification) {
-
-        final TitleFacet titleFacet = propertyOrParam.getFacet(TitleFacet.class);
-        if (titleFacet != null) {
-            return titleFacet.title(propertyOrParamValue, null);
-        } else {
-            return propertyOrParamValue.titleString();
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/FieldContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/FieldContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/FieldContent.java
deleted file mode 100644
index 06b4dce..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/FieldContent.java
+++ /dev/null
@@ -1,38 +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.dnd.view.content;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.view.Content;
-
-public interface FieldContent extends Content {
-
-    String getFieldName();
-
-    ObjectAssociation getField();
-
-    boolean isMandatory();
-
-    Consent isEditable();
-
-    ObjectAdapter getParent();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/NullContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/NullContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/NullContent.java
deleted file mode 100644
index 24d6fa1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/NullContent.java
+++ /dev/null
@@ -1,147 +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.dnd.view.content;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-
-public class NullContent implements Content {
-
-    private final String title;
-
-    public NullContent() {
-        this("");
-    }
-
-    public NullContent(final String title) {
-        this.title = title;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public String getDescription() {
-        return null;
-    }
-
-    @Override
-    public String getHelp() {
-        return null;
-    }
-
-    @Override
-    public String getIconName() {
-        return null;
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        return null;
-    }
-
-    @Override
-    public String getId() {
-        return null;
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return null;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return null;
-    }
-
-    @Override
-    public boolean isCollection() {
-        return false;
-    }
-
-    @Override
-    public boolean isObject() {
-        return false;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public boolean isPersistable() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return false;
-    }
-
-    @Override
-    public boolean isTextParseable() {
-        return false;
-    }
-
-    public void parseTextEntry(final String entryText) {
-    }
-
-    @Override
-    public String title() {
-        return title;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-    }
-
-    @Override
-    public String windowTitle() {
-        return title;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/RootObject.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/RootObject.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/RootObject.java
deleted file mode 100644
index 0832c5b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/RootObject.java
+++ /dev/null
@@ -1,131 +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.dnd.view.content;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.view.Content;
-
-public class RootObject extends AbstractObjectContent {
-    private final ObjectAdapter adapter;
-
-    public RootObject(final ObjectAdapter adapter) {
-        this.adapter = adapter;
-    }
-
-    @Override
-    public Consent canClear() {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return super.canDrop(sourceContent);
-    }
-
-    @Override
-    public Consent canSet(final ObjectAdapter dragSource) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public void clear() {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("object", adapter);
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return adapter;
-    }
-
-    @Override
-    public String getDescription() {
-        return getSpecification().getSingularName() + ": " + getObject().titleString() + " " + getSpecification().getDescription();
-    }
-
-    @Override
-    public String getHelp() {
-        return "";
-    }
-
-    @Override
-    public String getId() {
-        return "";
-    }
-
-    @Override
-    public ObjectAdapter getObject() {
-        return adapter;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return adapter.getSpecification();
-    }
-
-    @Override
-    public boolean isObject() {
-        return true;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return adapter != null && adapter.isTransient();
-    }
-
-    @Override
-    public void setObject(final ObjectAdapter object) {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public String title() {
-        return adapter.titleString();
-    }
-
-    @Override
-    public String toString() {
-        return "Root Object [adapter=" + adapter + "]";
-    }
-
-    @Override
-    public String windowTitle() {
-        return (isTransient() ? "UNSAVED " : "") + getSpecification().getSingularName();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/TextParseableContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/TextParseableContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/TextParseableContent.java
deleted file mode 100644
index ab6d3fc..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/TextParseableContent.java
+++ /dev/null
@@ -1,49 +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.dnd.view.content;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.view.Content;
-
-public interface TextParseableContent extends Content {
-
-    void clear();
-
-    Consent canClear();
-
-    boolean canWrap();
-
-    void entryComplete();
-
-    int getMaximumLength();
-
-    int getNoLines();
-
-    int getTypicalLineLength();
-
-    Consent isEditable();
-
-    boolean isEmpty();
-
-    void parseTextEntry(String entryText);
-
-    String titleString(ObjectAdapter value);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/AbstractButtonAction.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/AbstractButtonAction.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/AbstractButtonAction.java
deleted file mode 100644
index a2316d6..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/AbstractButtonAction.java
+++ /dev/null
@@ -1,70 +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.dnd.view.control;
-
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.view.ButtonAction;
-import org.apache.isis.viewer.dnd.view.View;
-
-public abstract class AbstractButtonAction implements ButtonAction {
-    private final String name;
-    private final boolean defaultButton;
-
-    public AbstractButtonAction(final String name) {
-        this(name, false);
-    }
-
-    public AbstractButtonAction(final String name, final boolean defaultButton) {
-        this.name = name;
-        this.defaultButton = defaultButton;
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        return Allow.DEFAULT;
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "";
-    }
-
-    @Override
-    public String getHelp(final View view) {
-        return "No help available for button";
-    }
-
-    @Override
-    public String getName(final View view) {
-        return name;
-    }
-
-    @Override
-    public ActionType getType() {
-        return ActionType.USER;
-    }
-
-    @Override
-    public boolean isDefault() {
-        return defaultButton;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/AbstractControlView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/AbstractControlView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/AbstractControlView.java
deleted file mode 100644
index 3824652..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/AbstractControlView.java
+++ /dev/null
@@ -1,505 +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.dnd.view.control;
-
-import java.awt.event.KeyEvent;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Feedback;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewDrag;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.Viewer;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-
-public abstract class AbstractControlView implements View {
-    protected final UserAction action;
-    private final View parent;
-    private int width;
-    private int x;
-    private int y;
-    private int height;
-    private boolean isOver;
-    private boolean isPressed;
-
-    public AbstractControlView(final UserAction action, final View target) {
-        this.action = action;
-        this.parent = target;
-    }
-
-    @Override
-    public Axes getViewAxes() {
-        return new Axes();
-    }
-
-    @Override
-    public void addView(final View view) {
-    }
-
-    @Override
-    public Consent canChangeValue() {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public boolean canFocus() {
-        return action.disabled(parent).isAllowed();
-    }
-
-    @Override
-    public boolean contains(final View view) {
-        return false;
-    }
-
-    @Override
-    public boolean containsFocus() {
-        return false;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet menuOptions) {
-    }
-
-    @Override
-    public void debug(final DebugBuilder debug) {
-    }
-
-    @Override
-    public void debugStructure(final DebugBuilder b) {
-    }
-
-    @Override
-    public void dispose() {
-    }
-
-    @Override
-    public void drag(final ContentDrag contentDrag) {
-    }
-
-    @Override
-    public void drag(final InternalDrag drag) {
-    }
-
-    @Override
-    public void drag(final ViewDrag drag) {
-    }
-
-    @Override
-    public void dragCancel(final InternalDrag drag) {
-    }
-
-    @Override
-    public View dragFrom(final Location location) {
-        return null;
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        return null;
-    }
-
-    @Override
-    public void dragTo(final InternalDrag drag) {
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-    }
-
-    @Override
-    public void drop(final ContentDrag drag) {
-    }
-
-    @Override
-    public void drop(final ViewDrag drag) {
-        getParent().drop(drag);
-    }
-
-    @Override
-    public void editComplete(final boolean moveFocus, final boolean toNextField) {
-    }
-
-    @Override
-    public void entered() {
-        final View target = getParent();
-        final Consent consent = action.disabled(target);
-        final String actionText = action.getName(target) + " - " + (consent.isVetoed() ? consent.getReason() : action.getDescription(target));
-        getFeedbackManager().setAction(actionText);
-
-        isOver = true;
-        isPressed = false;
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getFeedbackManager().clearAction();
-        isOver = false;
-        isPressed = false;
-        markDamaged();
-    }
-
-    public void exitedSubview() {
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        executeAction();
-    }
-
-    private void executeAction() {
-        final View target = getParent().getView();
-        if (action.disabled(target).isAllowed()) {
-            markDamaged();
-            getViewManager().saveCurrentFieldEntry();
-            action.execute(target.getWorkspace(), target, getLocation());
-        }
-    }
-
-    @Override
-    public void focusLost() {
-    }
-
-    @Override
-    public void focusReceived() {
-    }
-
-    @Override
-    public Location getAbsoluteLocation() {
-        final Location location = parent.getAbsoluteLocation();
-        getViewManager().getSpy().addTrace(this, "parent location", location);
-        location.add(x, y);
-        getViewManager().getSpy().addTrace(this, "plus view's location", location);
-        final Padding pad = parent.getPadding();
-        location.add(pad.getLeft(), pad.getTop());
-        getViewManager().getSpy().addTrace(this, "plus view's padding", location);
-        return location;
-    }
-
-    public boolean isOver() {
-        return isOver;
-    }
-
-    public boolean isPressed() {
-        return isPressed;
-    }
-
-    @Override
-    public int getBaseline() {
-        return 0;
-    }
-
-    @Override
-    public Bounds getBounds() {
-        return new Bounds(x, y, width, height);
-    }
-
-    @Override
-    public Content getContent() {
-        return null;
-    }
-
-    @Override
-    public int getId() {
-        return 0;
-    }
-
-    @Override
-    public FocusManager getFocusManager() {
-        return getParent() == null ? null : getParent().getFocusManager();
-    }
-
-    @Override
-    public Location getLocation() {
-        return new Location(x, y);
-    }
-
-    @Override
-    public Padding getPadding() {
-        return null;
-    }
-
-    @Override
-    public View getParent() {
-        return parent;
-    }
-
-    @Override
-    public Size getSize() {
-        return new Size(width, height);
-    }
-
-    @Override
-    public ViewSpecification getSpecification() {
-        return null;
-    }
-
-    @Override
-    public ViewState getState() {
-        return null;
-    }
-
-    @Override
-    public View[] getSubviews() {
-        return new View[0];
-    }
-
-    @Override
-    public View getView() {
-        return this;
-    }
-
-    @Override
-    public Viewer getViewManager() {
-        return Toolkit.getViewer();
-    }
-
-    @Override
-    public Feedback getFeedbackManager() {
-        return Toolkit.getFeedbackManager();
-    }
-
-    @Override
-    public Workspace getWorkspace() {
-        return null;
-    }
-
-    @Override
-    public boolean hasFocus() {
-        return getViewManager().hasFocus(getView());
-    }
-
-    @Override
-    public View identify(final Location location) {
-        return this;
-    }
-
-    @Override
-    public void invalidateContent() {
-    }
-
-    @Override
-    public void invalidateLayout() {
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (key.getKeyCode() == KeyEvent.VK_ENTER) {
-            executeAction();
-        }
-    }
-
-    @Override
-    public void keyReleased(final KeyboardAction action) {
-    }
-
-    @Override
-    public void keyTyped(final KeyboardAction action) {
-    }
-
-    @Override
-    public void layout() {
-    }
-
-    @Override
-    public void limitBoundsWithin(final Size size) {
-    }
-
-    @Override
-    public void markDamaged() {
-        markDamaged(getView().getBounds());
-    }
-
-    @Override
-    public void markDamaged(final Bounds bounds) {
-        if (parent == null) {
-            getViewManager().markDamaged(bounds);
-        } else {
-            final Location pos = parent.getLocation();
-            bounds.translate(pos.getX(), pos.getY());
-            parent.markDamaged(bounds);
-        }
-    }
-
-    @Override
-    public void mouseDown(final Click click) {
-        final View target = getParent().getView();
-        if (action.disabled(target).isAllowed()) {
-            markDamaged();
-            getViewManager().saveCurrentFieldEntry();
-            // action.execute(target.getWorkspace(), target, getLocation());
-        }
-        final boolean vetoed = action.disabled(target).isVetoed();
-        if (!vetoed) {
-            isPressed = true;
-            markDamaged();
-        }
-    }
-
-    @Override
-    public void mouseUp(final Click click) {
-        final View target = getParent().getView();
-        final boolean vetoed = action.disabled(target).isVetoed();
-        if (!vetoed) {
-            isPressed = false;
-            markDamaged();
-        }
-    }
-
-    @Override
-    public void mouseMoved(final Location location) {
-    }
-
-    @Override
-    public void objectActionResult(final ObjectAdapter result, final Placement placement) {
-    }
-
-    @Override
-    public View pickupContent(final Location location) {
-        return null;
-    }
-
-    @Override
-    public View pickupView(final Location location) {
-        return null;
-    }
-
-    @Override
-    public void print(final Canvas canvas) {
-    }
-
-    @Override
-    public void refresh() {
-    }
-
-    @Override
-    public void removeView(final View view) {
-    }
-
-    @Override
-    public void replaceView(final View toReplace, final View replacement) {
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-    }
-
-    @Override
-    public void setBounds(final Bounds bounds) {
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-    }
-
-    public void setLayout(final Layout layout) {
-    }
-
-    @Override
-    public void setLocation(final Location point) {
-        x = point.getX();
-        y = point.getY();
-    }
-
-    @Override
-    public void setParent(final View view) {
-    }
-
-    public void setMaximumSize(final Size size) {
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        width = size.getWidth();
-        height = size.getHeight();
-    }
-
-    @Override
-    public void setView(final View view) {
-    }
-
-    @Override
-    public View subviewFor(final Location location) {
-        return null;
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-    }
-
-    @Override
-    public void update(final ObjectAdapter object) {
-    }
-
-    @Override
-    public void updateView() {
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        return null;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-    }
-
-    @Override
-    public void loadOptions(final Options viewOptions) {
-    }
-
-    @Override
-    public void saveOptions(final Options viewOptions) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/Button.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/Button.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/Button.java
deleted file mode 100644
index 80a48a7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/Button.java
+++ /dev/null
@@ -1,57 +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.dnd.view.control;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.ButtonAction;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class Button extends AbstractControlView {
-    private static ButtonRender buttonRender;
-
-    public static void setButtonRender(final ButtonRender buttonRender) {
-        Button.buttonRender = buttonRender;
-    }
-
-    public Button(final ButtonAction action, final View target) {
-        super(action, target);
-    }
-
-    @Override
-    public boolean containsFocus() {
-        return hasFocus();
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final View target = getParent();
-        final String text = action.getName(target);
-        final boolean isDisabled = action.disabled(target).isVetoed();
-        final boolean isDefault = ((ButtonAction) action).isDefault();
-        buttonRender.draw(canvas, getSize(), isDisabled, isDefault, hasFocus(), isOver(), isPressed(), text);
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final String text = action.getName(getView());
-        return buttonRender.getMaximumSize(text);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/ButtonRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/ButtonRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/ButtonRender.java
deleted file mode 100644
index 8407cd7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/ButtonRender.java
+++ /dev/null
@@ -1,31 +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.dnd.view.control;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-public interface ButtonRender {
-
-    void draw(Canvas canvas, Size size, boolean isDisabled, boolean isDefault, boolean hasFocus, boolean isOver, boolean isPressed, String text);
-
-    Size getMaximumSize(String text);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/CancelAction.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/CancelAction.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/CancelAction.java
deleted file mode 100644
index 23a1911..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/control/CancelAction.java
+++ /dev/null
@@ -1,41 +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.dnd.view.control;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class CancelAction extends AbstractButtonAction {
-    private static final Logger LOG = LoggerFactory.getLogger(CancelAction.class);
-
-    public CancelAction() {
-        super("Cancel");
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        LOG.debug("cancel pressed");
-        view.dispose();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugAdapter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugAdapter.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugAdapter.java
deleted file mode 100644
index 2ddbe6a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugAdapter.java
+++ /dev/null
@@ -1,49 +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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.util.Dump;
-
-public class DebugAdapter implements DebuggableWithTitle {
-    private final ObjectAdapter object;
-
-    public DebugAdapter(final ObjectAdapter object) {
-        this.object = object;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        dumpObject(object, debug);
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Adapter";
-    }
-
-    private void dumpObject(final ObjectAdapter object, final DebugBuilder info) {
-        if (object != null) {
-            Dump.adapter(object, info);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugBorder.java
deleted file mode 100644
index f694b6a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugBorder.java
+++ /dev/null
@@ -1,64 +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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-public class DebugBorder extends AbstractBorder {
-    public DebugBorder(final View wrappedView) {
-        super(wrappedView);
-
-        bottom = Toolkit.getText(ColorsAndFonts.TEXT_DEBUG).getTextHeight();
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        debug.append("DebugBorder");
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final String debug = getView() + " " + getState();
-        final Text text = Toolkit.getText(ColorsAndFonts.TEXT_DEBUG);
-        final int baseline = wrappedView.getSize().getHeight() + text.getAscent();
-        final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BASELINE);
-        canvas.drawText(debug, 0, baseline, color, text);
-
-        super.draw(canvas);
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/DebugBorder";
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        new DebugOption().execute(getWorkspace(), getView(), click.getLocation());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugContent.java
deleted file mode 100644
index 40b3b38..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugContent.java
+++ /dev/null
@@ -1,66 +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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class DebugContent implements DebuggableWithTitle {
-    private final View view;
-
-    public DebugContent(final View display) {
-        this.view = display;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        final Content content = view.getContent();
-        if (content != null) {
-            String type = content.getClass().getName();
-            type = type.substring(type.lastIndexOf('.') + 1);
-            debug.appendln("Content", type);
-
-            debug.indent();
-
-            content.debugDetails(debug);
-
-            debug.appendln("Icon name", content.getIconName());
-            debug.appendln("Icon ", content.getIconPicture(32));
-            debug.appendln("Window title", content.windowTitle());
-
-            debug.appendln("Object", content.isObject());
-            debug.appendln("Collection", content.isCollection());
-
-            debug.appendln("Text Parseable", content.isTextParseable());
-
-            debug.unindent();
-        } else {
-            debug.appendln("Content", "none");
-        }
-        debug.blankLine();
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Content";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDrawing.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDrawing.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDrawing.java
deleted file mode 100644
index 1b5133a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDrawing.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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.DebugCanvas;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class DebugDrawing implements DebuggableWithTitle {
-    private final View view;
-
-    public DebugDrawing(final View display) {
-        this.view = display;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        view.draw(new DebugCanvas(debug, new Bounds(view.getBounds())));
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Drawing";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDrawingAbsolute.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDrawingAbsolute.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDrawingAbsolute.java
deleted file mode 100644
index cf2c62e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDrawingAbsolute.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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.DebugCanvasAbsolute;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class DebugDrawingAbsolute implements DebuggableWithTitle {
-    private final View view;
-
-    public DebugDrawingAbsolute(final View display) {
-        this.view = display;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        view.draw(new DebugCanvasAbsolute(debug, new Bounds(view.getAbsoluteLocation(), view.getSize())));
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Drawing (Absolute)";
-    }
-}


[43/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java
deleted file mode 100644
index 54efdec..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java
+++ /dev/null
@@ -1,514 +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.objectstore.sql.auto;
-
-import java.lang.reflect.Method;
-import java.util.List;
-import java.util.Vector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.commons.lang.MethodExtensions;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.ObjectSpecificationException;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
-import org.apache.isis.core.runtime.persistence.PersistorUtil;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByPattern;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.CollectionMapper;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.IdMapping;
-import org.apache.isis.objectstore.sql.ObjectMapping;
-import org.apache.isis.objectstore.sql.ObjectMappingLookup;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.SqlObjectStoreException;
-import org.apache.isis.objectstore.sql.TitleMapping;
-import org.apache.isis.objectstore.sql.VersionMapping;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-public class AutoMapper extends AbstractAutoMapper implements ObjectMapping, DebuggableWithTitle {
-
-    private static final Logger LOG = LoggerFactory.getLogger(AutoMapper.class);
-    private final IdMapping idMapping;
-    private final VersionMapping versionMapping;
-    private final TitleMapping titleMapping;
-    private final boolean useVersioning;
-
-    public AutoMapper(final String className, final String parameterBase, final FieldMappingLookup lookup, final ObjectMappingLookup objectMapperLookup) {
-        super(className, parameterBase, lookup, objectMapperLookup);
-        idMapping = lookup.createIdMapping();
-        versionMapping = lookup.createVersionMapping();
-        titleMapping = lookup.createTitleMapping();
-
-        useVersioning = Defaults.useVersioning(specification.getShortIdentifier());
-
-        setUpFieldMappers();
-    }
-
-    protected VersionMapping getVersionMapping() {
-        return versionMapping;
-    }
-
-    protected IdMapping getIdMapping() {
-        return idMapping;
-    }
-
-    @Override
-    public void createTables(final DatabaseConnector connection) {
-        if (!connection.hasTable(table)) {
-            final StringBuffer sql = new StringBuffer();
-            sql.append("create table ");
-            sql.append(table);
-            sql.append(" (");
-            idMapping.appendCreateColumnDefinitions(sql);
-            sql.append(", ");
-            for (final FieldMapping mapping : fieldMappingByField.values()) {
-                mapping.appendColumnDefinitions(sql);
-                sql.append(",");
-            }
-            titleMapping.appendColumnDefinitions(sql);
-            sql.append(", ");
-            sql.append(versionMapping.appendColumnDefinitions());
-            sql.append(")");
-            connection.update(sql.toString());
-        }
-        for (int i = 0; collectionMappers != null && i < collectionMappers.length; i++) {
-            if (collectionMappers[i].needsTables(connection)) {
-                collectionMappers[i].createTables(connection);
-            }
-        }
-    }
-
-    @Override
-    public void createObject(final DatabaseConnector connector, final ObjectAdapter object) {
-        final int versionSequence = 1;
-        final Version version = createVersion(versionSequence);
-
-        final StringBuffer sql = new StringBuffer();
-        sql.append("insert into " + table + " (");
-        idMapping.appendColumnNames(sql);
-        sql.append(", ");
-        final String columnList = columnList(fieldMappingByField);
-        if (columnList.length() > 0) {
-            sql.append(columnList);
-            sql.append(", ");
-        }
-        titleMapping.appendColumnNames(sql);
-        sql.append(", ");
-        sql.append(versionMapping.insertColumns());
-        sql.append(") values (");
-        idMapping.appendInsertValues(connector, sql, object);
-        sql.append(", ");
-        sql.append(values(connector, object));
-        titleMapping.appendInsertValues(connector, sql, object);
-        sql.append(", ");
-        sql.append(versionMapping.insertValues(connector, version));
-        sql.append(") ");
-
-        connector.insert(sql.toString());
-        object.setVersion(version);
-
-        for (final CollectionMapper collectionMapper : collectionMappers) {
-            collectionMapper.saveInternalCollection(connector, object);
-        }
-    }
-
-    @Override
-    public void destroyObject(final DatabaseConnector connector, final ObjectAdapter adapter) {
-        final StringBuffer sql = new StringBuffer();
-        sql.append("delete from " + table + " WHERE ");
-        final RootOid oid = (RootOid) adapter.getOid();
-        idMapping.appendWhereClause(connector, sql, oid);
-        sql.append(" AND ");
-        sql.append(versionMapping.whereClause(connector, adapter.getVersion()));
-        final int updateCount = connector.update(sql.toString());
-        if (updateCount == 0) {
-            LOG.info("concurrency conflict object " + this + "; no deletion performed");
-            throw new ConcurrencyException("", adapter.getOid());
-        }
-    }
-
-    @Override
-    public Vector<ObjectAdapter> getInstances(final DatabaseConnector connector, final ObjectSpecification spec, 
-            final long startIndex, final long rowCount) {
-        final StringBuffer sql = createSelectStatement();
-        final Vector<ObjectAdapter> instances = new Vector<ObjectAdapter>();
-        loadInstancesToVector(connector, spec, completeSelectStatement(sql, startIndex, rowCount), instances);
-        return instances;
-    }
-
-    @Override
-    public Vector<ObjectAdapter> getInstances(final DatabaseConnector connector, final ObjectSpecification spec, 
-            final PersistenceQueryFindByPattern query) {
-        final Vector<ObjectAdapter> instances = new Vector<ObjectAdapter>();
-
-        final StringBuffer sql = createSelectStatement();
-        int initialLength = 0;
-
-        int foundFields = 0;
-        final ObjectAdapter pattern = query.getPattern();
-
-        // for all fields in the query.getPattern, build a SQL select clause for
-        // this spec.
-        final Object o = pattern.getObject();
-        final ObjectSpecification patternSpec = pattern.getSpecification();
-        final List<ObjectAssociation> patternAssociations = patternSpec.getAssociations(Contributed.EXCLUDED);
-        for (final ObjectAssociation patternAssoc : patternAssociations) {
-            final Method method;
-            final Identifier identifier = patternAssoc.getIdentifier();
-            final String memberName = identifier.getMemberName();
-            final String methodName = memberName.substring(0, 1).toUpperCase() + memberName.substring(1);
-
-            try {
-                if (true) {
-                    final ObjectAdapter field = patternAssoc.get(pattern);
-                    if (field != null) {
-                        final String id = patternAssoc.getId();
-                        try {
-                            final ObjectAssociation oa = spec.getAssociation(id);
-                            final NotPersistedFacet fc = oa.getFacet(NotPersistedFacet.class);
-                            if (fc != null) {
-                                continue;
-                            }
-                        } catch (final ObjectSpecificationException e) {
-                            // this is OK
-                        }
-
-                        if (foundFields == 0) {
-                            sql.append(" WHERE ");
-                            initialLength = sql.length();
-                        }
-
-                        if (sql.length() > initialLength) {
-                            sql.append(" AND ");
-                        }
-
-                        final FieldMapping fieldMapping = fieldMappingFor(patternAssoc);
-                        if (fieldMapping != null) {
-                            fieldMapping.appendWhereClause(connector, sql, pattern);
-                        } else {
-                            // Have to use getXXX method if the fieldMapping is
-                            // null..
-                            final ObjectSpecification specification = patternAssoc.getSpecification();
-
-                            method = o.getClass().getMethod("get" + methodName, (Class<?>[]) null);
-                            final Object res = MethodExtensions.invoke(method, o);
-
-                            if (specification.isValue()) {
-                                // If the property (memberName) is a value type,
-                                // use the value.
-                                final String fieldName = Sql.sqlFieldName(identifier.getMemberName());
-                                sql.append(fieldName + "=?");
-                                connector.addToQueryValues(res);
-                            } else {
-                                throw new SqlObjectStoreException("Unhandled combination!");
-                            }
-                        }
-                        foundFields++;
-                    }
-                }
-            } catch (final SecurityException e) {
-                LOG.debug(e.getMessage());
-            } catch (final NoSuchMethodException e) {
-                LOG.info("Unable to invode method: get" + methodName + " in getInstances");
-                LOG.debug(e.getMessage());
-            }
-        }
-        // if (foundFields > 0) {
-        loadInstancesToVector(connector, spec, completeSelectStatement(sql, query.getStart(), query.getCount()), instances);
-        // }
-        return instances;
-    }
-
-    @Override
-    public Vector<ObjectAdapter> getInstances(final DatabaseConnector connector, final ObjectSpecification spec, 
-            final String title, final long startIndex, final long rowCount) {
-        final Vector<ObjectAdapter> instances = new Vector<ObjectAdapter>();
-
-        final StringBuffer sql = createSelectStatement();
-        sql.append(" WHERE ");
-        titleMapping.appendWhereClause(sql, title);
-        loadInstancesToVector(connector, spec, completeSelectStatement(sql, startIndex, rowCount), instances);
-        return instances;
-    }
-
-    @Override
-    public ObjectAdapter getObject(final DatabaseConnector connector, final TypedOid typedOid) {
-        final StringBuffer sql = createSelectStatement();
-        sql.append(" WHERE ");
-        idMapping.appendWhereClause(connector, sql, (RootOid) typedOid);
-        final Results rs = connector.select(completeSelectStatement(sql, 0, 0));
-        final ObjectSpecification objectSpec = getSpecificationLoader().lookupBySpecId(typedOid.getObjectSpecId());
-        if (rs.next()) {
-            return loadMappedObject(connector, objectSpec, rs);
-        } else {
-            throw new ObjectNotFoundException("No object with with " + typedOid + " in table " + table);
-        }
-    }
-
-    @Override
-    public boolean hasInstances(final DatabaseConnector connector, final ObjectSpecification cls) {
-        final String statement = "select count(*) from " + table;
-        final int instances = connector.count(statement);
-        return instances > 0;
-    }
-
-    private StringBuffer createSelectStatement() {
-        final StringBuffer sql = new StringBuffer();
-        sql.append("select ");
-        idMapping.appendColumnNames(sql);
-        sql.append(", ");
-        final String columnList = columnList(fieldMappingByField);
-        if (columnList.length() > 0) {
-            sql.append(columnList);
-            sql.append(", ");
-        }
-        sql.append(versionMapping.insertColumns());
-        sql.append(" from " + table);
-        return sql;
-    } /*
-       * if (whereClause != null) { sql.append(" WHERE ");
-       * sql.append(whereClause); } else if (whereClause != null) {
-       * sql.append(" WHERE "); idMapping.appendWhereClause(sql, oid); }
-       */
-
-    private String completeSelectStatement(final StringBuffer sql, final long startIndex, final long rowCount) {
-        sql.append(" order by ");
-        idMapping.appendColumnNames(sql);
-
-        if ((startIndex != 0) || (rowCount != 0)) {
-            sql.append(" ");
-            sql.append(Defaults.getLimitsClause(startIndex, rowCount));
-        }
-
-        return sql.toString();
-    }
-
-    protected void loadFields(final ObjectAdapter adapter, final Results rs) {
-        PersistorUtil.startResolving(adapter);
-        try {
-            for (final FieldMapping mapping : fieldMappingByField.values()) {
-                mapping.initializeField(adapter, rs);
-            }
-            /*
-             * for (int i = 0; i < oneToManyProperties.length; i++) { /* Need to
-             * set up collection to be a ghost before we access as below
-             */
-            // CollectionAdapter collection = (CollectionAdapter)
-            /*
-             * oneToManyProperties[i].get(object); }
-             */
-            adapter.setVersion(versionMapping.getLock(rs));
-        } finally {
-            PersistorUtil.toEndState(adapter);
-        }
-    }
-
-    // KAM
-    private void loadCollections(final DatabaseConnector connector, final ObjectAdapter instance) {
-
-        for (final CollectionMapper mapper : collectionMappers) {
-            mapper.loadInternalCollection(connector, instance);
-        }
-    }
-
-    private void loadInstancesToVector(final DatabaseConnector connector, final ObjectSpecification cls, final String selectStatment, final Vector<ObjectAdapter> instances) {
-        LOG.debug("loading instances from SQL " + table);
-
-        try {
-            final Results rs = connector.select(selectStatment);
-            final int maxInstances = Defaults.getMaxInstances();
-            for (int count = 0; rs.next() && count < maxInstances; count++) {
-                final ObjectAdapter instance = loadMappedObject(connector, cls, rs);
-                LOG.debug("  instance  " + instance);
-                instances.addElement(instance);
-            }
-            rs.close();
-        } catch (final SqlObjectStoreException e) {
-            // Invalid SELECT means no object found.. don't worry about it,
-            // here.
-        }
-    }
-
-    private ObjectAdapter loadMappedObject(final DatabaseConnector connector, final ObjectSpecification cls, final Results rs) {
-        final Oid oid = idMapping.recreateOid(rs, specification);
-        final ObjectAdapter adapter = getAdapter(cls, oid);
-
-        if (adapter.canTransitionToResolving()) {
-            loadFields(adapter, rs);
-            loadCollections(connector, adapter); // KAM
-        }
-        return adapter;
-    }
-
-    @Override
-    public void resolve(final DatabaseConnector connector, final ObjectAdapter object) {
-        LOG.debug("loading data from SQL " + table + " for " + object);
-        final StringBuffer sql = new StringBuffer();
-        sql.append("select ");
-        sql.append(columnList(fieldMappingByField));
-        sql.append(",");
-        sql.append(versionMapping.appendColumnNames());
-        sql.append(" from " + table + " WHERE ");
-        final RootOid oid = (RootOid) object.getOid();
-        idMapping.appendWhereClause(connector, sql, oid);
-
-        final Results rs = connector.select(sql.toString());
-        if (rs.next()) {
-            loadFields(object, rs);
-            rs.close();
-
-            for (final CollectionMapper collectionMapper : collectionMappers) {
-                collectionMapper.loadInternalCollection(connector, object);
-            }
-        } else {
-            rs.close();
-            throw new SqlObjectStoreException("Unable to load data from " + table + " with id " + object.getOid().enString(getOidMarshaller()));
-        }
-    }
-
-    @Override
-    public void resolveCollection(final DatabaseConnector connector, final ObjectAdapter object, final ObjectAssociation field) {
-        if (collectionMappers.length > 0) {
-            final DatabaseConnector secondConnector = connector.getConnectionPool().acquire();
-            for (final CollectionMapper collectionMapper : collectionMappers) {
-                collectionMapper.loadInternalCollection(secondConnector, object);
-            }
-            connector.getConnectionPool().release(secondConnector);
-        }
-    }
-
-    @Override
-    public void startup(final DatabaseConnector connector, final ObjectMappingLookup objectMapperLookup) {
-        if (needsTables(connector)) {
-            createTables(connector);
-        }
-    }
-
-    @Override
-    public void save(final DatabaseConnector connector, final ObjectAdapter adapter) {
-        final Version version = adapter.getVersion();
-        final long nextSequence;
-        if (useVersioning) {
-            nextSequence = version.getSequence() + 1;
-        } else {
-            nextSequence = version.getSequence();
-        }
-
-        final StringBuffer sql = new StringBuffer();
-        sql.append("UPDATE " + table + " SET ");
-        for (final FieldMapping mapping : fieldMappingByField.values()) {
-            mapping.appendUpdateValues(connector, sql, adapter);
-            sql.append(", ");
-        }
-        sql.append(versionMapping.updateAssigment(connector, nextSequence));
-        sql.append(", ");
-        titleMapping.appendUpdateAssignment(connector, sql, adapter);
-        sql.append(" WHERE ");
-        final RootOid oid = (RootOid) adapter.getOid();
-        idMapping.appendWhereClause(connector, sql, oid);
-        if (useVersioning) {
-            sql.append(" AND ");
-            sql.append(versionMapping.whereClause(connector, adapter.getVersion()));
-        }
-
-        final int updateCount = connector.update(sql.toString());
-        if (updateCount == 0) {
-            LOG.info("concurrency conflict object " + this + "; no update performed");
-            throw new ConcurrencyException("", adapter.getOid());
-        } else {
-            adapter.setVersion(createVersion(nextSequence));
-        }
-
-        // TODO update collections - change only when needed rather than
-        // reinserting from scratch
-        for (final CollectionMapper collectionMapper : collectionMappers) {
-            collectionMapper.saveInternalCollection(connector, adapter);
-        }
-    }
-
-    @Override
-    public boolean saveCollection(final DatabaseConnector connection, final ObjectAdapter parent, final String fieldName) {
-        int i = 0;
-        for (final String collectionFieldName : collectionMapperFields) {
-            if (collectionFieldName.equals(fieldName)) {
-                final CollectionMapper fieldMapper = collectionMappers[i];
-                fieldMapper.saveInternalCollection(connection, parent);
-                return true;
-            }
-            i++;
-        }
-        return false;
-    }
-
-    // //////////////////////////////////////////////////////////////
-    // debugging, toString
-    // //////////////////////////////////////////////////////////////
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln("ID mapping", idMapping);
-        debug.appendln("ID mapping", versionMapping);
-        debug.appendln("ID mapping", titleMapping);
-        for (final FieldMapping mapping : fieldMappingByField.values()) {
-            mapping.debugData(debug);
-        }
-        for (final CollectionMapper collectionMapper : collectionMappers) {
-            collectionMapper.debugData(debug);
-        }
-
-    }
-
-    @Override
-    public String debugTitle() {
-        return toString();
-    }
-
-    @Override
-    public String toString() {
-        return "AutoMapper [table=" + table + ",id=" + idMapping + ",noColumns=" + fieldMappingByField.size() + ",specification=" + specification.getFullIdentifier() + "]";
-    }
-
-    // //////////////////////////////////////////////////////////////
-    // dependencies (from context)
-    // //////////////////////////////////////////////////////////////
-
-    protected OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapperFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapperFactory.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapperFactory.java
deleted file mode 100644
index 2fbc0a9..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapperFactory.java
+++ /dev/null
@@ -1,32 +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.objectstore.sql.auto;
-
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.ObjectMapping;
-import org.apache.isis.objectstore.sql.ObjectMappingFactory;
-import org.apache.isis.objectstore.sql.ObjectMappingLookup;
-
-public class AutoMapperFactory implements ObjectMappingFactory {
-    @Override
-    public ObjectMapping createMapper(final String className, final String propertiesBase, final FieldMappingLookup lookup, final ObjectMappingLookup objectMapperLookup) {
-        return new AutoMapper(className, propertiesBase, lookup, objectMapperLookup);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ForeignKeyCollectionMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ForeignKeyCollectionMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ForeignKeyCollectionMapper.java
deleted file mode 100644
index c5fa9d5..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ForeignKeyCollectionMapper.java
+++ /dev/null
@@ -1,388 +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.objectstore.sql.auto;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.PersistorUtil;
-import org.apache.isis.objectstore.sql.CollectionMapper;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.IdMapping;
-import org.apache.isis.objectstore.sql.IdMappingAbstract;
-import org.apache.isis.objectstore.sql.ObjectMapping;
-import org.apache.isis.objectstore.sql.ObjectMappingLookup;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.VersionMapping;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMapping;
-
-/**
- * Stores 1-to-many collections by creating a foreign-key column in the table for the incoming objectAssociation class.
- * This assumes this the class is only ever in 1 collection parent.
- * 
- * @version $Rev$ $Date$
- */
-public class ForeignKeyCollectionMapper extends AbstractAutoMapper implements CollectionMapper {
-    private static final Logger LOG = LoggerFactory.getLogger(ForeignKeyCollectionMapper.class);
-    private final ObjectAssociation field;
-    private final IdMapping idMapping;
-    private final VersionMapping versionMapping;
-    private final ObjectReferenceMapping foreignKeyMapping;
-    private String foreignKeyName;
-    private String columnName;
-    private final ObjectMappingLookup objectMapperLookup2;
-
-    private ObjectMapping originalMapping = null;
-
-    public ForeignKeyCollectionMapper(final ObjectAssociation objectAssociation, final String parameterBase,
-        final FieldMappingLookup lookup, final ObjectMappingLookup objectMapperLookup) {
-        super(objectAssociation.getSpecification().getFullIdentifier(), parameterBase, lookup, objectMapperLookup);
-
-        this.field = objectAssociation;
-
-        objectMapperLookup2 = objectMapperLookup;
-
-        idMapping = lookup.createIdMapping();
-        versionMapping = lookup.createVersionMapping();
-
-        setColumnName(determineColumnName(objectAssociation));
-        foreignKeyName = Sql.sqlName("fk_" + getColumnName());
-
-        foreignKeyName = Sql.identifier(foreignKeyName);
-        foreignKeyMapping = lookup.createMapping(columnName, specification);
-    }
-
-    protected ForeignKeyCollectionMapper(final FieldMappingLookup lookup, final AbstractAutoMapper abstractAutoMapper,
-        final ObjectAssociation field) {
-        super(lookup, abstractAutoMapper, field.getSpecification().getFullIdentifier());
-
-        this.field = field;
-        objectMapperLookup2 = null;
-
-        idMapping = lookup.createIdMapping();
-        versionMapping = lookup.createVersionMapping();
-
-        setColumnName(determineColumnName(field));
-        foreignKeyName = Sql.sqlName("fk_" + getColumnName());
-
-        foreignKeyName = Sql.identifier(foreignKeyName);
-        foreignKeyMapping = lookup.createMapping(columnName, specification);
-    }
-
-    protected String determineColumnName(final ObjectAssociation objectAssociation) {
-        return objectAssociation.getSpecification().getShortIdentifier();
-    }
-
-    public String getColumnName() {
-        return columnName;
-    }
-
-    public void setColumnName(final String columnName) {
-        this.columnName = columnName;
-    }
-
-    protected VersionMapping getVersionMapping() {
-        return versionMapping;
-    }
-
-    protected ObjectReferenceMapping getForeignKeyMapping() {
-        return foreignKeyMapping;
-    }
-
-    protected String getForeignKeyName() {
-        return foreignKeyName;
-    }
-
-    @Override
-    public void startup(final DatabaseConnector connector) {
-        if (originalMapping == null) {
-            originalMapping = objectMappingLookup.getMapping(specification, null);
-        }
-        originalMapping.startup(connector, objectMapperLookup2);
-        super.startup(connector);
-    }
-
-    @Override
-    public boolean needsTables(final DatabaseConnector connection) {
-        return !connection.hasColumn(table, foreignKeyName);
-    }
-
-    @Override
-    public void createTables(final DatabaseConnector connection) {
-        if (connection.hasTable(table)) {
-            final StringBuffer sql = new StringBuffer();
-            sql.append("alter table ");
-            sql.append(table);
-            sql.append(" add ");
-            appendColumnDefinitions(sql);
-            connection.update(sql.toString());
-        } else {
-            final StringBuffer sql = new StringBuffer();
-            sql.append("create table ");
-            sql.append(table);
-            sql.append(" (");
-            idMapping.appendCreateColumnDefinitions(sql);
-            sql.append(", ");
-
-            appendColumnDefinitions(sql);
-
-            // for (final FieldMapping mapping : fieldMappings) {
-            // mapping.appendColumnDefinitions(sql);
-            // sql.append(",");
-            // }
-            // sql.append(versionMapping.appendColumnDefinitions());
-            sql.append(")");
-            connection.update(sql.toString());
-        }
-    }
-
-    public IdMappingAbstract getIdMapping() {
-        return idMapping;
-    }
-
-    protected void appendCollectionUpdateColumnsToNull(final StringBuffer sql) {
-        sql.append(foreignKeyName + "=NULL ");
-    }
-
-    protected void appendCollectionWhereValues(final DatabaseConnector connector, final ObjectAdapter parent,
-        final StringBuffer sql) {
-        foreignKeyMapping.appendUpdateValues(connector, sql, parent);
-    }
-
-    protected void appendCollectionUpdateValues(final DatabaseConnector connector, final ObjectAdapter parent,
-        final StringBuffer sql) {
-        appendCollectionWhereValues(connector, parent, sql);
-    }
-
-    protected void appendColumnDefinitions(final StringBuffer sql) {
-        foreignKeyMapping.appendColumnDefinitions(sql);
-    }
-
-    @Override
-    public void loadInternalCollection(final DatabaseConnector connector, final ObjectAdapter parentAdapter) {
-
-        final ObjectAdapter collectionAdapter = field.get(parentAdapter);
-        if (!collectionAdapter.canTransitionToResolving()) {
-            return;
-        }
-
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("loading internal collection " + field);
-        }
-        final List<ObjectAdapter> list = new ArrayList<ObjectAdapter>();
-        try {
-            PersistorUtil.startResolving(collectionAdapter);
-
-            loadCollectionIntoList(connector, parentAdapter, table, specification, getIdMapping(), fieldMappingByField,
-                versionMapping, list);
-
-            final CollectionFacet collectionFacet =
-                collectionAdapter.getSpecification().getFacet(CollectionFacet.class);
-            collectionFacet.init(collectionAdapter, list.toArray(new ObjectAdapter[list.size()]));
-
-        } finally {
-            PersistorUtil.toEndState(collectionAdapter);
-        }
-
-        // TODO: Need to finalise this behaviour. At the moment, all
-        // collections will get infinitely resolved. I
-        // don't think this is desirable.
-        for (final ObjectAdapter field : list) {
-            // final ObjectMapping mapping =
-            // objectMappingLookup.getMapping(field, connector);
-            if (field.getSpecification().isOfType(parentAdapter.getSpecification())) {
-                loadInternalCollection(connector, field);
-            }
-        }
-    }
-
-    protected void loadCollectionIntoList(final DatabaseConnector connector, final ObjectAdapter parent,
-        final String table, final ObjectSpecification specification, final IdMappingAbstract idMappingAbstract,
-        final Map<ObjectAssociation, FieldMapping> fieldMappingByField, final VersionMapping versionMapping,
-        final List<ObjectAdapter> list) {
-
-        final StringBuffer sql = new StringBuffer();
-        sql.append("select ");
-        idMappingAbstract.appendColumnNames(sql);
-
-        sql.append(", ");
-        final String columnList = columnList(fieldMappingByField);
-        if (columnList.length() > 0) {
-            sql.append(columnList);
-            sql.append(", ");
-        }
-        sql.append(versionMapping.appendColumnNames());
-        sql.append(" from ");
-        sql.append(table);
-        sql.append(" where ");
-        appendCollectionWhereValues(connector, parent, sql);
-
-        final Results rs = connector.select(sql.toString());
-        while (rs.next()) {
-            final Oid oid = idMappingAbstract.recreateOid(rs, specification);
-            final ObjectAdapter element = getAdapter(specification, oid);
-            loadFields(element, rs, fieldMappingByField);
-            LOG.debug("  element  " + element.getOid());
-            list.add(element);
-        }
-        rs.close();
-    }
-
-    protected void loadFields(final ObjectAdapter adapter, final Results rs,
-        final Map<ObjectAssociation, FieldMapping> fieldMappingByField) {
-        if (!adapter.canTransitionToResolving()) {
-            return;
-        }
-
-        try {
-            PersistorUtil.startResolving(adapter);
-            for (final FieldMapping mapping : fieldMappingByField.values()) {
-                mapping.initializeField(adapter, rs);
-            }
-            adapter.setVersion(versionMapping.getLock(rs));
-        } finally {
-            PersistorUtil.toEndState(adapter);
-        }
-    }
-
-    /**
-     * Override this in the Polymorphic case to return just the elements that are appropriate for the subclass currently
-     * being handled.
-     * 
-     * @param collection
-     * @return those elements that ought to be used.
-     */
-    protected Iterator<ObjectAdapter> getElementsForCollectionAsIterator(final ObjectAdapter collection) {
-        final CollectionFacet collectionFacet = collection.getSpecification().getFacet(CollectionFacet.class);
-        final Iterable<ObjectAdapter> elements = collectionFacet.iterable(collection);
-        return elements.iterator();
-    }
-
-    @Override
-    public void saveInternalCollection(final DatabaseConnector connector, final ObjectAdapter parent) {
-        final ObjectAdapter collection = field.get(parent);
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Saving internal collection " + collection);
-        }
-
-        final Iterator<ObjectAdapter> elements = getElementsForCollectionAsIterator(collection);
-
-        // TODO What is needed to allow a collection update (add/remove) to mark
-        // the collection as dirty?
-        // checkIfDirty(collection);
-
-        if (elements.hasNext() == false) {
-            return;
-        }
-
-        clearCollectionParent(connector, parent);
-
-        resetCollectionParent(connector, parent, elements);
-    }
-
-    protected void clearCollectionParent(final DatabaseConnector connector, final ObjectAdapter parent) {
-        // Delete collection parent
-        final StringBuffer sql = new StringBuffer();
-        sql.append("update ");
-        sql.append(table);
-        sql.append(" set ");
-        appendCollectionUpdateColumnsToNull(sql);
-        sql.append(" where ");
-        appendCollectionWhereValues(connector, parent, sql);
-        connector.update(sql.toString());
-    }
-
-    protected void resetCollectionParent(final DatabaseConnector connector, final ObjectAdapter parent,
-        final Iterator<ObjectAdapter> elements) {
-        // Reinstall collection parent
-        final StringBuffer update = new StringBuffer();
-        update.append("update ");
-        update.append(table);
-        update.append(" set ");
-        appendCollectionUpdateValues(connector, parent, update);
-        update.append(" where ");
-
-        idMapping.appendColumnNames(update);
-
-        update.append(" IN (");
-
-        int count = 0;
-        for (final Iterator<ObjectAdapter> iterator = elements; iterator.hasNext();) {
-            final ObjectAdapter element = iterator.next();
-
-            if (count++ > 0) {
-                update.append(",");
-            }
-            final RootOid elementOid = (RootOid) element.getOid();
-            idMapping.appendObjectId(connector, update, elementOid);
-        }
-        update.append(")");
-        if (count > 0) {
-            connector.insert(update.toString());
-        }
-    }
-
-    protected void checkIfDirty(final ObjectAdapter collection) {
-        // Test: is dirty?
-        final ObjectSpecification collectionSpecification = collection.getSpecification();
-        if (collectionSpecification.isDirty(collection)) {
-            LOG.debug(collection.getOid() + " is dirty");
-        } else {
-            LOG.debug(collection.getOid() + " is clean");
-        }
-
-        final CollectionFacet collectionFacetD = collection.getSpecification().getFacet(CollectionFacet.class);
-        for (final ObjectAdapter element : collectionFacetD.iterable(collection)) {
-            if (collectionSpecification.isDirty(element)) {
-                LOG.debug(element.getOid() + " is dirty");
-            } else {
-                LOG.debug(element.getOid() + " is clean");
-            }
-        }
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln(field.getName(), "collection");
-        debug.indent();
-        debug.appendln("Foreign key name", foreignKeyName);
-        debug.appendln("Foreign key mapping", foreignKeyMapping);
-        debug.appendln("ID mapping", idMapping);
-        debug.appendln("Version mapping", versionMapping);
-        debug.appendln("Original mapping", originalMapping);
-        debug.unindent();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ForeignKeyInChildCollectionMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ForeignKeyInChildCollectionMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ForeignKeyInChildCollectionMapper.java
deleted file mode 100644
index b289450..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ForeignKeyInChildCollectionMapper.java
+++ /dev/null
@@ -1,89 +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.objectstore.sql.auto;
-
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.specloader.specimpl.OneToManyAssociationImpl;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.ObjectMappingLookup;
-
-/**
- * Used to map 1-to-many collections by creating, in the child table, 1 column
- * per parent collection. The column is named by combining the final part of the
- * parent class name and the collection variable name.
- * 
- * @author Kevin
- */
-public class ForeignKeyInChildCollectionMapper extends ForeignKeyCollectionMapper {
-    private static final Logger LOG = LoggerFactory.getLogger(ForeignKeyCollectionMapper.class);
-
-    protected final ObjectAssociation priorField; // prevents recursion
-    protected final List<ObjectAssociation> priorFields;
-
-    public ForeignKeyInChildCollectionMapper(final ObjectAssociation objectAssociation, final String parameterBase, final FieldMappingLookup lookup, final ObjectMappingLookup objectMapperLookup, final AbstractAutoMapper abstractAutoMapper, final ObjectAssociation field) {
-        super(objectAssociation, parameterBase, lookup, objectMapperLookup);
-
-        priorFields = abstractAutoMapper.fields;
-        priorField = field;
-
-        setUpFieldMappers();
-    }
-
-    protected ForeignKeyInChildCollectionMapper(final FieldMappingLookup lookup, final AbstractAutoMapper abstractAutoMapper, final ObjectAssociation field) {
-        super(lookup, abstractAutoMapper, field);
-        priorFields = null;
-        priorField = null;
-    }
-
-    @Override
-    protected void getExtraFields(final List<ObjectAssociation> existingFields) {
-        if (priorFields != null) {
-            for (final ObjectAssociation priorField1 : priorFields) {
-                if (existingFields.contains(priorField1) == false) {
-                    existingFields.add(priorField1);
-                } else {
-                    LOG.debug("Skipping prior field: " + priorField1.getName());
-                }
-            }
-        }
-    }
-
-    @Override
-    protected String determineColumnName(final ObjectAssociation objectAssociation) {
-        if (objectAssociation instanceof OneToManyAssociationImpl) {
-            final OneToManyAssociationImpl fkAssoc = (OneToManyAssociationImpl) objectAssociation;
-            final FacetedMethod peer = fkAssoc.getFacetedMethod();
-            final String fullClassName = peer.getIdentifier().getClassName();
-            final int lastPos = fullClassName.lastIndexOf('.');
-            return fullClassName.substring(lastPos + 1) + "_" + fkAssoc.getId();
-        } else {
-            return objectAssociation.getSpecification().getShortIdentifier();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java
deleted file mode 100755
index efe85a5..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java
+++ /dev/null
@@ -1,237 +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.objectstore.sql.auto;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.OidGenerator;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.IdMappingAbstract;
-import org.apache.isis.objectstore.sql.ObjectMapping;
-import org.apache.isis.objectstore.sql.ObjectMappingLookup;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.VersionMapping;
-import org.apache.isis.objectstore.sql.jdbc.JdbcPolymorphicObjectReferenceMapping;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-/**
- * Used to map 1-to-many collections by creating, in the collection child table (which may be an interface or abstract
- * class), 2 columns per parent collection. The first column is the class type, the second is the entity ID. The columns
- * are named by combining the final part of the parent class name and the collection variable name.
- * 
- * You have a choice between this class and {@link PolymorphicForeignKeyInChildCollectionMapper}
- * 
- * @author Kevin
- */
-public class PolymorphicForeignKeyInChildCollectionBaseMapper extends ForeignKeyInChildCollectionMapper {
-
-    private static final Logger LOG = LoggerFactory.getLogger(PolymorphicForeignKeyInChildCollectionBaseMapper.class);
-
-    private final String classColumnName;
-    private final String itemIdColumnName;
-    private final IdMappingAbstract polyIdMapper;
-
-    private final OidGenerator oidGenerator;
-
-    public PolymorphicForeignKeyInChildCollectionBaseMapper(final ObjectAssociation objectAssociation,
-        final String parameterBase, final FieldMappingLookup lookup, final ObjectMappingLookup objectMapperLookup,
-        final AbstractAutoMapper abstractAutoMapper, final ObjectAssociation field) {
-
-        super(objectAssociation, parameterBase, lookup, objectMapperLookup, abstractAutoMapper, field);
-
-        classColumnName = Sql.identifier(Sql.sqlName(getForeignKeyName() + "_cls"));
-        itemIdColumnName = Sql.identifier("item_id");
-
-        polyIdMapper = new JdbcPolymorphicObjectReferenceMapping(itemIdColumnName);
-        oidGenerator = IsisContext.getPersistenceSession().getOidGenerator();
-    }
-
-    @Override
-    public boolean needsTables(final DatabaseConnector connection) {
-        return super.needsTables(connection) || !connection.hasColumn(table, classColumnName);
-    }
-
-    @Override
-    public void createTables(final DatabaseConnector connection) {
-        if (super.needsTables(connection)) {
-            super.createTables(connection);
-        }
-
-        if (!connection.hasColumn(table, classColumnName)) {
-            addColumn(connection, classColumnName, Defaults.TYPE_LONG_STRING());
-            addColumn(connection, itemIdColumnName, Defaults.TYPE_PK());
-        }
-    }
-
-    protected void addColumn(final DatabaseConnector connection, final String columnName, final String columnType) {
-        final StringBuffer sql = new StringBuffer();
-        sql.append("alter table ");
-        sql.append(table);
-        sql.append(" add ");
-        sql.append(columnName);
-        sql.append(" ");
-        sql.append(columnType);
-        connection.update(sql.toString());
-    }
-
-    @Override
-    protected void appendCollectionUpdateColumnsToNull(final StringBuffer sql) {
-        super.appendCollectionUpdateColumnsToNull(sql);
-        sql.append(", " + classColumnName + "=NULL ");
-    }
-
-    @Override
-    protected void appendCollectionUpdateValues(final DatabaseConnector connector, final ObjectAdapter parent,
-        final StringBuffer sql) {
-        super.appendCollectionUpdateValues(connector, parent, sql);
-    }
-
-    @Override
-    protected void appendColumnDefinitions(final StringBuffer sql) {
-        super.appendColumnDefinitions(sql);
-    }
-
-    @Override
-    protected void clearCollectionParent(final DatabaseConnector connector, final ObjectAdapter parent) {
-        // Delete collection parent
-        final StringBuffer sql = new StringBuffer();
-        sql.append("DELETE FROM ");
-        sql.append(table);
-        sql.append(" WHERE ");
-        appendCollectionWhereValues(connector, parent, sql);
-        connector.update(sql.toString());
-    }
-
-    @Override
-    protected void resetCollectionParent(final DatabaseConnector connector, final ObjectAdapter parent,
-        final Iterator<ObjectAdapter> elements) {
-        LOG.debug("Saving polymorphic list");
-
-        ObjectSpecification elementSpecification;
-        while (elements.hasNext()) {
-            final ObjectAdapter thisAdapter = elements.next();
-            elementSpecification = thisAdapter.getSpecification();
-
-            // Reinstall collection parent
-            final StringBuffer update = new StringBuffer();
-            update.append("INSERT INTO ");
-            update.append(table);
-            update.append(" (");
-            // list of column names
-            super.getIdMapping().appendColumnNames(update);
-            update.append("," + getForeignKeyName());
-            update.append(", " + itemIdColumnName);
-            update.append("," + classColumnName);
-            update.append(") VALUES (");
-
-            // Row ID column
-            final Object pojo = thisAdapter.getObject();
-            final RootOid transientRootOid = oidGenerator.createTransientOid(pojo);
-
-            final RootOid persistentRootOid = oidGenerator.createPersistent(pojo, transientRootOid);
-
-            polyIdMapper.appendObjectId(connector, update, persistentRootOid);
-
-            // polyIdMapper.appendObjectId(connector, update,
-            // thisAdapter.getOid());
-            update.append(",");
-
-            // Foreign key ID column
-            getForeignKeyMapping().appendInsertValues(connector, update, parent);
-            update.append(",");
-
-            // item Id column
-            final RootOid oid = (RootOid) thisAdapter.getOid();
-            getIdMapping().appendObjectId(connector, update, oid);
-
-            // Class name column
-            update.append(",?)");
-            connector.addToQueryValues(elementSpecification.getFullIdentifier());
-
-            connector.insert(update.toString());
-        }
-    }
-
-    @Override
-    public IdMappingAbstract getIdMapping() {
-        return polyIdMapper;
-    }
-
-    @Override
-    protected void loadCollectionIntoList(final DatabaseConnector connector, final ObjectAdapter parent,
-        final String table, final ObjectSpecification specification, final IdMappingAbstract idMappingAbstract,
-        final Map<ObjectAssociation, FieldMapping> fieldMappingByField, final VersionMapping versionMapping,
-        final List<ObjectAdapter> list) {
-        LOG.debug("Loading polymorphic list");
-
-        final StringBuffer sql = new StringBuffer();
-        sql.append("select ");
-        super.getIdMapping().appendColumnNames(sql);
-
-        sql.append("," + getForeignKeyName());
-        sql.append("," + classColumnName);
-        sql.append("," + itemIdColumnName);
-
-        sql.append(" from ");
-        sql.append(table);
-        sql.append(" where ");
-        appendCollectionWhereValues(connector, parent, sql);
-
-        final Results rs = connector.select(sql.toString());
-
-        final SpecificationLoader reflector = IsisContext.getSpecificationLoader();
-        final JdbcPolymorphicObjectReferenceMapping idMapping =
-            (JdbcPolymorphicObjectReferenceMapping) idMappingAbstract;
-
-        while (rs.next()) {
-            final ObjectSpecification itemSpecification = reflector.loadSpecification(rs.getString(classColumnName));
-            idMapping.setObjectSpecification(itemSpecification);
-
-            // Load new recordSet for the actual class
-            final ObjectMapping itemMapper = objectMappingLookup.getMapping(itemSpecification, connector);
-            final TypedOid oid = idMapping.recreateOid(rs, itemSpecification);
-            final ObjectAdapter loadedObject = itemMapper.getObject(connector, oid);
-
-            LOG.debug("  element  " + loadedObject.getOid());
-
-            list.add(loadedObject);
-        }
-        rs.close();
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/PolymorphicForeignKeyInChildCollectionMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/PolymorphicForeignKeyInChildCollectionMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/PolymorphicForeignKeyInChildCollectionMapper.java
deleted file mode 100755
index 4bf0928..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/PolymorphicForeignKeyInChildCollectionMapper.java
+++ /dev/null
@@ -1,205 +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.objectstore.sql.auto;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import com.google.common.collect.Lists;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-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.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.IdMappingAbstract;
-import org.apache.isis.objectstore.sql.ObjectMapping;
-import org.apache.isis.objectstore.sql.ObjectMappingLookup;
-import org.apache.isis.objectstore.sql.VersionMapping;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-/**
- * Used to map 1-to-many collections by creating, in the child table, 1 column
- * per parent collection. The column is named by combining the final part of the
- * parent class name and the collection variable name.
- * 
- * You have a choice between this class and
- * {@link PolymorphicForeignKeyInChildCollectionBaseMapper}
- * 
- * @author Kevin
- */
-public class PolymorphicForeignKeyInChildCollectionMapper extends ForeignKeyInChildCollectionMapper {
-
-    private static final Logger LOG = LoggerFactory.getLogger(PolymorphicForeignKeyInChildCollectionMapper.class);
-
-    private final ObjectAssociation baseField;
-    private final List<String> tables;
-    private final List<ObjectSpecification> tableSpecifications;
-    private final List<ObjectMapping> subClassMappers;
-
-    // For iterating through the subclasses
-    private ObjectSpecification currentTableSpecification;
-    private Iterator<ObjectAdapter> currentIterator;
-    private List<ObjectAdapter> currentCollection;
-    private int currentIndexStart;
-    private int currentIndex;
-
-    // Store for passing on to other mappers
-    final String parameterBase;
-    final FieldMappingLookup lookup;
-    final ObjectMappingLookup objectMapperLookup;
-    final String fieldClassName;
-
-    public PolymorphicForeignKeyInChildCollectionMapper(final ObjectAssociation objectAssociation, final String parameterBase, final FieldMappingLookup lookup, final ObjectMappingLookup objectMapperLookup, final AbstractAutoMapper abstractAutoMapper, final ObjectAssociation field) {
-
-        super(lookup, abstractAutoMapper, field);
-
-        fieldClassName = className;
-
-        baseField = objectAssociation;
-        tables = new ArrayList<String>();
-        tableSpecifications = new ArrayList<ObjectSpecification>();
-        subClassMappers = new ArrayList<ObjectMapping>();
-
-        // Capture for use in creating subclass mappers.
-        this.parameterBase = parameterBase;
-        this.lookup = lookup;
-        this.objectMapperLookup = objectMapperLookup;
-
-        addSubSpecificationsToTable(specification);
-    }
-
-    protected void addSubSpecificationsToTable(final ObjectSpecification objectSpecification) {
-        if (objectSpecification.isAbstract() == false) {
-            final String tableNameFromSpecification = getTableNameFromSpecification(objectSpecification);
-            tables.add(tableNameFromSpecification);
-            tableSpecifications.add(objectSpecification);
-
-            final ObjectMapping autoMapper = objectMapperLookup.getMapping(objectSpecification, null);
-            subClassMappers.add(autoMapper);
-        }
-        if (objectSpecification.hasSubclasses()) {
-            for (final ObjectSpecification subSpecification : objectSpecification.subclasses()) {
-                addSubSpecificationsToTable(subSpecification);
-            }
-        }
-    }
-
-    @Override
-    public boolean needsTables(final DatabaseConnector connection) {
-        for (final String subTableName : tables) {
-            table = subTableName;
-            if (super.needsTables(connection)) {
-                // Stop on first table that is needed.
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public void createTables(final DatabaseConnector connection) {
-        for (final String subTableName : tables) {
-            table = subTableName;
-            if (super.needsTables(connection)) {
-                super.createTables(connection);
-            }
-        }
-    }
-
-    @Override
-    protected Iterator<ObjectAdapter> getElementsForCollectionAsIterator(final ObjectAdapter collection) {
-        return currentIterator;
-    }
-
-    @Override
-    public void saveInternalCollection(final DatabaseConnector connector, final ObjectAdapter parent) {
-        final ObjectAdapter collection = baseField.get(parent);
-        LOG.debug("Saving polymorphic internal collection " + collection);
-
-        currentCollection = new ArrayList<ObjectAdapter>();
-        currentIterator = super.getElementsForCollectionAsIterator(collection);
-        for (; currentIterator.hasNext();) {
-            final ObjectAdapter item = currentIterator.next();
-            currentCollection.add(item);
-        }
-
-        for (int i = 0; i < tables.size(); i++) {
-            currentTableSpecification = tableSpecifications.get(i);
-            currentIndex = 0;
-            currentIndexStart = 0;
-
-            currentIterator = new Iterator<ObjectAdapter>() {
-                @Override
-                public boolean hasNext() {
-                    for (int i = currentIndexStart; i < currentCollection.size(); i++) {
-                        final ObjectAdapter thisObjectAdapter = currentCollection.get(i);
-                        if (thisObjectAdapter.getSpecification().isOfType(currentTableSpecification)) {
-                            currentIndexStart = currentIndex = i;
-                            return true;
-                        }
-                    }
-                    return false;
-                }
-
-                @Override
-                public ObjectAdapter next() {
-                    currentIndexStart = currentIndex + 1;
-                    return currentCollection.get(currentIndex);
-                }
-
-                @Override
-                public void remove() {
-                }
-            };
-
-            // Provide replacement table and column definitions here
-            table = tables.get(i);
-            super.saveInternalCollection(connector, parent);
-        }
-    }
-
-    @Override
-    protected void loadCollectionIntoList(final DatabaseConnector connector, final ObjectAdapter parent, final String table, final ObjectSpecification specification, final IdMappingAbstract idMappingAbstract, final Map<ObjectAssociation, FieldMapping> fieldMappingByField, final VersionMapping versionMapping,
-            final List<ObjectAdapter> superList) {
-        final List<ObjectAdapter> list = Lists.newArrayList();
-        
-        for (int i = 0; i < tables.size(); i++) {
-            currentTableSpecification = tableSpecifications.get(i);
-            final AutoMapper mapper = (AutoMapper) subClassMappers.get(i);
-            final String mapperTable = tables.get(i);
-
-            super.loadCollectionIntoList(connector, parent, mapperTable, currentTableSpecification, mapper.getIdMapping(), mapper.fieldMappingByField, mapper.getVersionMapping(), list);
-
-            superList.addAll(list);
-            list.clear();
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ReversedAutoAssociationMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ReversedAutoAssociationMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ReversedAutoAssociationMapper.java
deleted file mode 100644
index 7169b23..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/ReversedAutoAssociationMapper.java
+++ /dev/null
@@ -1,212 +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.objectstore.sql.auto;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.version.SerialNumberVersion;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.PersistorUtil;
-import org.apache.isis.objectstore.sql.CollectionMapper;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.ObjectMappingLookup;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.VersionMapping;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMapping;
-
-/**
- * used where there is a one to many association, and the elements are only
- * known to parent
- */
-public class ReversedAutoAssociationMapper extends AbstractAutoMapper implements CollectionMapper {
-    private static final Logger LOG = LoggerFactory.getLogger(ReversedAutoAssociationMapper.class);
-    private final ObjectAssociation field;
-    private final ObjectReferenceMapping idMapping;
-    private final VersionMapping versionMapping;
-
-    public ReversedAutoAssociationMapper(final String elemenType, final ObjectAssociation field, final String parameterBase, final FieldMappingLookup lookup, final ObjectMappingLookup objectLookup) {
-        super(elemenType, parameterBase, lookup, objectLookup);
-
-        this.field = field;
-
-        idMapping = lookup.createMapping(field.getSpecification());
-        versionMapping = lookup.createVersionMapping();
-
-        setUpFieldMappers();
-    }
-
-    @Override
-    public void createTables(final DatabaseConnector connection) {
-        if (!connection.hasTable(table)) {
-            final StringBuffer sql = new StringBuffer();
-            sql.append("create table ");
-            sql.append(table);
-            sql.append(" (");
-            idMapping.appendColumnDefinitions(sql);
-            sql.append(", ");
-            for (final FieldMapping mapping : fieldMappingByField.values()) {
-                mapping.appendColumnDefinitions(sql);
-                sql.append(",");
-            }
-            sql.append(versionMapping.appendColumnDefinitions());
-            sql.append(")");
-            connection.update(sql.toString());
-        }
-        for (int i = 0; collectionMappers != null && i < collectionMappers.length; i++) {
-            if (collectionMappers[i].needsTables(connection)) {
-                collectionMappers[i].createTables(connection);
-            }
-        }
-    }
-
-    @Override
-    public void loadInternalCollection(final DatabaseConnector connector, final ObjectAdapter parentAdapter) {
-        final ObjectAdapter collectionAdapter = field.get(parentAdapter);
-        if (!collectionAdapter.canTransitionToResolving()) {
-            return;
-        } 
-        if(LOG.isDebugEnabled()) {
-            LOG.debug("loading internal collection " + field);
-        }
-        
-        try {
-            // added, since was missing (presumably an error given similarity with other 'Mapper' impls?)
-            PersistorUtil.startResolving(collectionAdapter);
-            
-            final StringBuffer sql = new StringBuffer();
-            sql.append("select ");
-            idMapping.appendColumnNames(sql);
-            sql.append(", ");
-            sql.append(columnList(fieldMappingByField));
-            sql.append(" from ");
-            sql.append(table);
-            sql.append(" where ");
-            idMapping.appendUpdateValues(connector, sql, parentAdapter);
-            
-            final Results rs = connector.select(sql.toString());
-            final List<ObjectAdapter> list = new ArrayList<ObjectAdapter>();
-            while (rs.next()) {
-                final Oid oid = idMapping.recreateOid(rs, specification);
-                final ObjectAdapter element = getAdapter(specification, oid);
-                loadFields(element, rs);
-                if(LOG.isDebugEnabled()) {
-                    LOG.debug("  element  " + element.getOid());
-                }
-                list.add(element);
-            }
-            final CollectionFacet collectionFacet = collectionAdapter.getSpecification().getFacet(CollectionFacet.class);
-            collectionFacet.init(collectionAdapter, list.toArray(new ObjectAdapter[list.size()]));
-            rs.close();
-        } finally {
-            PersistorUtil.toEndState(collectionAdapter);
-        }
-
-    }
-
-    protected void loadFields(final ObjectAdapter object, final Results rs) {
-        try {
-            PersistorUtil.startResolving(object);
-            for (final FieldMapping mapping : fieldMappingByField.values()) {
-                mapping.initializeField(object, rs);
-            }
-            /*
-             * for (int i = 0; i < oneToManyProperties.length; i++) { /* Need to set
-             * up collection to be a ghost before we access as below
-             */
-            // CollectionAdapter collection = (CollectionAdapter)
-            /*
-             * oneToManyProperties[i].get(object); }
-             */
-            
-            object.setVersion(versionMapping.getLock(rs));
-            
-        } finally {
-            PersistorUtil.toEndState(object);
-        }
-    }
-
-    @Override
-    public void saveInternalCollection(final DatabaseConnector connector, final ObjectAdapter parent) {
-        final ObjectAdapter collection = field.get(parent);
-        LOG.debug("Saving internal collection " + collection);
-
-        deleteAllElments(connector, parent);
-        reinsertElements(connector, parent, collection);
-    }
-
-    private void reinsertElements(final DatabaseConnector connector, final ObjectAdapter parent, final ObjectAdapter collection) {
-        final StringBuffer sql = new StringBuffer();
-        sql.append("insert into " + table + " (");
-        idMapping.appendColumnNames(sql);
-        sql.append(", ");
-        final String columnList = columnList(fieldMappingByField);
-        if (columnList.length() > 0) {
-            sql.append(columnList);
-            sql.append(", ");
-        }
-        sql.append(versionMapping.insertColumns());
-        sql.append(") values (");
-        idMapping.appendInsertValues(connector, sql, parent);
-        sql.append(", ");
-
-        final CollectionFacet collectionFacet = field.getFacet(CollectionFacet.class);
-        for (final ObjectAdapter element : collectionFacet.iterable(collection)) {
-            final StringBuffer insert = new StringBuffer(sql);
-            insert.append(values(connector, element));
-            final Version version = SerialNumberVersion.create(0, "", new Date());
-            insert.append(versionMapping.insertValues(connector, version));
-            insert.append(") ");
-
-            connector.insert(insert.toString());
-            element.setVersion(version);
-        }
-    }
-
-    private void deleteAllElments(final DatabaseConnector connector, final ObjectAdapter parent) {
-        final StringBuffer sql = new StringBuffer();
-        sql.append("delete from ");
-        sql.append(table);
-        sql.append(" where ");
-        idMapping.appendUpdateValues(connector, sql, parent);
-        connector.update(sql.toString());
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln(field.getName(), "collection");
-        debug.indent();
-        debug.appendln("ID mapping", idMapping);
-        debug.appendln("Version mapping", versionMapping);
-        debug.unindent();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/AbstractJdbcFieldMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/AbstractJdbcFieldMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/AbstractJdbcFieldMapping.java
deleted file mode 100644
index 068a314..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/AbstractJdbcFieldMapping.java
+++ /dev/null
@@ -1,111 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-public abstract class AbstractJdbcFieldMapping implements FieldMapping {
-	
-    private final String columnName;
-    protected final ObjectAssociation field;
-
-    public AbstractJdbcFieldMapping(final ObjectAssociation field) {
-        this.field = field;
-        columnName = Sql.sqlFieldName(field.getId());
-    }
-
-    @Override
-    public ObjectAssociation getField() {
-    	return field;
-    }
-    
-    @Override
-    public void appendColumnDefinitions(final StringBuffer sql) {
-        sql.append(columnName);
-        sql.append(" ");
-        sql.append(columnType());
-    }
-
-    @Override
-    public void appendColumnNames(final StringBuffer sql) {
-        sql.append(columnName);
-    }
-
-    @Override
-    public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        final ObjectAdapter fieldValue = field.get(object);
-        if (fieldValue == null) {
-            sql.append("NULL");
-        } else {
-            sql.append("?");
-            connector.addToQueryValues(preparedStatementObject(fieldValue));
-        }
-    }
-
-    @Override
-    public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        appendEqualsClause(connector, sql, object, "=");
-    }
-
-    @Override
-    public void appendWhereClause(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        appendEqualsClause(connector, sql, object, "=");
-    }
-
-    protected void appendEqualsClause(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object, final String condition) {
-        sql.append(Sql.sqlFieldName(field.getId()));
-        sql.append(condition);
-        final ObjectAdapter fieldValue = field.get(object);
-        sql.append("?");
-        connector.addToQueryValues(preparedStatementObject(fieldValue));
-    }
-
-    @Override
-    public void initializeField(final ObjectAdapter object, final Results rs) {
-        final String columnName = Sql.sqlFieldName(field.getId());
-        final ObjectAdapter restoredValue = setFromDBColumn(rs, columnName, field);
-        ((OneToOneAssociation) field).initAssociation(object, restoredValue);
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln(field.getId(), columnName + "/" + columnType());
-    }
-
-    @Override
-    public void appendWhereObject(final DatabaseConnector connector, final ObjectAdapter objectAdapter) {
-        final Object object = preparedStatementObject(objectAdapter);
-        connector.addToQueryValues(object);
-    }
-
-    protected abstract String columnType();
-
-    protected abstract Object preparedStatementObject(ObjectAdapter value);
-
-    protected abstract ObjectAdapter setFromDBColumn(Results results, String columnName, ObjectAssociation field);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/AbstractJdbcMultiFieldMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/AbstractJdbcMultiFieldMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/AbstractJdbcMultiFieldMapping.java
deleted file mode 100755
index adfd00e..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/AbstractJdbcMultiFieldMapping.java
+++ /dev/null
@@ -1,195 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.applib.ApplicationException;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-
-public abstract class AbstractJdbcMultiFieldMapping extends AbstractJdbcFieldMapping {
-    private final int columnCount;
-    private final String[] types;
-    private final String[] columnNames;
-    private final AdapterManager adapterManager;
-
-    /**
-     * 
-     * @param field
-     *            the field object association.
-     * @param columnCount
-     *            the number of columns required to store this field. See the
-     *            abstract methods ,
-     *            {@link AbstractJdbcFieldMapping#preparedStatementObject(int i, ObjectAdapter fieldValue)}
-     *            ,
-     *            {@link AbstractJdbcFieldMapping#getObjectFromResults(Results results)}
-     *            ,
-     * @param types
-     *            the list of SQL data types, 1 per columnCount, to represent
-     *            the value type.
-     */
-    public AbstractJdbcMultiFieldMapping(final ObjectAssociation field, final int columnCount, final String... types) {
-        super(field);
-        this.columnCount = columnCount;
-
-        this.types = new String[columnCount];
-        for (int i = 0; i < types.length; i++) {
-            this.types[i] = types[i];
-        }
-
-        final String fieldName = field.getId();
-        columnNames = new String[columnCount];
-        columnNames[0] = Sql.sqlFieldName(fieldName + "1");
-        columnNames[1] = Sql.sqlFieldName(fieldName + "2");
-
-        adapterManager = IsisContext.getPersistenceSession().getAdapterManager();
-
-    }
-
-    @Override
-    public void appendColumnDefinitions(final StringBuffer sql) {
-        for (int i = 0; i < columnCount; i++) {
-            sql.append(columnName(i) + " " + columnType(i));
-            if (i < columnCount - 1) {
-                sql.append(", ");
-            }
-        }
-    }
-
-    @Override
-    public void appendColumnNames(final StringBuffer sql) {
-        for (int i = 0; i < columnCount; i++) {
-            sql.append(columnName(i));
-            if (i < columnCount - 1) {
-                sql.append(", ");
-            }
-        }
-    }
-
-    @Override
-    public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        final ObjectAdapter fieldValue = field.get(object);
-        final Object o = (fieldValue == null) ? null : fieldValue.getObject();
-
-        for (int i = 0; i < columnCount; i++) {
-            if (fieldValue == null) {
-                sql.append("NULL");
-            } else {
-                sql.append("?");
-                if (i < columnCount - 1) {
-                    sql.append(", ");
-                }
-
-                connector.addToQueryValues(preparedStatementObject(i, o));
-            }
-        }
-    }
-
-    @Override
-    public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        final ObjectAdapter fieldValue = field.get(object);
-        final Object o = (fieldValue == null) ? null : fieldValue.getObject();
-        for (int i = 0; i < columnCount; i++) {
-            appendEqualsClause(connector, i, sql, o, "=");
-        }
-    }
-
-    @Override
-    public void appendWhereClause(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        appendUpdateValues(connector, sql, object);
-    }
-
-    private void appendEqualsClause(final DatabaseConnector connector, final int index, final StringBuffer sql, final Object object, final String condition) {
-
-        final Object oPart = preparedStatementObject(index, object);
-
-        sql.append(columnName(index) + condition + "?");
-        if (index < columnCount - 1) {
-            sql.append(", ");
-        }
-
-        connector.addToQueryValues(oPart);
-    }
-
-    @Override
-    public ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
-        ObjectAdapter restoredValue;
-        final Object objectValue = getObjectFromResults(results);
-        restoredValue = adapterManager.adapterFor(objectValue); // NOTE: If this
-                                                                // fails, then
-                                                                // fetch back
-                                                                // the
-                                                                // declaration
-                                                                // from the
-                                                                // constructor
-                                                                // to here.
-        return restoredValue;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        for (int i = 0; i < columnCount; i++) {
-            debug.appendln(field.getId(), columnName(i) + "/" + columnType(i));
-        }
-    }
-
-    @Override
-    protected String columnType() {
-        throw new ApplicationException("Should never be called");
-    }
-
-    @Override
-    protected Object preparedStatementObject(final ObjectAdapter value) {
-        throw new ApplicationException("Should never be called");
-    }
-
-    protected String columnType(final int index) {
-        return types[index];
-    }
-
-    protected String columnName(final int index) {
-        return columnNames[index];
-    }
-
-    /**
-     * Return an object suitable for passing to the SQL prepared statement
-     * constructor, to handle field "index". Will be called "columnCount" times.
-     * 
-     * @param index
-     *            0 based index
-     * @param fieldObject
-     *            the value type currently being
-     * @return a JDBC-compatible object.
-     */
-    protected abstract Object preparedStatementObject(int index, Object o);
-
-    /**
-     * Return an applib object represented by the results set.
-     * 
-     * @param results
-     *            the current record row from the underlying table
-     * @return a fully initialised value object.
-     */
-    protected abstract Object getObjectFromResults(Results results);
-}


[09/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDumpSnapshotOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDumpSnapshotOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDumpSnapshotOption.java
deleted file mode 100644
index b6a867e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugDumpSnapshotOption.java
+++ /dev/null
@@ -1,74 +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.dnd.view.debug;
-
-import static org.apache.isis.core.commons.lang.ObjectExtensions.asEnumerationT;
-
-import java.util.Enumeration;
-
-import org.slf4j.Logger;
-
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.runtime.logging.SnapshotAppender;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-/**
- * Display debug window
- */
-public class DebugDumpSnapshotOption extends UserActionAbstract {
-    public DebugDumpSnapshotOption() {
-        super("Dump log snapshot", ActionType.DEBUG);
-    }
-
-    @Override
-    public Consent disabled(final View component) {
-        final Enumeration<Logger> enumeration = asEnumerationT(org.apache.log4j.Logger.getRootLogger().getAllAppenders(), Logger.class);
-        while (enumeration.hasMoreElements()) {
-            final org.apache.log4j.Appender appender = (org.apache.log4j.Appender) enumeration.nextElement();
-            if (appender instanceof SnapshotAppender) {
-                return Allow.DEFAULT;
-            }
-        }
-        // TODO: move logic into Facet
-        return new Veto("No available snapshot appender");
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        final Enumeration<Logger> enumeration = asEnumerationT(org.apache.log4j.Logger.getRootLogger().getAllAppenders(), Logger.class);
-        while (enumeration.hasMoreElements()) {
-            final org.apache.log4j.Appender appender = (org.apache.log4j.Appender) enumeration.nextElement();
-            if (appender instanceof SnapshotAppender) {
-                ((SnapshotAppender) appender).forceSnapshot();
-            }
-        }
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "Force a snapshot of the log";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugObjectGraph.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugObjectGraph.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugObjectGraph.java
deleted file mode 100644
index 77401fa..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugObjectGraph.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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.util.Dump;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public class DebugObjectGraph implements DebuggableWithTitle {
-    private final ObjectAdapter object;
-
-    public DebugObjectGraph(final ObjectAdapter object) {
-        this.object = object;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        dumpGraph(object, debug);
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Object Graph";
-    }
-
-    private void dumpGraph(final ObjectAdapter object, final DebugBuilder info) {
-        if (object != null) {
-            Dump.graph(object, IsisContext.getAuthenticationSession(), info);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugObjectSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugObjectSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugObjectSpecification.java
deleted file mode 100644
index 6e433e6..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugObjectSpecification.java
+++ /dev/null
@@ -1,53 +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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.util.Dump;
-
-public class DebugObjectSpecification implements DebuggableWithTitle {
-    private final ObjectSpecification specification;
-
-    public DebugObjectSpecification(final ObjectAdapter object) {
-        this.specification = object.getSpecification();
-    }
-
-    public DebugObjectSpecification(final ObjectSpecification object) {
-        this.specification = object;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        if (specification == null) {
-            debug.appendln("no specfication");
-        } else {
-            Dump.specification(specification, debug);
-        }
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Object Specification";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugOption.java
deleted file mode 100644
index deb0d69..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugOption.java
+++ /dev/null
@@ -1,79 +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.dnd.view.debug;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.core.runtime.userprofile.UserProfilesDebugUtil;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.service.PerspectiveContent;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-/**
- * Display debug window
- */
-public class DebugOption extends UserActionAbstract {
-    public DebugOption() {
-        super("Debug...", ActionType.DEBUG);
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        final Content content = view.getContent();
-        final ObjectAdapter object = content == null ? null : content.getAdapter();
-
-        final List<DebuggableWithTitle> debug = Lists.newArrayList();
-        if (content instanceof PerspectiveContent) {
-            final PerspectiveEntry perspectiveEntry = ((PerspectiveContent) content).getPerspective();
-            debug.add(UserProfilesDebugUtil.asDebuggableWithTitle(perspectiveEntry));
-        } else {
-            debug.add(new DebugObjectSpecification(content.getSpecification()));
-        }
-        if (object != null) {
-            debug.add(new DebugAdapter(object));
-            debug.add(new DebugObjectGraph(object));
-        }
-
-        debug.add(new DebugViewStructure(view));
-        debug.add(new DebugContent(view));
-        debug.add(new DebugDrawing(view));
-        debug.add(new DebugDrawingAbsolute(view));
-
-        final DebuggableWithTitle[] info = debug.toArray(new DebuggableWithTitle[debug.size()]);
-        at.add(50, 6);
-        // at.getX() + 50, at.getY() + 6
-        Toolkit.getViewer().showDebugFrame(info, at);
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "Open debug window about " + view;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugOutput.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugOutput.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugOutput.java
deleted file mode 100644
index c58a96f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugOutput.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.dnd.view.debug;
-
-import java.awt.FileDialog;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.PrintJob;
-import java.awt.Toolkit;
-import java.awt.datatransfer.Clipboard;
-import java.awt.datatransfer.StringSelection;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.apache.isis.core.commons.debug.DebugString;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class DebugOutput {
-    private static final DateFormat FORMAT = new SimpleDateFormat("yyyyMMdd-HHmmss-SSS");
-    private static final Font TEXT_FONT = new Font("SansSerif", Font.PLAIN, 10);
-    private static final Font TITLE_FONT = new Font("SansSerif", Font.BOLD, 12);
-
-    public static void print(final String title, final String text) {
-        final Frame parent = new Frame();
-        final PrintJob job = Toolkit.getDefaultToolkit().getPrintJob(parent, "Print " + title, new Properties());
-
-        if (job != null) {
-            final Graphics graphic = job.getGraphics();
-            // Dimension pageSize = job.getPageDimension();
-
-            if (graphic != null) {
-                graphic.translate(10, 10);
-                final int x = 50;
-                int y = 50;
-
-                graphic.setFont(TITLE_FONT);
-
-                final int height = graphic.getFontMetrics().getAscent();
-                final int width = graphic.getFontMetrics().stringWidth(title);
-                graphic.drawRect(x - 10, y - 10 - height, width + 20, height + 20);
-
-                graphic.drawString(title, x, y);
-
-                y += graphic.getFontMetrics().getHeight();
-                y += 20;
-
-                graphic.setFont(TEXT_FONT);
-                final StringTokenizer tk = new StringTokenizer(text, "\n\r");
-                while (tk.hasMoreTokens()) {
-                    final String line = tk.nextToken();
-                    graphic.drawString(line, x, y);
-                    y += graphic.getFontMetrics().getHeight();
-                }
-
-                graphic.dispose();
-            }
-
-            job.end();
-        }
-        parent.dispose();
-    }
-
-    /*
-     * 
-     * 
-     * Frame frame = new Frame(); PrintJob job =
-     * Toolkit.getDefaultToolkit().getPrintJob(frame, "Print object", null);
-     * 
-     * if (job != null) { Graphics pg = job.getGraphics(); Dimension pageSize =
-     * job.getPageDimension();
-     * 
-     * if (pg != null) { pg.translate(LEFT, HEIGHT); pg.drawRect(0, 0,
-     * pageSize.width - LEFT - 1, pageSize.height - HEIGHT - 1); view.print(new
-     * PrintCanvas(pg, view)); pg.dispose(); }
-     * 
-     * job.end(); } frame.dispose();
-     */
-
-    public static void saveToClipboard(final String text) {
-        final Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
-        final StringSelection ss = new StringSelection(text);
-        cb.setContents(ss, ss);
-    }
-
-    public static void saveToFile(final DebuggableWithTitle object) {
-        final String dateStamp = FORMAT.format(new Date());
-        final String fileName = object.getClass().getName() + "-" + dateStamp + ".txt";
-        final DebugString text = new DebugString();
-        object.debugData(text);
-        final String title = object.debugTitle();
-
-        saveToFile(new File(fileName), title, text.toString());
-    }
-
-    public static void saveToFile(final File file, final String title, final String text) {
-        try {
-            final PrintWriter writer = new PrintWriter(new FileWriter(file));
-            writer.println(title);
-            writer.println();
-            writer.println(text.toString());
-            writer.close();
-        } catch (final IOException e) {
-            throw new IsisException(e);
-        }
-    }
-
-    public static void saveToFile(final String saveDialogTitle, final String title, final String text) {
-        final Frame parent = new Frame();
-
-        final FileDialog dialog = new FileDialog(parent, saveDialogTitle, FileDialog.SAVE);
-        dialog.setVisible(true);
-        final String file = dialog.getFile();
-        final String dir = dialog.getDirectory();
-
-        parent.dispose();
-
-        saveToFile(new File(dir, file), title, text);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugView.java
deleted file mode 100644
index e8db480..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugView.java
+++ /dev/null
@@ -1,124 +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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.util.Dump;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.DebugCanvas;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-
-public class DebugView implements DebuggableWithTitle {
-    private final View view;
-
-    public DebugView(final View display) {
-        this.view = display;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.append(view.getView());
-        debug.blankLine();
-        debug.blankLine();
-
-        // display details
-        debug.appendTitle("VIEW");
-
-        view.debug(debug);
-        debug.appendln();
-
-        // content
-        final Content content = view.getContent();
-        debug.appendTitle("CONTENT");
-        if (content != null) {
-            String type = content.getClass().getName();
-            type = type.substring(type.lastIndexOf('.') + 1);
-            debug.appendln("Content", type);
-            content.debugDetails(debug);
-
-            debug.indent();
-            debug.appendln("Icon name", content.getIconName());
-            debug.appendln("Icon ", content.getIconPicture(32));
-            debug.appendln("Window title", content.windowTitle());
-            debug.appendln("Persistable", content.isPersistable());
-            debug.appendln("Object", content.isObject());
-            debug.appendln("Collection", content.isCollection());
-
-            debug.appendln("Parseable", content.isTextParseable());
-            debug.unindent();
-        } else {
-            debug.appendln("Content", "none");
-        }
-        debug.blankLine();
-
-        if (content instanceof ObjectContent) {
-            final ObjectAdapter object = ((ObjectContent) content).getObject();
-            dumpObject(object, debug);
-            debug.blankLine();
-            dumpSpecification(object, debug);
-            debug.blankLine();
-            dumpGraph(object, debug);
-
-        } else if (content instanceof CollectionContent) {
-            final ObjectAdapter collection = ((CollectionContent) content).getCollection();
-            debug.blankLine();
-            dumpObject(collection, debug);
-            dumpSpecification(collection, debug);
-            debug.blankLine();
-            dumpGraph(collection, debug);
-        }
-
-        debug.append("\n\nDRAWING\n");
-        debug.append("------\n");
-        view.draw(new DebugCanvas(debug, new Bounds(view.getBounds())));
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Debug: " + view + view == null ? "" : ("/" + view.getContent());
-    }
-
-    public void dumpGraph(final ObjectAdapter object, final DebugBuilder info) {
-        if (object != null) {
-            info.appendTitle("GRAPH");
-            Dump.graph(object, IsisContext.getAuthenticationSession(), info);
-        }
-    }
-
-    public void dumpObject(final ObjectAdapter object, final DebugBuilder info) {
-        if (object != null) {
-            info.appendTitle("OBJECT");
-            Dump.adapter(object, info);
-        }
-    }
-
-    private void dumpSpecification(final ObjectAdapter object, final DebugBuilder info) {
-        if (object != null) {
-            info.appendTitle("SPECIFICATION");
-            Dump.specification(object, info);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugViewStructure.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugViewStructure.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugViewStructure.java
deleted file mode 100644
index dd7ea75..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/DebugViewStructure.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.dnd.view.debug;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class DebugViewStructure implements DebuggableWithTitle {
-    private final View view;
-
-    public DebugViewStructure(final View display) {
-        this.view = display;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        view.debug(debug);
-    }
-
-    @Override
-    public String debugTitle() {
-        return "View Structure";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/LoggingOptions.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/LoggingOptions.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/LoggingOptions.java
deleted file mode 100644
index 63178f5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/debug/LoggingOptions.java
+++ /dev/null
@@ -1,59 +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.dnd.view.debug;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.ConsentAbstract;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.MenuOptions;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class LoggingOptions implements MenuOptions {
-
-    @Override
-    public void menuOptions(final UserActionSet options) {
-        options.add(loggingOption("Off", org.apache.log4j.Level.OFF));
-        options.add(loggingOption("Error", org.apache.log4j.Level.ERROR));
-        options.add(loggingOption("Warn", org.apache.log4j.Level.WARN));
-        options.add(loggingOption("Info", org.apache.log4j.Level.INFO));
-        options.add(loggingOption("Debug", org.apache.log4j.Level.DEBUG));
-
-        options.add(new DebugDumpSnapshotOption());
-    }
-
-    private UserActionAbstract loggingOption(final String name, final org.apache.log4j.Level level) {
-        return new UserActionAbstract("Log level " + level, ActionType.DEBUG) {
-            @Override
-            public Consent disabled(final View component) {
-                return ConsentAbstract.allowIf(org.apache.log4j.LogManager.getRootLogger().getLevel() != level);
-            }
-
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                org.apache.log4j.LogManager.getRootLogger().setLevel(level);
-            }
-        };
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ClearOneToManyAssociationOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ClearOneToManyAssociationOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ClearOneToManyAssociationOption.java
deleted file mode 100644
index 530e19d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ClearOneToManyAssociationOption.java
+++ /dev/null
@@ -1,45 +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.dnd.view.field;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class ClearOneToManyAssociationOption extends UserActionAbstract {
-
-    public ClearOneToManyAssociationOption() {
-        super("Clear association");
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        final OneToManyFieldElement content = (OneToManyFieldElement) view.getContent();
-        return content.canClear();
-    }
-
-    @Override
-    public void execute(final Workspace frame, final View view, final Location at) {
-        final OneToManyFieldElement content = (OneToManyFieldElement) view.getContent();
-        content.clear();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ClearOneToOneAssociationOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ClearOneToOneAssociationOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ClearOneToOneAssociationOption.java
deleted file mode 100644
index 44f0009..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ClearOneToOneAssociationOption.java
+++ /dev/null
@@ -1,45 +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.dnd.view.field;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class ClearOneToOneAssociationOption extends UserActionAbstract {
-    public ClearOneToOneAssociationOption() {
-        super("Clear association");
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        final OneToOneField content = ((OneToOneField) view.getContent());
-        return content.canClear();
-    }
-
-    @Override
-    public void execute(final Workspace frame, final View view, final Location at) {
-        final OneToOneField content = ((OneToOneField) view.getContent());
-        content.clear();
-        view.getParent().invalidateContent();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ObjectField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ObjectField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ObjectField.java
deleted file mode 100644
index f1ddb42..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/ObjectField.java
+++ /dev/null
@@ -1,66 +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.dnd.view.field;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-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;
-
-final class ObjectField {
-    private final ObjectAssociation field;
-    private final ObjectAdapter parent;
-
-    ObjectField(final ObjectAdapter parent, final ObjectAssociation field) {
-        this.parent = parent;
-        this.field = field;
-    }
-
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("field", getObjectAssociation());
-        debug.appendln("name", getName());
-        debug.appendln("specification", getSpecification());
-        debug.appendln("parent", parent);
-    }
-
-    public String getDescription() {
-        return field.getDescription();
-    }
-
-    public String getHelp() {
-        return field.getHelp();
-    }
-
-    public ObjectAssociation getObjectAssociation() {
-        return field;
-    }
-
-    public final String getName() {
-        return field.getName();
-    }
-
-    public ObjectAdapter getParent() {
-        return parent;
-    }
-
-    public ObjectSpecification getSpecification() {
-        return field.getSpecification();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyField.java
deleted file mode 100644
index b49375b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyField.java
+++ /dev/null
@@ -1,28 +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.dnd.view.field;
-
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public interface OneToManyField extends FieldContent, CollectionContent {
-    OneToManyAssociation getOneToManyAssociation();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldElement.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldElement.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldElement.java
deleted file mode 100644
index 15db170..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldElement.java
+++ /dev/null
@@ -1,27 +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.dnd.view.field;
-
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public interface OneToManyFieldElement extends FieldContent, ObjectContent {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldElementImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldElementImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldElementImpl.java
deleted file mode 100644
index 6e56e89..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldElementImpl.java
+++ /dev/null
@@ -1,196 +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.dnd.view.field;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.content.AbstractObjectContent;
-
-public class OneToManyFieldElementImpl extends AbstractObjectContent implements OneToManyFieldElement {
-    private static final Logger LOG = LoggerFactory.getLogger(OneToManyFieldElementImpl.class);
-    private final ObjectAdapter element;
-    private final ObjectField field;
-
-    public OneToManyFieldElementImpl(final ObjectAdapter parent, final ObjectAdapter element, final OneToManyAssociation association) {
-        field = new ObjectField(parent, association);
-        this.element = element;
-    }
-
-    @Override
-    public Consent canClear() {
-        final ObjectAdapter parentObject = getParent();
-        final OneToManyAssociation association = getOneToManyAssociation();
-        final ObjectAdapter associatedObject = getObject();
-
-        final Consent isEditable = isEditable();
-        if (isEditable.isVetoed()) {
-            return isEditable;
-        }
-
-        final Consent consent = association.isValidToRemove(parentObject, associatedObject);
-        if (consent.isAllowed()) {
-            consent.setDescription("Clear the association to this object from '" + parentObject.titleString() + "'");
-        }
-        return consent;
-    }
-
-    @Override
-    public Consent isEditable() {
-        return getField().isUsable(IsisContext.getAuthenticationSession(), getParent(), where);
-    }
-
-    @Override
-    public Consent canSet(final ObjectAdapter dragSource) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public void clear() {
-        final ObjectAdapter parentObject = getParent();
-        final OneToManyAssociation association = getOneToManyAssociation();
-        LOG.debug("remove " + element + " from " + parentObject);
-        association.removeElement(parentObject, element);
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        field.debugDetails(debug);
-        debug.appendln("element", element);
-    }
-
-    @Override
-    public String getFieldName() {
-        return field.getName();
-    }
-
-    @Override
-    public ObjectAssociation getField() {
-        return field.getObjectAssociation();
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return element;
-    }
-
-    @Override
-    public ObjectAdapter getObject() {
-        return element;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    private OneToManyAssociation getOneToManyAssociation() {
-        return (OneToManyAssociation) field.getObjectAssociation();
-    }
-
-    @Override
-    public ObjectAdapter getParent() {
-        return field.getParent();
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return field.getSpecification();
-    }
-
-    @Override
-    public boolean isMandatory() {
-        return false;
-    }
-
-    @Override
-    public boolean isObject() {
-        return true;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return false;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        // ObjectOption.menuOptions(element, options);
-        super.contentMenuOptions(options);
-        options.add(new ClearOneToManyAssociationOption());
-    }
-
-    @Override
-    public void setObject(final ObjectAdapter object) {
-        /*
-         * ObjectAdapter parentObject = getParent();
-         * OneToManyAssociationSpecification association =
-         * getOneToManyAssociation(); ObjectAdapter associatedObject =
-         * getObject(); LOG.debug("remove " + associatedObject + " from " +
-         * parentObject); association.clearAssociation(parentObject,
-         * associatedObject);
-         */
-
-    }
-
-    @Override
-    public String title() {
-        return element.titleString();
-    }
-
-    @Override
-    public String toString() {
-        return getObject() + "/" + field.getObjectAssociation();
-    }
-
-    @Override
-    public String windowTitle() {
-        return field.getName() + " element" + " for " + field.getParent().titleString();
-    }
-
-    @Override
-    public String getId() {
-        return getOneToManyAssociation().getName();
-    }
-
-    @Override
-    public String getDescription() {
-        return field.getName() + ": " + getOneToManyAssociation().getDescription();
-    }
-
-    @Override
-    public String getHelp() {
-        return getOneToManyAssociation().getHelp();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldImpl.java
deleted file mode 100644
index d005ea8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldImpl.java
+++ /dev/null
@@ -1,221 +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.dnd.view.field;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.collection.AbstractCollectionContent;
-
-public class OneToManyFieldImpl extends AbstractCollectionContent implements OneToManyField {
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    private final Where where = Where.ANYWHERE;
-
-    private final ObjectAdapter collection;
-    private final ObjectField field;
-
-    public OneToManyFieldImpl(final ObjectAdapter parent, final ObjectAdapter object, final OneToManyAssociation association) {
-        field = new ObjectField(parent, association);
-        this.collection = object;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        if (sourceContent.getAdapter() instanceof ObjectAdapter) {
-            final ObjectAdapter sourceAdapter = sourceContent.getAdapter();
-            final ObjectAdapter parentAdapter = field.getParent();
-
-            final ObjectAdapter collection = getAdapter();
-            if (collection == null) {
-                // TODO: move logic into Facet
-                return new Veto("Collection not set up; can't add elements to a non-existant collection");
-            }
-
-            final Consent usableInState = getOneToManyAssociation().isUsable(IsisContext.getAuthenticationSession(), parentAdapter, where);
-            if (usableInState.isVetoed()) {
-                return usableInState;
-            }
-
-            final ObjectSpecification specification = sourceAdapter.getSpecification();
-            final ObjectSpecification elementSpecification = getElementSpecification();
-            if (!specification.isOfType(elementSpecification)) {
-                // TODO: move logic into Facet
-                return new Veto(String.format("Only objects of type %s are allowed in this collection", elementSpecification.getSingularName()));
-            }
-            if (parentAdapter.representsPersistent() && sourceAdapter.isTransient()) {
-                // TODO: move logic into Facet
-                return new Veto("Can't set field in persistent object with reference to non-persistent object");
-            }
-            return getOneToManyAssociation().isValidToAdd(parentAdapter, sourceAdapter);
-        } else {
-            return Veto.DEFAULT;
-        }
-    }
-
-    public Consent canSet(final ObjectAdapter dragSource) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        super.contentMenuOptions(options);
-        // OptionFactory.addCreateOptions(getOneToManyAssociation().getSpecification(),
-        // options);
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        field.debugDetails(debug);
-        debug.appendln("collection", collection);
-        super.debugDetails(debug);
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        final ObjectAdapter object = sourceContent.getAdapter();
-        final ObjectAdapter parent = field.getParent();
-        final Consent perm = canDrop(sourceContent);
-        if (perm.isAllowed()) {
-            getOneToManyAssociation().addElement(parent, object);
-        }
-        return null;
-    }
-
-    @Override
-    public ObjectAdapter getCollection() {
-        return collection;
-    }
-
-    @Override
-    public String getDescription() {
-        final String name = getFieldName();
-        String type = getField().getSpecification().getSingularName();
-        type = name.indexOf(type) == -1 ? " (" + type + ")" : "";
-        final String description = getOneToManyAssociation().getDescription();
-        return name + type + " " + description;
-    }
-
-    @Override
-    public ObjectAssociation getField() {
-        return field.getObjectAssociation();
-    }
-
-    @Override
-    public String getFieldName() {
-        return field.getName();
-    }
-
-    @Override
-    public String getHelp() {
-        return getOneToManyAssociation().getHelp();
-    }
-
-    @Override
-    public String getIconName() {
-        return null;
-        // return "internal-collection";
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        final ObjectSpecification specification = getOneToManyAssociation().getSpecification();
-        Image icon = ImageFactory.getInstance().loadIcon(specification, iconHeight, null);
-        if (icon == null) {
-            icon = ImageFactory.getInstance().loadDefaultIcon(iconHeight, null);
-        }
-        return icon;
-    }
-
-    @Override
-    public String getId() {
-        return getOneToManyAssociation().getId();
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return collection;
-    }
-
-    @Override
-    public OneToManyAssociation getOneToManyAssociation() {
-        return (OneToManyAssociation) field.getObjectAssociation();
-    }
-
-    @Override
-    public ObjectAdapter getParent() {
-        return field.getParent();
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return field.getSpecification();
-    }
-
-    @Override
-    public Consent isEditable() {
-        return getField().isUsable(IsisContext.getAuthenticationSession(), getParent(), where);
-    }
-
-    @Override
-    public boolean isMandatory() {
-        return getOneToManyAssociation().isMandatory();
-    }
-
-    @Override
-    public boolean isTransient() {
-        return false;
-    }
-
-    public void setObject(final ObjectAdapter object) {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public final String title() {
-        return field.getName();
-    }
-
-    @Override
-    public String toString() {
-        return collection + "/" + field.getObjectAssociation();
-    }
-
-    @Override
-    public String windowTitle() {
-        return title() + " for " + field.getParent().titleString();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneField.java
deleted file mode 100644
index c00440a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneField.java
+++ /dev/null
@@ -1,29 +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.dnd.view.field;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public interface OneToOneField extends FieldContent, ObjectContent {
-    @Override
-    Consent isEditable();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneFieldImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneFieldImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneFieldImpl.java
deleted file mode 100644
index 693d468..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneFieldImpl.java
+++ /dev/null
@@ -1,211 +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.dnd.view.field;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.content.AbstractObjectContent;
-
-public class OneToOneFieldImpl extends AbstractObjectContent implements OneToOneField {
-    private static final UserAction CLEAR_ASSOCIATION = new ClearOneToOneAssociationOption();
-    private final ObjectField field;
-    private final ObjectAdapter adapter;
-
-    public OneToOneFieldImpl(final ObjectAdapter parentAdapter, final ObjectAdapter adapter, final OneToOneAssociation association) {
-        field = new ObjectField(parentAdapter, association);
-        this.adapter = adapter;
-    }
-
-    @Override
-    public Consent canClear() {
-        final ObjectAdapter parentAdapter = getParent();
-        final OneToOneAssociation association = getOneToOneAssociation();
-        // ObjectAdapter associatedObject = getObject();
-
-        final Consent isEditable = isEditable();
-        if (isEditable.isVetoed()) {
-            return isEditable;
-        }
-
-        final Consent consent = association.isAssociationValid(parentAdapter, null);
-        if (consent.isAllowed()) {
-            consent.setDescription("Clear the association to this object from '" + parentAdapter.titleString() + "'");
-        }
-        return consent;
-    }
-
-    @Override
-    public Consent canSet(final ObjectAdapter adapter) {
-        final ObjectSpecification targetType = getOneToOneAssociation().getSpecification();
-        final ObjectSpecification spec = adapter.getSpecification();
-
-        if (isEditable().isVetoed()) {
-            return isEditable();
-        }
-
-        if (!spec.isOfType(targetType)) {
-            // TODO: move logic into Facet
-            return new Veto(String.format("Can only drop objects of type %s", targetType.getSingularName()));
-        }
-
-        if (getParent().representsPersistent() && adapter.isTransient()) {
-            // TODO: move logic into Facet
-            return new Veto("Can't drop a non-persistent into this persistent object");
-        }
-
-        final Consent perm = getOneToOneAssociation().isAssociationValid(getParent(), adapter);
-        return perm;
-    }
-
-    @Override
-    public void clear() {
-        getOneToOneAssociation().clearAssociation(getParent());
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        field.debugDetails(debug);
-        debug.appendln("object", adapter);
-    }
-
-    @Override
-    public String getFieldName() {
-        return field.getName();
-    }
-
-    @Override
-    public ObjectAssociation getField() {
-        return field.getObjectAssociation();
-    }
-
-    @Override
-    public Consent isEditable() {
-        return getField().isUsable(IsisContext.getAuthenticationSession(), getParent(), where);
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return adapter;
-    }
-
-    @Override
-    public ObjectAdapter getObject() {
-        return adapter;
-    }
-
-    private OneToOneAssociation getOneToOneAssociation() {
-        return (OneToOneAssociation) getField();
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return getOneToOneAssociation().getChoices(getParent());
-    }
-
-    @Override
-    public ObjectAdapter getParent() {
-        return field.getParent();
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return getOneToOneAssociation().getSpecification();
-    }
-
-    @Override
-    public boolean isMandatory() {
-        return getOneToOneAssociation().isMandatory();
-    }
-
-    @Override
-    public boolean isPersistable() {
-        return getObject() != null && super.isPersistable();
-    }
-
-    @Override
-    public boolean isObject() {
-        return true;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return getOneToOneAssociation().hasChoices();
-    }
-
-    @Override
-    public boolean isTransient() {
-        return adapter != null && adapter.isTransient();
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        super.contentMenuOptions(options);
-        if (getObject() != null && !getOneToOneAssociation().isMandatory()) {
-            options.add(CLEAR_ASSOCIATION);
-        }
-    }
-
-    @Override
-    public void setObject(final ObjectAdapter object) {
-        getOneToOneAssociation().setAssociation(getParent(), object);
-    }
-
-    @Override
-    public String title() {
-        return adapter == null ? "" : adapter.titleString();
-    }
-
-    @Override
-    public String toString() {
-        return getObject() + "/" + getField();
-    }
-
-    @Override
-    public String windowTitle() {
-        return field.getName() + " for " + field.getParent().titleString();
-    }
-
-    @Override
-    public String getId() {
-        return getOneToOneAssociation().getName();
-    }
-
-    @Override
-    public String getDescription() {
-        final String name = getFieldName();
-        String type = getField().getSpecification().getSingularName();
-        type = name.indexOf(type) == -1 ? " (" + type + ")" : "";
-        final String description = getOneToOneAssociation().getDescription();
-        return name + type + " " + description;
-    }
-
-    @Override
-    public String getHelp() {
-        return getOneToOneAssociation().getHelp();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableField.java
deleted file mode 100644
index 5cf5ae2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableField.java
+++ /dev/null
@@ -1,27 +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.dnd.view.field;
-
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-public interface TextParseableField extends TextParseableContent, FieldContent {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java
deleted file mode 100644
index fca3475..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java
+++ /dev/null
@@ -1,261 +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.dnd.view.field;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.facets.maxlen.MaxLengthFacet;
-import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.object.parseable.InvalidEntryException;
-import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.facets.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.content.AbstractTextParsableContent;
-
-public class TextParseableFieldImpl extends AbstractTextParsableContent implements TextParseableField, ObjectContent {
-    private final ObjectField field;
-    private final ObjectAdapter parent;
-    private ObjectAdapter object;
-
-    public TextParseableFieldImpl(final ObjectAdapter parent, final ObjectAdapter object, final OneToOneAssociation association) {
-        field = new ObjectField(parent, association);
-        this.parent = parent;
-        this.object = object;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public Consent canClear() {
-        return Allow.DEFAULT; // TODO is this flagged anywhere -
-                              // getValueAssociation().canClear();
-    }
-
-    @Override
-    public boolean canWrap() {
-        return getValueAssociation().containsFacet(MultiLineFacet.class);
-    }
-
-    @Override
-    public void clear() {
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        field.debugDetails(debug);
-        debug.appendln("object", object);
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public void entryComplete() {
-        getValueAssociation().setAssociation(getParent(), object);
-    }
-
-    @Override
-    public String getDescription() {
-        final String title = object == null ? "" : ": " + object.titleString();
-        final String name = field.getName();
-        final ObjectSpecification specification = getSpecification();
-        final String type = name.indexOf(specification.getShortIdentifier()) == -1 ? "" : " (" + specification.getShortIdentifier() + ")";
-        final String description = getValueAssociation().getDescription();
-        return name + type + title + " " + description;
-    }
-
-    @Override
-    public String getHelp() {
-        return field.getHelp();
-    }
-
-    @Override
-    public String getFieldName() {
-        return field.getName();
-    }
-
-    @Override
-    public ObjectAssociation getField() {
-        return field.getObjectAssociation();
-    }
-
-    @Override
-    public String getIconName() {
-        return object == null ? "" : object.getIconName();
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return object;
-    }
-
-    @Override
-    public String getId() {
-        return field.getName();
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return getValueAssociation().getChoices(getParent());
-    }
-
-    private OneToOneAssociation getValueAssociation() {
-        return (OneToOneAssociation) getField();
-    }
-
-    @Override
-    public int getMaximumLength() {
-        return maxLengthFacet().value();
-    }
-
-    @Override
-    public int getTypicalLineLength() {
-        final TypicalLengthFacet facet = field.getObjectAssociation().getFacet(TypicalLengthFacet.class);
-        return facet.value();
-    }
-
-    @Override
-    public int getNoLines() {
-        return multilineFacet().numberOfLines();
-    }
-
-    @Override
-    public ObjectAdapter getParent() {
-        return field.getParent();
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return getValueAssociation().getSpecification();
-    }
-
-    @Override
-    public Consent isEditable() {
-        return getValueAssociation().isUsable(IsisContext.getAuthenticationSession(), getParent(), Where.ANYWHERE);
-    }
-
-    @Override
-    public boolean isEmpty() {
-        return getField().isEmpty(getParent());
-    }
-
-    @Override
-    public boolean isMandatory() {
-        return getValueAssociation().isMandatory();
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return getValueAssociation().hasChoices();
-    }
-
-    @Override
-    public String titleString(final ObjectAdapter value) {
-        return titleString(value, field.getObjectAssociation(), field.getSpecification());
-    }
-
-    private ObjectAdapter validateAndParse(final String entryText) {
-        final ObjectAdapter newValue = parse(entryText);
-        final OneToOneAssociation objectAssociation = (OneToOneAssociation) field.getObjectAssociation();
-        final Consent valid = objectAssociation.isAssociationValid(parent, newValue);
-        if (valid.isVetoed()) {
-            throw new InvalidEntryException(valid.getReason());
-        }
-        return newValue;
-    }
-
-    private ObjectAdapter parse(final String entryText) {
-        final ObjectSpecification fieldSpecification = field.getSpecification();
-        final ParseableFacet p = fieldSpecification.getFacet(ParseableFacet.class);
-        try {
-            Localization localization = IsisContext.getLocalization(); 
-            return p.parseTextEntry(object, entryText, localization);
-        } catch (final IllegalArgumentException ex) {
-            throw new InvalidEntryException(ex.getMessage(), ex);
-        }
-    }
-
-    @Override
-    public void parseTextEntry(final String entryText) {
-        object = validateAndParse(entryText);
-        final Consent valid = ((OneToOneAssociation) getField()).isAssociationValid(getParent(), object);
-        if (valid.isVetoed()) {
-            throw new InvalidEntryException(valid.getReason());
-        }
-        if (getValueAssociation().isMandatory() && object == null) {
-            throw new InvalidEntryException("Mandatory field cannot be empty");
-        }
-    }
-
-    @Override
-    public String title() {
-        return field.getName();
-    }
-
-    @Override
-    public String toString() {
-        return (object == null ? "null" : object.titleString()) + "/" + getField();
-    }
-
-    @Override
-    public String windowTitle() {
-        return title();
-    }
-
-    private MaxLengthFacet maxLengthFacet() {
-        return getValueAssociation().getFacet(MaxLengthFacet.class);
-    }
-
-    private MultiLineFacet multilineFacet() {
-        return getValueAssociation().getFacet(MultiLineFacet.class);
-    }
-
-    @Override
-    public Consent canSet(final ObjectAdapter dragSource) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public ObjectAdapter getObject() {
-        return object;
-    }
-
-    @Override
-    public void setObject(final ObjectAdapter object) {
-        this.object = object;
-        ((OneToOneAssociation) field.getObjectAssociation()).setAssociation(getParent(), object);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/LookFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/LookFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/LookFactory.java
deleted file mode 100644
index b1dfd03..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/LookFactory.java
+++ /dev/null
@@ -1,75 +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.dnd.view.look;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Look;
-import org.apache.isis.viewer.dnd.view.look.line.LineLook;
-import org.apache.isis.viewer.dnd.view.look.linux.LinuxLook;
-import org.apache.isis.viewer.dnd.view.look.simple.SimpleLook;
-import org.apache.isis.viewer.dnd.view.look.swing.SwingLook;
-
-public class LookFactory {
-    private static final Look SIMPLE_LOOK = new SimpleLook();
-    private static final LineLook LINE_LOOK = new LineLook();
-    private static final Look SWING_LOOK = new SwingLook();
-    private static final Look LINUX_LOOK = new LinuxLook();
-    private static final Look defaultLook = SIMPLE_LOOK;
-    private static List<Look> looks = new ArrayList<Look>();
-    private static Look installedLook;
-
-    public static void init() {
-        looks.add(SIMPLE_LOOK);
-        looks.add(LINE_LOOK);
-        looks.add(SWING_LOOK);
-        looks.add(LINUX_LOOK);
-
-        final String className = Properties.getString("look");
-        if (className != null) {
-            for (final Look look : looks) {
-                if (look.getClass().getName().equals(className)) {
-                    setLook(look);
-                    return;
-                }
-            }
-        }
-        setLook(defaultLook);
-    }
-
-    public static void setLook(final Look look) {
-        defaultLook.install();
-        look.install();
-        installedLook = look;
-
-        Properties.setStringOption("look", installedLook.getClass().getName());
-    }
-
-    public static Look getInstalledLook() {
-        return installedLook;
-    }
-
-    public static Iterable<Look> getAvailableLooks() {
-        return looks;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/ButtonLineStyleRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/ButtonLineStyleRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/ButtonLineStyleRender.java
deleted file mode 100644
index 43be41d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/ButtonLineStyleRender.java
+++ /dev/null
@@ -1,63 +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.dnd.view.look.line;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.control.ButtonRender;
-
-public class ButtonLineStyleRender implements ButtonRender {
-    private static final int TEXT_PADDING = 12;
-    private static final Text style = Toolkit.getText(ColorsAndFonts.TEXT_CONTROL);
-    private final int buttonHeight;
-
-    public ButtonLineStyleRender() {
-        this.buttonHeight = 2 + style.getTextHeight() + 2;
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size size, final boolean isDisabled, final boolean isDefault, final boolean hasFocus, final boolean isOver, final boolean isPressed, final String text) {
-        final int buttonWidth = TEXT_PADDING + style.stringWidth(text) + TEXT_PADDING;
-
-        final Color borderColor;
-        Color textColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        if (isDisabled) {
-            borderColor = textColor = Toolkit.getColor(ColorsAndFonts.COLOR_MENU_DISABLED);
-        } else if (isDefault) {
-            borderColor = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-        } else if (isOver || hasFocus) {
-            borderColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        } else {
-            borderColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        }
-        canvas.drawRoundedRectangle(0, 0, buttonWidth, buttonHeight, 0, 0, borderColor);
-        canvas.drawText(text, TEXT_PADDING, buttonHeight / 2 + style.getMidPoint(), textColor, style);
-    }
-
-    @Override
-    public Size getMaximumSize(final String text) {
-        final int buttonWidth = TEXT_PADDING + Toolkit.getText(ColorsAndFonts.TEXT_CONTROL).stringWidth(text) + TEXT_PADDING;
-        return new Size(buttonWidth, buttonHeight);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/LineLook.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/LineLook.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/LineLook.java
deleted file mode 100644
index b3e8123..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/LineLook.java
+++ /dev/null
@@ -1,39 +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.dnd.view.look.line;
-
-import org.apache.isis.viewer.dnd.view.Look;
-import org.apache.isis.viewer.dnd.view.control.Button;
-import org.apache.isis.viewer.dnd.view.window.AbstractWindowBorder;
-
-public class LineLook implements Look {
-
-    @Override
-    public void install() {
-        AbstractWindowBorder.setBorderRenderer(new LineStyleWindowBorder());
-        Button.setButtonRender(new ButtonLineStyleRender());
-    }
-
-    @Override
-    public String getName() {
-        return "Line";
-    }
-
-}


[51/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
ISIS-1335: deleting the mothballed directory.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a43dbdd9
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a43dbdd9
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a43dbdd9

Branch: refs/heads/master
Commit: a43dbdd928f2313d353c23ef33213d9486cb5a61
Parents: 11097b7
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat May 21 07:38:10 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat May 21 07:38:10 2016 +0100

----------------------------------------------------------------------
 mothballed/README.md                            |   11 -
 mothballed/bytecode-cglib/pom.xml               |  107 -
 .../bytecode/cglib/CglibClassSubstitutor.java   |   44 -
 .../core/bytecode/cglib/CglibObjectFactory.java |   68 -
 .../ObjectResolveAndObjectChangedEnhancer.java  |  108 -
 .../core/bytecode/cglib/ClassEnhancerTest.java  |  121 -
 .../core/bytecode/cglib/SomeDomainObject.java   |   34 -
 mothballed/bytecode-javassist/pom.xml           |   89 -
 .../javassist/JavassistClassSubstitutor.java    |   30 -
 .../bytecode/javassist/JavassistEnhanced.java   |   32 -
 .../javassist/JavassistObjectFactory.java       |   68 -
 .../ObjectResolveAndObjectChangedEnhancer.java  |  113 -
 mothballed/component/objectstore/nosql/NOTICE   |    7 -
 .../objectstore/nosql/config/logging.properties |   36 -
 .../objectstore/nosql/config/server.properties  |   26 -
 mothballed/component/objectstore/nosql/pom.xml  |  210 -
 .../appended-resources/supplemental-models.xml  |    8 -
 .../objectstore/nosql/NoSqlCommandContext.java  |   35 -
 .../nosql/NoSqlCreateObjectCommand.java         |   32 -
 .../nosql/NoSqlDestroyObjectCommand.java        |   64 -
 .../nosql/NoSqlIdentifierGenerator.java         |  148 -
 .../objectstore/nosql/NoSqlObjectStore.java     |  338 -
 .../nosql/NoSqlSaveObjectCommand.java           |   32 -
 .../objectstore/nosql/NoSqlStoreException.java  |   47 -
 .../isis/objectstore/nosql/ObjectReader.java    |  252 -
 .../objectstore/nosql/WriteObjectCommand.java   |  250 -
 .../objectstore/nosql/db/NoSqlDataDatabase.java |   47 -
 .../db/NoSqlPersistorMechanismInstaller.java    |  114 -
 .../isis/objectstore/nosql/db/StateReader.java  |   64 -
 .../isis/objectstore/nosql/db/StateWriter.java  |   51 -
 .../nosql/db/file/ClientConnection.java         |  170 -
 .../nosql/db/file/FileClientCommandContext.java |   80 -
 .../objectstore/nosql/db/file/FileServerDb.java |  263 -
 .../FileServerPersistorMechanismInstaller.java  |   49 -
 .../nosql/db/file/JsonStateReader.java          |  155 -
 .../nosql/db/file/JsonStateWriter.java          |  140 -
 .../nosql/db/file/PropertyNames.java            |   33 -
 .../nosql/db/file/RemotingException.java        |   36 -
 .../nosql/db/file/server/DataFileReader.java    |   88 -
 .../nosql/db/file/server/DataFileWriter.java    |   68 -
 .../nosql/db/file/server/FileContent.java       |   55 -
 .../nosql/db/file/server/FileServer.java        |  686 --
 .../db/file/server/FileServerException.java     |   38 -
 .../db/file/server/FileServerProcessor.java     |  386 -
 .../objectstore/nosql/db/file/server/Lock.java  |   54 -
 .../nosql/db/file/server/LockManager.java       |   66 -
 .../nosql/db/file/server/LogRange.java          |   41 -
 .../nosql/db/file/server/LogWriter.java         |  149 -
 .../nosql/db/file/server/ServerConnection.java  |  238 -
 .../objectstore/nosql/db/file/server/Util.java  |  331 -
 .../db/mongo/MongoClientCommandContext.java     |   77 -
 .../objectstore/nosql/db/mongo/MongoDb.java     |  263 -
 .../mongo/MongoPersistorMechanismInstaller.java |   50 -
 .../nosql/db/mongo/MongoStateReader.java        |  123 -
 .../nosql/db/mongo/MongoStateWriter.java        |  131 -
 .../nosql/db/mongo/PropertyNames.java           |   37 -
 .../nosql/encryption/DataEncryption.java        |   33 -
 .../nosql/encryption/aes/DataEncryptionAes.java |   74 -
 .../DataEncryptionBlowfishAbstract.java         |   70 -
 ...ataEncryptionBlowfishUsingConfiguration.java |   38 -
 .../DataEncryptionBlowfishUsingKeyFile.java     |   54 -
 .../encryption/none/DataEncryptionNone.java     |   45 -
 .../nosql/encryption/rot13/Rot13Encryption.java |   68 -
 .../nosql/keys/KeyCreatorDefault.java           |   99 -
 .../nosql/versions/VersionCreator.java          |   34 -
 .../nosql/versions/VersionCreatorDefault.java   |   59 -
 .../objectstore/nosql/src/site/apt/index.apt    |   37 -
 .../objectstore/nosql/src/site/apt/jottings.apt |   24 -
 .../objectstore/nosql/src/site/site.xml         |   46 -
 .../DestroyObjectCommandImplementationTest.java |  107 -
 .../nosql/NoSqlIdentifierGeneratorTest.java     |  142 -
 .../objectstore/nosql/NoSqlKeyCreatorTest.java  |   98 -
 .../nosql/NoSqlKeyCreatorTest_reference.java    |   78 -
 .../nosql/NoSqlObjectStoreTest_constructor.java |  103 -
 .../NoSqlObjectStoreTest_interactWith_db.java   |  224 -
 .../nosql/WriteObjectCommandTest.java           |  220 -
 .../nosql/db/file/ChecksummingPerfomance.java   |  140 -
 .../nosql/db/file/ClientConnectionTest.java     |  124 -
 .../nosql/db/file/JsonStateReaderTest.java      |  126 -
 .../nosql/db/file/JsonStateWriterTest.java      |  124 -
 .../nosql/db/file/server/DataReaderTest.java    |   84 -
 .../nosql/db/file/server/DataWriterTest.java    |  106 -
 .../nosql/db/file/server/FileServerTest.java    |  280 -
 .../nosql/db/file/server/LockManagerTest.java   |   55 -
 .../nosql/db/file/server/LogWriterTest.java     |  108 -
 .../objectstore/nosql/db/mongo/DemoMongo.java   |   81 -
 .../nosql/db/mongo/MongoIntegrationTest.java    |  112 -
 .../mongo/MongoStateReaderIntegrationTest.java  |  128 -
 .../mongo/MongoStateWriterIntegrationTest.java  |  129 -
 .../mongo/ObjectReaderMongoIntegrationTest.java |  288 -
 mothballed/component/objectstore/sql/NOTICE     |    7 -
 mothballed/component/objectstore/sql/pom.xml    |  158 -
 .../component/objectstore/sql/sql-impl/pom.xml  |   73 -
 .../sql/sql-impl/sqlos-testing.properties       |   59 -
 .../sql/AbstractDatabaseConnector.java          |   46 -
 .../sql/AbstractFieldMappingFactory.java        |   38 -
 .../isis/objectstore/sql/AbstractMapper.java    |   53 -
 .../isis/objectstore/sql/CollectionMapper.java  |   36 -
 .../isis/objectstore/sql/DatabaseConnector.java |   79 -
 .../sql/DatabaseConnectorFactory.java           |   24 -
 .../objectstore/sql/DatabaseConnectorPool.java  |  109 -
 .../apache/isis/objectstore/sql/Defaults.java   |  370 -
 .../sql/FieldMappingFactoryInstaller.java       |   24 -
 .../objectstore/sql/FieldMappingLookup.java     |  131 -
 .../apache/isis/objectstore/sql/IdMapping.java  |   40 -
 .../isis/objectstore/sql/IdMappingAbstract.java |  112 -
 .../isis/objectstore/sql/MappingLookup.java     |   26 -
 .../isis/objectstore/sql/MultipleResults.java   |   24 -
 .../isis/objectstore/sql/ObjectMapping.java     |   57 -
 .../objectstore/sql/ObjectMappingFactory.java   |   24 -
 .../objectstore/sql/ObjectMappingLookup.java    |  153 -
 .../apache/isis/objectstore/sql/Parameter.java  |   30 -
 .../apache/isis/objectstore/sql/Results.java    |   63 -
 .../org/apache/isis/objectstore/sql/Sql.java    |  108 -
 .../objectstore/sql/SqlExecutionContext.java    |   46 -
 .../objectstore/sql/SqlIdentifierGenerator.java |  148 -
 .../isis/objectstore/sql/SqlMetaData.java       |   36 -
 .../isis/objectstore/sql/SqlObjectStore.java    |  508 -
 .../sql/SqlObjectStoreException.java            |   42 -
 .../objectstore/sql/SqlPersistorInstaller.java  |   88 -
 .../isis/objectstore/sql/StoredProcedure.java   |   26 -
 .../isis/objectstore/sql/TitleMapping.java      |   71 -
 .../isis/objectstore/sql/VersionMapping.java    |  106 -
 .../sql/auto/AbstractAutoMapper.java            |  357 -
 .../sql/auto/AutoCollectionMapper.java          |  172 -
 .../isis/objectstore/sql/auto/AutoMapper.java   |  514 --
 .../objectstore/sql/auto/AutoMapperFactory.java |   32 -
 .../sql/auto/ForeignKeyCollectionMapper.java    |  388 -
 .../auto/ForeignKeyInChildCollectionMapper.java |   89 -
 ...icForeignKeyInChildCollectionBaseMapper.java |  237 -
 ...orphicForeignKeyInChildCollectionMapper.java |  205 -
 .../sql/auto/ReversedAutoAssociationMapper.java |  212 -
 .../sql/jdbc/AbstractJdbcFieldMapping.java      |  111 -
 .../sql/jdbc/AbstractJdbcMultiFieldMapping.java |  195 -
 .../jdbc/JdbcAbstractReferenceFieldMapping.java |  150 -
 .../sql/jdbc/JdbcBinaryValueMapper.java         |  132 -
 .../sql/jdbc/JdbcColorValueMapper.java          |  101 -
 .../objectstore/sql/jdbc/JdbcConnector.java     |  404 -
 .../sql/jdbc/JdbcConnectorFactory.java          |   34 -
 .../objectstore/sql/jdbc/JdbcDateMapper.java    |  108 -
 .../sql/jdbc/JdbcDateTimeMapper.java            |   77 -
 .../sql/jdbc/JdbcGeneralValueMapper.java        |  101 -
 .../sql/jdbc/JdbcImageValueMapper.java          |  116 -
 .../sql/jdbc/JdbcMoneyValueMapper.java          |   81 -
 .../jdbc/JdbcObjectReferenceFieldMapping.java   |  101 -
 .../sql/jdbc/JdbcObjectReferenceMapping.java    |   68 -
 .../jdbc/JdbcObjectReferenceMappingFactory.java |   33 -
 .../sql/jdbc/JdbcPasswordValueMapper.java       |  106 -
 .../JdbcPolymorphicObjectReferenceMapping.java  |   71 -
 .../isis/objectstore/sql/jdbc/JdbcResults.java  |  232 -
 .../objectstore/sql/jdbc/JdbcSqlMetaData.java   |   86 -
 .../objectstore/sql/jdbc/JdbcTimeMapper.java    |   84 -
 .../sql/jdbc/JdbcTimestampMapper.java           |   78 -
 .../helpers/SimplePasswordEncoderDecoder.java   |  115 -
 .../JdbcFieldMappingFactoryInstaller.java       |   93 -
 .../objectstore/sql/mapping/FieldMapping.java   |   48 -
 .../sql/mapping/FieldMappingFactory.java        |   27 -
 .../sql/mapping/ObjectReferenceMapping.java     |   40 -
 .../mapping/ObjectReferenceMappingFactory.java  |   26 -
 .../sql/sql-impl/src/site/apt/index.apt         |   27 -
 .../sql/sql-impl/src/site/apt/jottings.apt      |   24 -
 .../objectstore/sql/sql-impl/src/site/site.xml  |   40 -
 .../isis/objectstore/sql/DefaultsTest.java      |   60 -
 .../SimplePasswordEncoderDecoderTest.java       |   66 -
 .../objectstore/sql/sql-tests-common/pom.xml    |  162 -
 .../isis/objectstore/sql/common/Data.java       |  100 -
 .../common/SqlIntegrationTestCommonBase.java    |  190 -
 .../sql/common/SqlIntegrationTestData.java      |  651 --
 .../sql/common/SqlIntegrationTestFixtures.java  |  230 -
 .../isis/objectstore/sql/common/Utils.java      |   61 -
 .../src/main/resources/log4j.properties         |   39 -
 .../sql/sql-tests-common/src/site/apt/index.apt |   28 -
 .../sql-tests-common/src/site/apt/jottings.apt  |   24 -
 .../sql/sql-tests-common/src/site/site.xml      |   39 -
 .../src/test/config/hsql-poly.properties        |   29 -
 .../src/test/config/hsql.properties             |   33 -
 .../apache/isis/objectstore/sql/HsqlTest.java   |   72 -
 .../isis/objectstore/sql/PolymorphismTest.java  |  374 -
 .../sql/crosscheck/InMemoryPersistenceTest.java |   67 -
 .../sql/crosscheck/XmlPersistenceTest.java      |   65 -
 .../objectstore/sql/sql-tests-served/pom.xml    |  163 -
 .../src/main/resources/log4j.properties         |   39 -
 .../sql/sql-tests-served/src/site/apt/index.apt |   29 -
 .../sql-tests-served/src/site/apt/jottings.apt  |   24 -
 .../sql/sql-tests-served/src/site/site.xml      |   39 -
 .../src/test/config/db2.properties              |   27 -
 .../src/test/config/mssqlserver.properties      |   32 -
 .../src/test/config/mysql.properties            |   29 -
 .../src/test/config/postgresql.properties       |   29 -
 .../objectstore/sql/MySqlIntegrationTest.java   |   55 -
 .../sql/PostgreSqlIntegrationTest.java          |   56 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../objectstore/sql/src/site/apt/index.apt      |   48 -
 .../objectstore/sql/src/site/apt/jottings.apt   |   24 -
 .../component/objectstore/sql/src/site/site.xml |   52 -
 mothballed/component/objectstore/xml/NOTICE     |    7 -
 mothballed/component/objectstore/xml/pom.xml    |  146 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../isis/objectstore/xml/XmlObjectStore.java    |  461 -
 .../xml/XmlPersistenceMechanismInstaller.java   |   57 -
 .../objectstore/xml/internal/clock/Clock.java   |   26 -
 .../xml/internal/clock/DefaultClock.java        |   28 -
 .../commands/AbstractXmlPersistenceCommand.java |   99 -
 .../commands/XmlCreateObjectCommand.java        |   55 -
 .../commands/XmlDestroyObjectCommand.java       |   53 -
 .../commands/XmlUpdateObjectCommand.java        |   58 -
 .../xml/internal/data/CollectionData.java       |   51 -
 .../objectstore/xml/internal/data/Data.java     |   79 -
 .../xml/internal/data/DataManager.java          |   57 -
 .../xml/internal/data/ListOfRootOid.java        |   75 -
 .../xml/internal/data/ObjectData.java           |  157 -
 .../xml/internal/data/ObjectDataVector.java     |   42 -
 .../xml/internal/data/PersistorException.java   |   42 -
 .../xml/internal/data/xml/Utils.java            |   56 -
 .../xml/internal/data/xml/XmlDataManager.java   |  559 --
 .../xml/internal/services/ServiceManager.java   |   33 -
 .../services/xml/XmlServiceManager.java         |  152 -
 .../xml/internal/utils/CopyXmlObjectStore.java  |   87 -
 .../xml/internal/version/FileVersion.java       |   40 -
 .../objectstore/xml/src/site/apt/index.apt      |   36 -
 .../objectstore/xml/src/site/apt/jottings.apt   |   24 -
 .../component/objectstore/xml/src/site/site.xml |   46 -
 .../XmlObjectStoreTest_isFixturesInstalled.java |   56 -
 .../xml/XmlObjectStoreTest_name.java            |   62 -
 .../xml/XmlObjectStoreTest_persist.java         |   55 -
 .../xml/XmlObjectStoreTest_toRefactor.java      |  173 -
 .../XmlPersistenceMechanismInstallerTest.java   |   60 -
 .../xml/internal/clock/DefaultClockTest.java    |   43 -
 .../xml/internal/clock/TestClock.java           |   31 -
 .../xml/internal/data/ObjectDataTest.java       |   52 -
 .../xml/internal/data/ObjectDataVectorTest.java |   72 -
 .../xml/internal/data/ReferenceVectorTest.java  |   74 -
 .../internal/data/xml/XmlDataManagerTest.java   |  353 -
 .../data/xml/XmlDataManagerTest_instances.java  |  315 -
 .../objectstore/xml/tmp/tests/RLE/99.xml        |    7 -
 .../objectstore/xml/tmp/tests/TEA/99.xml        |    5 -
 .../component/objectstore/xml/tmp/tests/oid.xml |    3 -
 .../objectstore/xml/xml/objects/services.xml    |    6 -
 mothballed/component/profilestore/sql/NOTICE    |    7 -
 mothballed/component/profilestore/sql/pom.xml   |  128 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../profilestore/sql/SqlUserProfileStore.java   |   55 -
 .../sql/SqlUserProfileStoreInstaller.java       |   47 -
 .../profilestore/sql/src/site/apt/index.apt     |   43 -
 .../profilestore/sql/src/site/apt/jottings.apt  |   24 -
 .../profilestore/sql/src/site/site.xml          |   39 -
 mothballed/component/profilestore/xml/NOTICE    |    7 -
 mothballed/component/profilestore/xml/pom.xml   |  139 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../profilestore/xml/XmlUserProfileStore.java   |   64 -
 .../xml/XmlUserProfileStoreInstaller.java       |   45 -
 .../xml/internal/UserProfileContentWriter.java  |  115 -
 .../xml/internal/UserProfileDataHandler.java    |  145 -
 .../profilestore/xml/internal/XmlFileUtil.java  |   34 -
 .../profilestore/xml/src/site/apt/index.apt     |   36 -
 .../profilestore/xml/src/site/apt/jottings.apt  |   24 -
 .../profilestore/xml/src/site/site.xml          |   45 -
 .../xml/internal/TestServiceObject1.java        |   28 -
 .../internal/UserProfileContentWriterTest.java  |  105 -
 .../internal/UserProfileDataHandlerTest.java    |  154 -
 mothballed/component/profilestore/xml/test.xml  |   53 -
 mothballed/component/progmodel/groovy/NOTICE    |    7 -
 .../component/progmodel/groovy/applib/pom.xml   |   55 -
 .../groovy/applib/DomainObjectBuilder.java      |   72 -
 .../groovy/applib/src/site/apt/index.apt        |   29 -
 .../groovy/applib/src/site/apt/jottings.apt     |   24 -
 .../progmodel/groovy/applib/src/site/site.xml   |   38 -
 .../progmodel/groovy/metamodel/pom.xml          |   59 -
 .../RemoveGroovyMethodsFacetFactory.java        |  115 -
 .../groovy/metamodel/src/site/apt/index.apt     |   28 -
 .../groovy/metamodel/src/site/apt/jottings.apt  |   24 -
 .../groovy/metamodel/src/site/site.xml          |   38 -
 mothballed/component/progmodel/groovy/pom.xml   |  111 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../progmodel/groovy/src/site/apt/index.apt     |   44 -
 .../progmodel/groovy/src/site/apt/jottings.apt  |   24 -
 .../images/HexagonalArchitectureOverview.png    |  Bin 161281 -> 0 bytes
 .../resources/images/NO-powered-by-logo.png     |  Bin 8839 -> 0 bytes
 .../images/hal-logo-for-maven-site.jpg          |  Bin 15998 -> 0 bytes
 .../progmodel/groovy/src/site/site.xml          |   46 -
 mothballed/component/security/file/NOTICE       |    7 -
 mothballed/component/security/file/pom.xml      |  118 -
 .../appended-resources/supplemental-models.xml  |   45 -
 .../FileAuthenticationConstants.java            |   29 -
 .../FileAuthenticationManagerInstaller.java     |   43 -
 .../file/authentication/FileAuthenticator.java  |  123 -
 .../FileAuthorizationConstants.java             |   46 -
 .../FileAuthorizationManagerInstaller.java      |   39 -
 .../file/authorization/FileAuthorizor.java      |  360 -
 .../file/authorization/FileAuthorizorMBean.java |   24 -
 .../security/file/src/site/apt/index.apt        |   46 -
 .../security/file/src/site/apt/jottings.apt     |   24 -
 .../component/security/file/src/site/site.xml   |   41 -
 mothballed/component/security/ldap/NOTICE       |    7 -
 .../security/ldap/ldap-conf/example.ldif        |   46 -
 .../security/ldap/ldap-conf/readme.txt          |   12 -
 .../security/ldap/ldap-conf/slapd.conf          |   80 -
 mothballed/component/security/ldap/pom.xml      |  119 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../LdapAuthenticationConstants.java            |   39 -
 .../LdapAuthenticationManagerInstaller.java     |   42 -
 .../ldap/authentication/LdapAuthenticator.java  |  116 -
 .../LdapAuthorizationConstants.java             |   44 -
 .../LdapAuthorizationManagerInstaller.java      |   39 -
 .../ldap/authorization/LdapAuthorizor.java      |  274 -
 .../security/ldap/src/site/apt/index.apt        |   44 -
 .../security/ldap/src/site/apt/jottings.apt     |   24 -
 .../component/security/ldap/src/site/site.xml   |   41 -
 .../authentication/LdapAuthenticatorTester.java |   53 -
 mothballed/component/security/sql/NOTICE        |    7 -
 .../sql/hsql-db/authenticator-tests.script      |   51 -
 mothballed/component/security/sql/pom.xml       |  125 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../SqlAuthenticationConstants.java             |   27 -
 .../SqlAuthenticationManagerInstaller.java      |   70 -
 .../sql/authentication/SqlAuthenticator.java    |  325 -
 .../SqlAuthorizationManagerInstaller.java       |   39 -
 .../sql/authorization/SqlAuthorizor.java        |   73 -
 mothballed/component/security/sql/src/site.xml  |   41 -
 .../security/sql/src/site/apt/index.apt         |  124 -
 .../security/sql/src/site/apt/jottings.apt      |   24 -
 .../component/security/sql/src/site/site.xml    |   41 -
 .../authentication/SqlAuthenticatorTest.java    |  114 -
 mothballed/component/viewer/bdd/NOTICE          |    7 -
 mothballed/component/viewer/bdd/common/pom.xml  |   63 -
 .../isis/viewer/bdd/common/AliasRegistry.java   |   46 -
 .../isis/viewer/bdd/common/CellBinding.java     |  230 -
 .../viewer/bdd/common/CellBindingDefault.java   |   68 -
 .../viewer/bdd/common/IsisViewerConstants.java  |   82 -
 .../apache/isis/viewer/bdd/common/Scenario.java |  312 -
 .../bdd/common/ScenarioBoundValueException.java |   59 -
 .../isis/viewer/bdd/common/ScenarioCell.java    |   38 -
 .../viewer/bdd/common/ScenarioCellDefault.java  |   51 -
 .../bdd/common/ScenarioValueException.java      |   40 -
 .../isis/viewer/bdd/common/ServiceRegistry.java |   23 -
 .../BddAuthenticationManagerInstaller.java      |   40 -
 ...ddInMemoryPersistenceMechanismInstaller.java |   48 -
 .../BddInMemoryPersistenceSessionFactory.java   |   47 -
 .../BddObjectStorePersistedObjects.java         |  124 -
 .../IsisSystemUsingInstallersWithinStory.java   |   44 -
 .../common/fixtures/AbstractFixturePeer.java    |   88 -
 .../fixtures/AbstractListFixturePeer.java       |   87 -
 .../fixtures/AbstractSetUpFixturePeer.java      |   30 -
 .../common/fixtures/AliasItemsInListPeer.java   |  105 -
 .../fixtures/CheckCollectionContentsPeer.java   |  119 -
 .../bdd/common/fixtures/CheckListConstants.java |   30 -
 .../bdd/common/fixtures/CheckListPeer.java      |  148 -
 .../bdd/common/fixtures/DebugClockPeer.java     |   49 -
 .../common/fixtures/DebugObjectStorePeer.java   |   39 -
 .../bdd/common/fixtures/DebugServicesPeer.java  |   45 -
 .../bdd/common/fixtures/SetUpObjectsPeer.java   |  305 -
 .../common/fixtures/UsingIsisViewerPeer.java    |  386 -
 .../fixtures/perform/AddToCollection.java       |   79 -
 .../common/fixtures/perform/CheckAction.java    |   35 -
 .../fixtures/perform/CheckAddToCollection.java  |   31 -
 .../fixtures/perform/CheckClearProperty.java    |   31 -
 .../fixtures/perform/CheckCollection.java       |   37 -
 .../common/fixtures/perform/CheckObject.java    |   33 -
 .../common/fixtures/perform/CheckProperty.java  |   37 -
 .../perform/CheckRemoveFromCollection.java      |   31 -
 .../fixtures/perform/CheckSetProperty.java      |   31 -
 .../common/fixtures/perform/ClearProperty.java  |   67 -
 .../perform/GetActionParameterChoices.java      |   66 -
 .../perform/GetActionParameterDefault.java      |   65 -
 .../common/fixtures/perform/GetCollection.java  |   49 -
 .../common/fixtures/perform/GetProperty.java    |   49 -
 .../fixtures/perform/GetPropertyChoices.java    |   49 -
 .../fixtures/perform/GetPropertyDefault.java    |   52 -
 .../common/fixtures/perform/InvokeAction.java   |   78 -
 .../bdd/common/fixtures/perform/Perform.java    |   37 -
 .../fixtures/perform/PerformAbstract.java       |   47 -
 .../perform/PerformAbstractTypeParams.java      |  188 -
 .../common/fixtures/perform/PerformContext.java |  128 -
 .../common/fixtures/perform/PerformOwner.java   |   23 -
 .../fixtures/perform/RemoveFromCollection.java  |   86 -
 .../bdd/common/fixtures/perform/SaveObject.java |   71 -
 .../common/fixtures/perform/SetProperty.java    |   79 -
 .../perform/checkthat/AssertsContainment.java   |   53 -
 .../perform/checkthat/AssertsEmpty.java         |   53 -
 .../perform/checkthat/AssertsValidity.java      |   70 -
 .../fixtures/perform/checkthat/Disabled.java    |   44 -
 .../fixtures/perform/checkthat/Hidden.java      |   43 -
 .../checkthat/PerformCheckThatAbstract.java     |   78 -
 .../ProposedArgumentValidityAbstract.java       |   65 -
 .../perform/checkthat/ThatSubcommand.java       |   36 -
 .../checkthat/ThatSubcommandAbstract.java       |   53 -
 .../perform/checkthat/ThatValidityAbstract.java |   34 -
 .../fixtures/perform/checkthat/Usable.java      |   43 -
 .../fixtures/perform/checkthat/Visible.java     |   43 -
 .../checkthat/action/ArgumentSetNotValid.java   |   70 -
 .../checkthat/action/ArgumentSetValid.java      |   69 -
 .../checkthat/collections/Containment.java      |   67 -
 .../checkthat/collections/Emptiness.java        |   51 -
 .../checkthat/collections/ProposedAddTo.java    |   43 -
 .../collections/ProposedRemoveFrom.java         |   43 -
 .../perform/checkthat/collections/Size.java     |   69 -
 .../checkthat/collections/ThatAbstract.java     |   50 -
 .../perform/checkthat/object/NotSaved.java      |   46 -
 .../perform/checkthat/object/NotValid.java      |   45 -
 .../perform/checkthat/object/Saved.java         |   46 -
 .../perform/checkthat/object/Valid.java         |   44 -
 .../perform/checkthat/property/Contains.java    |  105 -
 .../checkthat/property/DoesNotContain.java      |   78 -
 .../perform/checkthat/property/Empty.java       |   54 -
 .../perform/checkthat/property/NotEmpty.java    |   50 -
 .../checkthat/property/ProposedClear.java       |   53 -
 .../perform/checkthat/property/ProposedSet.java |   43 -
 .../viewer/bdd/common/parsers/DateParser.java   |  130 -
 .../story/bootstrapping/AbstractHelper.java     |   35 -
 .../common/story/bootstrapping/OpenSession.java |   52 -
 .../common/story/bootstrapping/RunViewer.java   |   43 -
 .../common/story/bootstrapping/SetClock.java    |   41 -
 .../story/bootstrapping/ShutdownIsis.java       |   42 -
 .../story/registries/AliasRegistryDefault.java  |  108 -
 .../story/registries/AliasRegistryHolder.java   |   27 -
 .../story/registries/ServiceRegistrySpi.java    |   25 -
 .../isis/viewer/bdd/common/util/Strings.java    |   26 -
 .../viewer/bdd/common/src/site/apt/index.apt    |   32 -
 .../viewer/bdd/common/src/site/apt/jottings.apt |   24 -
 .../viewer/bdd/common/src/site/site.xml         |   40 -
 .../bdd/common/parsers/DateParserTest.java      |   48 -
 .../common/registries/AliasesRegistryTest.java  |   75 -
 .../component/viewer/bdd/concordion/pom.xml     |   83 -
 .../AbstractIsisConcordionScenario.java         |  539 --
 .../IsisExecuteCommandWithHeader.java           |  119 -
 .../internal/fixtures/AbstractFixture.java      |   33 -
 .../fixtures/AliasItemsInListForConcordion.java |   97 -
 .../CheckCollectionContentsForConcordion.java   |   61 -
 .../fixtures/CheckListForConcordion.java        |   72 -
 .../fixtures/SetUpObjectsForConcordion.java     |   72 -
 .../fixtures/UsingIsisViewerForConcordion.java  |  127 -
 .../bdd/concordion/src/site/apt/index.apt       |   29 -
 .../bdd/concordion/src/site/apt/jottings.apt    |   24 -
 .../viewer/bdd/concordion/src/site/site.xml     |   40 -
 mothballed/component/viewer/bdd/pom.xml         |  200 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../component/viewer/bdd/src/site/apt/index.apt |   52 -
 .../viewer/bdd/src/site/apt/jottings.apt        |   24 -
 .../bdd/src/site/resources/dtd/xhtml-lat1.ent   |  196 -
 .../src/site/resources/dtd/xhtml-special.ent    |   80 -
 .../bdd/src/site/resources/dtd/xhtml-symbol.ent |  237 -
 .../src/site/resources/dtd/xhtml1-strict.dtd    |  988 --
 .../bdd/src/site/resources/xmlmind/xhtml.css    |  692 --
 .../site/resources/xmlmind/xhtml1-strict.dtd    |  988 --
 .../component/viewer/bdd/src/site/site.xml      |   55 -
 mothballed/component/viewer/bdd/tck/pom.xml     |  113 -
 .../viewer/bdd/AbstractApplicationStory.java    |   34 -
 .../bdd/common/BootstrapInExplorationMode.java  |   25 -
 .../test/java/viewer/bdd/common/ToDoItems.java  |   25 -
 .../java/viewer/bdd/stories/AllStories.java     |   25 -
 .../java/viewer/bdd/stories/todo/Fixtures.java  |   25 -
 .../java/viewer/bdd/stories/todo/Index.java     |   25 -
 .../stories/todo/ScenarioMarkItemAsDone.java    |   25 -
 .../tck/src/test/resources/dtd/xhtml-lat1.ent   |  196 -
 .../src/test/resources/dtd/xhtml-special.ent    |   80 -
 .../tck/src/test/resources/dtd/xhtml-symbol.ent |  237 -
 .../src/test/resources/dtd/xhtml1-strict.dtd    |  980 --
 .../bdd/common/BootstrapInExplorationMode.html  |   56 -
 .../resources/viewer/bdd/common/ToDoItems.html  |   68 -
 .../test/resources/viewer/bdd/concordion.css    |  102 -
 .../viewer/bdd/stories/AllStories.html          |   37 -
 .../viewer/bdd/stories/todo/Fixtures.html       |   55 -
 .../viewer/bdd/stories/todo/Index.html          |   39 -
 .../stories/todo/ScenarioMarkItemAsDone.html    |  163 -
 mothballed/component/viewer/dnd/NOTICE          |    7 -
 mothballed/component/viewer/dnd/impl/pom.xml    |  115 -
 .../org/apache/isis/viewer/dnd/DndViewer.java   |  475 -
 .../isis/viewer/dnd/DndViewerInstaller.java     |   36 -
 .../isis/viewer/dnd/awt/AWTUtilities.java       |   37 -
 .../apache/isis/viewer/dnd/awt/AwtCanvas.java   |  263 -
 .../apache/isis/viewer/dnd/awt/AwtColor.java    |   90 -
 .../isis/viewer/dnd/awt/AwtColorsAndFonts.java  |  168 -
 .../isis/viewer/dnd/awt/AwtImageFactory.java    |   83 -
 .../org/apache/isis/viewer/dnd/awt/AwtText.java |  243 -
 .../apache/isis/viewer/dnd/awt/AwtToolkit.java  |   42 -
 .../apache/isis/viewer/dnd/awt/DebugFrame.java  |  354 -
 .../isis/viewer/dnd/awt/DebugOptions.java       |  158 -
 .../isis/viewer/dnd/awt/InfoDebugFrame.java     |   47 -
 .../isis/viewer/dnd/awt/InteractionHandler.java |  504 -
 .../isis/viewer/dnd/awt/KeyboardManager.java    |  229 -
 .../apache/isis/viewer/dnd/awt/LoginDialog.java |  242 -
 .../isis/viewer/dnd/awt/OverlayDebugFrame.java  |   50 -
 .../apache/isis/viewer/dnd/awt/PrintOption.java |   74 -
 .../isis/viewer/dnd/awt/RenderingArea.java      |   57 -
 .../isis/viewer/dnd/awt/ShutdownDialog.java     |  150 -
 .../apache/isis/viewer/dnd/awt/SpyWindow.java   |   97 -
 .../apache/isis/viewer/dnd/awt/ViewerFrame.java |  146 -
 .../isis/viewer/dnd/awt/XFeedbackManager.java   |  266 -
 .../org/apache/isis/viewer/dnd/awt/XViewer.java |  835 --
 .../dnd/calendar/CalendarCellContent.java       |   96 -
 .../viewer/dnd/calendar/CalendarConstants.java  |   34 -
 .../isis/viewer/dnd/calendar/CalendarGrid.java  |  418 -
 .../dnd/calendar/CalendarSpecification.java     |  101 -
 .../isis/viewer/dnd/calendar/CalendarView.java  |  200 -
 .../apache/isis/viewer/dnd/calendar/Cell.java   |   24 -
 .../apache/isis/viewer/dnd/calendar/Cells.java  |   74 -
 .../isis/viewer/dnd/calendar/DayCells.java      |   71 -
 .../isis/viewer/dnd/calendar/MonthCells.java    |   62 -
 .../viewer/dnd/calendar/SingleDayCells.java     |   58 -
 .../isis/viewer/dnd/calendar/WeekCells.java     |   61 -
 .../isis/viewer/dnd/calendar/YearCells.java     |   57 -
 .../combined/ExpandableListSpecification.java   |   52 -
 .../combined/FormWithTableSpecification.java    |  114 -
 .../viewer/dnd/combined/SplitViewAccess.java    |   39 -
 .../viewer/dnd/combined/SplitViewBuilder.java   |   73 -
 .../dnd/combined/SplitViewSpecification.java    |   90 -
 .../dnd/combined/TwoPartViewSpecification.java  |   91 -
 .../ConfigurableCompositeViewBorder.java        |  138 -
 .../configurable/ConfigurableFieldBorder.java   |  154 -
 .../ConfigurableObjectViewSpecification.java    |   61 -
 .../dnd/configurable/ConfigurationAxis.java     |   35 -
 .../configurable/FieldLayoutRequirement.java    |   38 -
 .../dnd/configurable/GridListSpecification.java |   82 -
 .../viewer/dnd/configurable/NewObjectField.java |   51 -
 .../viewer/dnd/configurable/NewObjectView.java  |  114 -
 .../dnd/configurable/NewViewSpecification.java  |   82 -
 .../isis/viewer/dnd/configurable/Panel.java     |  203 -
 .../isis/viewer/dnd/configurable/PanelView.java |  113 -
 .../configurable/PanelViewSpecification.java    |   76 -
 .../dnd/configurable/ViewDesignBorder.java      |   65 -
 .../dnd/dialog/ActionDialogFocusManager.java    |   45 -
 .../dnd/dialog/ActionDialogSpecification.java   |  205 -
 .../viewer/dnd/dialog/ActionFieldBuilder.java   |  111 -
 .../dnd/dialog/ParametersLabelDecorator.java    |   47 -
 .../isis/viewer/dnd/drawing/Background.java     |   27 -
 .../apache/isis/viewer/dnd/drawing/Bounds.java  |  331 -
 .../apache/isis/viewer/dnd/drawing/Canvas.java  |   68 -
 .../apache/isis/viewer/dnd/drawing/Color.java   |   30 -
 .../isis/viewer/dnd/drawing/ColorsAndFonts.java |  101 -
 .../isis/viewer/dnd/drawing/DebugCanvas.java    |  187 -
 .../viewer/dnd/drawing/DebugCanvasAbsolute.java |  257 -
 .../isis/viewer/dnd/drawing/DrawingUtil.java    |   40 -
 .../apache/isis/viewer/dnd/drawing/Image.java   |   28 -
 .../isis/viewer/dnd/drawing/ImageFactory.java   |  179 -
 .../isis/viewer/dnd/drawing/Location.java       |  113 -
 .../apache/isis/viewer/dnd/drawing/Offset.java  |   84 -
 .../apache/isis/viewer/dnd/drawing/Padding.java |  136 -
 .../apache/isis/viewer/dnd/drawing/Shape.java   |  102 -
 .../apache/isis/viewer/dnd/drawing/Size.java    |  165 -
 .../apache/isis/viewer/dnd/drawing/Text.java    |   85 -
 .../isis/viewer/dnd/field/AbstractField.java    |  262 -
 .../viewer/dnd/field/AbstractValueOption.java   |   56 -
 .../isis/viewer/dnd/field/CheckboxField.java    |  158 -
 .../isis/viewer/dnd/field/ClearValueOption.java |   69 -
 .../isis/viewer/dnd/field/ColorField.java       |  144 -
 .../viewer/dnd/field/ColorFieldOverlay.java     |   77 -
 .../isis/viewer/dnd/field/CopyValueOption.java  |   56 -
 .../dnd/field/DateFieldSpecification.java       |   62 -
 .../isis/viewer/dnd/field/DatePicker.java       |   30 -
 .../viewer/dnd/field/DatePickerControl.java     |   40 -
 .../isis/viewer/dnd/field/EmptyField.java       |  208 -
 .../viewer/dnd/field/EmptyFieldTitleText.java   |   43 -
 .../viewer/dnd/field/FieldOfSpecification.java  |  139 -
 .../isis/viewer/dnd/field/ImageField.java       |  264 -
 .../isis/viewer/dnd/field/PasswordField.java    |  188 -
 .../dnd/field/PasswordFieldSpecification.java   |   49 -
 .../isis/viewer/dnd/field/PasteValueOption.java |   56 -
 .../viewer/dnd/field/RevertFieldOption.java     |   52 -
 .../isis/viewer/dnd/field/SimpleDatePicker.java |  392 -
 .../viewer/dnd/field/SingleLineTextField.java   |  129 -
 .../apache/isis/viewer/dnd/field/TextField.java |  758 --
 .../isis/viewer/dnd/field/TextFieldBorder.java  |   49 -
 .../dnd/field/TextFieldSpecification.java       |   59 -
 .../dnd/field/TextParseableFieldAbstract.java   |  107 -
 .../isis/viewer/dnd/field/WrappedTextField.java |  159 -
 .../dnd/form/AbstractFormSpecification.java     |   52 -
 .../form/AbstractObjectViewSpecification.java   |   55 -
 .../dnd/form/ExpandableFormSpecification.java   |   49 -
 .../viewer/dnd/form/ExpandableViewBorder.java   |  246 -
 .../isis/viewer/dnd/form/FormSpecification.java |   43 -
 .../dnd/form/FormWithDetailSpecification.java   |   96 -
 .../dnd/form/InternalFormSpecification.java     |   47 -
 .../isis/viewer/dnd/form/SummaryFields.java     |   37 -
 .../dnd/form/SummaryFormSpecification.java      |   60 -
 .../isis/viewer/dnd/grid/GridSpecification.java |  114 -
 .../apache/isis/viewer/dnd/help/AboutView.java  |  171 -
 .../dnd/help/ExternalHelpViewerProgram.java     |   49 -
 .../apache/isis/viewer/dnd/help/HelpView.java   |   98 -
 .../apache/isis/viewer/dnd/help/HelpViewer.java |   31 -
 .../viewer/dnd/help/InternalHelpViewer.java     |   44 -
 .../viewer/dnd/histogram/HistogramAxis.java     |   68 -
 .../isis/viewer/dnd/histogram/HistogramBar.java |   57 -
 .../viewer/dnd/histogram/HistogramLayout.java   |   56 -
 .../dnd/histogram/HistogramSpecification.java   |  100 -
 .../viewer/dnd/histogram/NumberAdapters.java    |   75 -
 .../org/apache/isis/viewer/dnd/icon/Icon.java   |  165 -
 .../viewer/dnd/icon/IconElementFactory.java     |   60 -
 .../isis/viewer/dnd/icon/IconSpecification.java |   93 -
 .../viewer/dnd/icon/LargeIconSpecification.java |   90 -
 .../viewer/dnd/icon/RootIconSpecification.java  |   80 -
 .../dnd/icon/SubviewIconSpecification.java      |   61 -
 .../isis/viewer/dnd/interaction/ClickImpl.java  |   84 -
 .../viewer/dnd/interaction/ContentDragImpl.java |  165 -
 .../isis/viewer/dnd/interaction/DragImpl.java   |   54 -
 .../viewer/dnd/interaction/DragStartImpl.java   |   61 -
 .../dnd/interaction/KeyboardActionImpl.java     |   61 -
 .../viewer/dnd/interaction/PointerEvent.java    |  108 -
 .../dnd/interaction/SimpleInternalDrag.java     |  115 -
 .../viewer/dnd/interaction/ViewDragImpl.java    |  145 -
 .../dnd/list/InternalCollectionBorder.java      |  128 -
 .../dnd/list/InternalCollectionIconGraphic.java |   39 -
 .../dnd/list/InternalListSpecification.java     |   34 -
 .../dnd/list/SimpleListSpecification.java       |   39 -
 .../viewer/dnd/service/PerspectiveContent.java  |  130 -
 .../isis/viewer/dnd/service/ServiceBorder.java  |  110 -
 .../isis/viewer/dnd/service/ServiceIcon.java    |   86 -
 .../dnd/service/ServiceIconSpecification.java   |   71 -
 .../isis/viewer/dnd/service/ServiceObject.java  |  181 -
 .../dnd/table/AbstractTableSpecification.java   |  114 -
 .../viewer/dnd/table/ColumnWidthStrategy.java   |   30 -
 .../dnd/table/DefaultColumnWidthStrategy.java   |   60 -
 .../dnd/table/InternalTableSpecification.java   |   76 -
 .../apache/isis/viewer/dnd/table/TableAxis.java |   68 -
 .../isis/viewer/dnd/table/TableAxisImpl.java    |  217 -
 .../isis/viewer/dnd/table/TableCellBuilder.java |  203 -
 .../isis/viewer/dnd/table/TableHeader.java      |  241 -
 .../isis/viewer/dnd/table/TableRowBorder.java   |  205 -
 .../isis/viewer/dnd/table/TableRowLayout.java   |   93 -
 .../viewer/dnd/table/TableRowSpecification.java |   57 -
 .../dnd/table/TypeBasedColumnWidthStrategy.java |   71 -
 .../dnd/table/WindowTableSpecification.java     |   77 -
 .../isis/viewer/dnd/toolbar/ToolbarView.java    |   79 -
 .../tree/ClosedCollectionNodeSpecification.java |   65 -
 .../dnd/tree/ClosedObjectNodeSpecification.java |   97 -
 .../dnd/tree/CompositeNodeSpecification.java    |   66 -
 .../viewer/dnd/tree/EmptyNodeSpecification.java |   54 -
 .../isis/viewer/dnd/tree/LeafNodeView.java      |   44 -
 .../dnd/tree/ListWithDetailSpecification.java   |   79 -
 .../isis/viewer/dnd/tree/NodeSpecification.java |   76 -
 .../tree/OpenCollectionNodeSpecification.java   |   83 -
 .../dnd/tree/OpenObjectNodeSpecification.java   |  109 -
 .../isis/viewer/dnd/tree/TreeDisplayRules.java  |   93 -
 .../isis/viewer/dnd/tree/TreeNodeBorder.java    |  353 -
 .../isis/viewer/dnd/tree/TreeSpecification.java |  104 -
 .../dnd/tree/TreeWithDetailSpecification.java   |   78 -
 .../tree2/CollectionTreeNodeSpecification.java  |   69 -
 .../dnd/tree2/ObjectTreeNodeSpecification.java  |   43 -
 .../viewer/dnd/tree2/TreeNodeSpecification.java |  122 -
 .../apache/isis/viewer/dnd/util/Properties.java |  160 -
 .../isis/viewer/dnd/util/ViewerException.java   |   46 -
 .../org/apache/isis/viewer/dnd/view/Axes.java   |   76 -
 .../isis/viewer/dnd/view/BackgroundTask.java    |   28 -
 .../isis/viewer/dnd/view/ButtonAction.java      |   26 -
 .../org/apache/isis/viewer/dnd/view/Click.java  |   46 -
 .../apache/isis/viewer/dnd/view/Command.java    |   30 -
 .../dnd/view/CompositeViewSpecification.java    |   24 -
 .../apache/isis/viewer/dnd/view/Content.java    |  116 -
 .../isis/viewer/dnd/view/ContentDrag.java       |   45 -
 .../isis/viewer/dnd/view/ContentFactory.java    |   30 -
 .../org/apache/isis/viewer/dnd/view/Drag.java   |   26 -
 .../apache/isis/viewer/dnd/view/DragEvent.java  |   34 -
 .../apache/isis/viewer/dnd/view/DragStart.java  |   33 -
 .../apache/isis/viewer/dnd/view/Feedback.java   |   78 -
 .../isis/viewer/dnd/view/FocusManager.java      |   57 -
 .../isis/viewer/dnd/view/GlobalViewFactory.java |   50 -
 .../isis/viewer/dnd/view/InteractionSpy.java    |  153 -
 .../viewer/dnd/view/InteractionSpyWindow.java   |   29 -
 .../isis/viewer/dnd/view/InternalDrag.java      |   31 -
 .../isis/viewer/dnd/view/KeyboardAction.java    |   39 -
 .../org/apache/isis/viewer/dnd/view/Look.java   |   26 -
 .../isis/viewer/dnd/view/MenuOptions.java       |   26 -
 .../isis/viewer/dnd/view/ObjectContent.java     |   37 -
 .../apache/isis/viewer/dnd/view/Placement.java  |   82 -
 .../isis/viewer/dnd/view/PlacementStrategy.java |   31 -
 .../viewer/dnd/view/PlacementStrategyImpl.java  |   95 -
 .../apache/isis/viewer/dnd/view/Selectable.java |   28 -
 .../isis/viewer/dnd/view/ShutdownListener.java  |   27 -
 .../isis/viewer/dnd/view/SubviewDecorator.java  |   26 -
 .../apache/isis/viewer/dnd/view/Toolkit.java    |   95 -
 .../apache/isis/viewer/dnd/view/UndoStack.java  |   52 -
 .../apache/isis/viewer/dnd/view/UserAction.java |   57 -
 .../isis/viewer/dnd/view/UserActionSet.java     |   44 -
 .../org/apache/isis/viewer/dnd/view/View.java   |  396 -
 .../isis/viewer/dnd/view/ViewAreaType.java      |   37 -
 .../apache/isis/viewer/dnd/view/ViewAxis.java   |   23 -
 .../isis/viewer/dnd/view/ViewConstants.java     |   31 -
 .../apache/isis/viewer/dnd/view/ViewDrag.java   |   43 -
 .../isis/viewer/dnd/view/ViewFactory.java       |   29 -
 .../isis/viewer/dnd/view/ViewRequirement.java   |  123 -
 .../isis/viewer/dnd/view/ViewSpecification.java |   65 -
 .../apache/isis/viewer/dnd/view/ViewState.java  |  158 -
 .../viewer/dnd/view/ViewUpdateNotifier.java     |   34 -
 .../org/apache/isis/viewer/dnd/view/Viewer.java |   84 -
 .../apache/isis/viewer/dnd/view/Workspace.java  |   44 -
 .../dnd/view/action/AbstractObjectOption.java   |   88 -
 .../viewer/dnd/view/action/ActionContent.java   |   41 -
 .../viewer/dnd/view/action/ActionHelper.java    |  169 -
 .../viewer/dnd/view/action/BackgroundWork.java  |   82 -
 .../view/action/CollectionActionContent.java    |  145 -
 .../dnd/view/action/DialoggedObjectOption.java  |   94 -
 .../dnd/view/action/ImmediateObjectOption.java  |  100 -
 .../dnd/view/action/ObjectActionContent.java    |  176 -
 .../viewer/dnd/view/action/ObjectParameter.java |   31 -
 .../dnd/view/action/ObjectParameterImpl.java    |  197 -
 .../viewer/dnd/view/action/OptionFactory.java   |   84 -
 .../dnd/view/action/ParameterContent.java       |   29 -
 .../dnd/view/action/TextParseableParameter.java |   26 -
 .../view/action/TextParseableParameterImpl.java |  228 -
 .../isis/viewer/dnd/view/axis/LabelAxis.java    |   45 -
 .../viewer/dnd/view/base/AbstractBorder.java    |  289 -
 .../view/base/AbstractFieldSpecification.java   |   56 -
 .../dnd/view/base/AbstractFocusManager.java     |  203 -
 .../isis/viewer/dnd/view/base/AbstractView.java |  988 --
 .../dnd/view/base/AbstractViewDecorator.java    |  505 -
 .../isis/viewer/dnd/view/base/AwtImage.java     |   54 -
 .../isis/viewer/dnd/view/base/BlankView.java    |   49 -
 .../viewer/dnd/view/base/DragViewOutline.java   |   54 -
 .../viewer/dnd/view/base/FieldErrorView.java    |  117 -
 .../isis/viewer/dnd/view/base/IconGraphic.java  |  115 -
 .../isis/viewer/dnd/view/base/Layout.java       |   29 -
 .../dnd/view/base/NonBuildingSpecification.java |   77 -
 .../isis/viewer/dnd/view/base/NullView.java     |   34 -
 .../isis/viewer/dnd/view/base/ObjectView.java   |  139 -
 .../isis/viewer/dnd/view/base/TextView.java     |   65 -
 .../dnd/view/base/UserViewSpecification.java    |   96 -
 .../dnd/view/base/ViewUpdateNotifierImpl.java   |  273 -
 .../dnd/view/border/BackgroundBorder.java       |   63 -
 .../viewer/dnd/view/border/BorderDrawing.java   |   48 -
 .../viewer/dnd/view/border/ButtonBorder.java    |  199 -
 .../dnd/view/border/DisposedObjectBorder.java   |   94 -
 .../viewer/dnd/view/border/DragViewBorder.java  |  112 -
 .../dnd/view/border/DroppableLabelBorder.java   |  172 -
 .../viewer/dnd/view/border/EmptyBorder.java     |   46 -
 .../dnd/view/border/FieldOrderBorder.java       |   64 -
 .../isis/viewer/dnd/view/border/IconBorder.java |  170 -
 .../viewer/dnd/view/border/LabelBorder.java     |  148 -
 .../isis/viewer/dnd/view/border/LineBorder.java |  110 -
 .../viewer/dnd/view/border/ObjectBorder.java    |  167 -
 .../viewer/dnd/view/border/ResizeBorder.java    |  244 -
 .../isis/viewer/dnd/view/border/ResizeDrag.java |  215 -
 .../dnd/view/border/ResizeViewRender.java       |   28 -
 .../isis/viewer/dnd/view/border/SaveState.java  |   56 -
 .../view/border/SaveTransientObjectBorder.java  |  176 -
 .../isis/viewer/dnd/view/border/ScrollBar.java  |   88 -
 .../viewer/dnd/view/border/ScrollBarRender.java |   26 -
 .../viewer/dnd/view/border/ScrollBorder.java    |  773 --
 .../dnd/view/border/SelectObjectBorder.java     |  130 -
 .../dnd/view/border/SelectableViewAxis.java     |   51 -
 .../viewer/dnd/view/border/SelectedBorder.java  |   53 -
 .../dnd/view/border/TextFieldResizeBorder.java  |   54 -
 .../dnd/view/border/ViewResizeBorder.java       |   49 -
 .../dnd/view/border/ViewResizeOutline.java      |   68 -
 .../collection/AbstractCollectionContent.java   |  304 -
 .../dnd/view/collection/CollectionContent.java  |   73 -
 .../dnd/view/collection/CollectionElement.java  |  126 -
 .../dnd/view/collection/CollectionSorter.java   |   32 -
 .../viewer/dnd/view/collection/Comparator.java  |   28 -
 .../dnd/view/collection/FieldComparator.java    |   52 -
 .../dnd/view/collection/RootCollection.java     |  115 -
 .../view/collection/SimpleCollectionSorter.java |   52 -
 .../dnd/view/collection/TitleComparator.java    |   37 -
 .../dnd/view/collection/TypeComparator.java     |   38 -
 .../composite/AbstractBuilderDecorator.java     |   63 -
 .../AbstractCollectionViewSpecification.java    |   54 -
 .../dnd/view/composite/AbstractViewBuilder.java |   88 -
 .../composite/CollectionElementBuilder.java     |  120 -
 .../viewer/dnd/view/composite/ColumnLayout.java |   90 -
 .../dnd/view/composite/CompositeView.java       |  347 -
 .../view/composite/CompositeViewDecorator.java  |   29 -
 .../composite/CompositeViewSpecification.java   |  118 -
 .../composite/CompositeViewUsingBuilder.java    |   87 -
 .../view/composite/FieldLabelsDecorator.java    |   47 -
 .../viewer/dnd/view/composite/GridLayout.java   |  137 -
 .../view/composite/GridLayoutControlBorder.java |   98 -
 .../composite/IconGridViewSpecification.java    |   87 -
 .../view/composite/ImageViewSpecification.java  |   83 -
 .../dnd/view/composite/LineBorderDecorator.java |   39 -
 .../dnd/view/composite/MasterDetailPanel.java   |  232 -
 .../dnd/view/composite/ObjectFieldBuilder.java  |  196 -
 .../dnd/view/composite/ReplaceViewBorder.java   |   57 -
 .../viewer/dnd/view/composite/StackLayout.java  |   86 -
 .../dnd/view/composite/StandardFields.java      |   74 -
 .../viewer/dnd/view/composite/ViewBuilder.java  |   58 -
 .../dnd/view/content/AbstractContent.java       |   58 -
 .../dnd/view/content/AbstractObjectContent.java |  294 -
 .../content/AbstractTextParsableContent.java    |   82 -
 .../viewer/dnd/view/content/FieldContent.java   |   38 -
 .../viewer/dnd/view/content/NullContent.java    |  147 -
 .../viewer/dnd/view/content/RootObject.java     |  131 -
 .../dnd/view/content/TextParseableContent.java  |   49 -
 .../dnd/view/control/AbstractButtonAction.java  |   70 -
 .../dnd/view/control/AbstractControlView.java   |  505 -
 .../isis/viewer/dnd/view/control/Button.java    |   57 -
 .../viewer/dnd/view/control/ButtonRender.java   |   31 -
 .../viewer/dnd/view/control/CancelAction.java   |   41 -
 .../viewer/dnd/view/debug/DebugAdapter.java     |   49 -
 .../isis/viewer/dnd/view/debug/DebugBorder.java |   64 -
 .../viewer/dnd/view/debug/DebugContent.java     |   66 -
 .../viewer/dnd/view/debug/DebugDrawing.java     |   44 -
 .../dnd/view/debug/DebugDrawingAbsolute.java    |   44 -
 .../dnd/view/debug/DebugDumpSnapshotOption.java |   74 -
 .../viewer/dnd/view/debug/DebugObjectGraph.java |   50 -
 .../view/debug/DebugObjectSpecification.java    |   53 -
 .../isis/viewer/dnd/view/debug/DebugOption.java |   79 -
 .../isis/viewer/dnd/view/debug/DebugOutput.java |  145 -
 .../isis/viewer/dnd/view/debug/DebugView.java   |  124 -
 .../dnd/view/debug/DebugViewStructure.java      |   42 -
 .../viewer/dnd/view/debug/LoggingOptions.java   |   59 -
 .../field/ClearOneToManyAssociationOption.java  |   45 -
 .../field/ClearOneToOneAssociationOption.java   |   45 -
 .../isis/viewer/dnd/view/field/ObjectField.java |   66 -
 .../viewer/dnd/view/field/OneToManyField.java   |   28 -
 .../dnd/view/field/OneToManyFieldElement.java   |   27 -
 .../view/field/OneToManyFieldElementImpl.java   |  196 -
 .../dnd/view/field/OneToManyFieldImpl.java      |  221 -
 .../viewer/dnd/view/field/OneToOneField.java    |   29 -
 .../dnd/view/field/OneToOneFieldImpl.java       |  211 -
 .../dnd/view/field/TextParseableField.java      |   27 -
 .../dnd/view/field/TextParseableFieldImpl.java  |  261 -
 .../isis/viewer/dnd/view/look/LookFactory.java  |   75 -
 .../view/look/line/ButtonLineStyleRender.java   |   63 -
 .../viewer/dnd/view/look/line/LineLook.java     |   39 -
 .../view/look/line/LineStyleWindowBorder.java   |   99 -
 .../view/look/linux/Button3DStyleRender.java    |   72 -
 .../view/look/linux/CloseWindow3DRender.java    |   45 -
 .../look/linux/CustomStyleWindowBorder.java     |  148 -
 .../view/look/linux/IconizeWindow3DRender.java  |   37 -
 .../dnd/view/look/linux/LinuxDatePicker.java    |  257 -
 .../viewer/dnd/view/look/linux/LinuxLook.java   |   44 -
 .../view/look/linux/ResizeWindow3DRender.java   |   39 -
 .../look/simple/CloseWindowSimpleRender.java    |   39 -
 .../look/simple/IconizeWindowSimpleRender.java  |   37 -
 .../look/simple/ResizeWindowSimpleRender.java   |   38 -
 .../view/look/simple/SimpleButtonRender.java    |   63 -
 .../viewer/dnd/view/look/simple/SimpleLook.java |   49 -
 .../dnd/view/look/simple/SimpleRender.java      |   37 -
 .../look/simple/SimpleResizeViewRender.java     |   47 -
 .../view/look/simple/SimpleScrollBarRender.java |   56 -
 .../look/simple/SimpleStyleWindowBorder.java    |  158 -
 .../view/look/swing/Button3DStyleRender.java    |   67 -
 .../view/look/swing/CloseWindow3DRender.java    |   45 -
 .../view/look/swing/IconizeWindow3DRender.java  |   39 -
 .../dnd/view/look/swing/ResizeView3DRender.java |   51 -
 .../view/look/swing/ResizeWindow3DRender.java   |   40 -
 .../dnd/view/look/swing/ScrollBar3DRender.java  |   55 -
 .../viewer/dnd/view/look/swing/SwingLook.java   |   49 -
 .../view/look/swing/SwingStyleWindowBorder.java |  167 -
 .../viewer/dnd/view/lookup/DisposeOverlay.java  |   62 -
 .../dnd/view/lookup/OpenDropDownBorder.java     |  163 -
 .../view/lookup/OpenObjectDropDownBorder.java   |   70 -
 .../view/lookup/OpenValueDropDownBorder.java    |   71 -
 .../viewer/dnd/view/lookup/OptionContent.java   |  123 -
 .../dnd/view/lookup/SelectionItemSelector.java  |   83 -
 .../dnd/view/lookup/SelectionListAxis.java      |   38 -
 .../dnd/view/lookup/SelectionListBuilder.java   |   54 -
 .../view/lookup/SelectionListFocusBorder.java   |  135 -
 .../view/lookup/SelectionListSpecification.java |   76 -
 .../isis/viewer/dnd/view/menu/PopupMenu.java    |  607 --
 .../dnd/view/menu/PopupMenuContainer.java       |  304 -
 .../viewer/dnd/view/menu/UserActionSetImpl.java |  170 -
 .../DetailedMessageViewSpecification.java       |  186 -
 .../view/message/ExceptionMessageContent.java   |  191 -
 .../viewer/dnd/view/message/MessageContent.java |   28 -
 .../message/MessageDialogSpecification.java     |  183 -
 .../dnd/view/message/TextMessageContent.java    |  165 -
 .../option/CloseAllViewsForObjectOption.java    |   49 -
 .../dnd/view/option/CloseAllViewsOption.java    |   52 -
 .../option/CloseOtherViewsForObjectOption.java  |   49 -
 .../viewer/dnd/view/option/CloseViewOption.java |   46 -
 .../dnd/view/option/DisposeObjectOption.java    |  101 -
 .../dnd/view/option/IconizeViewOption.java      |   66 -
 .../viewer/dnd/view/option/OpenViewOption.java  |   65 -
 .../dnd/view/option/ReplaceViewOption.java      |   61 -
 .../dnd/view/option/UserActionAbstract.java     |   96 -
 .../viewer/dnd/view/text/CursorPosition.java    |  261 -
 .../viewer/dnd/view/text/ObjectTitleText.java   |   41 -
 .../isis/viewer/dnd/view/text/TextBlock.java    |  224 -
 .../viewer/dnd/view/text/TextBlockTarget.java   |   32 -
 .../isis/viewer/dnd/view/text/TextContent.java  |  373 -
 .../viewer/dnd/view/text/TextSelection.java     |   99 -
 .../isis/viewer/dnd/view/text/TextUtils.java    |   63 -
 .../isis/viewer/dnd/view/text/TitleText.java    |  125 -
 .../viewer/dnd/view/undo/AssociateCommand.java  |   60 -
 .../viewer/dnd/view/undo/SetValueCommand.java   |   85 -
 .../dnd/view/window/AbstractWindowBorder.java   |  211 -
 .../dnd/view/window/CloseWindowControl.java     |   41 -
 .../dnd/view/window/CloseWindowRender.java      |   28 -
 .../viewer/dnd/view/window/DialogBorder.java    |   41 -
 .../dnd/view/window/IconizeWindowControl.java   |   42 -
 .../dnd/view/window/IconizeWindowRender.java    |   28 -
 .../dnd/view/window/ResizeWindowControl.java    |   77 -
 .../dnd/view/window/ResizeWindowRender.java     |   28 -
 .../dnd/view/window/SubviewFocusManager.java    |   54 -
 .../viewer/dnd/view/window/WindowBorder.java    |  132 -
 .../viewer/dnd/view/window/WindowControl.java   |   40 -
 .../viewer/dnd/viewer/ApplicationOptions.java   |   83 -
 .../dnd/viewer/DefaultContentFactory.java       |   73 -
 .../viewer/dnd/viewer/SkylarkViewFactory.java   |  287 -
 .../dnd/viewer/basic/ApplicationWorkspace.java  |  519 --
 .../basic/ApplicationWorkspaceBuilder.java      |  205 -
 .../viewer/basic/CollectionDisplayIterator.java |   62 -
 .../viewer/basic/DragContentSpecification.java  |   37 -
 .../viewer/dnd/viewer/basic/FallbackView.java   |  111 -
 .../viewer/dnd/viewer/basic/Identifier.java     |   82 -
 .../basic/InnerWorkspaceSpecification.java      |   36 -
 .../viewer/dnd/viewer/basic/LogoBackground.java |   76 -
 .../viewer/dnd/viewer/basic/MinimizedView.java  |  455 -
 .../dnd/viewer/basic/NullFocusManager.java      |   62 -
 .../basic/RootWorkspaceSpecification.java       |   39 -
 .../dnd/viewer/basic/SimpleIdentifier.java      |   93 -
 .../dnd/viewer/basic/TableFocusManager.java     |  172 -
 .../basic/UnlinedTextFieldSpecification.java    |   54 -
 .../dnd/viewer/basic/WorkspaceFocusManager.java |   64 -
 .../viewer/basic/WorkspaceSpecification.java    |   94 -
 .../basic/WrappedTextFieldSpecification.java    |   55 -
 .../main/resources/images/application-error.png |  Bin 1391 -> 0 bytes
 .../main/resources/images/application-logo.png  |  Bin 609 -> 0 bytes
 .../impl/src/main/resources/images/busy-old.gif |  Bin 722 -> 0 bytes
 .../dnd/impl/src/main/resources/images/busy.png |  Bin 1597 -> 0 bytes
 .../impl/src/main/resources/images/button1.png  |  Bin 431 -> 0 bytes
 .../impl/src/main/resources/images/button2.png  |  Bin 417 -> 0 bytes
 .../impl/src/main/resources/images/button3.png  |  Bin 591 -> 0 bytes
 .../impl/src/main/resources/images/button4.png  |  Bin 432 -> 0 bytes
 .../src/main/resources/images/check-mark.png    |  Bin 564 -> 0 bytes
 .../main/resources/images/concurrency-error.png |  Bin 1425 -> 0 bytes
 .../dnd/impl/src/main/resources/images/day2.png |  Bin 333 -> 0 bytes
 .../src/main/resources/images/decadedown.png    |  Bin 995 -> 0 bytes
 .../impl/src/main/resources/images/decadeup.png |  Bin 1009 -> 0 bytes
 .../src/main/resources/images/empty-field.png   |  Bin 1996 -> 0 bytes
 .../src/main/resources/images/highlight2.png    |  Bin 369 -> 0 bytes
 .../src/main/resources/images/invalid-entry.png |  Bin 603 -> 0 bytes
 .../src/main/resources/images/login-logo.png    |  Bin 609 -> 0 bytes
 .../impl/src/main/resources/images/message.png  |  Bin 1910 -> 0 bytes
 .../src/main/resources/images/monthdown.png     |  Bin 929 -> 0 bytes
 .../impl/src/main/resources/images/monthup.png  |  Bin 948 -> 0 bytes
 .../src/main/resources/images/shutdown-logo.png |  Bin 609 -> 0 bytes
 .../src/main/resources/images/system-error.png  |  Bin 1645 -> 0 bytes
 .../src/main/resources/images/transient.png     |  Bin 1266 -> 0 bytes
 .../impl/src/main/resources/images/unknown.png  |  Bin 2464 -> 0 bytes
 .../impl/src/main/resources/images/yeardown.png |  Bin 815 -> 0 bytes
 .../impl/src/main/resources/images/yearup.png   |  Bin 889 -> 0 bytes
 .../main/src-archived/dnd/ExampleContent.java   |  128 -
 .../src-archived/dnd/example/ButtonExample.java |  117 -
 .../src-archived/dnd/example/CanvasExample.java |   66 -
 .../dnd/example/ColorsAndFontsExample.java      |  113 -
 .../src-archived/dnd/example/DrawingView.java   |   80 -
 .../dnd/example/ExampleViewSpecification.java   |   59 -
 .../dnd/example/FontMetricsExample.java         |  111 -
 .../dnd/example/HelpViewExample.java            |   60 -
 .../dnd/example/IconGraphicExample.java         |  178 -
 .../dnd/example/MouseEventExample.java          |   78 -
 .../dnd/example/TestCanvasView.java             |  171 -
 .../dnd/example/TestCanvasView2.java            |   41 -
 .../dnd/example/border/ButtonBorderExample.java |  124 -
 .../example/border/CompoundBorderExample.java   |   80 -
 .../dnd/example/border/ObjectBorderExample.java |   86 -
 .../dnd/example/border/ScrollBorderExample.java |   67 -
 .../dnd/example/border/WindowBorderExample.java |   72 -
 .../dnd/example/field/ParentView.java           |   32 -
 .../dnd/example/field/PasswordFieldExample.java |   80 -
 .../dnd/example/field/TextFieldExample.java     |  339 -
 .../dnd/example/message/ErrorViewExample.java   |   59 -
 .../table/ScrollableTableBorderExample.java     |   73 -
 .../dnd/example/table/TestHeaderView.java       |   96 -
 .../dnd/example/tree/NodeBorderExample.java     |   62 -
 .../dnd/example/tree/ResizeBorderExample.java   |   62 -
 .../dnd/example/tree/TreeExample.java           |   67 -
 .../dnd/example/tree/TreeLeafNodeExample.java   |   66 -
 .../dnd/example/view/TestObjectView.java        |   95 -
 .../view/TestObjectViewWithDragging.java        |   51 -
 .../dnd/example/view/TestViews.java             |  133 -
 .../view/TestWorkspaceSpecification.java        |   67 -
 .../dnd/example/view/TestWorkspaceView.java     |  170 -
 .../src-archived/dnd/image/ImageCatalogue.java  |  126 -
 .../main/src-archived/dnd/viewer/IconImage.java |   49 -
 .../src-archived/views/BarSpecification.java    |   56 -
 .../views/BarchartSpecification.java            |   52 -
 .../views/GridColumnSpecification.java          |   69 -
 .../src/main/src-archived/views/GridLayout.java |   68 -
 .../src-archived/views/GridSpecification.java   |   53 -
 .../views/OptionFieldSpecification.java         |   67 -
 .../views/OptionSelectionField.java             |   96 -
 .../views/OptionSelectionFieldOverlay.java      |   81 -
 .../src-archived/views/PercentageBarField.java  |  124 -
 .../views/ScheduleBlockSpecification.java       |   67 -
 .../src-archived/views/ScheduleBlockView.java   |  150 -
 .../main/src-archived/views/ScheduleLayout.java |   94 -
 .../views/ScheduleSpecification.java            |   51 -
 .../src-archived/views/TimePeriodBarField.java  |  133 -
 .../viewer/dnd/impl/src/site/apt/index.apt      |   37 -
 .../viewer/dnd/impl/src/site/apt/jottings.apt   |   38 -
 .../component/viewer/dnd/impl/src/site/site.xml |   49 -
 .../apache/isis/viewer/dnd/ContentDragTest.java |   49 -
 .../org/apache/isis/viewer/dnd/DummyCanvas.java |  132 -
 .../apache/isis/viewer/dnd/DummyContent.java    |  154 -
 .../org/apache/isis/viewer/dnd/DummyView.java   |  537 --
 .../isis/viewer/dnd/DummyViewSpecification.java |   86 -
 .../isis/viewer/dnd/DummyWorkspaceView.java     |   80 -
 .../isis/viewer/dnd/InternalDragTest.java       |   43 -
 .../org/apache/isis/viewer/dnd/TestToolkit.java |  369 -
 .../apache/isis/viewer/dnd/ViewManagerTest.java |   79 -
 .../ConfigurableListViewSpecificationTest.java  |  114 -
 .../isis/viewer/dnd/configurable/PanelTest.java |  155 -
 .../dnd/configurable/PanelViewDropTest.java     |  154 -
 .../viewer/dnd/configurable/PanelViewTest.java  |   85 -
 .../isis/viewer/dnd/toolbar/ToolbarTest.java    |  120 -
 .../isis/viewer/dnd/util/PropertiesTest.java    |   42 -
 .../dnd/view/composite/CompositeViewTest.java   |  190 -
 .../dnd/view/text/CursorPositionTest.java       |  229 -
 .../viewer/dnd/view/text/CursorPostionStub.java |   27 -
 .../text/MultilineTextFieldContentTest.java     |  166 -
 .../dnd/view/text/TextBlockTargetExample.java   |   90 -
 .../viewer/dnd/view/text/TextBlockTest.java     |  127 -
 .../dnd/view/text/TextFieldContentStub.java     |   54 -
 .../dnd/view/text/TextFieldContentTest.java     |  257 -
 .../viewer/dnd/view/text/TextUtilsTest.java     |   67 -
 .../dnd/viewer/ViewUpdateNotifierTest.java      |  195 -
 .../viewer/basic/ActionFieldBuilderTest.java    |  230 -
 .../isis/viewer/dnd/viewer/basic/NullColor.java |   40 -
 .../viewer/basic/PlacementStrategyImplTest.java |  209 -
 .../dnd/viewer/basic/ScrollBorderTest.java      |  137 -
 .../basic/SimpleCollectionSorterTest.java       |   76 -
 .../viewer/dnd/viewer/basic/TitleTextTest.java  |  131 -
 .../dnd/viewer/builder/StackLayoutTest.java     |  103 -
 .../TextParseableField_ParseTextEntry.java      |  172 -
 .../viewer/dnd/viewer/drawing/BoundsTest.java   |  272 -
 .../viewer/dnd/viewer/drawing/DummyText.java    |   85 -
 .../viewer/dnd/viewer/drawing/LocationTest.java |   46 -
 .../viewer/dnd/viewer/drawing/PaddingTest.java  |   65 -
 .../viewer/dnd/viewer/drawing/ShapeTest.java    |   95 -
 .../viewer/dnd/viewer/drawing/ShapeTest2.java   |   60 -
 .../viewer/dnd/viewer/drawing/SizeTest.java     |   80 -
 .../dnd/viewer/table/TableRowLayoutTest.java    |   80 -
 .../dnd/viewer/tree/TreeBrowserFrameTest.java   |  199 -
 .../dnd/viewer/view/AbstractViewTest.java       |  101 -
 .../view/configurable/GridLayoutTest.java       |  235 -
 .../viewer/view/field/TextFieldBorderTest.java  |   44 -
 mothballed/component/viewer/dnd/pom.xml         |   89 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../ide/eclipse/launch/viewer-dnd-tck.launch    |   20 -
 mothballed/component/viewer/dnd/tck/pom.xml     |  154 -
 .../dnd/tck/src/main/resources/isis.properties  |   52 -
 .../tck/src/main/resources/logging.properties   |   30 -
 mothballed/component/viewer/html/NOTICE         |    7 -
 mothballed/component/viewer/html/impl/pom.xml   |  110 -
 .../isis/viewer/html/HtmlViewerConstants.java   |   46 -
 .../isis/viewer/html/HtmlViewerInstaller.java   |   92 -
 .../apache/isis/viewer/html/PathBuilder.java    |   30 -
 .../isis/viewer/html/PathBuilderDefault.java    |   60 -
 .../apache/isis/viewer/html/action/Action.java  |   32 -
 .../viewer/html/action/ActionException.java     |   43 -
 .../isis/viewer/html/action/ChangeContext.java  |   39 -
 .../apache/isis/viewer/html/action/LogOut.java  |   47 -
 .../apache/isis/viewer/html/action/Welcome.java |   52 -
 .../html/action/edit/AddItemToCollection.java   |   56 -
 .../viewer/html/action/edit/EditObject.java     |   52 -
 .../action/edit/RemoveItemFromCollection.java   |   53 -
 .../isis/viewer/html/action/edit/Save.java      |   65 -
 .../isis/viewer/html/action/misc/About.java     |   50 -
 .../isis/viewer/html/action/misc/SetUser.java   |   47 -
 .../isis/viewer/html/action/misc/SwapUser.java  |   80 -
 .../viewer/html/action/view/CollectionView.java |   80 -
 .../html/action/view/FieldCollectionView.java   |   60 -
 .../viewer/html/action/view/ObjectView.java     |  129 -
 .../html/action/view/ObjectViewAbstract.java    |   89 -
 .../viewer/html/action/view/ServiceView.java    |   38 -
 .../viewer/html/action/view/util/MenuUtil.java  |  110 -
 .../viewer/html/action/view/util/TableUtil.java |  133 -
 .../isis/viewer/html/component/Block.java       |   26 -
 .../isis/viewer/html/component/Component.java   |   27 -
 .../html/component/ComponentAbstract.java       |   64 -
 .../html/component/ComponentComposite.java      |   66 -
 .../viewer/html/component/ComponentFactory.java |   82 -
 .../isis/viewer/html/component/DebugPane.java   |   32 -
 .../apache/isis/viewer/html/component/Form.java |   44 -
 .../apache/isis/viewer/html/component/Page.java |   40 -
 .../isis/viewer/html/component/Table.java       |   36 -
 .../isis/viewer/html/component/ViewPane.java    |   35 -
 .../html/component/html/AbstractHtmlPage.java   |  129 -
 .../html/component/html/ActionComponent.java    |   74 -
 .../viewer/html/component/html/BreadCrumbs.java |   66 -
 .../viewer/html/component/html/Checkbox.java    |   50 -
 .../html/component/html/CollectionIcon.java     |   80 -
 .../html/component/html/CollectionLink.java     |   77 -
 .../isis/viewer/html/component/html/Div.java    |   86 -
 .../html/component/html/DynamicHtmlPage.java    |   81 -
 .../html/component/html/ErrorMessage.java       |   48 -
 .../viewer/html/component/html/Heading.java     |   50 -
 .../isis/viewer/html/component/html/Html.java   |   40 -
 .../component/html/HtmlComponentFactory.java    |  309 -
 .../viewer/html/component/html/HtmlDebug.java   |   69 -
 .../html/component/html/HtmlException.java      |   42 -
 .../viewer/html/component/html/HtmlForm.java    |  183 -
 .../viewer/html/component/html/HtmlTable.java   |  115 -
 .../isis/viewer/html/component/html/Link.java   |   50 -
 .../html/component/html/LogonFormPage.java      |   91 -
 .../viewer/html/component/html/MenuItem.java    |  101 -
 .../viewer/html/component/html/ObjectIcon.java  |   78 -
 .../html/component/html/RegisterFormPage.java   |   87 -
 .../isis/viewer/html/component/html/Row.java    |   60 -
 .../html/component/html/ServiceComponent.java   |   62 -
 .../isis/viewer/html/component/html/Span.java   |   55 -
 .../viewer/html/component/html/Submenu.java     |   46 -
 .../viewer/html/component/html/TableHeader.java |   44 -
 .../viewer/html/component/html/TextBlock.java   |   56 -
 .../html/component/html/UserSwapLink.java       |   52 -
 .../viewer/html/component/html/ViewDiv.java     |  145 -
 .../html/component/html/WebViewerException.java |   43 -
 .../viewer/html/context/CollectionMapping.java  |  154 -
 .../isis/viewer/html/context/Context.java       |  654 --
 .../isis/viewer/html/context/HistoryEntry.java  |   49 -
 .../isis/viewer/html/context/ObjectHistory.java |  109 -
 .../html/context/ObjectLookupException.java     |   42 -
 .../context/PersistentRootAdapterMapping.java   |  119 -
 .../viewer/html/context/RootAdapterMapping.java |   41 -
 .../context/RootAdapterMappingAbstract.java     |  114 -
 .../context/TransientRootAdapterMapping.java    |   95 -
 .../isis/viewer/html/crumb/CollectionCrumb.java |   58 -
 .../apache/isis/viewer/html/crumb/Crumb.java    |   33 -
 .../isis/viewer/html/crumb/ObjectCrumb.java     |   66 -
 .../viewer/html/crumb/ObjectFieldCrumb.java     |   54 -
 .../isis/viewer/html/crumb/TaskCrumb.java       |   62 -
 .../isis/viewer/html/image/ImageLookup.java     |   66 -
 .../isis/viewer/html/image/ImageProvider.java   |   47 -
 .../html/image/ImageProviderAbstract.java       |  123 -
 .../html/image/ImageProviderDirectoryBased.java |  160 -
 .../ImageProviderDirectoryBasedReworked.java    |   60 -
 .../html/image/ImageProviderResourceBased.java  |   72 -
 .../viewer/html/request/ForwardRequest.java     |  138 -
 .../isis/viewer/html/request/Request.java       |   72 -
 .../viewer/html/request/ServletRequest.java     |   98 -
 .../html/servlet/AbstractHtmlViewerServlet.java |   82 -
 .../viewer/html/servlet/ControllerServlet.java  |  154 -
 .../html/servlet/HtmlServletConstants.java      |   48 -
 .../isis/viewer/html/servlet/LogonServlet.java  |  124 -
 .../viewer/html/servlet/RegisterServlet.java    |   98 -
 .../html/servlet/internal/WebController.java    |  460 -
 .../html/task/AddItemToCollectionTask.java      |   95 -
 .../apache/isis/viewer/html/task/EditTask.java  |  231 -
 .../isis/viewer/html/task/InvokeMethod.java     |  129 -
 .../isis/viewer/html/task/MethodTask.java       |  135 -
 .../org/apache/isis/viewer/html/task/Task.java  |  394 -
 .../viewer/html/task/TaskLookupException.java   |   42 -
 .../apache/isis/viewer/html/task/TaskStep.java  |  238 -
 .../src/main/resources/default-images/arrow.gif |  Bin 160 -> 0 bytes
 .../main/resources/default-images/bg-button.gif |  Bin 106 -> 0 bytes
 .../main/resources/default-images/branch.gif    |  Bin 74 -> 0 bytes
 .../resources/default-images/breadcrumbs-bg.gif |  Bin 183 -> 0 bytes
 .../resources/default-images/button-bg1.gif     |  Bin 305 -> 0 bytes
 .../resources/default-images/button-bg2.gif     |  Bin 305 -> 0 bytes
 .../src/main/resources/default-images/help.gif  |  Bin 741 -> 0 bytes
 .../main/resources/default-images/logo-bg.gif   |  Bin 79 -> 0 bytes
 .../main/resources/default-images/logo-bg2.gif  |  Bin 391 -> 0 bytes
 .../main/resources/default-images/menu-bg.gif   |  Bin 453 -> 0 bytes
 .../main/resources/default-images/menu-bg2.gif  |  Bin 69 -> 0 bytes
 .../default-images/object-header-bg.gif         |  Bin 362 -> 0 bytes
 .../resources/default-images/page-header-bg.jpg |  Bin 413 -> 0 bytes
 .../default-images/page-header-bg1.gif          |  Bin 165 -> 0 bytes
 .../default-images/page-header-bg2.jpg          |  Bin 436 -> 0 bytes
 .../resources/default-images/poweredby-logo.png |  Bin 8461 -> 0 bytes
 .../resources/default-images/shadow-bottom.gif  |  Bin 111 -> 0 bytes
 .../main/resources/default-images/sign-info.png |  Bin 418 -> 0 bytes
 .../resources/default-images/sign-warning.png   |  Bin 531 -> 0 bytes
 .../resources/default-images/site-header-bg.jpg |  Bin 9975 -> 0 bytes
 .../resources/default-images/submenu-bullet.gif |  Bin 51 -> 0 bytes
 .../resources/default-images/tab-bar-bg.gif     |  Bin 221 -> 0 bytes
 .../resources/default-images/tab-off-bg.gif     |  Bin 1150 -> 0 bytes
 .../main/resources/default-images/tab-on-bg.gif |  Bin 1119 -> 0 bytes
 .../html/impl/src/main/resources/default.css    |  939 --
 .../html/impl/src/main/resources/htmlviewer.js  |   22 -
 .../impl/src/main/resources/images/Default.png  |  Bin 3016 -> 0 bytes
 .../impl/src/main/resources/images/banner.png   |  Bin 30394 -> 0 bytes
 .../src/main/src-archived/MonitorServlet.java   |  101 -
 .../src/main/src-archived/SessionAccess.java    |  183 -
 .../impl/src/main/src-archived/SessionList.java |   53 -
 .../viewer/html/impl/src/site/apt/index.apt     |   47 -
 .../viewer/html/impl/src/site/apt/jottings.apt  |   71 -
 .../viewer/html/impl/src/site/site.xml          |   50 -
 .../html/context/ContextTest_mapAction.java     |   98 -
 .../html/context/ContextTest_mapCollection.java |  159 -
 .../html/context/ContextTest_mapObject.java     |  266 -
 .../html/context/ContextTest_serialization.java |   97 -
 .../viewer/html/context/ObjectActionNoop.java   |  312 -
 .../request/ImageProviderResourceBasedTest.java |   65 -
 .../impl/src/test/resources/images/Customer.gif |  Bin 1475 -> 0 bytes
 .../impl/src/test/resources/images/Service.png  |  Bin 2129 -> 0 bytes
 .../component/viewer/html/monitoring/pom.xml    |   51 -
 .../viewer/html/monitoring/MonitorServlet.java  |   87 -
 .../monitoring/WebServerMonitorInstaller.java   |   45 -
 .../servermonitor/AbstractServerMonitor.java    |   99 -
 .../servermonitor/HttpServerMonitor.java        |  104 -
 .../html/monitoring/servermonitor/Monitor.java  |   56 -
 .../monitoring/servermonitor/MonitorEvent.java  |   70 -
 .../servermonitor/MonitorListener.java          |   24 -
 .../servermonitor/MonitorListenerImpl.java      |  150 -
 .../servermonitor/SocketServerMonitor.java      |   71 -
 .../monitoring/systemconsole/AWTConsole.java    |  201 -
 .../monitoring/systemconsole/FileConsole.java   |   57 -
 .../monitoring/systemconsole/QuitListener.java  |   32 -
 .../html/monitoring/systemconsole/Server.java   |   26 -
 .../monitoring/systemconsole/ServerConsole.java |   31 -
 .../systemconsole/ServerResponse.java           |   26 -
 .../systemconsole/TerminalConsole.java          |  126 -
 .../html/monitoring/src/site/apt/index.apt      |   31 -
 .../html/monitoring/src/site/apt/jottings.apt   |   43 -
 .../viewer/html/monitoring/src/site/site.xml    |   45 -
 mothballed/component/viewer/html/pom.xml        |  111 -
 .../appended-resources/supplemental-models.xml  |  106 -
 .../ide/eclipse/launch/viewer-html-tck.launch   |   19 -
 mothballed/component/viewer/html/tck/pom.xml    |  140 -
 .../tck/src/main/resources/images/Default.png   |  Bin 3016 -> 0 bytes
 .../tck/src/main/webapp/WEB-INF/isis.properties |   57 -
 .../src/main/webapp/WEB-INF/logging.properties  |   30 -
 .../src/main/webapp/WEB-INF/security_file.allow |   16 -
 .../main/webapp/WEB-INF/security_file.passwords |   20 -
 .../main/webapp/WEB-INF/viewer_html.properties  |   19 -
 .../html/tck/src/main/webapp/WEB-INF/web.xml    |  130 -
 .../viewer/html/tck/src/main/webapp/default.css |  933 --
 .../tck/src/main/webapp/images/banner-bg.png    |  Bin 936 -> 0 bytes
 .../html/tck/src/main/webapp/images/banner.png  |  Bin 30394 -> 0 bytes
 mothballed/component/viewer/junit/NOTICE        |    7 -
 mothballed/component/viewer/junit/impl/pom.xml  |  143 -
 .../viewer/junit/impl/src/site/apt/index.apt    |   29 -
 .../viewer/junit/impl/src/site/apt/jottings.apt |   24 -
 .../viewer/junit/impl/src/site/site.xml         |   49 -
 .../impl/src/test/resources/isis.properties     |   25 -
 mothballed/component/viewer/junit/pom.xml       |  105 -
 .../appended-resources/supplemental-models.xml  |  106 -
 mothballed/component/viewer/junit/tck/pom.xml   |   92 -
 .../tck/src/test/java/junit/AbstractTest.java   |  101 -
 .../junit/todo/ScalarEntityRepositoryTest.java  |   61 -
 .../test/java/junit/todo/ScalarEntityTest.java  |   47 -
 mothballed/component/viewer/scimpi/NOTICE       |    7 -
 .../component/viewer/scimpi/dispatcher/pom.xml  |   92 -
 .../dispatcher/AbstractElementProcessor.java    |   55 -
 .../dispatcher/AbstractObjectProcessor.java     |   53 -
 .../isis/viewer/scimpi/dispatcher/Action.java   |   37 -
 .../viewer/scimpi/dispatcher/BlockContent.java  |   23 -
 .../scimpi/dispatcher/DispatchException.java    |   40 -
 .../viewer/scimpi/dispatcher/Dispatcher.java    |  484 -
 .../dispatcher/ElementContentProcessor.java     |   24 -
 .../scimpi/dispatcher/ElementProcessor.java     |   30 -
 .../viewer/scimpi/dispatcher/ErrorCollator.java |  148 -
 .../scimpi/dispatcher/ForbiddenException.java   |   68 -
 .../isis/viewer/scimpi/dispatcher/Names.java    |   91 -
 .../scimpi/dispatcher/NotLoggedInException.java |   31 -
 .../scimpi/dispatcher/ResolveFieldUtil.java     |   71 -
 .../scimpi/dispatcher/ScimpiException.java      |   44 -
 .../dispatcher/ScimpiNotFoundException.java     |   41 -
 .../scimpi/dispatcher/TagOrderException.java    |   31 -
 .../viewer/scimpi/dispatcher/UserManager.java   |   91 -
 .../isis/viewer/scimpi/dispatcher/Util.java     |  105 -
 .../scimpi/dispatcher/action/ActionAction.java  |  268 -
 .../scimpi/dispatcher/action/Attributes.java    |  131 -
 .../dispatcher/action/PropertyException.java    |   44 -
 .../action/RequiredPropertyException.java       |   43 -
 .../context/DefaultOidObjectMapping.java        |  511 -
 .../context/DefaultVersionMapping.java          |   40 -
 .../context/IndirectObjectMapping.java          |  204 -
 .../scimpi/dispatcher/context/Mapping.java      |  205 -
 .../dispatcher/context/ObjectMapping.java       |   42 -
 .../dispatcher/context/RequestContext.java      |  857 --
 .../dispatcher/context/VersionMapping.java      |   30 -
 .../scimpi/dispatcher/debug/DebugAction.java    |  257 -
 .../dispatcher/debug/DebugHtmlWriter.java       |   45 -
 .../dispatcher/debug/DebugUserAction.java       |   71 -
 .../scimpi/dispatcher/debug/DebugUsers.java     |   98 -
 .../scimpi/dispatcher/debug/DebugUsersView.java |   50 -
 .../scimpi/dispatcher/debug/ErrorDetails.java   |   35 -
 .../scimpi/dispatcher/debug/ErrorMessage.java   |   35 -
 .../scimpi/dispatcher/debug/ErrorReference.java |   35 -
 .../scimpi/dispatcher/debug/LogAction.java      |   75 -
 .../scimpi/dispatcher/edit/EditAction.java      |  266 -
 .../scimpi/dispatcher/edit/FieldEditState.java  |   57 -
 .../scimpi/dispatcher/edit/FormState.java       |   67 -
 .../scimpi/dispatcher/edit/RemoveAction.java    |  114 -
 .../scimpi/dispatcher/logon/DomainSession.java  |   42 -
 .../scimpi/dispatcher/logon/LogonAction.java    |  175 -
 .../scimpi/dispatcher/logon/LogoutAction.java   |   70 -
 .../scimpi/dispatcher/processor/Encoder.java    |   26 -
 .../dispatcher/processor/HtmlFileParser.java    |  205 -
 .../scimpi/dispatcher/processor/PageWriter.java |   28 -
 .../dispatcher/processor/ProcessorLookup.java   |  256 -
 .../scimpi/dispatcher/processor/Request.java    |  324 -
 .../dispatcher/processor/SimpleEncoder.java     |   32 -
 .../processor/TagProcessingException.java       |   59 -
 .../scimpi/dispatcher/util/MethodsUtils.java    |  154 -
 .../viewer/scimpi/dispatcher/view/HelpLink.java |   72 -
 .../viewer/scimpi/dispatcher/view/History.java  |  150 -
 .../scimpi/dispatcher/view/HtmlSnippet.java     |   51 -
 .../viewer/scimpi/dispatcher/view/Snippet.java  |   27 -
 .../viewer/scimpi/dispatcher/view/SwfTag.java   |   90 -
 .../scimpi/dispatcher/view/VersionNumber.java   |   70 -
 .../dispatcher/view/action/ActionButton.java    |  237 -
 .../dispatcher/view/action/ActionContent.java   |   77 -
 .../dispatcher/view/action/ActionForm.java      |  262 -
 .../dispatcher/view/action/ActionLink.java      |  179 -
 .../view/action/CreateFormParameter.java        |   43 -
 .../scimpi/dispatcher/view/action/Methods.java  |  192 -
 .../dispatcher/view/action/Parameter.java       |   47 -
 .../dispatcher/view/action/RunAction.java       |   87 -
 .../scimpi/dispatcher/view/action/Services.java |   67 -
 .../dispatcher/view/collection/Collection.java  |   93 -
 .../scimpi/dispatcher/view/debug/Debug.java     |  479 -
 .../dispatcher/view/debug/DebugAccessCheck.java |   40 -
 .../view/debug/DebugCollectionView.java         |  110 -
 .../dispatcher/view/debug/DebugObjectView.java  |  136 -
 .../dispatcher/view/debug/DebuggerLink.java     |   53 -
 .../dispatcher/view/debug/Diagnostics.java      |   81 -
 .../scimpi/dispatcher/view/debug/Log.java       |   46 -
 .../scimpi/dispatcher/view/debug/LogLevel.java  |   55 -
 .../scimpi/dispatcher/view/debug/Members.java   |  109 -
 .../scimpi/dispatcher/view/debug/ShowDebug.java |   41 -
 .../dispatcher/view/debug/Specification.java    |  119 -
 .../dispatcher/view/debug/ThrowException.java   |   43 -
 .../view/display/AbstractFormView.java          |  142 -
 .../view/display/AbstractTableView.java         |  149 -
 .../dispatcher/view/display/AddMessage.java     |   44 -
 .../dispatcher/view/display/AddWarning.java     |   44 -
 .../scimpi/dispatcher/view/display/Errors.java  |   65 -
 .../dispatcher/view/display/Feedback.java       |   46 -
 .../dispatcher/view/display/FieldLabel.java     |   77 -
 .../dispatcher/view/display/FieldValue.java     |  118 -
 .../dispatcher/view/display/GetField.java       |  103 -
 .../dispatcher/view/display/IncludeObject.java  |  107 -
 .../dispatcher/view/display/ListView.java       |   94 -
 .../dispatcher/view/display/LongFormView.java   |   84 -
 .../dispatcher/view/display/Messages.java       |   59 -
 .../dispatcher/view/display/SelectedObject.java |   55 -
 .../dispatcher/view/display/ShortFormView.java  |   36 -
 .../dispatcher/view/display/TableBlock.java     |   86 -
 .../dispatcher/view/display/TableBuilder.java   |   92 -
 .../dispatcher/view/display/TableCell.java      |   94 -
 .../view/display/TableContentWriter.java        |   39 -
 .../dispatcher/view/display/TableEmpty.java     |   53 -
 .../dispatcher/view/display/TableHeader.java    |   39 -
 .../dispatcher/view/display/TableRow.java       |   49 -
 .../dispatcher/view/display/TableView.java      |  329 -
 .../scimpi/dispatcher/view/display/Title.java   |   68 -
 .../dispatcher/view/display/Warnings.java       |   58 -
 .../scimpi/dispatcher/view/edit/EditObject.java |  319 -
 .../dispatcher/view/edit/FieldFactory.java      |  105 -
 .../scimpi/dispatcher/view/edit/FormEntry.java  |   44 -
 .../scimpi/dispatcher/view/edit/FormField.java  |   44 -
 .../dispatcher/view/edit/FormFieldBlock.java    |   68 -
 .../dispatcher/view/edit/HiddenField.java       |   48 -
 .../dispatcher/view/edit/RadioListField.java    |   70 -
 .../scimpi/dispatcher/view/edit/Selector.java   |  158 -
 .../dispatcher/view/field/ExcludeField.java     |   39 -
 .../dispatcher/view/field/IncludeField.java     |   39 -
 .../dispatcher/view/field/InclusionList.java    |   89 -
 .../scimpi/dispatcher/view/field/LinkField.java |   45 -
 .../view/field/LinkedFieldsBlock.java           |   47 -
 .../dispatcher/view/field/LinkedObject.java     |   58 -
 .../dispatcher/view/form/HiddenInputField.java  |   41 -
 .../dispatcher/view/form/HtmlFormBuilder.java   |  214 -
 .../scimpi/dispatcher/view/form/InputField.java |  224 -
 .../scimpi/dispatcher/view/logon/Logoff.java    |   38 -
 .../scimpi/dispatcher/view/logon/Logon.java     |  126 -
 .../dispatcher/view/logon/RestrictAccess.java   |   41 -
 .../scimpi/dispatcher/view/logon/Secure.java    |   45 -
 .../scimpi/dispatcher/view/logon/User.java      |   77 -
 .../view/simple/AbstractConditionalBlock.java   |  565 --
 .../dispatcher/view/simple/AbstractLink.java    |  121 -
 .../dispatcher/view/simple/BlockDefine.java     |   42 -
 .../scimpi/dispatcher/view/simple/BlockUse.java |   46 -
 .../scimpi/dispatcher/view/simple/Commit.java   |   45 -
 .../dispatcher/view/simple/ContentTag.java      |   36 -
 .../dispatcher/view/simple/CookieValue.java     |   46 -
 .../dispatcher/view/simple/DefaultValue.java    |   52 -
 .../scimpi/dispatcher/view/simple/EditLink.java |   71 -
 .../dispatcher/view/simple/EndSession.java      |   36 -
 .../scimpi/dispatcher/view/simple/Forward.java  |   37 -
 .../dispatcher/view/simple/GetCookie.java       |   39 -
 .../scimpi/dispatcher/view/simple/Import.java   |   37 -
 .../view/simple/InitializeFromCookie.java       |   80 -
 .../view/simple/InitializeFromResult.java       |   77 -
 .../dispatcher/view/simple/Localization.java    |   64 -
 .../scimpi/dispatcher/view/simple/Mark.java     |   43 -
 .../dispatcher/view/simple/NewActionLink.java   |   62 -
 .../dispatcher/view/simple/ObjectLink.java      |   68 -
 .../dispatcher/view/simple/PageTitle.java       |   35 -
 .../scimpi/dispatcher/view/simple/Redirect.java |   37 -
 .../dispatcher/view/simple/RemoveElement.java   |  140 -
 .../scimpi/dispatcher/view/simple/ScopeTag.java |   51 -
 .../dispatcher/view/simple/SetCookie.java       |   53 -
 .../view/simple/SetCookieFromField.java         |   55 -
 .../view/simple/SetFieldFromCookie.java         |   52 -
 .../dispatcher/view/simple/SetLocalization.java |   61 -
 .../dispatcher/view/simple/SimpleButton.java    |   39 -
 .../dispatcher/view/simple/StartSession.java    |   36 -
 .../dispatcher/view/simple/TemplateTag.java     |   40 -
 .../scimpi/dispatcher/view/simple/Unless.java   |   41 -
 .../scimpi/dispatcher/view/simple/Variable.java |   64 -
 .../scimpi/dispatcher/view/simple/When.java     |   41 -
 .../dispatcher/view/value/ActionName.java       |   47 -
 .../dispatcher/view/value/CountElements.java    |   54 -
 .../dispatcher/view/value/ElementType.java      |   61 -
 .../scimpi/dispatcher/view/value/FieldName.java |   65 -
 .../dispatcher/view/value/ParameterName.java    |   62 -
 .../dispatcher/view/value/TitleString.java      |   68 -
 .../scimpi/dispatcher/view/value/Type.java      |   57 -
 mothballed/component/viewer/scimpi/pom.xml      |  131 -
 .../component/viewer/scimpi/servlet/pom.xml     |   77 -
 .../scimpi/servlet/DispatchException.java       |   42 -
 .../scimpi/servlet/DispatcherServlet.java       |   89 -
 .../isis/viewer/scimpi/servlet/ImageLookup.java |  174 -
 .../scimpi/servlet/ServletRequestContext.java   |  373 -
 .../appended-resources/supplemental-models.xml  |  106 -
 mothballed/component/viewer/scimpi/tck/pom.xml  |   98 -
 .../tck/src/main/resources/images/Default.png   |  Bin 3016 -> 0 bytes
 .../main/webapp/ToDoItem/edit-selector.shtml    |   29 -
 .../src/main/webapp/ToDoItem/object-link.shtml  |   32 -
 .../src/main/webapp/ToDoItem/object-orig.shtml  |   31 -
 .../tck/src/main/webapp/ToDoItem/object.shtml   |   34 -
 .../tck/src/main/webapp/ToDoItem/object2.shtml  |   31 -
 .../tck/src/main/webapp/WEB-INF/isis.properties |   54 -
 .../src/main/webapp/WEB-INF/logging.properties  |   30 -
 .../src/main/webapp/WEB-INF/security_file.allow |   16 -
 .../main/webapp/WEB-INF/security_file.passwords |   20 -
 .../scimpi/tck/src/main/webapp/WEB-INF/web.xml  |   55 -
 .../scimpi/tck/src/main/webapp/debug.shtml      |   23 -
 .../tck/src/main/webapp/generic/action.shtml    |   27 -
 .../src/main/webapp/generic/collection.shtml    |   26 -
 .../tck/src/main/webapp/generic/edit.shtml      |   26 -
 .../tck/src/main/webapp/generic/object.shtml    |   28 -
 .../scimpi/tck/src/main/webapp/images/Claim.png |  Bin 2708 -> 0 bytes
 .../tck/src/main/webapp/images/ClaimItem.png    |  Bin 2316 -> 0 bytes
 .../tck/src/main/webapp/images/Employee.png     |  Bin 1986 -> 0 bytes
 .../tck/src/main/webapp/images/banner-bg.png    |  Bin 384 -> 0 bytes
 .../tck/src/main/webapp/images/banner.png       |  Bin 18951 -> 0 bytes
 .../scimpi/tck/src/main/webapp/images/logo.png  |  Bin 7183 -> 0 bytes
 .../scimpi/tck/src/main/webapp/index.shtml      |   25 -
 .../scimpi/tck/src/main/webapp/login.shtml      |   23 -
 .../scimpi/tck/src/main/webapp/style/screen.css |  394 -
 .../tck/src/main/webapp/style/template.shtml    |   47 -
 .../integtestsupport/legacy/Authenticator.java  |   32 -
 .../integtestsupport/legacy/Authorizor.java     |   32 -
 .../core/integtestsupport/legacy/ConfigDir.java |   36 -
 .../core/integtestsupport/legacy/Fixture.java   |   33 -
 .../core/integtestsupport/legacy/Fixtures.java  |   33 -
 .../integtestsupport/legacy/IsisTestRunner.java |  215 -
 .../core/integtestsupport/legacy/Persistor.java |   32 -
 .../core/integtestsupport/legacy/Service.java   |   33 -
 .../core/integtestsupport/legacy/Services.java  |   33 -
 .../legacy/components/AnnotationInstaller.java  |   94 -
 .../FixtureInstallerAnnotatedClass.java         |   88 -
 .../IsisSystemUsingInstallersWithinJunit.java   |   73 -
 .../ServicesInstallerAnnotatedClass.java        |   91 -
 mothballed/core/module-audit-jdo/.gitignore     |    1 -
 mothballed/core/module-audit-jdo/pom.xml        |  149 -
 .../src/main/java/META-INF/persistence.xml      |   26 -
 .../jdo/applib/service/audit/AuditEntryJdo.java |  359 -
 .../service/audit/AuditingServiceJdo.java       |   56 -
 .../audit/AuditingServiceJdoContributions.java  |   55 -
 .../audit/AuditingServiceJdoRepository.java     |  129 -
 .../src/main/resources/images/AuditEntryJdo.png |  Bin 477 -> 0 bytes
 mothballed/core/module-command-jdo/.gitignore   |    1 -
 mothballed/core/module-command-jdo/pom.xml      |  162 -
 .../src/main/java/META-INF/persistence.xml      |   26 -
 .../background/BackgroundCommandServiceJdo.java |   89 -
 ...ackgroundCommandServiceJdoContributions.java |   73 -
 .../BackgroundCommandServiceJdoRepository.java  |   70 -
 .../jdo/applib/service/command/CommandJdo.java  |  740 --
 .../service/command/CommandServiceJdo.java      |  119 -
 .../command/CommandServiceJdoContributions.java |   70 -
 .../command/CommandServiceJdoRepository.java    |  169 -
 ...xecutionFromBackgroundCommandServiceJdo.java |   49 -
 .../src/main/resources/images/CommandJdo.png    |  Bin 582 -> 0 bytes
 .../service/command/CommandJdoTest_next.java    |   43 -
 mothballed/core/module-devutils/.gitignore      |    1 -
 .../core/module-devutils/applib/.gitignore      |    1 -
 mothballed/core/module-devutils/applib/pom.xml  |   55 -
 .../devutils/DeveloperUtilitiesService.java     |   75 -
 mothballed/core/module-devutils/impl/.gitignore |    1 -
 mothballed/core/module-devutils/impl/pom.xml    |   61 -
 .../DeveloperUtilitiesServiceDefault.java       |  223 -
 .../services/devutils/MetaModelRow.java         |  234 -
 mothballed/core/module-devutils/pom.xml         |   94 -
 .../core/module-publishing-jdo/.gitignore       |    1 -
 mothballed/core/module-publishing-jdo/pom.xml   |  147 -
 .../src/main/java/META-INF/persistence.xml      |   26 -
 .../jdo/applib/service/publish/IoUtils.java     |  126 -
 .../service/publish/PublishedEventJdo.java      |  490 -
 .../service/publish/PublishedEventJdoPK.java    |  102 -
 .../service/publish/PublishingServiceJdo.java   |  124 -
 .../PublishingServiceJdoContributions.java      |   47 -
 .../publish/PublishingServiceJdoRepository.java |  156 -
 .../main/resources/images/PublishedEventJdo.png |  Bin 541 -> 0 bytes
 .../jdo/applib/service/publish/IoUtilsTest.java |   36 -
 .../module-publishingeventserializer-ro/pom.xml |   89 -
 .../EventSerializerRendererContext.java         |   95 -
 .../RestfulObjectsSpecEventSerializer.java      |  126 -
 .../main/resources/images/PublishedEventJdo.png |  Bin 541 -> 0 bytes
 mothballed/core/module-settings/.gitignore      |    1 -
 .../core/module-settings/applib/.gitignore      |    1 -
 mothballed/core/module-settings/applib/pom.xml  |   55 -
 .../services/settings/ApplicationSetting.java   |   25 -
 .../settings/ApplicationSettingsService.java    |   34 -
 .../settings/ApplicationSettingsServiceRW.java  |   38 -
 .../isis/applib/services/settings/Setting.java  |   53 -
 .../services/settings/SettingAbstract.java      |  192 -
 .../applib/services/settings/SettingType.java   |   28 -
 .../applib/services/settings/UserSetting.java   |   34 -
 .../services/settings/UserSettingsService.java  |   36 -
 .../settings/UserSettingsServiceRW.java         |   38 -
 .../services/settings/SettingAbstractTest.java  |  103 -
 .../core/module-settings/impl-jdo/.gitignore    |    1 -
 .../core/module-settings/impl-jdo/pom.xml       |  146 -
 .../src/main/java/META-INF/persistence.xml      |   26 -
 .../service/settings/ApplicationSettingJdo.java |   96 -
 .../settings/ApplicationSettingsServiceJdo.java |  120 -
 .../ApplicationSettingsServiceJdoHidden.java    |   81 -
 .../service/settings/SettingAbstractJdo.java    |  190 -
 .../applib/service/settings/UserSettingJdo.java |  129 -
 .../service/settings/UserSettingJdoPK.java      |   90 -
 .../settings/UserSettingsServiceJdo.java        |  170 -
 .../settings/UserSettingsServiceJdoHidden.java  |   88 -
 mothballed/core/module-settings/pom.xml         |   94 -
 .../jdo/src/docbkx/images/admons/blank.png      |  Bin 374 -> 0 bytes
 .../jdo/src/docbkx/images/admons/caution.gif    |  Bin 743 -> 0 bytes
 .../jdo/src/docbkx/images/admons/caution.png    |  Bin 3342 -> 0 bytes
 .../jdo/src/docbkx/images/admons/caution.tif    |  Bin 10826 -> 0 bytes
 .../jdo/src/docbkx/images/admons/draft.png      |  Bin 17454 -> 0 bytes
 .../jdo/src/docbkx/images/admons/home.gif       |  Bin 351 -> 0 bytes
 .../jdo/src/docbkx/images/admons/home.png       |  Bin 1156 -> 0 bytes
 .../jdo/src/docbkx/images/admons/important.gif  |  Bin 1003 -> 0 bytes
 .../jdo/src/docbkx/images/admons/important.png  |  Bin 3977 -> 0 bytes
 .../jdo/src/docbkx/images/admons/important.tif  |  Bin 12634 -> 0 bytes
 .../jdo/src/docbkx/images/admons/next.gif       |  Bin 263 -> 0 bytes
 .../jdo/src/docbkx/images/admons/next.png       |  Bin 1150 -> 0 bytes
 .../jdo/src/docbkx/images/admons/note.gif       |  Bin 580 -> 0 bytes
 .../jdo/src/docbkx/images/admons/note.png       |  Bin 3977 -> 0 bytes
 .../jdo/src/docbkx/images/admons/note.tif       |  Bin 12634 -> 0 bytes
 .../jdo/src/docbkx/images/admons/prev.gif       |  Bin 255 -> 0 bytes
 .../jdo/src/docbkx/images/admons/prev.png       |  Bin 1132 -> 0 bytes
 .../jdo/src/docbkx/images/admons/tip.gif        |  Bin 598 -> 0 bytes
 .../jdo/src/docbkx/images/admons/tip.png        |  Bin 3977 -> 0 bytes
 .../jdo/src/docbkx/images/admons/tip.tif        |  Bin 12634 -> 0 bytes
 .../jdo/src/docbkx/images/admons/toc-blank.png  |  Bin 318 -> 0 bytes
 .../jdo/src/docbkx/images/admons/toc-minus.png  |  Bin 259 -> 0 bytes
 .../jdo/src/docbkx/images/admons/toc-plus.png   |  Bin 264 -> 0 bytes
 .../jdo/src/docbkx/images/admons/up.gif         |  Bin 268 -> 0 bytes
 .../jdo/src/docbkx/images/admons/up.png         |  Bin 1111 -> 0 bytes
 .../jdo/src/docbkx/images/admons/warning.gif    |  Bin 743 -> 0 bytes
 .../jdo/src/docbkx/images/admons/warning.png    |  Bin 3342 -> 0 bytes
 .../jdo/src/docbkx/images/admons/warning.tif    |  Bin 10826 -> 0 bytes
 .../src/docbkx/images/apache-incubator-logo.png |  Bin 4680 -> 0 bytes
 .../jdo/src/docbkx/images/apache-isis-logo.png  |  Bin 28148 -> 0 bytes
 .../jdo/src/docbkx/images/apache-logo.gif       |  Bin 16647 -> 0 bytes
 .../jdo/src/docbkx/images/asf-logo.gif          |  Bin 7279 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/1.png        |  Bin 329 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/10.png       |  Bin 361 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/11.png       |  Bin 565 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/12.png       |  Bin 617 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/13.png       |  Bin 623 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/14.png       |  Bin 411 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/15.png       |  Bin 640 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/2.png        |  Bin 353 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/3.png        |  Bin 350 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/4.png        |  Bin 345 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/5.png        |  Bin 348 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/6.png        |  Bin 355 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/7.png        |  Bin 344 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/8.png        |  Bin 357 -> 0 bytes
 .../jdo/src/docbkx/images/callouts/9.png        |  Bin 357 -> 0 bytes
 .../docbkx/images/release/nexus-release-01.png  |  Bin 127142 -> 0 bytes
 .../docbkx/images/release/nexus-release-02.png  |  Bin 153551 -> 0 bytes
 .../docbkx/images/release/nexus-release-03.png  |  Bin 128719 -> 0 bytes
 .../docbkx/images/release/nexus-release-04.png  |  Bin 157298 -> 0 bytes
 .../docbkx/images/release/nexus-release-05.png  |  Bin 153758 -> 0 bytes
 .../docbkx/images/release/nexus-release-06.png  |  Bin 156789 -> 0 bytes
 .../jdo/src/docbkx/style/fop-cust.xsl           |  912 --
 .../jdo/src/docbkx/style/html-cust.xsl          |   31 -
 .../objectstore/jdo/src/docbkx/style/screen.css |  244 -
 .../src/docbkx/guide/isis-nosql-objectstore.xml |  107 -
 .../src/docbkx/guide/isis-xml-objectstore.xml   |  110 -
 .../src/docbkx/guide/isis-xml-profilestore.xml  |  109 -
 .../src/docbkx/guide/images/ConvertToGroovy.png |  Bin 166584 -> 0 bytes
 .../images/RemoveGroovyLibraryFromClasspath.png |  Bin 139287 -> 0 bytes
 .../images/m2eclipse-bunch-of-projects.png      |  Bin 25078 -> 0 bytes
 .../guide/images/m2eclipse-file-import.png      |  Bin 27517 -> 0 bytes
 .../guide/images/m2eclipse-root-directory.png   |  Bin 44816 -> 0 bytes
 .../groovy/src/docbkx/guide/images/title.png    |  Bin 14135 -> 0 bytes
 .../groovy/src/docbkx/guide/isis-progmodels.xml | 1293 ---
 .../security/src/docbkx/guide/isis-security.xml |  620 --
 .../src/docbkx/guide/images/debug-graphics.png  |  Bin 11300 -> 0 bytes
 .../src/docbkx/guide/images/debug-system.png    |  Bin 35592 -> 0 bytes
 .../impl/src/docbkx/guide/images/debug-view.png |  Bin 21959 -> 0 bytes
 .../src/docbkx/guide/images/debug-viewer.png    |  Bin 25484 -> 0 bytes
 .../impl/src/docbkx/guide/isis-dnd-viewer.xml   | 1298 ---
 .../src/docbkx/guide/isis-junit-support.xml     |  427 -
 .../guide/images/collection-items-resource.png  |  Bin 38499 -> 0 bytes
 .../docbkx/guide/images/home-page-resource.png  |  Bin 41795 -> 0 bytes
 .../images/object-claim-actions-section.png     |  Bin 17767 -> 0 bytes
 .../images/object-claim-collections-section.png |  Bin 9283 -> 0 bytes
 .../images/object-claim-properties-section.png  |  Bin 24895 -> 0 bytes
 .../guide/images/object-claim-resource.png      |  Bin 94724 -> 0 bytes
 .../guide/images/object-claim-title-section.png |  Bin 3224 -> 0 bytes
 .../guide/images/object-claims-resource.png     |  Bin 72773 -> 0 bytes
 .../object-employee-contributed-actions.png     |  Bin 21537 -> 0 bytes
 .../docbkx/guide/images/resource-example.png    |  Bin 59546 -> 0 bytes
 .../src/docbkx/guide/images/restfulobjects.png  |  Bin 114177 -> 0 bytes
 .../guide/images/server-mode-no-credentials.png |  Bin 88029 -> 0 bytes
 .../images/server-mode-with-credentials.png     |  Bin 40051 -> 0 bytes
 .../docbkx/guide/images/services-resource.png   |  Bin 40034 -> 0 bytes
 .../docbkx/guide/images/spec-member-facet.png   |  Bin 60509 -> 0 bytes
 .../guide/images/spec-member-resource.png       |  Bin 105975 -> 0 bytes
 .../src/docbkx/guide/images/spec-resource.png   |  Bin 81935 -> 0 bytes
 .../src/docbkx/guide/images/specs-resource.png  |  Bin 68126 -> 0 bytes
 .../src/docbkx/guide/images/user-resource.png   |  Bin 32551 -> 0 bytes
 .../docbkx/guide/isis-restfulobjects-viewer.xml | 1064 ---
 .../guide/images/example/changed-object.png     |  Bin 84443 -> 0 bytes
 .../images/example/designed-collection.png      |  Bin 86270 -> 0 bytes
 .../guide/images/example/generic-action.png     |  Bin 47903 -> 0 bytes
 .../guide/images/example/generic-edit.png       |  Bin 52942 -> 0 bytes
 .../guide/images/example/generic-object.png     |  Bin 51159 -> 0 bytes
 .../docbkx/guide/images/example/list-tag.png    |  Bin 30545 -> 0 bytes
 .../src/docbkx/guide/images/example/listing.png |  Bin 49399 -> 0 bytes
 .../docbkx/guide/images/example/new-product.png |  Bin 26691 -> 0 bytes
 .../guide/images/example/object-with-method.png |  Bin 72241 -> 0 bytes
 .../src/docbkx/guide/images/example/opening.png |  Bin 46150 -> 0 bytes
 .../docbkx/guide/images/example/table-tag.png   |  Bin 43592 -> 0 bytes
 .../src/docbkx/guide/isis-scimpi-viewer.xml     | 5659 ------------
 .../src/docbkx/guide/images/010-login.png       |  Bin 169007 -> 0 bytes
 .../docbkx/guide/images/020-services-bar.png    |  Bin 179892 -> 0 bytes
 .../docbkx/guide/images/030-services-action.png |  Bin 184366 -> 0 bytes
 .../docbkx/guide/images/040-action-result.png   |  Bin 185632 -> 0 bytes
 .../src/docbkx/guide/images/050-entity-form.png |  Bin 205796 -> 0 bytes
 .../docbkx/guide/images/060-entity-actions.png  |  Bin 209756 -> 0 bytes
 .../guide/images/070-entity-action-results.png  |  Bin 180162 -> 0 bytes
 .../images/080-entity-form-and-collections.png  |  Bin 235814 -> 0 bytes
 .../guide/images/090-entity-editing-scalars.png |  Bin 252090 -> 0 bytes
 .../images/100-entity-editing-references.png    |  Bin 240620 -> 0 bytes
 .../110-entity-editing-references-result.png    |  Bin 238079 -> 0 bytes
 .../docbkx/guide/images/120-entity-action.png   |  Bin 192993 -> 0 bytes
 .../images/130-entity-action-parameters.png     |  Bin 171304 -> 0 bytes
 .../docbkx/guide/images/140-entity-modified.png |  Bin 238699 -> 0 bytes
 .../images/150-entity-action-more-complex.png   |  Bin 193229 -> 0 bytes
 .../160-entity-action-reference-parameters.png  |  Bin 171745 -> 0 bytes
 .../guide/images/170-entity-title-updated.png   |  Bin 195005 -> 0 bytes
 .../guide/images/180-entity-validation.png      |  Bin 202718 -> 0 bytes
 .../200-view-components-application-service.png |  Bin 314883 -> 0 bytes
 .../205-view-components-entity-simple.png       |  Bin 228324 -> 0 bytes
 .../210-view-components-entity-properties.png   |  Bin 229513 -> 0 bytes
 .../220-view-components-entity-property.png     |  Bin 242394 -> 0 bytes
 .../images/230-multiple-views-for-entities.png  |  Bin 185844 -> 0 bytes
 .../240-multiple-views-for-collections.png      |  Bin 189460 -> 0 bytes
 .../guide/images/270-customize-ui-icons.png     |  Bin 274401 -> 0 bytes
 .../images/280-customize-ui-maps-mashup.png     |  Bin 719674 -> 0 bytes
 .../docbkx/guide/images/300-process-objects.png |  Bin 190383 -> 0 bytes
 .../images/310-process-objects-customized.png   |  Bin 175624 -> 0 bytes
 .../guide/images/310-wizard-intro-page.png      |  Bin 170888 -> 0 bytes
 .../images/320-report-objects-customized.png    |  Bin 176543 -> 0 bytes
 .../guide/images/320-wizard-claimant-page.png   |  Bin 172421 -> 0 bytes
 .../docbkx/guide/images/330-report-objects.png  |  Bin 190173 -> 0 bytes
 .../guide/images/330-wizard-approver-page.png   |  Bin 180847 -> 0 bytes
 .../guide/images/340-wizard-finish-page.png     |  Bin 182195 -> 0 bytes
 .../guide/images/400-analyze-claim-summary.png  |  Bin 179684 -> 0 bytes
 .../images/410-analyze-summary-piechart.png     |  Bin 176836 -> 0 bytes
 .../guide/images/Claim-properties-CSS.png       |  Bin 25573 -> 0 bytes
 .../docbkx/guide/images/Claim-properties.png    |  Bin 25114 -> 0 bytes
 .../guide/images/ComponentFactory-hierarchy.png |  Bin 334646 -> 0 bytes
 .../docbkx/guide/images/EntitySummary-Css.png   |  Bin 41377 -> 0 bytes
 .../src/docbkx/guide/images/EntitySummary.png   |  Bin 41183 -> 0 bytes
 .../docbkx/guide/images/RunAsServer-dialog.png  |  Bin 63849 -> 0 bytes
 .../src/docbkx/guide/images/RunAsServer.png     |  Bin 223108 -> 0 bytes
 .../docbkx/guide/images/WebServer-launch.png    |  Bin 130198 -> 0 bytes
 .../docbkx/guide/images/WebServer-running.png   |  Bin 61525 -> 0 bytes
 .../guide/images/WicketObjects-logon-page.png   |  Bin 199547 -> 0 bytes
 .../guide/images/cooldatasoft-appmenu.png       |  Bin 187863 -> 0 bytes
 .../images/m2eclipse-bunch-of-projects.png      |  Bin 25078 -> 0 bytes
 .../guide/images/m2eclipse-file-import.png      |  Bin 27517 -> 0 bytes
 .../guide/images/m2eclipse-root-directory.png   |  Bin 44816 -> 0 bytes
 .../docbkx/guide/images/views-common-layout.png |  Bin 86072 -> 0 bytes
 .../src/docbkx/guide/isis-wicket-viewer.md      | 2976 ------
 .../src/docbkx/guide/isis-wicket-viewer.xml     | 3912 --------
 .../core/applib/src/docbkx/dtd-4.5/ChangeLog    |  106 -
 .../core/applib/src/docbkx/dtd-4.5/README       |    8 -
 .../core/applib/src/docbkx/dtd-4.5/calstblx.dtd |  215 -
 .../core/applib/src/docbkx/dtd-4.5/catalog.xml  |  124 -
 .../core/applib/src/docbkx/dtd-4.5/dbcentx.mod  |  384 -
 .../core/applib/src/docbkx/dtd-4.5/dbgenent.mod |   41 -
 .../core/applib/src/docbkx/dtd-4.5/dbhierx.mod  | 2193 -----
 .../core/applib/src/docbkx/dtd-4.5/dbnotnx.mod  |  101 -
 .../core/applib/src/docbkx/dtd-4.5/dbpoolx.mod  | 8701 ------------------
 .../src/docbkx/dtd-4.5/docbook-xml-4.5.zip      |  Bin 98497 -> 0 bytes
 .../core/applib/src/docbkx/dtd-4.5/docbook.cat  |  113 -
 .../core/applib/src/docbkx/dtd-4.5/docbookx.dtd |  170 -
 .../core/applib/src/docbkx/dtd-4.5/ent/README   |   14 -
 .../applib/src/docbkx/dtd-4.5/ent/isoamsa.ent   |   97 -
 .../applib/src/docbkx/dtd-4.5/ent/isoamsb.ent   |   83 -
 .../applib/src/docbkx/dtd-4.5/ent/isoamsc.ent   |   51 -
 .../applib/src/docbkx/dtd-4.5/ent/isoamsn.ent   |  103 -
 .../applib/src/docbkx/dtd-4.5/ent/isoamso.ent   |   59 -
 .../applib/src/docbkx/dtd-4.5/ent/isoamsr.ent   |  125 -
 .../applib/src/docbkx/dtd-4.5/ent/isobox.ent    |   81 -
 .../applib/src/docbkx/dtd-4.5/ent/isocyr1.ent   |  108 -
 .../applib/src/docbkx/dtd-4.5/ent/isocyr2.ent   |   67 -
 .../applib/src/docbkx/dtd-4.5/ent/isodia.ent    |   55 -
 .../applib/src/docbkx/dtd-4.5/ent/isogrk1.ent   |   90 -
 .../applib/src/docbkx/dtd-4.5/ent/isogrk2.ent   |   61 -
 .../applib/src/docbkx/dtd-4.5/ent/isogrk3.ent   |   84 -
 .../applib/src/docbkx/dtd-4.5/ent/isogrk4.ent   |   84 -
 .../applib/src/docbkx/dtd-4.5/ent/isolat1.ent   |  103 -
 .../applib/src/docbkx/dtd-4.5/ent/isolat2.ent   |  162 -
 .../applib/src/docbkx/dtd-4.5/ent/isonum.ent    |  117 -
 .../applib/src/docbkx/dtd-4.5/ent/isopub.ent    |  125 -
 .../applib/src/docbkx/dtd-4.5/ent/isotech.ent   |  103 -
 .../core/applib/src/docbkx/dtd-4.5/htmltblx.mod |  245 -
 .../core/applib/src/docbkx/dtd-4.5/soextblx.dtd |  321 -
 .../core/applib/src/docbkx/dtd-4.5/usage.txt    |   34 -
 .../DRAFT/isis-applib-expenses-walkthru.xml     | 1318 ---
 .../AbstractContainedObject-hierarchy.png       |  Bin 5922 -> 0 bytes
 .../applib/src/docbkx/guide/images/Events.png   |  Bin 41770 -> 0 bytes
 .../applib/src/docbkx/guide/images/Fixtures.png |  Bin 8469 -> 0 bytes
 .../guide/images/architecture-perspective.png   |  Bin 7412 -> 0 bytes
 .../guide/images/composition-perspective.png    |  Bin 9925 -> 0 bytes
 .../applib/src/docbkx/guide/isis-applib.xml     | 7488 ---------------
 .../docbkx/to-incorporate/eclipse-templates.xml |  467 -
 .../images/create-patch-dialog.png              |  Bin 36172 -> 0 bytes
 .../to-incorporate/images/template-complete.png |  Bin 6491 -> 0 bytes
 .../to-incorporate/images/template-insert.png   |  Bin 8611 -> 0 bytes
 .../to-incorporate/images/template-list.png     |  Bin 16570 -> 0 bytes
 .../to-incorporate/snippet-fixture-service.xml  |   82 -
 .../images/adapter-manager.png                  |  Bin 29908 -> 0 bytes
 .../images/adapter-manager.pptx                 |  Bin 52789 -> 0 bytes
 .../images/architecture.gif                     |  Bin 179210 -> 0 bytes
 .../images/architecture.png                     |  Bin 40366 -> 0 bytes
 .../images/architecture.pptx                    |  Bin 74114 -> 0 bytes
 .../images/runtime/architectural-layers-1.png   |  Bin 13330 -> 0 bytes
 .../images/runtime/architectural-layers-2.png   |  Bin 25326 -> 0 bytes
 .../images/runtime/architectural-layers-3.png   |  Bin 7027 -> 0 bytes
 .../images/runtime/architectural-layers-4.png   |  Bin 4931 -> 0 bytes
 .../images/runtime/architectural-layers-5.png   |  Bin 2371 -> 0 bytes
 .../images/runtime/architectural-layers-6.png   |  Bin 4106 -> 0 bytes
 .../images/runtime/architectural-layers-7.png   |  Bin 17561 -> 0 bytes
 .../images/runtime/architectural-layers-8.png   |  Bin 9870 -> 0 bytes
 .../images/runtime/architectural-layers-8a.png  |  Bin 2877 -> 0 bytes
 .../images/runtime/architectural-layers-9.png   |  Bin 3466 -> 0 bytes
 .../images/runtime/architectural-layers-A.png   |  Bin 10185 -> 0 bytes
 .../images/runtime/architectural-layers.png     |  Bin 8837 -> 0 bytes
 .../images/runtime/package-dependencies.png     |  Bin 71542 -> 0 bytes
 .../isis-default-runtime.xml                    | 2752 ------
 .../DRAFT/isis-core.POSSIBLY-TO-INCLUDE.xml     |  530 --
 .../images/HexagonalArchitectureOverview.png    |  Bin 134665 -> 0 bytes
 .../docbkx/guide/images/PersistenceSession.png  |  Bin 96035 -> 0 bytes
 .../docbkx/guide/images/PersistenceSession.pptx |  Bin 93737 -> 0 bytes
 .../guide/images/claim-contributed-actions.png  |  Bin 69915 -> 0 bytes
 .../images/common/architecture-perspective.png  |  Bin 4706 -> 0 bytes
 .../images/common/composition-perspective.png   |  Bin 8631 -> 0 bytes
 .../images/common/encoding-classdiagram.png     |  Bin 31581 -> 0 bytes
 .../guide/images/employee-approver-views.png    |  Bin 48307 -> 0 bytes
 .../src/docbkx/guide/images/employee-code.png   |  Bin 39107 -> 0 bytes
 .../guide/images/employee-email-invalid.png     |  Bin 61440 -> 0 bytes
 .../src/docbkx/guide/images/employee-views.png  |  Bin 50278 -> 0 bytes
 .../metamodel/ResolveState-stateChart.odp       |  Bin 43227 -> 0 bytes
 .../metamodel/ResolveState-stateChart.png       |  Bin 49865 -> 0 bytes
 .../metamodel/ResolveState-stateChart.pptx      |  Bin 67508 -> 0 bytes
 ...agram-top-level-with-specloader-expanded.png |  Bin 10521 -> 0 bytes
 .../metamodel/composition-diagram-top-level.png |  Bin 42953 -> 0 bytes
 .../images/progmodel/architecture-diagram.png   |  Bin 7960 -> 0 bytes
 .../composition-diagram-facets-package.png      |  Bin 8830 -> 0 bytes
 .../images/runtime/architecture-diagram.png     |  Bin 5172 -> 0 bytes
 .../docbkx/guide/images/taxi-copy-dialog.png    |  Bin 66965 -> 0 bytes
 .../core/src/docbkx/guide/images/taxi-menu.png  |  Bin 65543 -> 0 bytes
 .../images/webapp/architecture-diagram.png      |  Bin 5262 -> 0 bytes
 .../docbkx/core/src/docbkx/guide/isis-core.xml  | 3156 -------
 .../src/docbkx/to-incorporate/how-it-works.xml  | 1258 ---
 .../to-incorporate/submitting-patches.xml       |  198 -
 .../images/xmlmind-concordion-attributes-1.png  |  Bin 94125 -> 0 bytes
 .../images/xmlmind-concordion-attributes-2.png  |  Bin 100051 -> 0 bytes
 .../bdd/src/docbkx/guide/images/xmlmind-css.png |  Bin 26732 -> 0 bytes
 .../src/docbkx/guide/images/xmlmind-delete.png  |  Bin 21281 -> 0 bytes
 .../docbkx/guide/images/xmlmind-editinsert.png  |  Bin 101027 -> 0 bytes
 .../guide/images/xmlmind-editwrap-result.png    |  Bin 1938 -> 0 bytes
 .../docbkx/guide/images/xmlmind-editwrap.png    |  Bin 93437 -> 0 bytes
 .../docbkx/guide/images/xmlmind-emptytable.png  |  Bin 2818 -> 0 bytes
 .../src/docbkx/guide/images/xmlmind-headrow.png |  Bin 105348 -> 0 bytes
 .../src/docbkx/guide/images/xmlmind-image-1.png |  Bin 96114 -> 0 bytes
 .../src/docbkx/guide/images/xmlmind-image-2.png |  Bin 100431 -> 0 bytes
 .../guide/images/xmlmind-insert-heading.png     |  Bin 102948 -> 0 bytes
 .../src/docbkx/guide/images/xmlmind-insert.png  |  Bin 102834 -> 0 bytes
 .../guide/images/xmlmind-knowingwhereyouare.png |  Bin 98110 -> 0 bytes
 .../docbkx/guide/images/xmlmind-newparas.png    |  Bin 94121 -> 0 bytes
 .../src/docbkx/guide/images/xmlmind-opendoc.png |  Bin 80742 -> 0 bytes
 .../guide/images/xmlmind-selectingcontent-1.png |  Bin 97606 -> 0 bytes
 .../guide/images/xmlmind-selectingcontent-2.png |  Bin 98277 -> 0 bytes
 .../docbkx/guide/images/xmlmind-viewleft.png    |  Bin 96013 -> 0 bytes
 .../src/docbkx/guide/images/xmlmind-viewraw.png |  Bin 13734 -> 0 bytes
 .../docbkx/guide/images/xmlmind-xhtmlmenu.png   |  Bin 13700 -> 0 bytes
 .../src/docbkx/guide/isis-bdd-integration.xml   | 4170 ---------
 .../src/docbkx/guide/isis-sql-objectstore.xml   |  886 --
 .../impl/src/docbkx/guide/isis-html-viewer.xml  |  226 -
 mothballed/docbkx/src/docbkx/dtd-4.5/ChangeLog  |  106 -
 mothballed/docbkx/src/docbkx/dtd-4.5/README     |    8 -
 .../docbkx/src/docbkx/dtd-4.5/calstblx.dtd      |  215 -
 .../docbkx/src/docbkx/dtd-4.5/catalog.xml       |  124 -
 .../docbkx/src/docbkx/dtd-4.5/dbcentx.mod       |  384 -
 .../docbkx/src/docbkx/dtd-4.5/dbgenent.mod      |   41 -
 .../docbkx/src/docbkx/dtd-4.5/dbhierx.mod       | 2193 -----
 .../docbkx/src/docbkx/dtd-4.5/dbnotnx.mod       |  101 -
 .../docbkx/src/docbkx/dtd-4.5/dbpoolx.mod       | 8701 ------------------
 .../src/docbkx/dtd-4.5/docbook-xml-4.5.zip      |  Bin 98497 -> 0 bytes
 .../docbkx/src/docbkx/dtd-4.5/docbook.cat       |  113 -
 .../docbkx/src/docbkx/dtd-4.5/docbookx.dtd      |  170 -
 mothballed/docbkx/src/docbkx/dtd-4.5/ent/README |   14 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isoamsa.ent   |   97 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isoamsb.ent   |   83 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isoamsc.ent   |   51 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isoamsn.ent   |  103 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isoamso.ent   |   59 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isoamsr.ent   |  125 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isobox.ent    |   81 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isocyr1.ent   |  108 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isocyr2.ent   |   67 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isodia.ent    |   55 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isogrk1.ent   |   90 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isogrk2.ent   |   61 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isogrk3.ent   |   84 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isogrk4.ent   |   84 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isolat1.ent   |  103 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isolat2.ent   |  162 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isonum.ent    |  117 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isopub.ent    |  125 -
 .../docbkx/src/docbkx/dtd-4.5/ent/isotech.ent   |  103 -
 .../docbkx/src/docbkx/dtd-4.5/htmltblx.mod      |  245 -
 .../docbkx/src/docbkx/dtd-4.5/soextblx.dtd      |  321 -
 mothballed/docbkx/src/docbkx/dtd-4.5/usage.txt  |   34 -
 ...s-contributors-guide.POSSIBLY-TO-INCLUDE.xml |  711 --
 .../images/dev-env/easyshell-integration.png    |  Bin 42154 -> 0 bytes
 .../guide/images/dev-env/easyshell-keys.png     |  Bin 52076 -> 0 bytes
 .../dev-env/eclemma-coverage-configurations.png |  Bin 118294 -> 0 bytes
 .../images/dev-env/eclemma-coverage-view.png    |  Bin 34016 -> 0 bytes
 .../guide/images/dev-env/eclemma-editor.png     |  Bin 42572 -> 0 bytes
 .../dev-env/findbugs-bugs-found-message.png     |  Bin 10862 -> 0 bytes
 .../images/dev-env/findbugs-context-menu.png    |  Bin 37383 -> 0 bytes
 .../images/dev-env/findbugs-perspective.png     |  Bin 75394 -> 0 bytes
 .../dev-env/findbugs-suppress-warnings.png      |  Bin 4760 -> 0 bytes
 ...m2eclipse-preferences-maven-installation.png |  Bin 35355 -> 0 bytes
 .../dev-env/maven-application-skin-example.png  |  Bin 138128 -> 0 bytes
 .../images/dev-env/pmd-violations-view.png      |  Bin 28242 -> 0 bytes
 .../images/dev-env/problems-view-checkstyle.png |  Bin 47262 -> 0 bytes
 .../guide/images/dev-env/problems-viewpmd.png   |  Bin 39895 -> 0 bytes
 .../dev-env/windows-preferences-eclipse-cs.png  |  Bin 60165 -> 0 bytes
 ...ows-preferences-java-code-style-clean-up.png |  Bin 39380 -> 0 bytes
 ...eferences-java-code-style-code-templates.png |  Bin 47861 -> 0 bytes
 ...ws-preferences-java-code-style-formatter.png |  Bin 34137 -> 0 bytes
 ...ferences-java-codestyle-organize-imports.png |  Bin 38253 -> 0 bytes
 ...ows-preferences-java-editor-save-actions.png |  Bin 36059 -> 0 bytes
 ...-preferences-java-editor-templates-jmock.png |  Bin 67674 -> 0 bytes
 ...-preferences-java-editor-templates-junit.png |  Bin 67784 -> 0 bytes
 ...indows-preferences-java-editor-templates.png |  Bin 65574 -> 0 bytes
 .../dev-env/windows-preferences-pmd-import.png  |  Bin 8571 -> 0 bytes
 .../images/dev-env/windows-preferences-pmd.png  |  Bin 93599 -> 0 bytes
 .../guide/images/doc/DocBook-add-view.png       |  Bin 14326 -> 0 bytes
 .../doc/DocBook-cant-add-section-in-middle.png  |  Bin 8315 -> 0 bytes
 .../doc/DocBook-document-structure-view.png     |  Bin 53170 -> 0 bytes
 .../guide/images/doc/DocBook-insert-within.png  |  Bin 8795 -> 0 bytes
 .../images/doc/DocBook-inserting-sections.png   |  Bin 45504 -> 0 bytes
 .../guide/images/doc/DocBook-navigate-xpath.png |  Bin 123719 -> 0 bytes
 .../guide/images/doc/DocBook-new-document.png   |  Bin 22958 -> 0 bytes
 .../images/doc/DocBook-selectingcontent-1.png   |  Bin 116513 -> 0 bytes
 .../images/doc/DocBook-selectingcontent-2.png   |  Bin 114072 -> 0 bytes
 .../images/doc/DocBook-selectingcontent-3.png   |  Bin 115901 -> 0 bytes
 .../guide/images/doc/DocBook-view-left.png      |  Bin 60484 -> 0 bytes
 .../guide/images/doc/Eclipse-cleanup-1.png      |  Bin 55702 -> 0 bytes
 .../guide/images/doc/Eclipse-cleanup-2.png      |  Bin 35672 -> 0 bytes
 .../guide/images/doc/Eclipse-cleanup-3.png      |  Bin 51920 -> 0 bytes
 .../images/doc/embedded-image-attributes.png    |  Bin 23069 -> 0 bytes
 .../guide/images/doc/embedded-imagedata.png     |  Bin 14534 -> 0 bytes
 .../guide/images/doc/mvn-clean-install.png      |  Bin 49822 -> 0 bytes
 .../guide/images/doc/target-directory.png       |  Bin 53735 -> 0 bytes
 .../guide/images/jetty-console-banner.png       |  Bin 26471 -> 0 bytes
 .../images/release/bdd-concordion-output.png    |  Bin 100699 -> 0 bytes
 .../guide/images/release/nexus-staging-1.png    |  Bin 100109 -> 0 bytes
 .../guide/images/release/nexus-staging-2.png    |  Bin 123438 -> 0 bytes
 .../guide/images/release/nexus-staging-3.png    |  Bin 117422 -> 0 bytes
 .../guide/images/release/nexus-staging-4.png    |  Bin 96733 -> 0 bytes
 .../guide/images/release/release-process.png    |  Bin 95913 -> 0 bytes
 .../guide/images/release/release-process.pptx   |  Bin 87886 -> 0 bytes
 .../guide/images/site/project-information.png   |  Bin 7119 -> 0 bytes
 .../guide/images/site/project-reports.png       |  Bin 7702 -> 0 bytes
 .../images/soyatec-eclipse35-install-1.png      |  Bin 50379 -> 0 bytes
 .../images/soyatec-eclipse35-install-2.png      |  Bin 32379 -> 0 bytes
 .../images/soyatec-eclipse36-install-1.png      |  Bin 42077 -> 0 bytes
 .../images/soyatec-eclipse36-install-2.png      |  Bin 61088 -> 0 bytes
 .../images/soyatec-eclipse36-install-3.png      |  Bin 30828 -> 0 bytes
 .../docbkx/guide/isis-contributors-guide.xml    | 6550 -------------
 .../docbkx/src/docbkx/images/admons/blank.png   |  Bin 374 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/caution.gif |  Bin 743 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/caution.png |  Bin 3342 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/caution.tif |  Bin 10826 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/draft.png   |  Bin 17454 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/home.gif    |  Bin 351 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/home.png    |  Bin 1156 -> 0 bytes
 .../src/docbkx/images/admons/important.gif      |  Bin 1003 -> 0 bytes
 .../src/docbkx/images/admons/important.png      |  Bin 3977 -> 0 bytes
 .../src/docbkx/images/admons/important.tif      |  Bin 12634 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/next.gif    |  Bin 263 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/next.png    |  Bin 1150 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/note.gif    |  Bin 580 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/note.png    |  Bin 3977 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/note.tif    |  Bin 12634 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/prev.gif    |  Bin 255 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/prev.png    |  Bin 1132 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/tip.gif     |  Bin 598 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/tip.png     |  Bin 3977 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/tip.tif     |  Bin 12634 -> 0 bytes
 .../src/docbkx/images/admons/toc-blank.png      |  Bin 318 -> 0 bytes
 .../src/docbkx/images/admons/toc-minus.png      |  Bin 259 -> 0 bytes
 .../src/docbkx/images/admons/toc-plus.png       |  Bin 264 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/up.gif      |  Bin 268 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/up.png      |  Bin 1111 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/warning.gif |  Bin 743 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/warning.png |  Bin 3342 -> 0 bytes
 .../docbkx/src/docbkx/images/admons/warning.tif |  Bin 10826 -> 0 bytes
 .../src/docbkx/images/apache-incubator-logo.png |  Bin 4680 -> 0 bytes
 .../src/docbkx/images/apache-isis-logo.png      |  Bin 28148 -> 0 bytes
 .../docbkx/src/docbkx/images/apache-logo.gif    |  Bin 16647 -> 0 bytes
 .../docbkx/src/docbkx/images/asf-logo.gif       |  Bin 7279 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/1.png     |  Bin 329 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/10.png    |  Bin 361 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/11.png    |  Bin 565 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/12.png    |  Bin 617 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/13.png    |  Bin 623 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/14.png    |  Bin 411 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/15.png    |  Bin 640 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/2.png     |  Bin 353 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/3.png     |  Bin 350 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/4.png     |  Bin 345 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/5.png     |  Bin 348 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/6.png     |  Bin 355 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/7.png     |  Bin 344 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/8.png     |  Bin 357 -> 0 bytes
 .../docbkx/src/docbkx/images/callouts/9.png     |  Bin 357 -> 0 bytes
 .../docbkx/images/release/nexus-release-01.png  |  Bin 127142 -> 0 bytes
 .../docbkx/images/release/nexus-release-02.png  |  Bin 153551 -> 0 bytes
 .../docbkx/images/release/nexus-release-03.png  |  Bin 128719 -> 0 bytes
 .../docbkx/images/release/nexus-release-04.png  |  Bin 157298 -> 0 bytes
 .../docbkx/images/release/nexus-release-05.png  |  Bin 153758 -> 0 bytes
 .../docbkx/images/release/nexus-release-06.png  |  Bin 156789 -> 0 bytes
 mothballed/docbkx/src/docbkx/style/fop-cust.xsl |  912 --
 .../docbkx/src/docbkx/style/html-cust.xsl       |   31 -
 mothballed/docbkx/src/docbkx/style/screen.css   |  244 -
 .../application/claims/dom/log4j.properties     |   39 -
 .../example/application/claims/dom/pom.xml      |  167 -
 .../application/claims/dom/claim/Approver.java  |   24 -
 .../application/claims/dom/claim/Claim.java     |  323 -
 .../application/claims/dom/claim/ClaimItem.java |   77 -
 .../claims/dom/claim/ClaimRepository.java       |  133 -
 .../application/claims/dom/claim/Claimant.java  |   28 -
 .../claims/dom/employee/Employee.java           |   98 -
 .../claims/dom/employee/EmployeeRepository.java |   61 -
 .../claims/dom/employee/EmployeeTakeOn.java     |  150 -
 .../dom/src/main/resources/images/Claim.gif     |  Bin 576 -> 0 bytes
 .../dom/src/main/resources/images/ClaimItem.gif |  Bin 1076 -> 0 bytes
 .../main/resources/images/ClaimRepository.gif   |  Bin 794 -> 0 bytes
 .../dom/src/main/resources/images/Employee.gif  |  Bin 1019 -> 0 bytes
 .../resources/images/EmployeeRepository.gif     |  Bin 1475 -> 0 bytes
 .../dom/src/main/resources/images/FredSmith.jpg |  Bin 6397 -> 0 bytes
 .../dom/src/main/resources/images/SamJones.jpg  |  Bin 6010 -> 0 bytes
 .../dom/src/main/resources/images/TomBrown.jpg  |  Bin 5856 -> 0 bytes
 .../example/application/claims/fixture/pom.xml  |   39 -
 .../claims/fixture/ClaimsFixture.java           |   82 -
 .../claims/fixture/ClaimsLogonFixture.java      |   30 -
 mothballed/example/application/claims/pom.xml   |  248 -
 .../application/claims/viewer-bdd/pom.xml       |  107 -
 .../src/main/resources/isis.properties          |   43 -
 .../claims/AbstractApplicationStory.java        |   34 -
 .../common/BootstrapInExplorationMode.java      |   25 -
 .../claims/common/BootstrapInPrototypeMode.java |   25 -
 .../application/claims/common/Employees.java    |   25 -
 .../application/claims/stories/AllStories.java  |   25 -
 .../claims/stories/newClaim/Fixture.java        |   25 -
 .../claims/stories/newClaim/Index.java          |   25 -
 .../stories/newClaim/ScenarioDefaultsOk.java    |   25 -
 .../ScenarioOnceCreatedShowsUpForClaimant.java  |   25 -
 .../src/test/resources/dtd/xhtml-lat1.ent       |  196 -
 .../src/test/resources/dtd/xhtml-special.ent    |   80 -
 .../src/test/resources/dtd/xhtml-symbol.ent     |  237 -
 .../src/test/resources/dtd/xhtml1-strict.dtd    |  980 --
 .../common/BootstrapInExplorationMode.html      |   61 -
 .../claims/common/BootstrapInPrototypeMode.html |   61 -
 .../application/claims/common/Employees.html    |   56 -
 .../example/application/claims/concordion.css   |  102 -
 .../application/claims/stories/AllStories.html  |   37 -
 .../claims/stories/newClaim/Fixtures.html       |   55 -
 .../claims/stories/newClaim/Index.html          |   43 -
 .../stories/newClaim/ScenarioDefaultsOk.html    |  302 -
 .../ScenarioOnceCreatedShowsUpForClaimant.html  |  355 -
 .../ide/eclipse/launch/claims-viewer-dnd.launch |   19 -
 .../application/claims/viewer-dnd/pom.xml       |  129 -
 .../src/main/resources/isis.properties          |   24 -
 .../src/main/resources/viewer_html.properties   |   19 -
 .../isis/example/claims/junit/AbstractTest.java |  115 -
 .../example/claims/junit/ClaimSubmitTest.java   |   61 -
 .../isis/example/claims/junit/NewClaimTest.java |   44 -
 .../eclipse/launch/claims-viewer-scimpi.launch  |   19 -
 .../application/claims/viewer-scimpi/pom.xml    |  107 -
 .../src/main/resources/images/Default.png       |  Bin 3016 -> 0 bytes
 .../src/main/webapp/WEB-INF/isis.properties     |   25 -
 .../src/main/webapp/WEB-INF/logging.properties  |   38 -
 .../src/main/webapp/WEB-INF/security_file.allow |   16 -
 .../main/webapp/WEB-INF/security_file.passwords |   20 -
 .../src/main/webapp/WEB-INF/web.xml             |   50 -
 .../viewer-scimpi/src/main/webapp/debug.shtml   |   23 -
 .../src/main/webapp/generic/action.shtml        |   27 -
 .../src/main/webapp/generic/collection.shtml    |   26 -
 .../src/main/webapp/generic/edit.shtml          |   26 -
 .../src/main/webapp/generic/object.shtml        |   28 -
 .../src/main/webapp/images/Claim.png            |  Bin 2708 -> 0 bytes
 .../src/main/webapp/images/ClaimItem.png        |  Bin 2316 -> 0 bytes
 .../src/main/webapp/images/Employee.png         |  Bin 1986 -> 0 bytes
 .../src/main/webapp/images/banner-bg.png        |  Bin 384 -> 0 bytes
 .../src/main/webapp/images/banner.png           |  Bin 18951 -> 0 bytes
 .../src/main/webapp/images/logo.png             |  Bin 7183 -> 0 bytes
 .../viewer-scimpi/src/main/webapp/index.shtml   |   24 -
 .../viewer-scimpi/src/main/webapp/login.shtml   |   23 -
 .../src/main/webapp/style/screen.css            |  394 -
 .../src/main/webapp/style/template.shtml        |   57 -
 .../x-webapp-archived/Claim/edit-selector.shtml |   29 -
 .../x-webapp-archived/Claim/object-link.shtml   |   32 -
 .../x-webapp-archived/Claim/object-orig.shtml   |   31 -
 .../main/x-webapp-archived/Claim/object.shtml   |   34 -
 .../main/x-webapp-archived/Claim/object2.shtml  |   31 -
 .../x-webapp-archived/Employee/object.shtml     |   62 -
 .../x-webapp-archived/EmployeeTakeOn/edit.shtml |   38 -
 .../application/claims/viewer-wicket/.gitignore |    1 -
 .../eclipse/launch/claims-viewer-wicket.launch  |   20 -
 .../application/claims/viewer-wicket/pom.xml    |  119 -
 .../src/main/resources/images/Default.png       |  Bin 3016 -> 0 bytes
 .../WEB-INF/authentication_file.passwords       |   20 -
 .../src/main/webapp/WEB-INF/isis.properties     |   34 -
 .../src/main/webapp/WEB-INF/logging.properties  |   38 -
 .../src/main/webapp/WEB-INF/security_file.allow |   16 -
 .../src/main/webapp/WEB-INF/web.properties      |   24 -
 .../src/main/webapp/WEB-INF/web.xml             |  178 -
 .../viewer-wicket/src/main/webapp/default.css   |  938 --
 .../src/main/webapp/images/banner-bg.png        |  Bin 936 -> 0 bytes
 .../src/main/webapp/images/banner.png           |  Bin 18951 -> 0 bytes
 .../quickstart_html_sql/dom/log4j.properties    |   24 -
 .../application/quickstart_html_sql/dom/pom.xml |   39 -
 .../dom/src/main/java/dom/todo/ToDoItem.java    |  225 -
 .../dom/src/main/java/dom/todo/ToDoItems.java   |  139 -
 .../src/main/resources/images/AuditEntry.png    |  Bin 2215 -> 0 bytes
 .../dom/src/main/resources/images/ToDoItem.gif  |  Bin 1592 -> 0 bytes
 .../quickstart_html_sql/fixture/pom.xml         |   40 -
 .../main/java/fixture/LogonAsSvenFixture.java   |   30 -
 .../java/fixture/todo/ToDoItemsFixture.java     |   74 -
 .../fixture/todo/ToDoItemsFixturesService.java  |   46 -
 .../application/quickstart_html_sql/pom.xml     |  261 -
 .../viewer-html/hsql-db/tests.lck               |  Bin 16 -> 0 bytes
 .../viewer-html/hsql-db/tests.log               |    2 -
 .../viewer-html/hsql-db/tests.properties        |    4 -
 .../viewer-html/hsql-db/tests.script            |   46 -
 .../launch/quickstart-viewer-html.launch        |   20 -
 .../viewer-html/lib/.gitignore                  |    5 -
 .../quickstart_html_sql/viewer-html/pom.xml     |  186 -
 .../src/main/jettyconsole/isis-banner.pdn       |  Bin 64679 -> 0 bytes
 .../src/main/jettyconsole/isis-banner.png       |  Bin 24486 -> 0 bytes
 .../src/main/resources/images/Default.png       |  Bin 3016 -> 0 bytes
 .../WEB-INF/authentication_file.passwords       |   28 -
 .../WEB-INF/authentication_file.properties      |   25 -
 .../webapp/WEB-INF/authorization_file.allow     |   28 -
 .../WEB-INF/authorization_file.properties       |   47 -
 .../src/main/webapp/WEB-INF/isis.properties     |  180 -
 .../src/main/webapp/WEB-INF/logging.properties  |   89 -
 .../webapp/WEB-INF/persistor_sql.properties     |   72 -
 .../main/webapp/WEB-INF/viewer_html.properties  |   31 -
 .../viewer-html/src/main/webapp/WEB-INF/web.xml |  233 -
 .../main/webapp/htmlviewer/images/banner-bg.png |  Bin 936 -> 0 bytes
 .../main/webapp/htmlviewer/images/banner.png    |  Bin 30394 -> 0 bytes
 .../main/webapp/htmlviewer/style/default.css    |  928 --
 .../quickstart_scimpi_nosql/dom/pom.xml         |   40 -
 .../dom/src/main/java/dom/MyObject.java         |   49 -
 .../dom/src/main/java/dom/Repository.java       |   59 -
 .../dom/src/main/resources/images/MyObject.png  |  Bin 2215 -> 0 bytes
 .../quickstart_scimpi_nosql/fixture/pom.xml     |   40 -
 .../src/main/java/fixture/InitialFixture.java   |   47 -
 .../main/java/fixture/LogonAsSvenFixture.java   |   30 -
 .../application/quickstart_scimpi_nosql/pom.xml |  266 -
 .../viewer-scimpi/getting started notes.txt     |  182 -
 .../launch/quickstart-viewer-scimpi.launch      |   20 -
 .../viewer-scimpi/pom.xml                       |  148 -
 .../src/main/jettyconsole/isis-banner.png       |  Bin 24486 -> 0 bytes
 .../WEB-INF/authentication_file.passwords       |   29 -
 .../src/main/webapp/WEB-INF/config.xml          |   26 -
 .../src/main/webapp/WEB-INF/isis.properties     |   30 -
 .../src/main/webapp/WEB-INF/logging.properties  |   34 -
 .../src/main/webapp/WEB-INF/web.xml             |  192 -
 .../src/main/webapp/debug/action.shtml          |   27 -
 .../src/main/webapp/debug/application.shtml     |   31 -
 .../src/main/webapp/debug/debug-page.css        |  158 -
 .../src/main/webapp/debug/debug-template.shtml  |   55 -
 .../src/main/webapp/debug/debug-users.shtml     |   26 -
 .../src/main/webapp/debug/debug.shtml           |   23 -
 .../src/main/webapp/debug/edit.shtml            |   32 -
 .../src/main/webapp/debug/object.shtml          |   32 -
 .../src/main/webapp/debug/services.shtml        |   25 -
 .../src/main/webapp/error/error-template.shtml  |   49 -
 .../src/main/webapp/error/notfound_404.shtml    |   33 -
 .../src/main/webapp/error/security_403.shtml    |   32 -
 .../src/main/webapp/error/server_500.shtml      |   60 -
 .../src/main/webapp/generic/action.shtml        |   26 -
 .../src/main/webapp/generic/collection.shtml    |   25 -
 .../src/main/webapp/generic/edit.shtml          |   26 -
 .../src/main/webapp/generic/object.shtml        |   27 -
 .../src/main/webapp/images/calendar.gif         |  Bin 269 -> 0 bytes
 .../src/main/webapp/images/logo.png             |  Bin 6149 -> 0 bytes
 .../src/main/webapp/images/scimpi-logo.png      |  Bin 7183 -> 0 bytes
 .../viewer-scimpi/src/main/webapp/index.shtml   |   22 -
 .../viewer-scimpi/src/main/webapp/login.shtml   |   45 -
 .../src/main/webapp/page-template.shtml         |   29 -
 .../src/main/webapp/scripts/jquery-1.7.2.min.js |    4 -
 .../scripts/jquery-ui-1.8.20.custom.min.js      |  125 -
 .../src/main/webapp/scripts/scimpi.js           |   68 -
 .../src/main/webapp/site-template.shtml         |   68 -
 .../src/main/webapp/style/debug.css             |  193 -
 .../src/main/webapp/style/reset.css             |   49 -
 .../src/main/webapp/style/scimpi-base.css       |  302 -
 .../ui-bg_diagonals-thick_18_b81900_40x40.png   |  Bin 260 -> 0 bytes
 .../ui-bg_diagonals-thick_20_666666_40x40.png   |  Bin 251 -> 0 bytes
 .../images/ui-bg_flat_10_000000_40x100.png      |  Bin 178 -> 0 bytes
 .../images/ui-bg_glass_100_f6f6f6_1x400.png     |  Bin 104 -> 0 bytes
 .../images/ui-bg_glass_100_fdf5ce_1x400.png     |  Bin 125 -> 0 bytes
 .../images/ui-bg_glass_65_ffffff_1x400.png      |  Bin 105 -> 0 bytes
 .../ui-bg_gloss-wave_35_f6a828_500x100.png      |  Bin 3762 -> 0 bytes
 .../ui-bg_highlight-soft_100_eeeeee_1x100.png   |  Bin 90 -> 0 bytes
 .../ui-bg_highlight-soft_75_ffe45c_1x100.png    |  Bin 129 -> 0 bytes
 .../images/ui-icons_222222_256x240.png          |  Bin 4369 -> 0 bytes
 .../images/ui-icons_228ef1_256x240.png          |  Bin 4369 -> 0 bytes
 .../images/ui-icons_ef8c08_256x240.png          |  Bin 4369 -> 0 bytes
 .../images/ui-icons_ffd27a_256x240.png          |  Bin 4369 -> 0 bytes
 .../images/ui-icons_ffffff_256x240.png          |  Bin 4369 -> 0 bytes
 .../ui-lightness/jquery-ui-1.8.17.custom.css    |  565 --
 .../example/application/todoapp/.gitattributes  |   51 -
 .../example/application/todoapp/.gitignore      |   40 -
 .../application/todoapp/dom/log4j.properties    |   41 -
 .../example/application/todoapp/dom/pom.xml     |  172 -
 .../dom/src/main/java/META-INF/persistence.xml  |   26 -
 .../dom/src/main/java/app/ToDoAppDashboard.java |   69 -
 .../main/java/app/ToDoAppDashboard.layout.json  |   26 -
 .../dom/src/main/java/app/ToDoAppDashboard.png  |  Bin 834 -> 0 bytes
 .../main/java/app/ToDoAppDashboardService.java  |   44 -
 .../dom/src/main/java/app/ToDoItemAnalysis.java |  126 -
 .../java/app/ToDoItemAnalysisContributions.java |   50 -
 .../java/app/ToDoItemsByCategoryViewModel.java  |  168 -
 .../ToDoItemsByCategoryViewModel.layout.json    |   43 -
 .../java/app/ToDoItemsByCategoryViewModel.png   |  Bin 684 -> 0 bytes
 .../java/app/ToDoItemsByDateRangeViewModel.java |  137 -
 .../ToDoItemsByDateRangeViewModel.layout.json   |   33 -
 .../java/app/ToDoItemsByDateRangeViewModel.png  |  Bin 613 -> 0 bytes
 .../dom/src/main/java/dom/todo/Categorized.java |   32 -
 .../src/main/java/dom/todo/ToDoItem-done.png    |  Bin 1363 -> 0 bytes
 .../src/main/java/dom/todo/ToDoItem-todo.png    |  Bin 971 -> 0 bytes
 .../dom/src/main/java/dom/todo/ToDoItem.java    |  979 --
 .../src/main/java/dom/todo/ToDoItem.layout.json |  222 -
 .../dom/src/main/java/dom/todo/ToDoItem.png     |  Bin 971 -> 0 bytes
 .../dom/todo/ToDoItemChangedPayloadFactory.java |   48 -
 .../java/dom/todo/ToDoItemContributions.java    |  276 -
 .../java/dom/todo/ToDoItemSubscriptions.java    |  399 -
 .../dom/src/main/java/dom/todo/ToDoItems.java   |  257 -
 .../src/test/java/dom/todo/ToDoItemTest.java    |  133 -
 .../example/application/todoapp/fixture/pom.xml |   40 -
 .../fixture/todo/ToDoItemsFixturesService.java  |   97 -
 .../integtests/ToDoItemsIntegTestFixture.java   |   40 -
 .../complete/ToDoItemCompleteAbstract.java      |   52 -
 .../complete/ToDoItemCompleteForBuyStamps.java  |   30 -
 .../ToDoItemCompleteForWriteBlogPost.java       |   31 -
 .../todo/items/create/ToDoItemAbstract.java     |   69 -
 .../todo/items/create/ToDoItemForBuyBread.java  |   37 -
 .../todo/items/create/ToDoItemForBuyMilk.java   |   37 -
 .../todo/items/create/ToDoItemForBuyStamps.java |   39 -
 .../todo/items/create/ToDoItemForMowLawn.java   |   37 -
 .../create/ToDoItemForOrganizeBrownBag.java     |   37 -
 .../items/create/ToDoItemForPickUpLaundry.java  |   37 -
 .../items/create/ToDoItemForSharpenKnives.java  |   37 -
 .../create/ToDoItemForStageIsisRelease.java     |   37 -
 .../ToDoItemForSubmitConferenceSession.java     |   37 -
 .../items/create/ToDoItemForVacuumHouse.java    |   37 -
 .../items/create/ToDoItemForWriteBlogPost.java  |   39 -
 .../items/create/ToDoItemForWriteToPenPal.java  |   37 -
 .../todo/items/delete/ToDoItemsDelete.java      |   38 -
 .../todo/scenarios/ToDoItemsRecreate.java       |   81 -
 .../ToDoItemsRecreateAndCompleteSeveral.java    |   86 -
 ...oItemsRecreateAndCompleteSeveralForDick.java |   28 -
 ...DoItemsRecreateAndCompleteSeveralForJoe.java |   28 -
 .../scenarios/ToDoItemsRecreateForSven.java     |   29 -
 .../src/main/java/fixture/todo/util/Util.java   |   32 -
 .../todoapp/integtests/logging.properties       |  101 -
 .../application/todoapp/integtests/pom.xml      |  159 -
 .../integration/ToDoAppSystemInitializer.java   |   77 -
 .../integration/glue/BootstrappingGlue.java     |   53 -
 .../integration/glue/CatalogOfFixturesGlue.java |   47 -
 .../integration/glue/InMemoryDBForToDoApp.java  |   40 -
 .../integration/glue/todoitem/ToDoItemGlue.java |  165 -
 .../integration/specs/todoitem/RunSpecs.java    |   38 -
 .../ToDoItemSpec_findAndComplete.feature        |   39 -
 ...findCompletedAndMarkAsNotYetComplete.feature |   35 -
 .../tests/AbstractToDoIntegTest.java            |   38 -
 .../tests/ToDoItemContributionsIntegTest.java   |  158 -
 .../integration/tests/ToDoItemIntegTest.java    | 1057 ---
 .../integration/tests/ToDoItemsIntegTest.java   |  132 -
 mothballed/example/application/todoapp/pom.xml  |  378 -
 .../webapp/ide/eclipse/launch/.gitignore        |    5 -
 .../launch/ToDoApp-PROTOTYPE-jrebel.launch      |   24 -
 .../ToDoApp-PROTOTYPE-with-fixtures.launch      |   20 -
 .../ide/eclipse/launch/ToDoApp-PROTOTYPE.launch |   23 -
 .../ide/eclipse/launch/ToDoApp-SERVER.launch    |   23 -
 .../webapp/ide/intellij/launch/README.txt       |    3 -
 .../ide/intellij/launch/TodoApp_PROTOTYPE.xml   |   29 -
 .../intellij/launch/TodoApp__enhance_only_.xml  |   23 -
 .../application/todoapp/webapp/lib/.gitignore   |    5 -
 .../example/application/todoapp/webapp/pom.xml  |  352 -
 .../main/java/webapp/CustomMementoService.java  |   61 -
 .../webapp/CustomRepresentationService.java     |   32 -
 .../src/main/java/webapp/ToDoApplication.java   |  150 -
 .../prototyping/ExternalLinksService.java       |   71 -
 .../prototyping/WicketDeveloperUtilities.java   |   44 -
 .../userprof/CustomUserProfileService.java      |   43 -
 .../src/main/jettyconsole/isis-banner.pdn       |  Bin 69658 -> 0 bytes
 .../src/main/jettyconsole/isis-banner.png       |  Bin 30776 -> 0 bytes
 .../webapp/ToDoApplication_en.properties        |   52 -
 .../webapp/src/main/resources/webapp/realm1.ini |  105 -
 .../src/main/resources/webapp/welcome.html      |   36 -
 .../src/main/webapp/WEB-INF/isis.properties     |  290 -
 .../src/main/webapp/WEB-INF/logging.properties  |  220 -
 .../main/webapp/WEB-INF/persistor.properties    |  129 -
 .../WEB-INF/persistor_datanucleus.properties    |   88 -
 .../webapp/src/main/webapp/WEB-INF/shiro.ini    |  103 -
 .../WEB-INF/viewer_restfulobjects.properties    |   66 -
 .../webapp/WEB-INF/viewer_wicket.properties     |   87 -
 .../webapp/src/main/webapp/WEB-INF/web.xml      |  308 -
 .../src/main/webapp/about/images/isis-logo.png  |  Bin 14160 -> 0 bytes
 .../webapp/src/main/webapp/about/index.html     |  175 -
 .../webapp/src/main/webapp/css/application.css  |   35 -
 .../main/webapp/images/todoapp-logo-header.pdn  |  Bin 17124 -> 0 bytes
 .../main/webapp/images/todoapp-logo-header.png  |  Bin 5560 -> 0 bytes
 .../main/webapp/images/todoapp-logo-signin.pdn  |  Bin 35612 -> 0 bytes
 .../main/webapp/images/todoapp-logo-signin.png  |  Bin 15079 -> 0 bytes
 .../src/main/webapp/images/todoapp-logo.pdn     |  Bin 138427 -> 0 bytes
 .../src/main/webapp/scripts/application.js      |    3 -
 mothballed/example/archetype/todoapp/pom.xml    |   50 -
 .../appended-resources/supplemental-models.xml  |   26 -
 .../META-INF/maven/archetype-metadata.xml       |  167 -
 .../archetype-resources/.gitattributes          |   51 -
 .../resources/archetype-resources/.gitignore    |   40 -
 .../archetype-resources/dom/log4j.properties    |   44 -
 .../resources/archetype-resources/dom/pom.xml   |  162 -
 .../dom/src/main/java/META-INF/persistence.xml  |   29 -
 .../dom/src/main/java/app/ToDoAppDashboard.java |   86 -
 .../main/java/app/ToDoAppDashboard.layout.json  |   26 -
 .../dom/src/main/java/app/ToDoAppDashboard.png  |  Bin 834 -> 0 bytes
 .../main/java/app/ToDoAppDashboardService.java  |   35 -
 .../dom/src/main/java/app/ToDoItemAnalysis.java |  129 -
 .../java/app/ToDoItemAnalysisContributions.java |   53 -
 .../java/app/ToDoItemsByCategoryViewModel.java  |  171 -
 .../ToDoItemsByCategoryViewModel.layout.json    |   43 -
 .../java/app/ToDoItemsByCategoryViewModel.png   |  Bin 684 -> 0 bytes
 .../java/app/ToDoItemsByDateRangeViewModel.java |  140 -
 .../ToDoItemsByDateRangeViewModel.layout.json   |   33 -
 .../java/app/ToDoItemsByDateRangeViewModel.png  |  Bin 613 -> 0 bytes
 .../dom/src/main/java/dom/todo/Categorized.java |   35 -
 .../src/main/java/dom/todo/ToDoItem-done.png    |  Bin 1363 -> 0 bytes
 .../src/main/java/dom/todo/ToDoItem-todo.png    |  Bin 971 -> 0 bytes
 .../dom/src/main/java/dom/todo/ToDoItem.java    |  982 --
 .../src/main/java/dom/todo/ToDoItem.layout.json |  222 -
 .../dom/src/main/java/dom/todo/ToDoItem.png     |  Bin 971 -> 0 bytes
 .../dom/todo/ToDoItemChangedPayloadFactory.java |   51 -
 .../java/dom/todo/ToDoItemContributions.java    |  274 -
 .../java/dom/todo/ToDoItemSubscriptions.java    |  402 -
 .../dom/src/main/java/dom/todo/ToDoItems.java   |  260 -
 .../src/test/java/dom/todo/ToDoItemTest.java    |  136 -
 .../archetype-resources/fixture/pom.xml         |   38 -
 .../fixture/todo/ToDoItemsFixturesService.java  |  100 -
 .../integtests/ToDoItemsIntegTestFixture.java   |   43 -
 .../complete/ToDoItemCompleteAbstract.java      |   55 -
 .../complete/ToDoItemCompleteForBuyStamps.java  |   33 -
 .../ToDoItemCompleteForWriteBlogPost.java       |   34 -
 .../todo/items/create/ToDoItemAbstract.java     |   72 -
 .../todo/items/create/ToDoItemForBuyBread.java  |   40 -
 .../todo/items/create/ToDoItemForBuyMilk.java   |   40 -
 .../todo/items/create/ToDoItemForBuyStamps.java |   42 -
 .../todo/items/create/ToDoItemForMowLawn.java   |   40 -
 .../create/ToDoItemForOrganizeBrownBag.java     |   40 -
 .../items/create/ToDoItemForPickUpLaundry.java  |   40 -
 .../items/create/ToDoItemForSharpenKnives.java  |   40 -
 .../create/ToDoItemForStageIsisRelease.java     |   40 -
 .../ToDoItemForSubmitConferenceSession.java     |   40 -
 .../items/create/ToDoItemForVacuumHouse.java    |   40 -
 .../items/create/ToDoItemForWriteBlogPost.java  |   42 -
 .../items/create/ToDoItemForWriteToPenPal.java  |   40 -
 .../todo/items/delete/ToDoItemsDelete.java      |   41 -
 .../todo/scenarios/ToDoItemsRecreate.java       |   84 -
 .../ToDoItemsRecreateAndCompleteSeveral.java    |   89 -
 ...oItemsRecreateAndCompleteSeveralForDick.java |   31 -
 ...DoItemsRecreateAndCompleteSeveralForJoe.java |   31 -
 .../scenarios/ToDoItemsRecreateForSven.java     |   32 -
 .../src/main/java/fixture/todo/util/Util.java   |   35 -
 .../integtests/logging.properties               |  104 -
 .../archetype-resources/integtests/pom.xml      |  122 -
 .../integration/ToDoAppSystemInitializer.java   |   80 -
 .../integration/glue/BootstrappingGlue.java     |   56 -
 .../integration/glue/CatalogOfFixturesGlue.java |   50 -
 .../integration/glue/InMemoryDBForToDoApp.java  |   43 -
 .../integration/glue/todoitem/ToDoItemGlue.java |  168 -
 .../integration/specs/todoitem/RunSpecs.java    |   41 -
 .../ToDoItemSpec_findAndComplete.feature        |   39 -
 ...findCompletedAndMarkAsNotYetComplete.feature |   35 -
 .../tests/AbstractToDoIntegTest.java            |   41 -
 .../tests/ToDoItemContributionsIntegTest.java   |  161 -
 .../integration/tests/ToDoItemIntegTest.java    | 1060 ---
 .../integration/tests/ToDoItemsIntegTest.java   |  135 -
 .../main/resources/archetype-resources/pom.xml  |  365 -
 .../launch/ToDoApp-PROTOTYPE-jrebel.launch      |   26 -
 .../ToDoApp-PROTOTYPE-with-fixtures.launch      |   22 -
 .../ide/eclipse/launch/ToDoApp-PROTOTYPE.launch |   25 -
 .../ide/eclipse/launch/ToDoApp-SERVER.launch    |   25 -
 .../webapp/ide/intellij/launch/README.txt       |    6 -
 .../ide/intellij/launch/TodoApp_PROTOTYPE.xml   |   32 -
 .../intellij/launch/TodoApp__enhance_only_.xml  |   26 -
 .../archetype-resources/webapp/lib/.gitignore   |    5 -
 .../archetype-resources/webapp/pom.xml          |  346 -
 .../main/java/webapp/CustomMementoService.java  |   64 -
 .../webapp/CustomRepresentationService.java     |   35 -
 .../src/main/java/webapp/ToDoApplication.java   |  153 -
 .../prototyping/ExternalLinksService.java       |   74 -
 .../prototyping/WicketDeveloperUtilities.java   |   47 -
 .../userprof/CustomUserProfileService.java      |   46 -
 .../src/main/jettyconsole/isis-banner.pdn       |  Bin 69658 -> 0 bytes
 .../src/main/jettyconsole/isis-banner.png       |  Bin 30776 -> 0 bytes
 .../webapp/ToDoApplication_en.properties        |   55 -
 .../webapp/src/main/resources/webapp/realm1.ini |  105 -
 .../src/main/resources/webapp/welcome.html      |   39 -
 .../src/main/webapp/WEB-INF/isis.properties     |  280 -
 .../src/main/webapp/WEB-INF/logging.properties  |  223 -
 .../main/webapp/WEB-INF/persistor.properties    |  132 -
 .../WEB-INF/persistor_datanucleus.properties    |   91 -
 .../webapp/src/main/webapp/WEB-INF/shiro.ini    |  103 -
 .../WEB-INF/viewer_restfulobjects.properties    |   69 -
 .../webapp/WEB-INF/viewer_wicket.properties     |   90 -
 .../webapp/src/main/webapp/WEB-INF/web.xml      |  311 -
 .../src/main/webapp/about/images/isis-logo.png  |  Bin 14160 -> 0 bytes
 .../webapp/src/main/webapp/about/index.html     |  178 -
 .../webapp/src/main/webapp/css/application.css  |   35 -
 .../main/webapp/images/todoapp-logo-header.pdn  |  Bin 17124 -> 0 bytes
 .../main/webapp/images/todoapp-logo-header.png  |  Bin 5560 -> 0 bytes
 .../main/webapp/images/todoapp-logo-signin.pdn  |  Bin 35612 -> 0 bytes
 .../main/webapp/images/todoapp-logo-signin.png  |  Bin 15079 -> 0 bytes
 .../src/main/webapp/images/todoapp-logo.pdn     |  Bin 138427 -> 0 bytes
 .../src/main/webapp/scripts/application.js      |    3 -
 .../projects/basic/archetype.properties         |    5 -
 .../src/test/resources/projects/basic/goal.txt  |    0
 .../domain-service/email-service/pom.xml        |   75 -
 .../example/domainservice/email/Address.java    |   54 -
 .../isis/example/domainservice/email/Email.java |   82 -
 .../domainservice/email/EmailException.java     |   43 -
 .../domainservice/email/EmailService.java       |   96 -
 .../domainservice/email/EmailTemplate.java      |   87 -
 mothballed/misc/metamodel/namefile/pom.xml      |   78 -
 .../namefile/facets/NameFileFacet.java          |   44 -
 .../namefile/facets/NameFileFacetFactory.java   |   82 -
 .../namefile/facets/NameFileParser.java         |   51 -
 .../facets/DomainObjectWithNameFileEntry.java   |   38 -
 .../DomainObjectWithoutNameFileEntry.java       |   38 -
 .../facets/NameFileFacetFacetHolderTest.java    |   65 -
 .../NameFileFacetFactoryFeatureTypesTest.java   |   78 -
 .../NameFileFacetFactoryInstantiationTest.java  |   31 -
 .../facets/NameFileFacetFactoryProcessTest.java |  132 -
 .../facets/NameFileFacetInstantiationTest.java  |   47 -
 .../namefile/facets/NameFileFacetValueTest.java |   65 -
 .../facets/NameFileParserInstantiationTest.java |   31 -
 .../facets/NameFileParserParsingTest.java       |   60 -
 .../test/resources/config/namefile.properties   |   18 -
 .../core/objectstore/InMemoryObjectStore.java   |  502 -
 .../InMemoryPersistenceMechanismInstaller.java  |   66 -
 .../InMemoryPersistenceSessionFactory.java      |   95 -
 .../AbstractInMemoryPersistenceCommand.java     |   64 -
 .../commands/InMemoryCreateObjectCommand.java   |   49 -
 .../commands/InMemoryDestroyObjectCommand.java  |   49 -
 .../commands/InMemorySaveObjectCommand.java     |   48 -
 .../internal/ObjectStoreInstances.java          |  246 -
 .../internal/ObjectStorePersistedObjects.java   |   94 -
 ...bjectStoreInstances_findInstancesAndAdd.java |  111 -
 .../internal/ObjectStoreInstances_init.java     |   69 -
 .../internal/ObjectStoreInstances_save.java     |  121 -
 ...tStorePersistedObjectsDefault_instances.java |   92 -
 ...jectsDefault_savesOidGeneratorAsMemento.java |   60 -
 ...ctStorePersistedObjectsDefault_services.java |   76 -
 mothballed/profilestore-inmemory/pom.xml        |   91 -
 .../profilestore/InMemoryUserProfileStore.java  |   61 -
 .../InMemoryUserProfileStoreInstaller.java      |   44 -
 .../appended-resources/supplemental-models.xml  |  106 -
 mothballed/src/schemas/xhtml-1.0/xhtml-lat1.ent |  196 -
 .../src/schemas/xhtml-1.0/xhtml-special.ent     |   80 -
 .../src/schemas/xhtml-1.0/xhtml-symbol.ent      |  237 -
 .../src/schemas/xhtml-1.0/xhtml1-strict.dtd     |  978 --
 .../src/site/apt/TOREVIEW/TODO_online-demo.apt  |   37 -
 .../TOREVIEW/naked-objects-pattern-benefits.apt |   56 -
 .../site/apt/TOREVIEW/nof-expenses-movies.apt   |   69 -
 mothballed/src/site/apt/architecture.apt        |   75 -
 .../site/apt/automatically-generated-uis.apt    |   37 -
 .../src/site/apt/contributors-deploying.apt     |   76 -
 mothballed/src/site/apt/documentation.apt       |   78 -
 mothballed/src/site/apt/downloads.apt.vm        |   69 -
 mothballed/src/site/apt/icons.apt               |   67 -
 mothballed/src/site/apt/ide-support.apt         |   81 -
 mothballed/src/site/apt/index.apt               |   57 -
 mothballed/src/site/apt/more-thanks.apt         |   33 -
 mothballed/src/site/apt/newbie.apt              |   97 -
 mothballed/src/site/apt/quick-start.apt.vm      |  320 -
 mothballed/src/site/apt/roadmap.apt             |   26 -
 mothballed/src/site/apt/screencasts.apt         |   55 -
 .../src/site/apt/use-cases/deploy-as-rest.apt   |   53 -
 .../src/site/apt/use-cases/deploy-as-webapp.apt |   51 -
 .../site/apt/use-cases/deploy-own-framework.apt |   79 -
 mothballed/src/site/apt/use-cases/develop.apt   |   63 -
 .../src/site/apt/use-cases/specify-and-test.apt |  103 -
 mothballed/src/site/apt/who-we-are.apt          |   47 -
 mothballed/src/site/fml/TOREVIEW/faq.fml        |   76 -
 .../src/site/resources/IsisCheatSheet.pdf       |  Bin 61167 -> 0 bytes
 .../resources/Pawson-Naked-Objects-thesis.pdf   |  Bin 2082131 -> 0 bytes
 .../site/resources/codequality/checkstyle.xml   |  237 -
 .../src/site/resources/codequality/pmd.xml      |   47 -
 .../com.cb.eclipse.folding.KAM-3.5.zip          |  Bin 92244 -> 0 bytes
 .../src/site/resources/icons/haywood.html       |   26 -
 mothballed/src/site/resources/icons/nogl.html   |   24 -
 mothballed/src/site/resources/icons/tango.html  |   94 -
 .../site/resources/ide/eclipse/isis.importorder |    7 -
 .../Apache-Isis-code-style-cleanup.xml          |   73 -
 .../templates/Apache-code-style-formatting.xml  |  297 -
 .../templates/Apache-code-style-template.xml    |   48 -
 .../ide/eclipse/templates/isis-templates.xml    |  442 -
 .../ide/eclipse/templates/jmock2-templates.xml  |    9 -
 .../ide/eclipse/templates/junit4-templates.xml  |   13 -
 .../images/HexagonalArchitectureOverview.odg    |  Bin 23742 -> 0 bytes
 .../images/HexagonalArchitectureOverview.png    |  Bin 113515 -> 0 bytes
 .../HexagonalArchitectureOverview.png.map       |   63 -
 .../src/site/resources/images/architecture.gif  |  Bin 178802 -> 0 bytes
 .../resources/images/architecture_build-up1.gif |  Bin 11876 -> 0 bytes
 .../resources/images/architecture_build-up2.gif |  Bin 11618 -> 0 bytes
 .../resources/images/architecture_build-up3.gif |  Bin 12008 -> 0 bytes
 .../resources/images/architecture_build-up4.gif |  Bin 12180 -> 0 bytes
 .../resources/images/architecture_build-up5.gif |  Bin 11504 -> 0 bytes
 .../resources/images/architecture_build-up6.gif |  Bin 10970 -> 0 bytes
 .../resources/images/architecture_build-up7.gif |  Bin 7760 -> 0 bytes
 .../resources/images/architecture_build-up8.gif |  Bin 10868 -> 0 bytes
 .../resources/images/architecture_build-up9.gif |  Bin 10244 -> 0 bytes
 mothballed/src/site/resources/images/banner.jpg |  Bin 32032 -> 0 bytes
 .../src/site/resources/images/code-template.png |  Bin 32554 -> 0 bytes
 .../src/site/resources/images/console-log.png   |  Bin 23466 -> 0 bytes
 .../src/site/resources/images/debug-system.png  |  Bin 35592 -> 0 bytes
 .../src/site/resources/images/debug-view.png    |  Bin 21959 -> 0 bytes
 .../src/site/resources/images/debug-viewer.png  |  Bin 25484 -> 0 bytes
 .../site/resources/images/degug-graphics.png    |  Bin 11300 -> 0 bytes
 .../src/site/resources/images/demo-expenses.png |  Bin 125295 -> 0 bytes
 mothballed/src/site/resources/images/dhnako.jpg |  Bin 9509 -> 0 bytes
 .../src/site/resources/images/dnd-example.png   |  Bin 33782 -> 0 bytes
 mothballed/src/site/resources/images/dnd-ui.png |  Bin 57492 -> 0 bytes
 .../src/site/resources/images/downloads.png     |  Bin 37649 -> 0 bytes
 .../site/resources/images/eclipse-Import.png    |  Bin 19465 -> 0 bytes
 .../site/resources/images/eclipse-Import2.png   |  Bin 21832 -> 0 bytes
 .../resources/images/eclipse-Preferences .png   |  Bin 27172 -> 0 bytes
 .../images/eclipse-Run Configurations .png      |  Bin 30987 -> 0 bytes
 .../site/resources/images/eclipse-platform.png  |  Bin 32426 -> 0 bytes
 .../images/eclispe-Select Main Type .png        |  Bin 10089 -> 0 bytes
 .../site/resources/images/employee-approver.png |  Bin 20814 -> 0 bytes
 .../src/site/resources/images/employee-code.png |  Bin 39107 -> 0 bytes
 .../images/employee-contributed-actions.PNG     |  Bin 59241 -> 0 bytes
 .../resources/images/employee-email-invalid.png |  Bin 61440 -> 0 bytes
 .../images/employee-emailaddress-expanded.png   |  Bin 18722 -> 0 bytes
 .../resources/images/employee-emailaddress.png  |  Bin 21107 -> 0 bytes
 .../resources/images/employee-name-expanded.png |  Bin 21499 -> 0 bytes
 .../src/site/resources/images/employee-name.png |  Bin 20747 -> 0 bytes
 .../site/resources/images/employee-services.png |  Bin 19102 -> 0 bytes
 .../site/resources/images/employee-title.png    |  Bin 10080 -> 0 bytes
 .../site/resources/images/employee-username.png |  Bin 22630 -> 0 bytes
 .../site/resources/images/employee-views.png    |  Bin 50278 -> 0 bytes
 .../src/site/resources/images/example-Login.png |  Bin 3363 -> 0 bytes
 .../site/resources/images/example-screen.png    |  Bin 18342 -> 0 bytes
 .../site/resources/images/explorer-files.png    |  Bin 24866 -> 0 bytes
 mothballed/src/site/resources/images/format.png |  Bin 30916 -> 0 bytes
 .../src/site/resources/images/home-dnd.png      |  Bin 16893 -> 0 bytes
 .../resources/images/homepage/IsisUseCases.pdn  |  Bin 41231 -> 0 bytes
 .../resources/images/homepage/IsisUseCases.png  |  Bin 21209 -> 0 bytes
 .../images/homepage/IsisUseCases.png.map        |   44 -
 .../resources/images/homepage/IsisUseCases.pptx |  Bin 47793 -> 0 bytes
 .../resources/images/html-exampl-claims.png     |  Bin 25729 -> 0 bytes
 .../src/site/resources/images/html-login.png    |  Bin 48381 -> 0 bytes
 .../src/site/resources/images/html-start.png    |  Bin 50176 -> 0 bytes
 .../src/site/resources/images/html-ui.png       |  Bin 62062 -> 0 bytes
 .../src/site/resources/images/icons/haywood.zip |  Bin 85099 -> 0 bytes
 .../images/icons/haywood/16/actionpoint.gif     |  Bin 589 -> 0 bytes
 .../images/icons/haywood/16/address.gif         |  Bin 1052 -> 0 bytes
 .../images/icons/haywood/16/agenda.gif          |  Bin 581 -> 0 bytes
 .../images/icons/haywood/16/blackboard.gif      |  Bin 1023 -> 0 bytes
 .../resources/images/icons/haywood/16/books.gif |  Bin 1059 -> 0 bytes
 .../images/icons/haywood/16/calendar.gif        |  Bin 1073 -> 0 bytes
 .../resources/images/icons/haywood/16/can.gif   |  Bin 595 -> 0 bytes
 .../resources/images/icons/haywood/16/car.png   |  Bin 1208 -> 0 bytes
 .../images/icons/haywood/16/cellphone.gif       |  Bin 612 -> 0 bytes
 .../icons/haywood/16/communication_channel.gif  |  Bin 613 -> 0 bytes
 .../images/icons/haywood/16/currency.gif        |  Bin 1045 -> 0 bytes
 .../images/icons/haywood/16/customer.gif        |  Bin 1019 -> 0 bytes
 .../images/icons/haywood/16/diploma.gif         |  Bin 1025 -> 0 bytes
 .../images/icons/haywood/16/document.gif        |  Bin 576 -> 0 bytes
 .../resources/images/icons/haywood/16/dog.gif   |  Bin 1006 -> 0 bytes
 .../resources/images/icons/haywood/16/dogs.gif  |  Bin 1079 -> 0 bytes
 .../images/icons/haywood/16/emailaddress.gif    |  Bin 1035 -> 0 bytes
 .../images/icons/haywood/16/employee.gif        |  Bin 1001 -> 0 bytes
 .../resources/images/icons/haywood/16/flag.gif  |  Bin 1039 -> 0 bytes
 .../images/icons/haywood/16/folder.gif          |  Bin 998 -> 0 bytes
 .../images/icons/haywood/16/function.gif        |  Bin 563 -> 0 bytes
 .../images/icons/haywood/16/language.gif        |  Bin 1035 -> 0 bytes
 .../images/icons/haywood/16/locationmap.gif     |  Bin 1059 -> 0 bytes
 .../images/icons/haywood/16/meeting_room.gif    |  Bin 1042 -> 0 bytes
 .../images/icons/haywood/16/mortar_board.gif    |  Bin 634 -> 0 bytes
 .../resources/images/icons/haywood/16/order.gif |  Bin 1042 -> 0 bytes
 .../images/icons/haywood/16/order_item.gif      |  Bin 1076 -> 0 bytes
 .../icons/haywood/16/organization_unit.gif      |  Bin 605 -> 0 bytes
 .../images/icons/haywood/16/permission.gif      |  Bin 1059 -> 0 bytes
 .../images/icons/haywood/16/product.gif         |  Bin 1043 -> 0 bytes
 .../images/icons/haywood/16/product_group.gif   |  Bin 560 -> 0 bytes
 .../resources/images/icons/haywood/16/role.gif  |  Bin 1070 -> 0 bytes
 .../images/icons/haywood/16/skyscraper.gif      |  Bin 1043 -> 0 bytes
 .../images/icons/haywood/16/telephone.gif       |  Bin 1046 -> 0 bytes
 .../images/icons/haywood/16/transaction.gif     |  Bin 1031 -> 0 bytes
 .../images/icons/haywood/32/actionpoint.gif     |  Bin 916 -> 0 bytes
 .../images/icons/haywood/32/address.gif         |  Bin 1401 -> 0 bytes
 .../images/icons/haywood/32/agenda.gif          |  Bin 839 -> 0 bytes
 .../images/icons/haywood/32/blackboard.gif      |  Bin 1523 -> 0 bytes
 .../resources/images/icons/haywood/32/books.gif |  Bin 1448 -> 0 bytes
 .../images/icons/haywood/32/calendar.gif        |  Bin 1594 -> 0 bytes
 .../resources/images/icons/haywood/32/can.gif   |  Bin 914 -> 0 bytes
 .../resources/images/icons/haywood/32/car.png   |  Bin 2982 -> 0 bytes
 .../images/icons/haywood/32/cellphone.gif       |  Bin 1385 -> 0 bytes
 .../icons/haywood/32/communication_channel.gif  |  Bin 1382 -> 0 bytes
 .../images/icons/haywood/32/currency.gif        |  Bin 1502 -> 0 bytes
 .../images/icons/haywood/32/customer.gif        |  Bin 1475 -> 0 bytes
 .../images/icons/haywood/32/diploma.gif         |  Bin 1358 -> 0 bytes
 .../images/icons/haywood/32/document.gif        |  Bin 794 -> 0 bytes
 .../resources/images/icons/haywood/32/dog.gif   |  Bin 1497 -> 0 bytes
 .../resources/images/icons/haywood/32/dogs.gif  |  Bin 1850 -> 0 bytes
 .../images/icons/haywood/32/emailaddress.gif    |  Bin 928 -> 0 bytes
 .../images/icons/haywood/32/employee.gif        |  Bin 1463 -> 0 bytes
 .../resources/images/icons/haywood/32/flag.gif  |  Bin 1425 -> 0 bytes
 .../images/icons/haywood/32/folder.gif          |  Bin 805 -> 0 bytes
 .../images/icons/haywood/32/function.gif        |  Bin 1281 -> 0 bytes
 .../images/icons/haywood/32/language.gif        |  Bin 863 -> 0 bytes
 .../images/icons/haywood/32/locationmap.gif     |  Bin 1638 -> 0 bytes
 .../images/icons/haywood/32/meeting_room.gif    |  Bin 1370 -> 0 bytes
 .../images/icons/haywood/32/mortar_board.gif    |  Bin 1326 -> 0 bytes
 .../resources/images/icons/haywood/32/order.gif |  Bin 1613 -> 0 bytes
 .../images/icons/haywood/32/order_item.gif      |  Bin 1692 -> 0 bytes
 .../icons/haywood/32/organization_unit.gif      |  Bin 838 -> 0 bytes
 .../images/icons/haywood/32/permission.gif      |  Bin 1592 -> 0 bytes
 .../images/icons/haywood/32/product.gif         |  Bin 1552 -> 0 bytes
 .../images/icons/haywood/32/product_group.gif   |  Bin 1492 -> 0 bytes
 .../resources/images/icons/haywood/32/role.gif  |  Bin 1672 -> 0 bytes
 .../images/icons/haywood/32/skyscraper.gif      |  Bin 1408 -> 0 bytes
 .../images/icons/haywood/32/telephone.gif       |  Bin 1357 -> 0 bytes
 .../images/icons/haywood/32/transaction.gif     |  Bin 1422 -> 0 bytes
 .../resources/images/icons/haywood/LICENSE.txt  |    4 -
 .../src/site/resources/images/icons/nogl.zip    |  Bin 24576 -> 0 bytes
 .../resources/images/icons/nogl/32/Aircraft.gif |  Bin 133 -> 0 bytes
 .../images/icons/nogl/32/Audiotape.gif          |  Bin 327 -> 0 bytes
 .../resources/images/icons/nogl/32/Bargraph.gif |  Bin 157 -> 0 bytes
 .../resources/images/icons/nogl/32/Basket.gif   |  Bin 1160 -> 0 bytes
 .../site/resources/images/icons/nogl/32/Bed.gif |  Bin 273 -> 0 bytes
 .../images/icons/nogl/32/CallCentreAgent.gif    |  Bin 275 -> 0 bytes
 .../site/resources/images/icons/nogl/32/Can.gif |  Bin 1124 -> 0 bytes
 .../site/resources/images/icons/nogl/32/Car.gif |  Bin 346 -> 0 bytes
 .../resources/images/icons/nogl/32/Cheque.gif   |  Bin 299 -> 0 bytes
 .../images/icons/nogl/32/ChessPiece.gif         |  Bin 336 -> 0 bytes
 .../resources/images/icons/nogl/32/City.gif     |  Bin 363 -> 0 bytes
 .../resources/images/icons/nogl/32/Coins.gif    |  Bin 1106 -> 0 bytes
 .../images/icons/nogl/32/CreditCard.gif         |  Bin 951 -> 0 bytes
 .../images/icons/nogl/32/Crosshairs.gif         |  Bin 302 -> 0 bytes
 .../resources/images/icons/nogl/32/Factory.gif  |  Bin 1078 -> 0 bytes
 .../site/resources/images/icons/nogl/32/Fax.gif |  Bin 308 -> 0 bytes
 .../resources/images/icons/nogl/32/Folder.gif   |  Bin 482 -> 0 bytes
 .../resources/images/icons/nogl/32/Globe.gif    |  Bin 1358 -> 0 bytes
 .../resources/images/icons/nogl/32/Hammer.gif   |  Bin 1052 -> 0 bytes
 .../images/icons/nogl/32/Handshake.gif          |  Bin 366 -> 0 bytes
 .../icons/nogl/32/HouseUnderConstruction.gif    |  Bin 1039 -> 0 bytes
 .../images/icons/nogl/32/KnifeFork.gif          |  Bin 165 -> 0 bytes
 .../resources/images/icons/nogl/32/Letter.gif   |  Bin 286 -> 0 bytes
 .../images/icons/nogl/32/LightningFlash.gif     |  Bin 161 -> 0 bytes
 .../site/resources/images/icons/nogl/32/Man.gif |  Bin 266 -> 0 bytes
 .../site/resources/images/icons/nogl/32/Map.gif |  Bin 156 -> 0 bytes
 .../images/icons/nogl/32/MissedTarget.gif       |  Bin 368 -> 0 bytes
 .../resources/images/icons/nogl/32/Missilel.gif |  Bin 313 -> 0 bytes
 .../images/icons/nogl/32/MobilePhone.gif        |  Bin 724 -> 0 bytes
 .../resources/images/icons/nogl/32/Network.gif  |  Bin 983 -> 0 bytes
 .../images/icons/nogl/32/NetworkOn Map32.gif    |  Bin 204 -> 0 bytes
 .../site/resources/images/icons/nogl/32/Pen.gif |  Bin 331 -> 0 bytes
 .../resources/images/icons/nogl/32/Phone.gif    |  Bin 296 -> 0 bytes
 .../images/icons/nogl/32/PiggyBank.gif          |  Bin 306 -> 0 bytes
 .../images/icons/nogl/32/QuestionMark.gif       |  Bin 435 -> 0 bytes
 .../images/icons/nogl/32/RadialPlot.gif         |  Bin 241 -> 0 bytes
 .../images/icons/nogl/32/RoundTable.gif         |  Bin 1130 -> 0 bytes
 .../resources/images/icons/nogl/32/Scales.gif   |  Bin 183 -> 0 bytes
 .../resources/images/icons/nogl/32/Smiley.gif   |  Bin 1277 -> 0 bytes
 .../images/icons/nogl/32/SpeechBubble.gif       |  Bin 290 -> 0 bytes
 .../images/icons/nogl/32/SteeringWheel.gif      |  Bin 372 -> 0 bytes
 .../resources/images/icons/nogl/32/Taxi.gif     |  Bin 156 -> 0 bytes
 .../resources/images/icons/nogl/32/Truck.gif    |  Bin 991 -> 0 bytes
 .../resources/images/icons/nogl/32/Woman.gif    |  Bin 266 -> 0 bytes
 .../resources/images/icons/nogl/LICENSE.txt     |   10 -
 .../src/site/resources/images/icons/tango.zip   |  Bin 561418 -> 0 bytes
 .../icons/tango/16/actions/address-book-new.png |  Bin 796 -> 0 bytes
 .../icons/tango/16/actions/appointment-new.png  |  Bin 897 -> 0 bytes
 .../icons/tango/16/actions/bookmark-new.png     |  Bin 686 -> 0 bytes
 .../icons/tango/16/actions/contact-new.png      |  Bin 628 -> 0 bytes
 .../icons/tango/16/actions/document-new.png     |  Bin 477 -> 0 bytes
 .../icons/tango/16/actions/document-open.png    |  Bin 672 -> 0 bytes
 .../tango/16/actions/document-print-preview.png |  Bin 779 -> 0 bytes
 .../icons/tango/16/actions/document-print.png   |  Bin 544 -> 0 bytes
 .../tango/16/actions/document-properties.png    |  Bin 464 -> 0 bytes
 .../icons/tango/16/actions/document-save-as.png |  Bin 866 -> 0 bytes
 .../icons/tango/16/actions/document-save.png    |  Bin 911 -> 0 bytes
 .../icons/tango/16/actions/edit-clear.png       |  Bin 773 -> 0 bytes
 .../images/icons/tango/16/actions/edit-copy.png |  Bin 498 -> 0 bytes
 .../images/icons/tango/16/actions/edit-cut.png  |  Bin 807 -> 0 bytes
 .../icons/tango/16/actions/edit-delete.png      |  Bin 680 -> 0 bytes
 .../tango/16/actions/edit-find-replace.png      |  Bin 776 -> 0 bytes
 .../images/icons/tango/16/actions/edit-find.png |  Bin 617 -> 0 bytes
 .../icons/tango/16/actions/edit-paste.png       |  Bin 561 -> 0 bytes
 .../images/icons/tango/16/actions/edit-redo.png |  Bin 591 -> 0 bytes
 .../icons/tango/16/actions/edit-select-all.png  |  Bin 441 -> 0 bytes
 .../images/icons/tango/16/actions/edit-undo.png |  Bin 650 -> 0 bytes
 .../icons/tango/16/actions/folder-new.png       |  Bin 635 -> 0 bytes
 .../tango/16/actions/format-indent-less.png     |  Bin 436 -> 0 bytes
 .../tango/16/actions/format-indent-more.png     |  Bin 435 -> 0 bytes
 .../tango/16/actions/format-justify-center.png  |  Bin 330 -> 0 bytes
 .../tango/16/actions/format-justify-fill.png    |  Bin 317 -> 0 bytes
 .../tango/16/actions/format-justify-left.png    |  Bin 324 -> 0 bytes
 .../tango/16/actions/format-justify-right.png   |  Bin 342 -> 0 bytes
 .../icons/tango/16/actions/format-text-bold.png |  Bin 705 -> 0 bytes
 .../tango/16/actions/format-text-italic.png     |  Bin 619 -> 0 bytes
 .../16/actions/format-text-strikethrough.png    |  Bin 611 -> 0 bytes
 .../tango/16/actions/format-text-underline.png  |  Bin 673 -> 0 bytes
 .../images/icons/tango/16/actions/go-bottom.png |  Bin 663 -> 0 bytes
 .../images/icons/tango/16/actions/go-down.png   |  Bin 683 -> 0 bytes
 .../images/icons/tango/16/actions/go-first.png  |  Bin 666 -> 0 bytes
 .../images/icons/tango/16/actions/go-home.png   |  Bin 606 -> 0 bytes
 .../images/icons/tango/16/actions/go-jump.png   |  Bin 723 -> 0 bytes
 .../images/icons/tango/16/actions/go-last.png   |  Bin 685 -> 0 bytes
 .../images/icons/tango/16/actions/go-next.png   |  Bin 676 -> 0 bytes
 .../icons/tango/16/actions/go-previous.png      |  Bin 655 -> 0 bytes
 .../images/icons/tango/16/actions/go-top.png    |  Bin 636 -> 0 bytes
 .../images/icons/tango/16/actions/go-up.png     |  Bin 652 -> 0 bytes
 .../images/icons/tango/16/actions/list-add.png  |  Bin 323 -> 0 bytes
 .../icons/tango/16/actions/list-remove.png      |  Bin 247 -> 0 bytes
 .../icons/tango/16/actions/mail-forward.png     |  Bin 681 -> 0 bytes
 .../icons/tango/16/actions/mail-mark-junk.png   |  Bin 882 -> 0 bytes
 .../tango/16/actions/mail-mark-not-junk.png     |  Bin 756 -> 0 bytes
 .../icons/tango/16/actions/mail-message-new.png |  Bin 619 -> 0 bytes
 .../icons/tango/16/actions/mail-reply-all.png   |  Bin 868 -> 0 bytes
 .../tango/16/actions/mail-reply-sender.png      |  Bin 693 -> 0 bytes
 .../tango/16/actions/mail-send-receive.png      |  Bin 540 -> 0 bytes
 .../icons/tango/16/actions/media-eject.png      |  Bin 628 -> 0 bytes
 .../tango/16/actions/media-playback-pause.png   |  Bin 464 -> 0 bytes
 .../tango/16/actions/media-playback-start.png   |  Bin 660 -> 0 bytes
 .../tango/16/actions/media-playback-stop.png    |  Bin 429 -> 0 bytes
 .../icons/tango/16/actions/media-record.png     |  Bin 653 -> 0 bytes
 .../tango/16/actions/media-seek-backward.png    |  Bin 764 -> 0 bytes
 .../tango/16/actions/media-seek-forward.png     |  Bin 782 -> 0 bytes
 .../tango/16/actions/media-skip-backward.png    |  Bin 770 -> 0 bytes
 .../tango/16/actions/media-skip-forward.png     |  Bin 771 -> 0 bytes
 .../icons/tango/16/actions/process-stop.png     |  Bin 820 -> 0 bytes
 .../tango/16/actions/system-lock-screen.png     |  Bin 764 -> 0 bytes
 .../icons/tango/16/actions/system-log-out.png   |  Bin 799 -> 0 bytes
 .../icons/tango/16/actions/system-search.png    |  Bin 935 -> 0 bytes
 .../icons/tango/16/actions/system-shutdown.png  |  Bin 534 -> 0 bytes
 .../images/icons/tango/16/actions/tab-new.png   |  Bin 514 -> 0 bytes
 .../icons/tango/16/actions/view-fullscreen.png  |  Bin 650 -> 0 bytes
 .../icons/tango/16/actions/view-refresh.png     |  Bin 912 -> 0 bytes
 .../icons/tango/16/actions/window-new.png       |  Bin 583 -> 0 bytes
 .../tango/16/apps/accessories-calculator.png    |  Bin 686 -> 0 bytes
 .../tango/16/apps/accessories-character-map.png |  Bin 558 -> 0 bytes
 .../tango/16/apps/accessories-text-editor.png   |  Bin 574 -> 0 bytes
 .../images/icons/tango/16/apps/help-browser.png |  Bin 932 -> 0 bytes
 .../icons/tango/16/apps/internet-group-chat.png |  Bin 422 -> 0 bytes
 .../icons/tango/16/apps/internet-mail.png       |  Bin 550 -> 0 bytes
 .../tango/16/apps/internet-news-reader.png      |  Bin 474 -> 0 bytes
 .../tango/16/apps/internet-web-browser.png      |  Bin 928 -> 0 bytes
 .../icons/tango/16/apps/office-calendar.png     |  Bin 603 -> 0 bytes
 .../apps/preferences-desktop-accessibility.png  |  Bin 652 -> 0 bytes
 ...preferences-desktop-assistive-technology.png |  Bin 720 -> 0 bytes
 .../tango/16/apps/preferences-desktop-font.png  |  Bin 553 -> 0 bytes
 .../preferences-desktop-keyboard-shortcuts.png  |  Bin 653 -> 0 bytes
 .../16/apps/preferences-desktop-locale.png      |  Bin 452 -> 0 bytes
 .../16/apps/preferences-desktop-multimedia.png  |  Bin 650 -> 0 bytes
 .../apps/preferences-desktop-remote-desktop.png |  Bin 734 -> 0 bytes
 .../16/apps/preferences-desktop-screensaver.png |  Bin 707 -> 0 bytes
 .../tango/16/apps/preferences-desktop-theme.png |  Bin 757 -> 0 bytes
 .../16/apps/preferences-desktop-wallpaper.png   |  Bin 793 -> 0 bytes
 .../apps/preferences-system-network-proxy.png   |  Bin 829 -> 0 bytes
 .../16/apps/preferences-system-session.png      |  Bin 690 -> 0 bytes
 .../16/apps/preferences-system-windows.png      |  Bin 462 -> 0 bytes
 .../icons/tango/16/apps/system-file-manager.png |  Bin 378 -> 0 bytes
 .../icons/tango/16/apps/system-installer.png    |  Bin 665 -> 0 bytes
 .../tango/16/apps/system-software-update.png    |  Bin 964 -> 0 bytes
 .../images/icons/tango/16/apps/system-users.png |  Bin 911 -> 0 bytes
 .../tango/16/apps/utilities-system-monitor.png  |  Bin 611 -> 0 bytes
 .../icons/tango/16/apps/utilities-terminal.png  |  Bin 668 -> 0 bytes
 .../16/categories/applications-accessories.png  |  Bin 937 -> 0 bytes
 .../16/categories/applications-development.png  |  Bin 765 -> 0 bytes
 .../tango/16/categories/applications-games.png  |  Bin 346 -> 0 bytes
 .../16/categories/applications-graphics.png     |  Bin 635 -> 0 bytes
 .../16/categories/applications-internet.png     |  Bin 864 -> 0 bytes
 .../16/categories/applications-multimedia.png   |  Bin 592 -> 0 bytes
 .../tango/16/categories/applications-office.png |  Bin 769 -> 0 bytes
 .../tango/16/categories/applications-other.png  |  Bin 609 -> 0 bytes
 .../tango/16/categories/applications-system.png |  Bin 588 -> 0 bytes
 .../preferences-desktop-peripherals.png         |  Bin 873 -> 0 bytes
 .../tango/16/categories/preferences-desktop.png |  Bin 440 -> 0 bytes
 .../tango/16/categories/preferences-system.png  |  Bin 611 -> 0 bytes
 .../icons/tango/16/devices/audio-card.png       |  Bin 879 -> 0 bytes
 .../tango/16/devices/audio-input-microphone.png |  Bin 703 -> 0 bytes
 .../images/icons/tango/16/devices/battery.png   |  Bin 873 -> 0 bytes
 .../icons/tango/16/devices/camera-photo.png     |  Bin 864 -> 0 bytes
 .../icons/tango/16/devices/camera-video.png     |  Bin 701 -> 0 bytes
 .../images/icons/tango/16/devices/computer.png  |  Bin 725 -> 0 bytes
 .../icons/tango/16/devices/drive-harddisk.png   |  Bin 603 -> 0 bytes
 .../icons/tango/16/devices/drive-optical.png    |  Bin 720 -> 0 bytes
 .../tango/16/devices/drive-removable-media.png  |  Bin 510 -> 0 bytes
 .../icons/tango/16/devices/input-gaming.png     |  Bin 812 -> 0 bytes
 .../icons/tango/16/devices/input-keyboard.png   |  Bin 587 -> 0 bytes
 .../icons/tango/16/devices/input-mouse.png      |  Bin 720 -> 0 bytes
 .../icons/tango/16/devices/media-flash.png      |  Bin 607 -> 0 bytes
 .../icons/tango/16/devices/media-floppy.png     |  Bin 561 -> 0 bytes
 .../icons/tango/16/devices/media-optical.png    |  Bin 931 -> 0 bytes
 .../tango/16/devices/multimedia-player.png      |  Bin 516 -> 0 bytes
 .../icons/tango/16/devices/network-wired.png    |  Bin 699 -> 0 bytes
 .../icons/tango/16/devices/network-wireless.png |  Bin 635 -> 0 bytes
 .../images/icons/tango/16/devices/printer.png   |  Bin 481 -> 0 bytes
 .../icons/tango/16/devices/video-display.png    |  Bin 662 -> 0 bytes
 .../icons/tango/16/emblems/emblem-favorite.png  |  Bin 788 -> 0 bytes
 .../icons/tango/16/emblems/emblem-important.png |  Bin 717 -> 0 bytes
 .../icons/tango/16/emblems/emblem-photos.png    |  Bin 644 -> 0 bytes
 .../icons/tango/16/emblems/emblem-readonly.png  |  Bin 430 -> 0 bytes
 .../tango/16/emblems/emblem-symbolic-link.png   |  Bin 459 -> 0 bytes
 .../icons/tango/16/emblems/emblem-system.png    |  Bin 629 -> 0 bytes
 .../tango/16/emblems/emblem-unreadable.png      |  Bin 669 -> 0 bytes
 .../images/icons/tango/16/emotes/face-angel.png |  Bin 992 -> 0 bytes
 .../icons/tango/16/emotes/face-crying.png       |  Bin 1027 -> 0 bytes
 .../icons/tango/16/emotes/face-devilish.png     |  Bin 1020 -> 0 bytes
 .../icons/tango/16/emotes/face-glasses.png      |  Bin 1008 -> 0 bytes
 .../images/icons/tango/16/emotes/face-grin.png  |  Bin 1016 -> 0 bytes
 .../images/icons/tango/16/emotes/face-kiss.png  |  Bin 919 -> 0 bytes
 .../icons/tango/16/emotes/face-monkey.png       |  Bin 784 -> 0 bytes
 .../images/icons/tango/16/emotes/face-plain.png |  Bin 978 -> 0 bytes
 .../images/icons/tango/16/emotes/face-sad.png   |  Bin 992 -> 0 bytes
 .../icons/tango/16/emotes/face-smile-big.png    |  Bin 1014 -> 0 bytes
 .../images/icons/tango/16/emotes/face-smile.png |  Bin 986 -> 0 bytes
 .../icons/tango/16/emotes/face-surprise.png     |  Bin 984 -> 0 bytes
 .../images/icons/tango/16/emotes/face-wink.png  |  Bin 983 -> 0 bytes
 .../16/mimetypes/application-certificate.png    |  Bin 830 -> 0 bytes
 .../16/mimetypes/application-x-executable.png   |  Bin 560 -> 0 bytes
 .../tango/16/mimetypes/audio-x-generic.png      |  Bin 688 -> 0 bytes
 .../icons/tango/16/mimetypes/font-x-generic.png |  Bin 627 -> 0 bytes
 .../tango/16/mimetypes/image-x-generic.png      |  Bin 558 -> 0 bytes
 .../tango/16/mimetypes/package-x-generic.png    |  Bin 540 -> 0 bytes
 .../icons/tango/16/mimetypes/text-html.png      |  Bin 709 -> 0 bytes
 .../16/mimetypes/text-x-generic-template.png    |  Bin 446 -> 0 bytes
 .../icons/tango/16/mimetypes/text-x-generic.png |  Bin 333 -> 0 bytes
 .../icons/tango/16/mimetypes/text-x-script.png  |  Bin 516 -> 0 bytes
 .../tango/16/mimetypes/video-x-generic.png      |  Bin 823 -> 0 bytes
 .../16/mimetypes/x-office-address-book.png      |  Bin 753 -> 0 bytes
 .../tango/16/mimetypes/x-office-calendar.png    |  Bin 604 -> 0 bytes
 .../16/mimetypes/x-office-document-template.png |  Bin 628 -> 0 bytes
 .../tango/16/mimetypes/x-office-document.png    |  Bin 392 -> 0 bytes
 .../16/mimetypes/x-office-drawing-template.png  |  Bin 782 -> 0 bytes
 .../tango/16/mimetypes/x-office-drawing.png     |  Bin 541 -> 0 bytes
 .../x-office-presentation-template.png          |  Bin 710 -> 0 bytes
 .../16/mimetypes/x-office-presentation.png      |  Bin 567 -> 0 bytes
 .../mimetypes/x-office-spreadsheet-template.png |  Bin 780 -> 0 bytes
 .../tango/16/mimetypes/x-office-spreadsheet.png |  Bin 704 -> 0 bytes
 .../icons/tango/16/places/folder-remote.png     |  Bin 697 -> 0 bytes
 .../tango/16/places/folder-saved-search.png     |  Bin 711 -> 0 bytes
 .../images/icons/tango/16/places/folder.png     |  Bin 581 -> 0 bytes
 .../icons/tango/16/places/network-server.png    |  Bin 642 -> 0 bytes
 .../icons/tango/16/places/network-workgroup.png |  Bin 517 -> 0 bytes
 .../images/icons/tango/16/places/start-here.png |  Bin 658 -> 0 bytes
 .../icons/tango/16/places/user-desktop.png      |  Bin 722 -> 0 bytes
 .../images/icons/tango/16/places/user-home.png  |  Bin 679 -> 0 bytes
 .../images/icons/tango/16/places/user-trash.png |  Bin 655 -> 0 bytes
 .../icons/tango/16/status/audio-volume-high.png |  Bin 685 -> 0 bytes
 .../icons/tango/16/status/audio-volume-low.png  |  Bin 500 -> 0 bytes
 .../tango/16/status/audio-volume-medium.png     |  Bin 592 -> 0 bytes
 .../tango/16/status/audio-volume-muted.png      |  Bin 632 -> 0 bytes
 .../icons/tango/16/status/battery-caution.png   |  Bin 816 -> 0 bytes
 .../icons/tango/16/status/dialog-error.png      |  Bin 653 -> 0 bytes
 .../tango/16/status/dialog-information.png      |  Bin 863 -> 0 bytes
 .../icons/tango/16/status/dialog-warning.png    |  Bin 603 -> 0 bytes
 .../tango/16/status/folder-drag-accept.png      |  Bin 615 -> 0 bytes
 .../icons/tango/16/status/folder-open.png       |  Bin 625 -> 0 bytes
 .../icons/tango/16/status/folder-visiting.png   |  Bin 429 -> 0 bytes
 .../icons/tango/16/status/image-loading.png     |  Bin 481 -> 0 bytes
 .../icons/tango/16/status/image-missing.png     |  Bin 427 -> 0 bytes
 .../icons/tango/16/status/mail-attachment.png   |  Bin 649 -> 0 bytes
 .../icons/tango/16/status/network-error.png     |  Bin 646 -> 0 bytes
 .../icons/tango/16/status/network-idle.png      |  Bin 393 -> 0 bytes
 .../icons/tango/16/status/network-offline.png   |  Bin 470 -> 0 bytes
 .../icons/tango/16/status/network-receive.png   |  Bin 456 -> 0 bytes
 .../16/status/network-transmit-receive.png      |  Bin 408 -> 0 bytes
 .../icons/tango/16/status/network-transmit.png  |  Bin 455 -> 0 bytes
 .../16/status/network-wireless-encrypted.png    |  Bin 681 -> 0 bytes
 .../icons/tango/16/status/printer-error.png     |  Bin 652 -> 0 bytes
 .../16/status/software-update-available.png     |  Bin 740 -> 0 bytes
 .../tango/16/status/software-update-urgent.png  |  Bin 564 -> 0 bytes
 .../icons/tango/16/status/user-trash-full.png   |  Bin 786 -> 0 bytes
 .../tango/16/status/weather-clear-night.png     |  Bin 961 -> 0 bytes
 .../icons/tango/16/status/weather-clear.png     |  Bin 682 -> 0 bytes
 .../16/status/weather-few-clouds-night.png      |  Bin 965 -> 0 bytes
 .../tango/16/status/weather-few-clouds.png      |  Bin 763 -> 0 bytes
 .../icons/tango/16/status/weather-overcast.png  |  Bin 975 -> 0 bytes
 .../tango/16/status/weather-severe-alert.png    |  Bin 977 -> 0 bytes
 .../16/status/weather-showers-scattered.png     |  Bin 1045 -> 0 bytes
 .../icons/tango/16/status/weather-showers.png   |  Bin 959 -> 0 bytes
 .../icons/tango/16/status/weather-snow.png      |  Bin 998 -> 0 bytes
 .../icons/tango/16/status/weather-storm.png     |  Bin 1031 -> 0 bytes
 .../icons/tango/32/actions/address-book-new.png |  Bin 1897 -> 0 bytes
 .../icons/tango/32/actions/appointment-new.png  |  Bin 2399 -> 0 bytes
 .../icons/tango/32/actions/bookmark-new.png     |  Bin 1532 -> 0 bytes
 .../icons/tango/32/actions/contact-new.png      |  Bin 1390 -> 0 bytes
 .../icons/tango/32/actions/document-new.png     |  Bin 1008 -> 0 bytes
 .../icons/tango/32/actions/document-open.png    |  Bin 1550 -> 0 bytes
 .../tango/32/actions/document-print-preview.png |  Bin 1719 -> 0 bytes
 .../icons/tango/32/actions/document-print.png   |  Bin 1013 -> 0 bytes
 .../tango/32/actions/document-properties.png    |  Bin 1115 -> 0 bytes
 .../icons/tango/32/actions/document-save-as.png |  Bin 1837 -> 0 bytes
 .../icons/tango/32/actions/document-save.png    |  Bin 1971 -> 0 bytes
 .../icons/tango/32/actions/edit-clear.png       |  Bin 1682 -> 0 bytes
 .../images/icons/tango/32/actions/edit-copy.png |  Bin 723 -> 0 bytes
 .../images/icons/tango/32/actions/edit-cut.png  |  Bin 2087 -> 0 bytes
 .../icons/tango/32/actions/edit-delete.png      |  Bin 2049 -> 0 bytes
 .../tango/32/actions/edit-find-replace.png      |  Bin 2104 -> 0 bytes
 .../images/icons/tango/32/actions/edit-find.png |  Bin 1636 -> 0 bytes
 .../icons/tango/32/actions/edit-paste.png       |  Bin 1027 -> 0 bytes
 .../images/icons/tango/32/actions/edit-redo.png |  Bin 1502 -> 0 bytes
 .../icons/tango/32/actions/edit-select-all.png  |  Bin 631 -> 0 bytes
 .../images/icons/tango/32/actions/edit-undo.png |  Bin 1601 -> 0 bytes
 .../icons/tango/32/actions/folder-new.png       |  Bin 1399 -> 0 bytes
 .../tango/32/actions/format-indent-less.png     |  Bin 767 -> 0 bytes
 .../tango/32/actions/format-indent-more.png     |  Bin 766 -> 0 bytes
 .../tango/32/actions/format-justify-center.png  |  Bin 526 -> 0 bytes
 .../tango/32/actions/format-justify-fill.png    |  Bin 517 -> 0 bytes
 .../tango/32/actions/format-justify-left.png    |  Bin 515 -> 0 bytes
 .../tango/32/actions/format-justify-right.png   |  Bin 541 -> 0 bytes
 .../icons/tango/32/actions/format-text-bold.png |  Bin 1624 -> 0 bytes
 .../tango/32/actions/format-text-italic.png     |  Bin 1338 -> 0 bytes
 .../32/actions/format-text-strikethrough.png    |  Bin 1445 -> 0 bytes
 .../tango/32/actions/format-text-underline.png  |  Bin 1550 -> 0 bytes
 .../images/icons/tango/32/actions/go-bottom.png |  Bin 1263 -> 0 bytes
 .../images/icons/tango/32/actions/go-down.png   |  Bin 1187 -> 0 bytes
 .../images/icons/tango/32/actions/go-first.png  |  Bin 1331 -> 0 bytes
 .../images/icons/tango/32/actions/go-home.png   |  Bin 1774 -> 0 bytes
 .../images/icons/tango/32/actions/go-jump.png   |  Bin 1491 -> 0 bytes
 .../images/icons/tango/32/actions/go-last.png   |  Bin 1342 -> 0 bytes
 .../images/icons/tango/32/actions/go-next.png   |  Bin 1219 -> 0 bytes
 .../icons/tango/32/actions/go-previous.png      |  Bin 1200 -> 0 bytes
 .../images/icons/tango/32/actions/go-top.png    |  Bin 1293 -> 0 bytes
 .../images/icons/tango/32/actions/go-up.png     |  Bin 1193 -> 0 bytes
 .../images/icons/tango/32/actions/list-add.png  |  Bin 601 -> 0 bytes
 .../icons/tango/32/actions/list-remove.png      |  Bin 317 -> 0 bytes
 .../icons/tango/32/actions/mail-forward.png     |  Bin 1500 -> 0 bytes
 .../icons/tango/32/actions/mail-mark-junk.png   |  Bin 2248 -> 0 bytes
 .../tango/32/actions/mail-mark-not-junk.png     |  Bin 2115 -> 0 bytes
 .../icons/tango/32/actions/mail-message-new.png |  Bin 1605 -> 0 bytes
 .../icons/tango/32/actions/mail-reply-all.png   |  Bin 1946 -> 0 bytes
 .../tango/32/actions/mail-reply-sender.png      |  Bin 1492 -> 0 bytes
 .../tango/32/actions/mail-send-receive.png      |  Bin 2013 -> 0 bytes
 .../icons/tango/32/actions/media-eject.png      |  Bin 987 -> 0 bytes
 .../tango/32/actions/media-playback-pause.png   |  Bin 481 -> 0 bytes
 .../tango/32/actions/media-playback-start.png   |  Bin 1028 -> 0 bytes
 .../tango/32/actions/media-playback-stop.png    |  Bin 571 -> 0 bytes
 .../icons/tango/32/actions/media-record.png     |  Bin 1266 -> 0 bytes
 .../tango/32/actions/media-seek-backward.png    |  Bin 1074 -> 0 bytes
 .../tango/32/actions/media-seek-forward.png     |  Bin 1205 -> 0 bytes
 .../tango/32/actions/media-skip-backward.png    |  Bin 1236 -> 0 bytes
 .../tango/32/actions/media-skip-forward.png     |  Bin 1225 -> 0 bytes
 .../icons/tango/32/actions/process-stop.png     |  Bin 1927 -> 0 bytes
 .../tango/32/actions/system-lock-screen.png     |  Bin 1751 -> 0 bytes
 .../icons/tango/32/actions/system-log-out.png   |  Bin 1725 -> 0 bytes
 .../icons/tango/32/actions/system-search.png    |  Bin 2215 -> 0 bytes
 .../icons/tango/32/actions/system-shutdown.png  |  Bin 1055 -> 0 bytes
 .../images/icons/tango/32/actions/tab-new.png   |  Bin 796 -> 0 bytes
 .../icons/tango/32/actions/view-fullscreen.png  |  Bin 1256 -> 0 bytes
 .../icons/tango/32/actions/view-refresh.png     |  Bin 2024 -> 0 bytes
 .../icons/tango/32/actions/window-new.png       |  Bin 671 -> 0 bytes
 .../tango/32/apps/accessories-calculator.png    |  Bin 1382 -> 0 bytes
 .../tango/32/apps/accessories-character-map.png |  Bin 1206 -> 0 bytes
 .../tango/32/apps/accessories-text-editor.png   |  Bin 1523 -> 0 bytes
 .../images/icons/tango/32/apps/help-browser.png |  Bin 2231 -> 0 bytes
 .../icons/tango/32/apps/internet-group-chat.png |  Bin 783 -> 0 bytes
 .../icons/tango/32/apps/internet-mail.png       |  Bin 1426 -> 0 bytes
 .../tango/32/apps/internet-news-reader.png      |  Bin 1152 -> 0 bytes
 .../tango/32/apps/internet-web-browser.png      |  Bin 2251 -> 0 bytes
 .../icons/tango/32/apps/office-calendar.png     |  Bin 1298 -> 0 bytes
 .../apps/preferences-desktop-accessibility.png  |  Bin 1630 -> 0 bytes
 ...preferences-desktop-assistive-technology.png |  Bin 1835 -> 0 bytes
 .../tango/32/apps/preferences-desktop-font.png  |  Bin 1316 -> 0 bytes
 .../preferences-desktop-keyboard-shortcuts.png  |  Bin 1476 -> 0 bytes
 .../32/apps/preferences-desktop-locale.png      |  Bin 1313 -> 0 bytes
 .../32/apps/preferences-desktop-multimedia.png  |  Bin 2350 -> 0 bytes
 .../apps/preferences-desktop-remote-desktop.png |  Bin 2193 -> 0 bytes
 .../32/apps/preferences-desktop-screensaver.png |  Bin 1878 -> 0 bytes
 .../tango/32/apps/preferences-desktop-theme.png |  Bin 1530 -> 0 bytes
 .../32/apps/preferences-desktop-wallpaper.png   |  Bin 1788 -> 0 bytes
 .../apps/preferences-system-network-proxy.png   |  Bin 2212 -> 0 bytes
 .../32/apps/preferences-system-session.png      |  Bin 1549 -> 0 bytes
 .../32/apps/preferences-system-windows.png      |  Bin 567 -> 0 bytes
 .../icons/tango/32/apps/system-file-manager.png |  Bin 667 -> 0 bytes
 .../icons/tango/32/apps/system-installer.png    |  Bin 1589 -> 0 bytes
 .../tango/32/apps/system-software-update.png    |  Bin 2216 -> 0 bytes
 .../images/icons/tango/32/apps/system-users.png |  Bin 1901 -> 0 bytes
 .../tango/32/apps/utilities-system-monitor.png  |  Bin 1886 -> 0 bytes
 .../icons/tango/32/apps/utilities-terminal.png  |  Bin 1488 -> 0 bytes
 .../32/categories/applications-accessories.png  |  Bin 2223 -> 0 bytes
 .../32/categories/applications-development.png  |  Bin 2174 -> 0 bytes
 .../tango/32/categories/applications-games.png  |  Bin 2125 -> 0 bytes
 .../32/categories/applications-graphics.png     |  Bin 1673 -> 0 bytes
 .../32/categories/applications-internet.png     |  Bin 2464 -> 0 bytes
 .../32/categories/applications-multimedia.png   |  Bin 1797 -> 0 bytes
 .../tango/32/categories/applications-office.png |  Bin 2004 -> 0 bytes
 .../tango/32/categories/applications-other.png  |  Bin 1490 -> 0 bytes
 .../tango/32/categories/applications-system.png |  Bin 2544 -> 0 bytes
 .../preferences-desktop-peripherals.png         |  Bin 2113 -> 0 bytes
 .../tango/32/categories/preferences-desktop.png |  Bin 846 -> 0 bytes
 .../tango/32/categories/preferences-system.png  |  Bin 2129 -> 0 bytes
 .../icons/tango/32/devices/audio-card.png       |  Bin 1985 -> 0 bytes
 .../tango/32/devices/audio-input-microphone.png |  Bin 2105 -> 0 bytes
 .../images/icons/tango/32/devices/battery.png   |  Bin 1421 -> 0 bytes
 .../icons/tango/32/devices/camera-photo.png     |  Bin 1919 -> 0 bytes
 .../icons/tango/32/devices/camera-video.png     |  Bin 1660 -> 0 bytes
 .../images/icons/tango/32/devices/computer.png  |  Bin 1591 -> 0 bytes
 .../icons/tango/32/devices/drive-harddisk.png   |  Bin 1155 -> 0 bytes
 .../icons/tango/32/devices/drive-optical.png    |  Bin 1338 -> 0 bytes
 .../tango/32/devices/drive-removable-media.png  |  Bin 964 -> 0 bytes
 .../icons/tango/32/devices/input-gaming.png     |  Bin 1470 -> 0 bytes
 .../icons/tango/32/devices/input-keyboard.png   |  Bin 1110 -> 0 bytes
 .../icons/tango/32/devices/input-mouse.png      |  Bin 1695 -> 0 bytes
 .../icons/tango/32/devices/media-flash.png      |  Bin 1323 -> 0 bytes
 .../icons/tango/32/devices/media-floppy.png     |  Bin 890 -> 0 bytes
 .../icons/tango/32/devices/media-optical.png    |  Bin 2288 -> 0 bytes
 .../tango/32/devices/multimedia-player.png      |  Bin 1804 -> 0 bytes
 .../icons/tango/32/devices/network-wired.png    |  Bin 1749 -> 0 bytes
 .../icons/tango/32/devices/network-wireless.png |  Bin 1516 -> 0 bytes
 .../images/icons/tango/32/devices/printer.png   |  Bin 917 -> 0 bytes
 .../icons/tango/32/devices/video-display.png    |  Bin 1596 -> 0 bytes
 .../icons/tango/32/emblems/emblem-favorite.png  |  Bin 1552 -> 0 bytes
 .../icons/tango/32/emblems/emblem-important.png |  Bin 1582 -> 0 bytes
 .../icons/tango/32/emblems/emblem-photos.png    |  Bin 1678 -> 0 bytes
 .../icons/tango/32/emblems/emblem-readonly.png  |  Bin 903 -> 0 bytes
 .../tango/32/emblems/emblem-symbolic-link.png   |  Bin 955 -> 0 bytes
 .../icons/tango/32/emblems/emblem-system.png    |  Bin 2240 -> 0 bytes
 .../tango/32/emblems/emblem-unreadable.png      |  Bin 1201 -> 0 bytes
 .../images/icons/tango/32/emotes/face-angel.png |  Bin 1982 -> 0 bytes
 .../icons/tango/32/emotes/face-crying.png       |  Bin 2624 -> 0 bytes
 .../icons/tango/32/emotes/face-devilish.png     |  Bin 2693 -> 0 bytes
 .../icons/tango/32/emotes/face-glasses.png      |  Bin 2774 -> 0 bytes
 .../images/icons/tango/32/emotes/face-grin.png  |  Bin 2610 -> 0 bytes
 .../images/icons/tango/32/emotes/face-kiss.png  |  Bin 1948 -> 0 bytes
 .../icons/tango/32/emotes/face-monkey.png       |  Bin 2184 -> 0 bytes
 .../images/icons/tango/32/emotes/face-plain.png |  Bin 2502 -> 0 bytes
 .../images/icons/tango/32/emotes/face-sad.png   |  Bin 2496 -> 0 bytes
 .../icons/tango/32/emotes/face-smile-big.png    |  Bin 2591 -> 0 bytes
 .../images/icons/tango/32/emotes/face-smile.png |  Bin 2566 -> 0 bytes
 .../icons/tango/32/emotes/face-surprise.png     |  Bin 2493 -> 0 bytes
 .../images/icons/tango/32/emotes/face-wink.png  |  Bin 2564 -> 0 bytes
 .../32/mimetypes/application-certificate.png    |  Bin 1813 -> 0 bytes
 .../32/mimetypes/application-x-executable.png   |  Bin 1675 -> 0 bytes
 .../tango/32/mimetypes/audio-x-generic.png      |  Bin 1486 -> 0 bytes
 .../icons/tango/32/mimetypes/font-x-generic.png |  Bin 1121 -> 0 bytes
 .../tango/32/mimetypes/image-x-generic.png      |  Bin 1163 -> 0 bytes
 .../tango/32/mimetypes/package-x-generic.png    |  Bin 1067 -> 0 bytes
 .../icons/tango/32/mimetypes/text-html.png      |  Bin 1759 -> 0 bytes
 .../32/mimetypes/text-x-generic-template.png    |  Bin 844 -> 0 bytes
 .../icons/tango/32/mimetypes/text-x-generic.png |  Bin 744 -> 0 bytes
 .../icons/tango/32/mimetypes/text-x-script.png  |  Bin 1416 -> 0 bytes
 .../tango/32/mimetypes/video-x-generic.png      |  Bin 2044 -> 0 bytes
 .../32/mimetypes/x-office-address-book.png      |  Bin 1738 -> 0 bytes
 .../tango/32/mimetypes/x-office-calendar.png    |  Bin 1574 -> 0 bytes
 .../32/mimetypes/x-office-document-template.png |  Bin 1558 -> 0 bytes
 .../tango/32/mimetypes/x-office-document.png    |  Bin 902 -> 0 bytes
 .../32/mimetypes/x-office-drawing-template.png  |  Bin 1793 -> 0 bytes
 .../tango/32/mimetypes/x-office-drawing.png     |  Bin 1179 -> 0 bytes
 .../x-office-presentation-template.png          |  Bin 1824 -> 0 bytes
 .../32/mimetypes/x-office-presentation.png      |  Bin 1350 -> 0 bytes
 .../mimetypes/x-office-spreadsheet-template.png |  Bin 1896 -> 0 bytes
 .../tango/32/mimetypes/x-office-spreadsheet.png |  Bin 1518 -> 0 bytes
 .../icons/tango/32/places/folder-remote.png     |  Bin 1446 -> 0 bytes
 .../tango/32/places/folder-saved-search.png     |  Bin 1417 -> 0 bytes
 .../images/icons/tango/32/places/folder.png     |  Bin 1176 -> 0 bytes
 .../icons/tango/32/places/network-server.png    |  Bin 847 -> 0 bytes
 .../icons/tango/32/places/network-workgroup.png |  Bin 1238 -> 0 bytes
 .../images/icons/tango/32/places/start-here.png |  Bin 1394 -> 0 bytes
 .../icons/tango/32/places/user-desktop.png      |  Bin 910 -> 0 bytes
 .../images/icons/tango/32/places/user-home.png  |  Bin 1416 -> 0 bytes
 .../images/icons/tango/32/places/user-trash.png |  Bin 1788 -> 0 bytes
 .../icons/tango/32/status/audio-volume-high.png |  Bin 2041 -> 0 bytes
 .../icons/tango/32/status/audio-volume-low.png  |  Bin 1712 -> 0 bytes
 .../tango/32/status/audio-volume-medium.png     |  Bin 1854 -> 0 bytes
 .../tango/32/status/audio-volume-muted.png      |  Bin 1789 -> 0 bytes
 .../icons/tango/32/status/battery-caution.png   |  Bin 1736 -> 0 bytes
 .../icons/tango/32/status/dialog-error.png      |  Bin 1645 -> 0 bytes
 .../tango/32/status/dialog-information.png      |  Bin 1910 -> 0 bytes
 .../icons/tango/32/status/dialog-warning.png    |  Bin 1391 -> 0 bytes
 .../tango/32/status/folder-drag-accept.png      |  Bin 1143 -> 0 bytes
 .../icons/tango/32/status/folder-open.png       |  Bin 1184 -> 0 bytes
 .../icons/tango/32/status/folder-visiting.png   |  Bin 772 -> 0 bytes
 .../icons/tango/32/status/image-loading.png     |  Bin 1211 -> 0 bytes
 .../icons/tango/32/status/image-missing.png     |  Bin 1066 -> 0 bytes
 .../icons/tango/32/status/mail-attachment.png   |  Bin 1747 -> 0 bytes
 .../icons/tango/32/status/network-error.png     |  Bin 1652 -> 0 bytes
 .../icons/tango/32/status/network-idle.png      |  Bin 1264 -> 0 bytes
 .../icons/tango/32/status/network-offline.png   |  Bin 1425 -> 0 bytes
 .../icons/tango/32/status/network-receive.png   |  Bin 1405 -> 0 bytes
 .../32/status/network-transmit-receive.png      |  Bin 1293 -> 0 bytes
 .../icons/tango/32/status/network-transmit.png  |  Bin 1411 -> 0 bytes
 .../32/status/network-wireless-encrypted.png    |  Bin 2108 -> 0 bytes
 .../icons/tango/32/status/printer-error.png     |  Bin 1335 -> 0 bytes
 .../32/status/software-update-available.png     |  Bin 1686 -> 0 bytes
 .../tango/32/status/software-update-urgent.png  |  Bin 1390 -> 0 bytes
 .../icons/tango/32/status/user-trash-full.png   |  Bin 2340 -> 0 bytes
 .../tango/32/status/weather-clear-night.png     |  Bin 1291 -> 0 bytes
 .../icons/tango/32/status/weather-clear.png     |  Bin 1762 -> 0 bytes
 .../32/status/weather-few-clouds-night.png      |  Bin 1761 -> 0 bytes
 .../tango/32/status/weather-few-clouds.png      |  Bin 2055 -> 0 bytes
 .../icons/tango/32/status/weather-overcast.png  |  Bin 1600 -> 0 bytes
 .../tango/32/status/weather-severe-alert.png    |  Bin 2040 -> 0 bytes
 .../32/status/weather-showers-scattered.png     |  Bin 2178 -> 0 bytes
 .../icons/tango/32/status/weather-showers.png   |  Bin 2171 -> 0 bytes
 .../icons/tango/32/status/weather-snow.png      |  Bin 2138 -> 0 bytes
 .../icons/tango/32/status/weather-storm.png     |  Bin 2024 -> 0 bytes
 .../resources/images/icons/tango/LICENSE.txt    |   13 -
 .../src/site/resources/images/import-order.png  |  Bin 37257 -> 0 bytes
 mothballed/src/site/resources/images/import.png |  Bin 23102 -> 0 bytes
 .../src/site/resources/images/imported.png      |  Bin 51774 -> 0 bytes
 .../site/resources/images/irc/chrome-chat.png   |  Bin 63155 -> 0 bytes
 .../site/resources/images/irc/chrome-login.png  |  Bin 61279 -> 0 bytes
 .../images/irc/firefox-allinone-chat.png        |  Bin 135849 -> 0 bytes
 .../images/irc/firefox-allinone-login.png       |  Bin 131242 -> 0 bytes
 .../src/site/resources/images/log-on-dnd.png    |  Bin 3750 -> 0 bytes
 .../src/site/resources/images/logging-debug.png |  Bin 1711 -> 0 bytes
 mothballed/src/site/resources/images/logo.png   |  Bin 14150 -> 0 bytes
 .../images/m2eclipse-bunch-of-projects.png      |  Bin 25078 -> 0 bytes
 .../resources/images/m2eclipse-file-import.png  |  Bin 27517 -> 0 bytes
 .../images/m2eclipse-root-directory.png         |  Bin 44816 -> 0 bytes
 .../src/site/resources/images/member-order.png  |  Bin 33118 -> 0 bytes
 .../site/resources/images/nakedobjects-book.jpg |  Bin 18309 -> 0 bytes
 mothballed/src/site/resources/images/oids.png   |  Bin 58740 -> 0 bytes
 mothballed/src/site/resources/images/oids.pptx  |  Bin 80376 -> 0 bytes
 .../site/resources/images/popup-snapshot.png    |  Bin 23298 -> 0 bytes
 .../images/screenshot/action-dialog.png         |  Bin 32140 -> 0 bytes
 .../images/screenshot/action-on-object.png      |  Bin 29034 -> 0 bytes
 .../resources/images/screenshot/html-intro.png  |  Bin 42738 -> 0 bytes
 .../resources/images/screenshot/html-list.png   |  Bin 48666 -> 0 bytes
 .../resources/images/screenshot/open-views.png  |  Bin 29840 -> 0 bytes
 .../images/screenshot/opening-screen.png        |  Bin 19890 -> 0 bytes
 .../resources/images/screenshot/place-order.png |  Bin 47042 -> 0 bytes
 .../images/screenshot/single-object.png         |  Bin 44565 -> 0 bytes
 .../site/resources/images/taxi-copy-dialog.png  |  Bin 66965 -> 0 bytes
 .../src/site/resources/images/taxi-menu.png     |  Bin 65543 -> 0 bytes
 .../src/site/resources/movies/Actions.htm       |   33 -
 .../src/site/resources/movies/Actions.swf       |  Bin 117836 -> 0 bytes
 .../movies/Anatomy of a Naked Object.htm        |   34 -
 .../movies/Anatomy of a Naked Object.swf        |  Bin 203898 -> 0 bytes
 .../movies/Approving claims (DND UI).htm        |   34 -
 .../movies/Approving claims (DND UI).swf        |  Bin 135020 -> 0 bytes
 .../movies/Approving claims (HTML UI).htm       |   34 -
 .../movies/Approving claims (HTML UI).swf       |  Bin 156516 -> 0 bytes
 .../src/site/resources/movies/CB CLI demo.swf   |  Bin 177965 -> 0 bytes
 .../src/site/resources/movies/CB_CLI_demo.htm   |   34 -
 ...ting and submitting a new Claim (DND UI).htm |   34 -
 ...ting and submitting a new Claim (DND UI).swf |  Bin 116950 -> 0 bytes
 ...ing and submitting a new Claim (HTML UI).htm |   34 -
 ...ing and submitting a new Claim (HTML UI).swf |  Bin 114685 -> 0 bytes
 .../src/site/resources/movies/DSFA CB Demo.swf  |  Bin 411489 -> 0 bytes
 .../src/site/resources/movies/DSFA_CB_Demo.htm  |   34 -
 .../Retrieving and viewing a Claim (DND UI).htm |   34 -
 .../Retrieving and viewing a Claim (DND UI).swf |  Bin 69206 -> 0 bytes
 ...Retrieving and viewing a Claim (HTML UI).htm |   34 -
 ...Retrieving and viewing a Claim (HTML UI).swf |  Bin 85483 -> 0 bytes
 .../IntroducingApacheIsis-notes.pdf             |  Bin 1003366 -> 0 bytes
 .../IntroducingApacheIsis-slides.pdf            |  Bin 680038 -> 0 bytes
 .../presentations/IntroducingApacheIsis.odp     |  Bin 1785736 -> 0 bytes
 .../presentations/IntroducingApacheIsis.ppt     |  Bin 2080256 -> 0 bytes
 .../presentations/IntroducingApacheIsis.pptx    |  Bin 1087218 -> 0 bytes
 .../release-notes-0.1.2-incubating.html         |  136 -
 .../release-notes-0.2.0-incubating.html         |  161 -
 .../resources/screencasts/bounded-classes.html  |   43 -
 .../screencasts/example-claims-app.html         |   47 -
 .../resources/screencasts/maven-archetype.html  |   43 -
 .../screencasts/properties-and-choices.html     |   43 -
 .../screencasts/property-business-rules.html    |   43 -
 .../screencasts/youtube-download-and-build.html |   27 -
 .../youtube-importing-into-eclipse.html         |   25 -
 .../screencasts/youtube-setting-up-eclipse.html |   27 -
 ...-setting-up-the-development-environment.html |   27 -
 mothballed/src/site/site.xml                    |  177 -
 .../site/xdoc/TOREVIEW/developer-tutorial.xml   |   50 -
 .../src/site/xdoc/TOREVIEW/expenses-demo.xml    |   91 -
 .../xdoc/TOREVIEW/naked-objects-case-study.xml  |  170 -
 .../xdoc/TOREVIEW/naked-objects-pattern.xml     |   95 -
 .../TOREVIEW/nof-programming-screencasts.xml    |  136 -
 .../site/xdoc/TOREVIEW/nof-tutorial-movies.xml  |   87 -
 mothballed/src/site/xdoc/TOREVIEW/oouis.xml     |   60 -
 .../src/site/xdoc/TOREVIEW/screenshots.xml      |   46 -
 .../src/site/xdoc/naked-objects-books.xml       |  131 -
 mothballed/src/worddoc/IsisCheatSheet.docx      |  Bin 23308 -> 0 bytes
 mothballed/tck/pom.xml                          |  226 -
 mothballed/tck/tck-dom/.gitignore               |   19 -
 mothballed/tck/tck-dom/log4j.properties         |   40 -
 mothballed/tck/tck-dom/pom.xml                  |  137 -
 .../appended-resources/supplemental-models.xml  |    8 -
 .../core/tck/dom/AbstractEntityRepository.java  |   74 -
 .../core/tck/dom/actions/ActionsEntity.java     |   76 -
 .../dom/actions/ActionsEntityRepository.java    |  126 -
 .../core/tck/dom/busrules/BusRulesEntity.java   |  165 -
 .../tck/dom/busrules/BusRulesEntityChild.java   |   55 -
 .../dom/busrules/BusRulesEntityRepository.java  |   68 -
 .../core/tck/dom/claimapp/claims/Approver.java  |   24 -
 .../core/tck/dom/claimapp/claims/Claim.java     |  239 -
 .../core/tck/dom/claimapp/claims/ClaimItem.java |   77 -
 .../dom/claimapp/claims/ClaimRepository.java    |   36 -
 .../claimapp/claims/ClaimRepositoryImpl.java    |   46 -
 .../core/tck/dom/claimapp/claims/Claimant.java  |   26 -
 .../tck/dom/claimapp/employees/Employee.java    |  120 -
 .../claimapp/employees/EmployeeRepository.java  |   32 -
 .../employees/EmployeeRepositoryImpl.java       |   35 -
 .../core/tck/dom/defaults/HiddenRepository.java |   31 -
 .../tck/dom/defaults/WithDefaultsEntity.java    |  112 -
 .../defaults/WithDefaultsEntityRepository.java  |   58 -
 .../apache/isis/core/tck/dom/movies/Movie.java  |   68 -
 .../tck/dom/movies/MovieDomainRepository.java   |   50 -
 .../apache/isis/core/tck/dom/movies/Person.java |   54 -
 .../apache/isis/core/tck/dom/movies/Role.java   |   54 -
 .../apache/isis/core/tck/dom/poly/Empty.java    |   23 -
 .../dom/poly/EmptyEntityWithOwnProperty.java    |   36 -
 .../dom/poly/ReferencingPolyTypesEntity.java    |  110 -
 .../tck/dom/poly/SelfReferencingEntity.java     |   85 -
 .../core/tck/dom/poly/StringBaseEntity.java     |   50 -
 .../core/tck/dom/poly/StringBaseEntitySub.java  |   49 -
 .../tck/dom/poly/StringBaseEntitySubThree.java  |   44 -
 .../tck/dom/poly/StringBaseEntitySubTwo.java    |   48 -
 .../isis/core/tck/dom/poly/Stringable.java      |   24 -
 .../StringableEntityWithOwnDerivedProperty.java |   41 -
 .../poly/StringableEntityWithOwnProperties.java |   71 -
 .../poly/StringableEntityWithOwnProperty.java   |   51 -
 .../core/tck/dom/refs/AggregatedEntity.java     |   47 -
 .../isis/core/tck/dom/refs/BaseEntity.java      |   26 -
 .../tck/dom/refs/BidirWithListChildEntity.java  |   94 -
 .../tck/dom/refs/BidirWithListParentEntity.java |   99 -
 .../BidirWithListParentEntityRepository.java    |   45 -
 .../tck/dom/refs/BidirWithSetChildEntity.java   |   93 -
 .../tck/dom/refs/BidirWithSetParentEntity.java  |  100 -
 .../BidirWithSetParentEntityRepository.java     |   45 -
 .../isis/core/tck/dom/refs/ChildEntity.java     |   88 -
 .../isis/core/tck/dom/refs/ParentEntity.java    |  128 -
 .../tck/dom/refs/ParentEntityRepository.java    |   51 -
 .../core/tck/dom/refs/PolyClassChildEntity.java |   96 -
 .../tck/dom/refs/PolyClassParentEntity.java     |  125 -
 .../refs/PolyClassParentEntityRepository.java   |   52 -
 .../tck/dom/refs/PolyClassSubtype1Entity.java   |   52 -
 .../tck/dom/refs/PolyClassSubtype2Entity.java   |   52 -
 .../tck/dom/refs/PolyClassSubtype3Entity.java   |   53 -
 .../isis/core/tck/dom/refs/PolyInterface.java   |   30 -
 .../dom/refs/PolyInterfaceIdentityStrategy.java |   30 -
 ...lyInterfaceIdentityStrategyParentEntity.java |  129 -
 ...eIdentityStrategyParentEntityRepository.java |   52 -
 ...InterfaceIdentityStrategySubtype1Entity.java |   86 -
 ...InterfaceIdentityStrategySubtype2Entity.java |   86 -
 ...InterfaceIdentityStrategySubtype3Entity.java |   87 -
 .../tck/dom/refs/PolyInterfaceParentEntity.java |  127 -
 .../PolyInterfaceParentEntityRepository.java    |   52 -
 .../dom/refs/PolyInterfaceSubtype1Entity.java   |   86 -
 .../dom/refs/PolyInterfaceSubtype2Entity.java   |   86 -
 .../dom/refs/PolyInterfaceSubtype3Entity.java   |   87 -
 .../core/tck/dom/refs/ReferencingEntity.java    |   95 -
 .../isis/core/tck/dom/refs/SimpleEntity.java    |  104 -
 .../core/tck/dom/refs/UnidirFkChildEntity.java  |   52 -
 .../core/tck/dom/refs/UnidirFkParentEntity.java |  101 -
 .../refs/UnidirFkParentEntityRepository.java    |   45 -
 .../tck/dom/refs/UnidirJoinChildEntity.java     |   52 -
 .../tck/dom/refs/UnidirJoinParentEntity.java    |  103 -
 .../refs/UnidirJoinParentEntityRepository.java  |   45 -
 .../tck/dom/refs/UnidirReferencedEntity.java    |   52 -
 .../refs/UnidirReferencedEntityRepository.java  |   45 -
 .../tck/dom/refs/UnidirReferencingEntity.java   |   66 -
 .../refs/UnidirReferencingEntityRepository.java |   45 -
 .../tck/dom/scalars/ApplibValuedEntity.java     |  267 -
 .../scalars/ApplibValuedEntityRepository.java   |   45 -
 .../tck/dom/scalars/AutoAssignedEntity.java     |   53 -
 .../scalars/AutoAssignedEntityRepository.java   |   43 -
 .../tck/dom/scalars/DateTimeValuedEntity.java   |  171 -
 .../scalars/DateTimeValuedEntityRepository.java |   44 -
 .../core/tck/dom/scalars/JdkValuedEntity.java   |  201 -
 .../dom/scalars/JdkValuedEntityRepository.java  |   46 -
 .../core/tck/dom/scalars/JodaValuedEntity.java  |  126 -
 .../dom/scalars/JodaValuedEntityRepository.java |   46 -
 .../isis/core/tck/dom/scalars/MyEnum.java       |   29 -
 .../tck/dom/scalars/PrimitiveValuedEntity.java  |  214 -
 .../PrimitiveValuedEntityRepository.java        |   43 -
 .../tck/dom/scalars/WrapperValuedEntity.java    |  229 -
 .../scalars/WrapperValuedEntityRepository.java  |   46 -
 .../dom/sqlos/SqlDomainObjectRepository.java    |  175 -
 .../core/tck/dom/sqlos/data/SimpleClass.java    |   61 -
 .../core/tck/dom/sqlos/data/SimpleClassTwo.java |   75 -
 .../core/tck/dom/sqlos/data/SqlDataClass.java   |  338 -
 .../tck/dom/viewmodels/SimpleViewModel.java     |   61 -
 .../apache/isis/core/tck/dom/xmlos/Person.java  |   27 -
 .../apache/isis/core/tck/dom/xmlos/Role.java    |   53 -
 .../apache/isis/core/tck/dom/xmlos/Team.java    |   27 -
 .../tck/dom/xmlos/TeamDomainRepository.java     |   50 -
 .../src/main/resources/images/ToDoItem.gif      |  Bin 1592 -> 0 bytes
 mothballed/tck/tck-fixture/pom.xml              |   38 -
 .../core/tck/fixture/LogonAsSvenFixture.java    |   30 -
 .../fixture/actions/ActionsEntityFixture.java   |   52 -
 .../fixture/busrules/BusRulesEntityFixture.java |   50 -
 .../defaults/WithDefaultsEntityFixture.java     |   50 -
 .../tck/fixture/refs/ParentEntitiesFixture.java |   50 -
 .../scalars/ApplibValuedEntityFixture.java      |   47 -
 .../scalars/DateTimeValuedEntityFixture.java    |   47 -
 .../fixture/scalars/JdkValuedEntityFixture.java |   81 -
 .../scalars/JodaValuedEntityFixture.java        |   55 -
 .../scalars/PrimitiveValuedEntityFixture.java   |   56 -
 .../scalars/WrapperValuedEntityFixture.java     |   57 -
 mothballed/tck/tck-integtests/lib/.gitignore    |   24 -
 mothballed/tck/tck-integtests/pom.xml           |  116 -
 .../IsisSystemWithFixtures.java                 |  674 --
 .../IsisSystemWithFixturesTest_basicTest.java   |   47 -
 .../integtestsupport/legacy/AbstractTest.java   |  140 -
 .../legacy/DefaultAndChoicesTest.java           |   42 -
 .../legacy/InteractionListenerTest.java         |   54 -
 .../legacy/MemberDisabledTest.java              |  132 -
 .../legacy/MemberHiddenTest.java                |  356 -
 .../legacy/MemberInvalidTest.java               |  255 -
 .../legacy/MemberModifyTest.java                |  223 -
 .../integtestsupport/legacy/MemberReadTest.java |   93 -
 .../legacy/ObjectImmutableTest.java             |   87 -
 .../legacy/SaveObjectsTest.java                 |  113 -
 .../core/integtestsupport/legacy/TitleTest.java |   33 -
 .../integtestsupport/legacy/ViewObjectTest.java |   91 -
 .../legacy/sample/domain/Country.java           |  155 -
 .../legacy/sample/domain/Customer.java          |  889 --
 .../legacy/sample/domain/Order.java             |  185 -
 .../legacy/sample/domain/Product.java           |  186 -
 .../sample/fixtures/CountriesFixture.java       |   65 -
 .../sample/fixtures/CustomerOrdersFixture.java  |  107 -
 .../sample/fixtures/CustomersFixture.java       |   89 -
 .../sample/fixtures/JoeBloggsFixture.java       |   30 -
 .../legacy/sample/fixtures/ProductsFixture.java |   73 -
 .../sample/service/CountryRepository.java       |   81 -
 .../sample/service/CustomerRepository.java      |  117 -
 .../legacy/sample/service/OrderRepository.java  |   68 -
 .../sample/service/ProductRepository.java       |  104 -
 .../PersistorSessionHydratorTest.java           |  122 -
 .../persistence/RuntimeTestPojo.java            |   52 -
 .../tck/ObjectStoreContractTest_persist.java    |  176 -
 .../InMemoryObjectStoreTest_debug.java          |   78 -
 .../InMemoryObjectStoreTest_init.java           |   44 -
 .../InMemoryObjectStoreTest_name.java           |   41 -
 .../InMemoryObjectStoreTest_openAndClose.java   |  119 -
 .../InMemoryObjectStoreTest_persist.java        |   37 -
 ...MemoryObjectStoreTest_persistAggregated.java |   55 -
 .../InMemoryObjectStoreTest_reset.java          |   80 -
 .../InMemoryObjectStoreTest_retrieve.java       |  166 -
 ...InMemoryObjectStoreTest_serviceRegistry.java |  113 -
 .../ObjectFixtureFilePersistorTest.java         |  222 -
 .../ObjectFixtureServiceTest_loadFile.java      |   88 -
 ...xtureServiceTest_loadFile_nothingExists.java |   73 -
 .../ObjectFixtureServiceTest_save.java          |   84 -
 .../isis/core/runtime/memento/MementoTest.java  |  221 -
 .../core/runtime/memento/MementoTest_data.java  |   93 -
 .../memento/MementoTest_encodedData.java        |   80 -
 ...rsistenceMechanismInstallerTest_getName.java |   46 -
 ...sistenceMechanismInstallerTest_services.java |   62 -
 .../isis/objectstore/jdo/datanucleus/Utils.java |  124 -
 .../spi/JdoObjectIdSerializerTest.java          |  150 -
 .../adaptermanager/Persistence_lazyLoading.java |   84 -
 .../adaptermanager/Persistence_loadObject.java  |  102 -
 .../Persistence_persistentAdapterFor.java       |  115 -
 ...Persistence_persist_bidirWithListParent.java |   86 -
 .../Persistence_persist_bidirWithSetParent.java |  127 -
 .../refs/Persistence_persist_polyclass.java     |   94 -
 .../refs/Persistence_persist_polyinter.java     |   95 -
 ...tence_persist_polyinterIdentityStrategy.java |   94 -
 .../refs/Persistence_persist_referencing.java   |  133 -
 .../refs/Persistence_persist_unidir.java        |  128 -
 .../refs/Persistence_persist_unidirJoin.java    |  128 -
 ...Persistence_update_using_domMethodCalls.java |  108 -
 .../scalar/Persistence_allInstances.java        |   86 -
 .../scalar/Persistence_bounceSystem.java        |   44 -
 .../scalar/Persistence_findInstance.java        |   67 -
 .../scalar/Persistence_namedQuery_all.java      |  108 -
 .../Persistence_namedQuery_firstOnly.java       |  112 -
 ...nce_persistAndUpdate_applibValuedEntity.java |   92 -
 ...stence_persistAndUpdate_jdkValuedEntity.java |  117 -
 ...istence_persistAndUpdate_objectAdapters.java |  112 -
 ..._persistAndUpdate_primitiveValuedEntity.java |  119 -
 ...ce_persistAndUpdate_wrapperValuedEntity.java |  118 -
 ...nce_persist_dataStoreAssignedPrimaryKey.java |   59 -
 .../README-testcases.md                         |   80 -
 .../eclipse/launch/viewer-restful-tck.launch    |   19 -
 .../tck/tck-viewer-restfulobjects/pom.xml       |  119 -
 .../isis/viewer/restfulobjects/tck/Dummy.java   |   24 -
 .../src/main/webapp/WEB-INF/isis.properties     |   42 -
 .../src/main/webapp/WEB-INF/logging.properties  |   30 -
 .../src/main/webapp/WEB-INF/web.xml             |  141 -
 .../restfulobjects/tck/IsisWebServerRule.java   |   83 -
 .../restfulobjects/tck/RelTest_matches.java     |   50 -
 .../restfulobjects/tck/RestfulMatchers.java     |  660 --
 .../isis/viewer/restfulobjects/tck/Util.java    |  152 -
 .../tck/all/stories/UserStoryTest_TOFIX.java    |   86 -
 .../tck/any/NotAuthorizedTest_TODO.java         |   51 -
 .../AnyResourceTest_serverSideException.java    |   63 -
 .../domainobject/oid/Delete_then_405_bad.java   |   65 -
 ...enDisabledMembers_thenRepresentation_ok.java |   80 -
 ...hemeIsFormal_thenRepresentation_ok_TODO.java |   52 -
 ...hemeIsSimple_thenRepresentation_ok_TODO.java |   52 -
 ...EntityWithActions_thenRepresentation_ok.java |   94 -
 ...ibProperties_thenRepresentation_ok_TODO.java |   80 -
 ...hCollections_thenRepresentation_ok_TODO.java |   74 -
 ...WithJdkProperties_thenRepresentation_ok.java |  160 -
 ...ithJodaProperties_thenRepresentation_ok.java |  122 -
 ...imitiveProperties_thenRepresentation_ok.java |  178 -
 ...WrapperProperties_thenRepresentation_ok.java |  168 -
 ...thenRepresentation_ofTitleIdLinksEtc_ok.java |   98 -
 ...ivenHasIcon_thenRepresentation_ok_TOFIX.java |   84 -
 ...ivenHiddenMembers_thenRepresentation_ok.java |   78 -
 ...enTransient_thenRepresentation_ok_TOFIX.java |   83 -
 ...venViewModel_thenRepresentation_ok_TODO.java |   88 -
 ...Code_andContentType_andContentLength_ok.java |   88 -
 ...Get_thenResponseHeaders_CacheControl_ok.java |   93 -
 .../Get_thenResponseHeaders_eTag_ok_TODO.java   |   23 -
 .../oid/Get_whenDoesntExistOid_then_404.java    |   86 -
 .../oid/Get_whenQueryArg_xRoDomainModel_ok.java |   69 -
 ...Get_whenQueryArg_xRoFollowLinks_ok_TODO.java |   23 -
 .../oid/Get_whenRequestHeaders_Accept_ok.java   |   78 -
 ...enRequestHeaders_Accept_whenInvalid_406.java |   79 -
 .../tck/domainobject/oid/Post_then_405_bad.java |   65 -
 .../oid/Put_givenDisabled_then_203_TODO.java    |   23 -
 ...Etag_whenIfMatchHeaderDoesMatch_ok_TODO.java |   51 -
 ..._whenIfMatchHeaderDoesNotMatch_bad_TODO.java |   23 -
 ..._givenViewModel_thenRepresentation_TODO.java |   58 -
 .../oid/Put_thenRepresentation_TODO.java        |   57 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   52 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   50 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   52 -
 .../Put_thenResponseHeaders_eTag_ok_TODO.java   |   50 -
 .../domainobject/oid/Put_then_200_ok_TODO.java  |   50 -
 ...refAndLinksToNonExistentEntity_bad_TODO.java |   23 -
 ...dQueryArg_XRoValidateOnly_then_4xx_TODO.java |   23 -
 ...dQueryArg_XRoValidateOnly_then_2xx_TODO.java |   23 -
 ...Put_whenArgMandatoryButMissing_bad_TODO.java |   23 -
 .../oid/Put_whenArgValueIsInvalid_bad_TODO.java |   23 -
 ...henArgsValid_thenMultiplePropertyUpdate.java |  219 -
 .../Put_whenDoesntExistOid_then_404_TODO.java   |   23 -
 .../Delete_givenDisabled_then_203_TODO.java     |   23 -
 ...Etag_whenIfMatchHeaderDoesMatch_ok_TODO.java |   50 -
 ..._whenIfMatchHeaderDoesNotMatch_bad_TODO.java |   23 -
 .../Delete_givenHidden_then_404_TODO.java       |   23 -
 .../Delete_thenRepresentation_ok_TODO.java      |   50 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   52 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   52 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   52 -
 ...Delete_thenResponseHeaders_eTag_ok_TODO.java |   50 -
 .../oid/collection/Delete_then_200_ok_TODO.java |   50 -
 ...refAndLinksToEntityOfWrongType_bad_TODO.java |   23 -
 ...yThatExistsButIsNotInCollection_ok_TODO.java |   23 -
 ...refAndLinksToNonExistentEntity_bad_TODO.java |   23 -
 .../Delete_whenArgIsMalformed_bad_TODO.java     |   23 -
 ...ete_whenArgMandatoryButMissing_bad_TODO.java |   23 -
 ...thenEntityRemovedFromCollection_ok_TODO.java |   50 -
 ...id_andQueryArg_XRoValidateOnly_4xx_TODO.java |   23 -
 .../Delete_whenArgValueIsInvalid_bad_TODO.java  |   23 -
 ...id_andQueryArg_XRoValidateOnly_2xx_TODO.java |   23 -
 ...elete_whenDoesntExistColl_then_404_TODO.java |   23 -
 ...Delete_whenDoesntExistOid_then_404_TODO.java |   23 -
 ...lSchemeIsFormal_thenRepresentation_TODO.java |   51 -
 ...lSchemeIsSimple_thenRepresentation_TODO.java |   51 -
 .../collection/Get_thenRepresentation_ok.java   |  126 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   42 -
 ...et_thenResponseHeaders_ContentLength_ok.java |   63 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   44 -
 .../Get_thenResponseHeaders_eTag_ok_TODO.java   |   23 -
 .../oid/collection/Get_then_200_ok.java         |   60 -
 .../Get_whenArg_then_405_bad_TODO.java          |   23 -
 .../Get_whenDoesntExistColl_then_404.java       |   58 -
 .../Get_whenDoesntExistOid_then_404.java        |   67 -
 .../collection/Get_whenHiddenColl_then_404.java |   58 -
 .../Get_whenQueryArg_xRoDomainModel_ok.java     |   69 -
 ...Get_whenQueryArg_xRoFollowLinks_ok_TODO.java |   23 -
 .../Get_whenRequestHeaders_Accept_ok_TODO.java  |   78 -
 ...uestHeaders_Accept_whenInvalid_406_TODO.java |   23 -
 .../Post_givenDisabled_then_203_TODO.java       |   23 -
 ...n_whenArgIsHrefAndLinksToEntity_ok_TODO.java |   50 -
 ...Etag_whenIfMatchHeaderDoesMatch_ok_TODO.java |   50 -
 ..._whenIfMatchHeaderDoesNotMatch_bad_TODO.java |   23 -
 .../Post_givenHidden_then_404_TODO.java         |   23 -
 ...enHrefArg_thenResponseCode_205_bad_TODO.java |   43 -
 .../Post_thenRepresentation_ok_TODO.java        |   50 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   52 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   52 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   53 -
 .../Post_thenResponseHeaders_eTag_ok_TODO.java  |   50 -
 .../oid/collection/Post_then_200_ok_TODO.java   |   50 -
 ...refAndLinksToEntityOfWrongType_bad_TODO.java |   23 -
 ...refAndLinksToNonExistentEntity_bad_TODO.java |   23 -
 .../Post_whenArgIsMalformed_bad_TODO.java       |   23 -
 ...ost_whenArgMandatoryButMissing_bad_TODO.java |   23 -
 ...lid_thenEntityAddedToCollection_ok_TODO.java |   50 -
 ...id_andQueryArg_XRoValidateOnly_4xx_TODO.java |   23 -
 .../Post_whenArgValueIsInvalid_bad_TODO.java    |   23 -
 ...id_andQueryArg_XRoValidateOnly_2xx_TODO.java |   23 -
 ...esntExistColl_thenResponseCode_404_TODO.java |   23 -
 ...oesntExistOid_thenResponseCode_404_TODO.java |   23 -
 .../Put_givenDisabled_then_403_TODO.java        |   23 -
 ...tion_whenArgsValid_thenNoChange_ok_TODO.java |   23 -
 ...d_thenEntityAddedFromCollection_ok_TODO.java |   50 -
 ...Etag_whenIfMatchHeaderDoesMatch_ok_TODO.java |   50 -
 ..._whenIfMatchHeaderDoesNotMatch_bad_TODO.java |   23 -
 .../Put_givenHidden_then_404_TODO.java          |   23 -
 ...enHrefArg_thenResponseCode_205_bad_TODO.java |   23 -
 .../Put_thenRepresentation_ok_TODO.java         |   50 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   52 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   52 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   52 -
 .../Put_thenResponseHeaders_eTag_ok_TODO.java   |   50 -
 .../oid/collection/Put_then_200_ok_TODO.java    |   50 -
 ...refAndLinksToEntityOfWrongType_bad_TODO.java |   23 -
 ...refAndLinksToNonExistentEntity_bad_TODO.java |   23 -
 .../Put_whenArgIsMalformed_bad_TODO.java        |   23 -
 ...Put_whenArgMandatoryButMissing_bad_TODO.java |   23 -
 ...lid_thenEntityAddedToCollection_ok_TODO.java |   50 -
 ...id_andQueryArg_XRoValidateOnly_4xx_TODO.java |   23 -
 .../Put_whenArgValueIsInvalid_bad_TODO.java     |   23 -
 ...id_andQueryArg_XRoValidateOnly_2xx_TODO.java |   23 -
 .../Put_whenDoesntExistColl_then_404_TODO.java  |   23 -
 .../Put_whenDoesntExistOid_then_404_TODO.java   |   23 -
 .../Delete_givenDisabled_then_203_TODO.java     |   23 -
 ...Etag_whenIfMatchHeaderDoesMatch_ok_TODO.java |   50 -
 ..._whenIfMatchHeaderDoesNotMatch_bad_TODO.java |   23 -
 ...e_givenHidden_thenResponseCode_404_TODO.java |   23 -
 ...venViewModel_thenRepresentation_ok_TODO.java |   50 -
 ...Delete_thenPropertyValueCleared_ok_TODO.java |   50 -
 .../Delete_thenRepresentation_ok_TODO.java      |   50 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   52 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   53 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   52 -
 ...Delete_thenResponseHeaders_eTag_ok_TODO.java |   50 -
 .../oid/property/Delete_then_200_ok_TODO.java   |   50 -
 ...lete_whenArgs_thenResponseCode_4xx_TODO.java |   23 -
 ...Delete_whenDoesntExistOid_then_404_TODO.java |   23 -
 ...elete_whenDoesntExistProp_then_404_TODO.java |   23 -
 ...ivenDisabled_thenRepresentation_ok_TODO.java |   23 -
 ...hemeIsFormal_thenRepresentation_ok_TODO.java |   51 -
 ...hemeIsSimple_thenRepresentation_ok_TODO.java |   51 -
 ...venViewModel_thenRepresentation_ok_TODO.java |   65 -
 .../oid/property/Get_thenRepresentation_ok.java |  124 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   42 -
 ...et_thenResponseHeaders_ContentLength_ok.java |   65 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   42 -
 .../Get_thenResponseHeaders_eTag_ok_TODO.java   |   23 -
 .../oid/property/Get_then_200_ok.java           |   62 -
 .../property/Get_whenArg_then_405_bad_TODO.java |   23 -
 .../Get_whenDoesntExistOid_then_404.java        |   68 -
 .../Get_whenDoesntExistProp_then_404.java       |   72 -
 .../property/Get_whenHiddenProp_then_404.java   |   58 -
 .../Get_whenQueryArg_xRoDomainModel_ok.java     |   69 -
 ...Get_whenQueryArg_xRoFollowLinks_ok_TODO.java |   23 -
 .../Get_whenRequestHeaders_Accept_ok.java       |   78 -
 ...enRequestHeaders_Accept_whenInvalid_406.java |   79 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   43 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   42 -
 ...whenResponseHeaders_ContentType_ok_TODO.java |   42 -
 .../oid/property/Post_then_405_bad.java         |   73 -
 ...givenDisabled_thenResponseCode_203_TODO.java |   23 -
 ...Etag_whenIfMatchHeaderDoesMatch_ok_TODO.java |   50 -
 ..._whenIfMatchHeaderDoesNotMatch_bad_TODO.java |   23 -
 ...venViewModel_thenRepresentation_ok_TODO.java |   50 -
 .../Put_thenRepresentation_ok_TODO.java         |   50 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   52 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   53 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   52 -
 .../Put_thenResponseHeaders_eTag_ok_TODO.java   |   50 -
 .../oid/property/Put_then_200_ok.java           |  103 -
 ...refAndLinksToEntityOfWrongType_bad_TODO.java |   23 -
 ...refAndLinksToNonExistentEntity_bad_TODO.java |   23 -
 .../Put_whenArgIsMalformed_bad_TODO.java        |   23 -
 ...Put_whenArgMandatoryButMissing_bad_TODO.java |   23 -
 ...sPlus_thenStringPropertyUpdated_ok_TODO.java |  103 -
 ..._whenArgValid_thenJdkPropertyUpdated_ok.java |  177 -
 ...lid_thenJodaTimePropertyUpdated_ok_TODO.java |  152 -
 ...rgValid_thenPrimitivePropertyUpdated_ok.java |  143 -
 ...oesntExistOid_thenResponseCode_404_TODO.java |   23 -
 ...esntExistProp_thenResponseCode_404_TODO.java |   23 -
 ...Delete_givenObjectResource_then_405_bad.java |   72 -
 ...elete_givenServiceResource_then_405_bad.java |   74 -
 .../action/Get_givenDisabled_then_403_TODO.java |   23 -
 ...lSchemeIsFormal_thenRepresentation_TODO.java |   50 -
 ...lSchemeIsSimple_thenRepresentation_TODO.java |   50 -
 .../id/action/Get_givenHidden_then_404.java     |   58 -
 ...venViewModel_thenRepresentation_ok_TODO.java |   65 -
 .../id/action/Get_thenRepresentation_ok.java    |  107 -
 .../id/action/Get_thenResponseCode_200_ok.java  |   59 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   43 -
 ...et_thenResponseHeaders_ContentLength_ok.java |   64 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   42 -
 .../Get_thenResponseHeaders_eTag_ok_TODO.java   |   23 -
 .../Get_whenDoesntExistActn_then_404_TODO.java  |   23 -
 .../action/Get_whenDoesntExistOid_then_404.java |   60 -
 .../Get_whenQueryArg_xRoDomainModel_ok.java     |   71 -
 ...Get_whenQueryArg_xRoFollowLinks_ok_TODO.java |   23 -
 ...equestHeaders_Accept_isInvalid_bad_TODO.java |   23 -
 .../Get_whenRequestHeaders_Accept_ok_TODO.java  |   23 -
 .../Post_givenObjectResource_then_405_bad.java  |   72 -
 .../Post_givenServiceResource_then_405_bad.java |   74 -
 .../Put_givenObjectResource_then_405_bad.java   |   72 -
 .../Put_givenServiceResource_then_405_bad.java  |   73 -
 ...enObjectAction_thenResponseCode_405_bad.java |   23 -
 ...nServiceAction_thenResponseCode_405_bad.java |   72 -
 ...dempotent_thenResponseCode_205_bad_TODO.java |  105 -
 ...empotent_thenResponseCode_205_bad_TOFIX.java |  105 -
 .../Get_givenActionSemanticsOfSafe_ok.java      |  108 -
 .../Get_givenDisabled_thenResponseCode_203.java |  112 -
 ...Etag_whenIfMatchHeaderDoesMatch_ok_TODO.java |   23 -
 ..._whenIfMatchHeaderDoesNotMatch_bad_TODO.java |   23 -
 ...enMandatorySimpleArg_whenArgMissing_bad.java |  128 -
 ...MandatorySimpleArg_whenArgNullValue_bad.java |  128 -
 ...ArgsOfEveryType_whenArgsCorrect_ok_TODO.java |   23 -
 ...givenNoArgRequired_whenNoArgProvided_ok.java |  108 -
 ...gs_whenQueryArg_XroValidateOnly_ok_TODO.java |   56 -
 ...t_givenOptionalArg_whenNoArgProvided_ok.java |  159 -
 ...rgIsHrefAndLinksToNonExistentEntity_bad.java |  121 -
 .../Get_givenRefArg_whenArgProvided_ok.java     |  168 -
 ...HrefAndLinksToEntityOfWrongType_ok_TODO.java |   55 -
 ...ArgBigDecimal_whenArgMalformed_bad_TODO.java |   23 -
 ...arArgBigDecimal_whenArgProvided_ok_TODO.java |   23 -
 ...ArgBigInteger_whenArgMalformed_bad_TODO.java |   23 -
 ...arArgBigInteger_whenArgProvided_ok_TODO.java |   23 -
 ...ScalarArgBlob_whenArgMalformed_bad_TODO.java |   23 -
 ...enScalarArgBlob_whenArgProvided_ok_TODO.java |   23 -
 ...larArgBoolean_whenArgMalformed_bad_TODO.java |   23 -
 ...calarArgBoolean_whenArgProvided_ok_TODO.java |   23 -
 ...ScalarArgClob_whenArgMalformed_bad_TODO.java |   23 -
 ...arArgDateTime_whenArgMalformed_bad_TODO.java |   23 -
 ...alarArgDateTime_whenArgProvided_ok_TODO.java |   23 -
 ...ScalarArgDate_whenArgMalformed_bad_TODO.java |   23 -
 ...enScalarArgDate_whenArgProvided_ok_TODO.java |   23 -
 ...larArgDecimal_whenArgMalformed_bad_TODO.java |   23 -
 ...calarArgDecimal_whenArgProvided_ok_TODO.java |   23 -
 ...larArgInteger_whenArgMalformed_bad_TODO.java |  120 -
 ...ivenScalarArgInteger_whenArgProvided_ok.java |  120 -
 ...alarArgString_whenArgMalformed_bad_TODO.java |   23 -
 ...ScalarArgString_whenArgProvided_ok_TODO.java |   23 -
 ...ScalarArgTime_whenArgMalformed_bad_TODO.java |   23 -
 ...enScalarArgTime_whenArgProvided_ok_TODO.java |   23 -
 ...rgUtcMillisec_whenArgMalformed_bad_TODO.java |   23 -
 ...rArgUtcMillisec_whenArgProvided_ok_TODO.java |   23 -
 ...rg_whenArgMalformedMissingValueNode_bad.java |  113 -
 .../Get_givenScalarArg_whenArgSurplus_bad.java  |  130 -
 ...lidationRuleForAllArgs_whenArgFails_bad.java |  125 -
 ...dationRuleForSingleArg_whenArgFails_bad.java |  126 -
 .../invoke/Get_givenViewModel_ok_TODO.java      |   55 -
 ..._thenRepresentation_containsSelfLink_ok.java |  104 -
 ...ype_andContentLength_andRespCode_200_ok.java |  105 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   51 -
 ...d_thenQueryArg_XroValidateOnly_2xx_TODO.java |   55 -
 ...t_whenCreatedNewObject_then_201_ok_TODO.java |   49 -
 ...nErrorThrown_thenRepresentation_ok_TODO.java |   48 -
 ...dQueryArg_XroValidateOnly_then_4xx_TODO.java |   55 -
 .../Get_whenList_thenRepresentation_ok.java     |   92 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   48 -
 ...Null_thenRepr_andRespHeaders_and_200_ok.java |  124 -
 ...whenObject_isNull_thenRepresentation_ok.java |  105 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   48 -
 ...Get_whenQueryArg_xRoFollowLinks_ok_TODO.java |   23 -
 .../Get_whenRequestHeaders_Accept_ok_TODO.java  |   23 -
 ...uestHeaders_Accept_whenInvalid_406_TODO.java |   23 -
 ...t_whenScalar_thenRepresentation_ok_TODO.java |   40 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   48 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   48 -
 ...Get_whenVoid_thenRepresentation_ok_TODO.java |   48 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   41 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   48 -
 ...SemanticsOfIdempotent_then_205_bad_TODO.java |  105 -
 ...ctionSemanticsOfSafe_then_205_bad_TOFIX.java |  105 -
 .../Post_givenViewModel_then_ok_TODO.java       |   71 -
 ...epresentation_doesNotContainSelfLink_ok.java |  111 -
 ...whenInvokeArgWithObjectReference_thenOK.java |  110 -
 .../Post_whenRequestHeaders_Accept_ok_TODO.java |   50 -
 ...uestHeaders_Accept_whenInvalid_406_TODO.java |   23 -
 ...anticsOfNotIdempotent_then_405_bad_TODO.java |  105 -
 ...ActionSemanticsOfSafe_then_405_bad_TODO.java |  105 -
 .../invoke/Put_givenViewModel_then_ok_TODO.java |   62 -
 ...epresentation_doesNotContainSelfLink_ok.java |  110 -
 .../Put_whenRequestHeaders_Accept_ok_TODO.java  |   50 -
 ...uestHeaders_Accept_whenInvalid_406_TODO.java |   23 -
 ...henStringArgsContainsPlusSymbol_then_ok.java |   83 -
 .../invoke/Put_whenStringArgs_then_ok.java      |  111 -
 .../domainservice/root/Delete_then_405_bad.java |   72 -
 ...lSchemeIsFormal_thenRepresentation_TODO.java |   52 -
 ...lSchemeIsSimple_thenRepresentation_TODO.java |   61 -
 .../root/Get_thenRepresentation_ok.java         |  128 -
 ...Get_thenResponseHeaders_CacheControl_ok.java |   68 -
 ...et_thenResponseHeaders_ContentLength_ok.java |   64 -
 .../Get_thenResponseHeaders_ContentType_ok.java |   73 -
 .../Get_whenQueryArg_xRoDomainModel_ok.java     |   68 -
 .../Get_whenQueryArg_xRoFollowLinks_ok.java     |  147 -
 ...equestHeaders_Accept_isInvalid_bad_TODO.java |   23 -
 .../root/Get_whenRequestHeaders_Accept_ok.java  |  105 -
 .../domainservice/root/Post_then_405_bad.java   |   72 -
 .../domainservice/root/Put_then_405_bad.java    |   72 -
 .../serviceId/Delete_then_405_bad.java          |   72 -
 ...lSchemeIsFormal_thenRepresentation_TODO.java |   51 -
 ...lSchemeIsSimple_thenRepresentation_TODO.java |   51 -
 ...iddenMembers_thenRepresentation_ok_TODO.java |   23 -
 .../serviceId/Get_thenRepresentation_ok.java    |  195 -
 ...Get_thenResponseHeaders_CacheControl_ok.java |   63 -
 ...et_thenResponseHeaders_ContentLength_ok.java |   64 -
 .../Get_thenResponseHeaders_ContentType_ok.java |   64 -
 .../Get_thenResponseHeaders_eTag_ok.java        |   65 -
 .../serviceId/Get_then_200_ok.java              |   64 -
 ..._whenDoesntExistId_thenResponseCode_404.java |   60 -
 .../Get_whenQueryArg_xRoDomainModel_ok.java     |   73 -
 .../Get_whenQueryArg_xRoFollowLinks_ok.java     |  161 -
 ...equestHeaders_Accept_isInvalid_bad_TODO.java |   23 -
 .../Get_whenRequestHeaders_Accept_ok.java       |  111 -
 .../serviceId/Post_then_405_bad.java            |   72 -
 .../serviceId/Put_then_405_bad.java             |   76 -
 .../tck/homepage/root/Delete_then_405_bad.java  |   73 -
 ...lSchemeIsFormal_thenRepresentation_TODO.java |   48 -
 ...lSchemeIsSimple_thenRepresentation_TODO.java |   48 -
 .../tck/homepage/root/Post_then_405_bad.java    |   73 -
 .../tck/homepage/root/Put_then_405_bad.java     |   73 -
 .../objectsoftype/Delete_then_405_bad_TODO.java |   23 -
 .../objectsoftype/Get_then_405_bad_TODO.java    |   23 -
 .../tck/objectsoftype/Post_ok_TODO.java         |   45 -
 ...henResponseHeaders_CacheControl_ok_TODO.java |   41 -
 ...enResponseHeaders_ContentLength_ok_TODO.java |   41 -
 ...thenResponseHeaders_ContentType_ok_TODO.java |   41 -
 ...st_thenResponseHeaders_Location_ok_TODO.java |   23 -
 .../Post_thenResponseHeaders_eTag_ok_TODO.java  |   23 -
 .../objectsoftype/Post_then_201_ok_TODO.java    |   23 -
 ...refAndLinksToEntityOfWrongType_bad_TODO.java |   23 -
 ...refAndLinksToNonExistentEntity_bad_TODO.java |   23 -
 .../Post_whenArgsMalformed_bad_TODO.java        |   23 -
 ...st_whenArgsMandatoryButMissing_bad_TODO.java |   23 -
 ...henArgsValid_thenPersistsObject_ok_TODO.java |   23 -
 .../objectsoftype/Put_then_405_bad_TODO.java    |   23 -
 .../tck/user/root/Delete_then_405_bad.java      |   73 -
 ...lSchemeIsFormal_thenRepresentation_TODO.java |   50 -
 ...lSchemeIsSimple_thenRepresentation_TODO.java |   50 -
 .../user/root/Get_thenRepresentation_ok.java    |  106 -
 ...Get_thenResponseHeaders_CacheControl_ok.java |   68 -
 ...et_thenResponseHeaders_ContentLength_ok.java |   64 -
 .../Get_thenResponseHeaders_ContentType_ok.java |   73 -
 .../Get_whenQueryArg_xRoDomainModel_ok.java     |   70 -
 ...rg_xRoFollowLinks_thenRepresentation_ok.java |   89 -
 .../root/Get_whenRequestHeaders_Accept_ok.java  |   78 -
 ...Headers_Accept_whenInvalid_then_406_bad.java |   80 -
 .../tck/user/root/Post_then_405_bad.java        |   72 -
 .../tck/user/root/Put_then_405_bad.java         |   72 -
 .../tck/version/Delete_then_405_bad.java        |   78 -
 ...lSchemeIsFormal_thenRepresentation_TODO.java |   51 -
 ...lSchemeIsSimple_thenRepresentation_TODO.java |   51 -
 .../tck/version/Get_thenRepresentation_ok.java  |  113 -
 ...Get_thenResponseHeaders_CacheControl_ok.java |   71 -
 ...et_thenResponseHeaders_ContentLength_ok.java |   65 -
 .../Get_thenResponseHeaders_ContentType_ok.java |   76 -
 .../Get_whenQueryArg_xRoDomainModel_ok.java     |   71 -
 ...rg_xRoFollowLinks_thenRepresentation_ok.java |   88 -
 .../Get_whenRequestHeaders_Accept_ok.java       |   85 -
 ...Headers_Accept_whenInvalid_then_406_bad.java |   81 -
 .../tck/version/Post_then_405_bad.java          |   71 -
 .../tck/version/Put_then_405_bad.java           |   71 -
 .../ide/eclipse/launch/viewer-wicket-tck.launch |   19 -
 mothballed/tck/tck-viewer-wicket/pom.xml        |  105 -
 .../java/viewer/wicket/app/TckApplication.java  |   41 -
 .../main/java/viewer/wicket/app/application.css |   31 -
 .../src/main/resources/images/Default.png       |  Bin 3016 -> 0 bytes
 .../src/main/webapp/WEB-INF/isis.properties     |   60 -
 .../src/main/webapp/WEB-INF/logging.properties  |   30 -
 .../src/main/webapp/WEB-INF/security_file.allow |   16 -
 .../main/webapp/WEB-INF/security_file.passwords |   20 -
 .../src/main/webapp/WEB-INF/web.xml             |   45 -
 .../src/main/webapp/images/banner.pdn           |  Bin 176237 -> 0 bytes
 .../src/main/webapp/images/banner.png           |  Bin 83060 -> 0 bytes
 3684 files changed, 307293 deletions(-)
----------------------------------------------------------------------



[44/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Results.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Results.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Results.java
deleted file mode 100644
index 2361447..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Results.java
+++ /dev/null
@@ -1,63 +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.objectstore.sql;
-
-import java.io.InputStream;
-import java.sql.Time;
-import java.util.Calendar;
-import java.util.Date;
-
-public interface Results {
-
-    void close();
-
-    int getInt(String columnName);
-
-    long getLong(String columnName);
-
-    double getDouble(String columnName);
-
-    String getString(String columnName);
-
-    Float getFloat(String columnName);
-
-    Object getShort(String columnName);
-
-    Object getBoolean(String columnName);
-
-    boolean next();
-
-    Date getJavaDateOnly(String dateColumn);
-
-    Time getJavaTimeOnly(String timeColumn);
-
-    Date getJavaDateTime(String lastActivityDateColumn, Calendar calendar);
-
-    org.apache.isis.applib.value.Date getDate(String columnName);
-
-    org.apache.isis.applib.value.Time getTime(String columnName);
-
-    Object getObject(String column);
-
-    Object getAsType(String columnName, Class<?> clazz);
-
-    InputStream getStream(String column);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Sql.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Sql.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Sql.java
deleted file mode 100644
index eb26a1f..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Sql.java
+++ /dev/null
@@ -1,108 +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.objectstore.sql;
-
-/**
- * SQL functions, commands, names that are database dependent
- */
-public class Sql {
-    private Sql() {
-    }
-
-    private static SqlMetaData metadata;
-
-    // public static String timestamp = "CURRENT_TIMESTAMP";
-
-    public static void setMetaData(final SqlMetaData metadata) {
-        Sql.metadata = metadata;
-    }
-
-    public static String escapeAndQuoteValue(final String encodedString) {
-        if (encodedString == null || encodedString.equals("NULL")) {
-            return "NULL";
-        }
-        // StringBuffer buffer = new StringBuffer("'");
-        final StringBuffer buffer = new StringBuffer(metadata.getQuoteString());
-        for (int i = 0; i < encodedString.length(); i++) {
-            final char c = encodedString.charAt(i);
-            if (c == '\'') {
-                buffer.append("\\'");
-            } else if (c == '\\') {
-                buffer.append("\\\\");
-            } else {
-                buffer.append(c);
-            }
-        }
-        // buffer.append("'");
-        buffer.append(metadata.getQuoteString());
-        final String string = buffer.toString();
-        return string;
-    }
-
-    public static String sqlName(final String name) {
-        // TODO need to deal with non-ascii (ie unicode characters)
-        return name.replace(' ', '_').toLowerCase();
-
-        /*
-         * int length = name.length(); StringBuffer convertedName = new
-         * StringBuffer(length); for (int i = 0; i < length; i++) { char ch =
-         * name.charAt(i); if (ch == ' ') { i++; //ch = name.charAt(i);
-         * //Character.toUpperCase(ch); ch = '_'; } convertedName.append(ch); }
-         * return convertedName.toString();
-         */
-    }
-
-    public static String sqlFieldName(final String name) {
-        final int length = name.length();
-        final StringBuffer convertedName = new StringBuffer(length);
-        boolean lastWasLowerCase = false;
-        for (int i = 0; i < length; i++) {
-            final char ch = name.charAt(i);
-            if (Character.isUpperCase(ch)) {
-                if (lastWasLowerCase) {
-                    convertedName.append('_');
-                }
-                lastWasLowerCase = false;
-            } else {
-                lastWasLowerCase = true;
-            }
-            convertedName.append(ch);
-        }
-        return sqlName(convertedName.toString());
-    }
-
-    public static String identifier(final String name) {
-        // return metadata.quoteIdentifier(name);
-        return tableIdentifier(name);
-    }
-
-    public static String tableIdentifier(final String name) {
-        if (metadata.isStoresMixedCaseIdentifiers()) {
-            return name;
-        } else if (metadata.isStoresLowerCaseIdentifiers()) {
-            return name.toLowerCase();
-        } else if (metadata.isStoresUpperCaseIdentifiers()) {
-            return name.toUpperCase();
-        } else {
-            throw new SqlObjectStoreException("No case preference set up: " + name);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlExecutionContext.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlExecutionContext.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlExecutionContext.java
deleted file mode 100644
index 63196ab..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlExecutionContext.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.objectstore.sql;
-
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
-import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
-
-public class SqlExecutionContext implements PersistenceCommandContext {
-    private final DatabaseConnector connection;
-
-    public SqlExecutionContext(final DatabaseConnector connection, final IsisTransactionManager transactionManager, final MessageBroker messageBroker, final UpdateNotifier updateNotifier) {
-        this.connection = connection;
-    }
-
-    public DatabaseConnector getConnection() {
-        return connection;
-    }
-
-    @Override
-    public void start() {
-    }
-
-    @Override
-    public void end() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlIdentifierGenerator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlIdentifierGenerator.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlIdentifierGenerator.java
deleted file mode 100644
index f2ef52c..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlIdentifierGenerator.java
+++ /dev/null
@@ -1,148 +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.objectstore.sql;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGenerator;
-
-public class SqlIdentifierGenerator implements IdentifierGenerator {
-    
-    private final DatabaseConnectorPool connectionPool;
-    private final IdNumbers ids = new IdNumbers();
-
-    //////////////////////////////////////////////////////////////////
-    // constructor
-    //////////////////////////////////////////////////////////////////
-
-    public SqlIdentifierGenerator(final DatabaseConnectorPool connectionPool) {
-        this.connectionPool = connectionPool;
-    }
-
-    ///////////////////////////////////////////////////////
-    // API
-    ///////////////////////////////////////////////////////
-    
-    @Override
-    public String createAggregateLocalId(ObjectSpecId objectSpecId, final Object pojo, final ObjectAdapter parentAdapter) {
-        throw new SqlObjectStoreException("Aggregated objects are not supported in this store");
-    }
-
-    @Override
-    public String createTransientIdentifierFor(ObjectSpecId objectSpecId, final Object pojo) {
-        return ""+ids.nextTransientId();
-    }
-
-    @Override
-    public String createPersistentIdentifierFor(ObjectSpecId objectSpecId, Object pojo, RootOid transientRootOid) {
-        Assert.assertNotNull("No connection set up", connectionPool);
-        return "" + (int) ids.nextPersistentId(connectionPool);
-    }
-
-    
-    ///////////////////////////////////////////////////////
-    // Debug
-    ///////////////////////////////////////////////////////
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln(this.toString());
-        debug.indent();
-        ids.debugData(debug);
-        debug.unindent();
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Sql Identifier Generator";
-    }
-}
-
-
-
-class IdNumbers {
-
-    private static final Logger LOG = LoggerFactory.getLogger(IdNumbers.class);
-
-    private static final String NUMBER_COLUMN = "number";
-    private static final String TABLE_NAME = "isis_admin_serial_id";
-    private static int BATCH_SIZE = 50;
-    private long transientNumber = -9999999;
-    private long lastId = 0;
-    private long newBatchAt = 0;
-
-    public synchronized long nextTransientId() {
-        return transientNumber++;
-    }
-
-    public synchronized long nextPersistentId(final DatabaseConnectorPool connectionPool) {
-        if (lastId > newBatchAt) {
-            throw new SqlObjectStoreException("ID exception, last id (" + lastId + ") past new batch boundary (" + newBatchAt + ")");
-        }
-        if (lastId == newBatchAt) {
-            prepareNewBatch(connectionPool);
-        }
-        lastId++;
-        return lastId;
-    }
-
-    private void prepareNewBatch(final DatabaseConnectorPool connectionPool) {
-        final DatabaseConnector db = connectionPool.acquire();
-        try {
-            final String tableName = Sql.tableIdentifier(TABLE_NAME);
-            final String numberColumn = Sql.identifier(NUMBER_COLUMN);
-            if (!db.hasTable(tableName)) {
-                lastId = 1;
-                newBatchAt = BATCH_SIZE;
-                db.update("create table " + tableName + " (" + numberColumn + " INTEGER)");
-                db.update("insert into " + tableName + " values (" + newBatchAt + ")");
-                LOG.debug("Initial ID batch created, from " + lastId + " to " + newBatchAt);
-            } else {
-                if (db.update("update " + tableName + " set " + numberColumn + " = " + numberColumn + " + " + BATCH_SIZE) != 1) {
-                    throw new SqlObjectStoreException("failed to update serial id table; no rows updated");
-                }
-                final Results rs = db.select("select " + numberColumn + " from " + tableName);
-                rs.next();
-                newBatchAt = rs.getLong(NUMBER_COLUMN); // TODO here
-                lastId = newBatchAt - BATCH_SIZE;
-                LOG.debug("New ID batch created, from " + lastId + " to " + newBatchAt);
-                rs.close();
-            }
-        } catch (final ObjectPersistenceException e) {
-            throw e;
-        } finally {
-            connectionPool.release(db);
-        }
-    }
-
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln("id", lastId);
-        debug.appendln("transient id", transientNumber);
-    }
-
-}
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlMetaData.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlMetaData.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlMetaData.java
deleted file mode 100644
index 5e0b718..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlMetaData.java
+++ /dev/null
@@ -1,36 +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.objectstore.sql;
-
-public interface SqlMetaData {
-    String getKeywords();
-
-    String getTimeDateFunctions();
-
-    boolean isStoresLowerCaseIdentifiers();
-
-    boolean isStoresMixedCaseIdentifiers();
-
-    boolean isStoresUpperCaseIdentifiers();
-
-    String getQuoteString();
-
-    String quoteIdentifier(String identifier);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java
deleted file mode 100644
index 98695e6..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java
+++ /dev/null
@@ -1,508 +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.objectstore.sql;
-
-import java.util.List;
-import java.util.Vector;
-
-import com.google.common.collect.Lists;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebugString;
-import org.apache.isis.core.commons.ensure.IsisAssertException;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.CollectionOid;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryBuiltInAbstract;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindAllInstances;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByPattern;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByTitle;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
-import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
-import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
-
-public final class SqlObjectStore implements ObjectStoreSpi {
-
-    private static final String TABLE_NAME = "isis_admin_services";
-    // private static final String ID_COLUMN = "id";
-    // private static final String PRIMARYKEY_COLUMN = "pk_id";
-    public static final String BASE_NAME = "isis.persistor.sql";
-    private static final Logger LOG = LoggerFactory.getLogger(SqlObjectStore.class);
-    private DatabaseConnectorPool connectionPool;
-    private ObjectMappingLookup objectMappingLookup;
-    private boolean isInitialized;
-
-    @Override
-    public String name() {
-        return "SQL Object Store";
-    }
-
-    @Override
-    public void open() {
-        Sql.setMetaData(connectionPool.acquire().getMetaData());
-
-        if (!isInitialized) {
-            Defaults.initialise(BASE_NAME, IsisContext.getConfiguration());
-            Defaults.setPkIdLabel(Sql.identifier(Defaults.getPkIdLabel()));
-            Defaults.setIdColumn(Sql.identifier(Defaults.getIdColumn()));
-        }
-
-        final DebugBuilder debug = new DebugString();
-        connectionPool.debug(debug);
-        LOG.info("Database: " + debug);
-
-        objectMappingLookup.init();
-
-        final DatabaseConnector connector = connectionPool.acquire();
-        final String tableIdentifier = Sql.tableIdentifier(TABLE_NAME);
-        isInitialized = connector.hasColumn(tableIdentifier, Defaults.getPkIdLabel());
-        if (!isInitialized) {
-            if (connector.hasTable(tableIdentifier)) {
-                final StringBuffer sql = new StringBuffer();
-                sql.append("drop table ");
-                sql.append(tableIdentifier);
-                connector.update(sql.toString());
-            }
-            final StringBuffer sql = new StringBuffer();
-            sql.append("create table ");
-            sql.append(tableIdentifier);
-            sql.append(" (");
-            sql.append(Defaults.getPkIdLabel());
-            sql.append(" int, ");
-            sql.append(Defaults.getIdColumn());
-            sql.append(" varchar(255)");
-            sql.append(")");
-            connector.update(sql.toString());
-        }
-    }
-
-    @Override
-    public boolean isFixturesInstalled() {
-        return isInitialized;
-    }
-
-    @Override
-    public void registerService(final RootOid rootOid) {
-        final DatabaseConnector connector = connectionPool.acquire();
-
-        final StringBuffer sql = new StringBuffer();
-        sql.append("insert into ");
-        sql.append(Sql.tableIdentifier(TABLE_NAME));
-        sql.append(" (");
-        sql.append(Defaults.getPkIdLabel());
-        sql.append(", ");
-        sql.append(Defaults.getIdColumn());
-        sql.append(") values (?,?)");
-
-        final RootOidDefault sqlOid = (RootOidDefault) rootOid;
-        connector.addToQueryValues(sqlOid.getIdentifier());
-        connector.addToQueryValues(rootOid.getObjectSpecId().asString());
-
-        connector.insert(sql.toString());
-        connectionPool.release(connector);
-    }
-
-    @Override
-    public void reset() {
-    }
-
-    @Override
-    public void close() {
-        objectMappingLookup.shutdown();
-        connectionPool.shutdown();
-    }
-
-    @Override
-    public void startTransaction() {
-        executeSql(Defaults.START_TRANSACTION());
-    }
-
-    @Override
-    public void abortTransaction() {
-        executeSql(Defaults.ABORT_TRANSACTION());
-    }
-
-    @Override
-    public void endTransaction() {
-        executeSql(Defaults.COMMIT_TRANSACTION());
-    }
-
-    private void executeSql(String sql) {
-        final DatabaseConnector connector = connectionPool.acquire();
-        try {
-            connector.begin();
-            connector.update(sql);
-            connector.commit();
-            // connector.close();
-        } finally {
-            connectionPool.release(connector);
-        }
-    }
-
-    @Override
-    public CreateObjectCommand createCreateObjectCommand(final ObjectAdapter object) {
-        return new CreateObjectCommand() {
-            @Override
-            public void execute(final PersistenceCommandContext context) {
-                final DatabaseConnector connection = ((SqlExecutionContext) context).getConnection();
-                LOG.debug("  create object " + object);
-                final ObjectMapping mapping = objectMappingLookup.getMapping(object, connection);
-                mapping.createObject(connection, object);
-            }
-
-            @Override
-            public ObjectAdapter onAdapter() {
-                return object;
-            }
-
-            @Override
-            public String toString() {
-                return "CreateObjectCommand [object=" + object + "]";
-            }
-        };
-    }
-
-    @Override
-    public DestroyObjectCommand createDestroyObjectCommand(final ObjectAdapter object) {
-        return new DestroyObjectCommand() {
-            @Override
-            public void execute(final PersistenceCommandContext context) {
-                final DatabaseConnector connection = ((SqlExecutionContext) context).getConnection();
-                LOG.debug("  destroy object " + object);
-                final ObjectMapping mapping = objectMappingLookup.getMapping(object, connection);
-                mapping.destroyObject(connection, object);
-            }
-
-            @Override
-            public ObjectAdapter onAdapter() {
-                return object;
-            }
-
-            @Override
-            public String toString() {
-                return "DestroyObjectCommand [object=" + object + "]";
-            }
-        };
-    }
-
-    @Override
-    public SaveObjectCommand createSaveObjectCommand(final ObjectAdapter adapter) {
-        return new SaveObjectCommand() {
-            @Override
-            public void execute(final PersistenceCommandContext context) {
-                final DatabaseConnector connection = ((SqlExecutionContext) context).getConnection();
-                LOG.debug("  save object " + adapter.toString());
-
-                try {
-                    final ObjectSpecification adapterSpec = adapter.getSpecification();
-                    if (!adapterSpec.isParented()) {
-                        saveRootAdapter(adapter, connection);
-                    } else if (adapterSpec.isParentedOrFreeCollection()) {
-                        saveParentedCollectionAdapter(adapter, connection);
-                    } else {
-                        throw new NotYetImplementedException("cannot yet persist aggregated objects: "
-                            + adapter.toString());
-                    }
-                } finally {
-                    connectionPool.release(connection);
-                }
-            }
-
-            private void saveRootAdapter(final ObjectAdapter adapter, final DatabaseConnector connection) {
-                final ObjectMapping mapping = objectMappingLookup.getMapping(adapter, connection);
-                mapping.save(connection, adapter);
-            }
-
-            private void saveParentedCollectionAdapter(final ObjectAdapter collectionAdapter,
-                final DatabaseConnector connection) {
-                final ObjectAdapter parent = collectionAdapter.getAggregateRoot();
-                LOG.debug("change to internal collection being persisted through parent");
-
-                final Oid oid = collectionAdapter.getOid();
-                final CollectionOid collectionOid = (CollectionOid) oid;
-                if (!(oid instanceof CollectionOid)) {
-                    throw new IsisAssertException("object should have a CollectionOid");
-                }
-
-                final ObjectMapping mapping = objectMappingLookup.getMapping(parent, connection);
-                if (!mapping.saveCollection(connection, parent, collectionOid.getName())) {
-                    final ObjectMapping parentMapping = objectMappingLookup.getMapping(parent, connection);
-                    parentMapping.save(connection, collectionAdapter);
-                }
-            }
-
-            @Override
-            public ObjectAdapter onAdapter() {
-                return adapter;
-            }
-
-            @Override
-            public String toString() {
-                return "SaveObjectCommand [object=" + adapter + "]";
-            }
-
-        };
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln("initialised", isInitialized);
-        debug.appendln("connection pool", connectionPool);
-        debug.appendln("Database:");
-        debug.indent();
-        connectionPool.debug(debug);
-        debug.unindent();
-        objectMappingLookup.debugData(debug);
-    }
-
-    @Override
-    public String debugTitle() {
-        return null;
-    }
-
-    @Override
-    public void execute(final List<PersistenceCommand> commands) {
-        final DatabaseConnector connector = connectionPool.acquire();
-        connector.begin();
-
-        final IsisTransactionManager transactionManager = IsisContext.getTransactionManager();
-        final MessageBroker messageBroker = IsisContext.getMessageBroker();
-        final UpdateNotifier updateNotifier = IsisContext.getUpdateNotifier();
-        final SqlExecutionContext context =
-            new SqlExecutionContext(connector, transactionManager, messageBroker, updateNotifier);
-        try {
-            for (final PersistenceCommand command : commands) {
-                command.execute(context);
-            }
-            connector.commit();
-        } catch (final IsisException e) {
-            LOG.warn("Failure during execution", e);
-            connector.rollback();
-            throw e;
-        } finally {
-            connectionPool.release(connector);
-        }
-    }
-
-    public boolean flush(final PersistenceCommand[] commands) {
-        return false;
-    }
-
-    @Override
-    public List<ObjectAdapter> loadInstancesAndAdapt(final PersistenceQuery query) {
-        if (query instanceof PersistenceQueryFindByTitle) {
-            return findByTitle((PersistenceQueryFindByTitle) query, query.getStart(), query.getCount());
-        } else if (query instanceof PersistenceQueryFindAllInstances) {
-            return getAllInstances((PersistenceQueryFindAllInstances) query,  query.getStart(), query.getCount());
-        } else if (query instanceof PersistenceQueryFindByPattern) {
-            return findByPattern((PersistenceQueryFindByPattern) query,  query.getStart(), query.getCount());
-        } else {
-            throw new SqlObjectStoreException("Query type not supported: " + query);
-        }
-    }
-
-    private List<ObjectAdapter> findByPattern(final PersistenceQueryFindByPattern query, final long startIndex, final long rowCount) {
-        final ObjectSpecification specification = query.getSpecification();// query.getPattern().getSpecification();//
-                                                                           // getSpecification();
-        final DatabaseConnector connector = connectionPool.acquire();
-        try {
-            final List<ObjectAdapter> matchingInstances = Lists.newArrayList();
-
-            addSpecQueryInstances(specification, connector, query, matchingInstances, startIndex, rowCount);
-            return matchingInstances;
-
-        } finally {
-            connectionPool.release(connector);
-        }
-    }
-
-    private void addSpecQueryInstances(final ObjectSpecification specification, final DatabaseConnector connector,
-        final PersistenceQueryFindByPattern query, final List<ObjectAdapter> matchingInstances, long startIndex, long rowCount) {
-
-        if (specification.isAbstract() == false) {
-            final ObjectMapping mapper = objectMappingLookup.getMapping(specification, connector);
-            final Vector<ObjectAdapter> instances = mapper.getInstances(connector, specification, query);
-            matchingInstances.addAll(instances);
-
-        }
-        if (specification.hasSubclasses()) {
-            final List<ObjectSpecification> subclasses = specification.subclasses();
-            for (final ObjectSpecification subclassSpec : subclasses) {
-                addSpecQueryInstances(subclassSpec, connector, query, matchingInstances, startIndex, rowCount);
-            }
-        }
-    }
-
-    private List<ObjectAdapter> getAllInstances(final PersistenceQueryBuiltInAbstract criteria, final long startIndex, final long rowCount) {
-        final ObjectSpecification spec = criteria.getSpecification();
-        return allInstances(spec, startIndex, rowCount);
-    }
-
-    private List<ObjectAdapter> allInstances(final ObjectSpecification spec, long startIndex, long rowCount) {
-        final DatabaseConnector connector = connectionPool.acquire();
-        final List<ObjectAdapter> matchingInstances = Lists.newArrayList();
-
-        addSpecInstances(spec, connector, matchingInstances, startIndex, rowCount);
-
-        connectionPool.release(connector);
-        return matchingInstances;
-    }
-
-    private void addSpecInstances(final ObjectSpecification spec, final DatabaseConnector connector,
-        final List<ObjectAdapter> matchingInstances, final long startIndex, final long rowCount) {
-
-        if (!spec.isAbstract()) {
-            final ObjectMapping mapper = objectMappingLookup.getMapping(spec, connector);
-            final List<ObjectAdapter> instances = mapper.getInstances(connector, spec, startIndex, rowCount);
-            matchingInstances.addAll(instances);
-        }
-
-        if (spec.hasSubclasses()) {
-            final List<ObjectSpecification> subclasses = spec.subclasses();
-            for (final ObjectSpecification subclassSpec : subclasses) {
-                addSpecInstances(subclassSpec, connector, matchingInstances, startIndex, rowCount);
-            }
-        }
-
-    }
-
-    private List<ObjectAdapter> findByTitle(final PersistenceQueryFindByTitle criteria, final long startIndex, final long rowCount) {
-        final ObjectSpecification spec = criteria.getSpecification();
-        final DatabaseConnector connector = connectionPool.acquire();
-        final ObjectMapping mapper = objectMappingLookup.getMapping(spec, connector);
-
-        final Vector<ObjectAdapter> instances = mapper.getInstances(connector, spec, criteria.getTitle(), startIndex, rowCount);
-        connectionPool.release(connector);
-
-        return instances;
-    }
-
-    @Override
-    public ObjectAdapter loadInstanceAndAdapt(final TypedOid oid) {
-        final DatabaseConnector connection = connectionPool.acquire();
-        final ObjectSpecification objectSpec = getSpecificationLookup().lookupBySpecId(oid.getObjectSpecId());
-        final ObjectMapping mapper = objectMappingLookup.getMapping(objectSpec, connection);
-        final ObjectAdapter object = mapper.getObject(connection, oid);
-        connectionPool.release(connection);
-        return object;
-    }
-
-    @Override
-    public RootOid getOidForService(ObjectSpecification serviceSpec) {
-
-        final DatabaseConnector connector = connectionPool.acquire();
-        try {
-            final StringBuffer sql = new StringBuffer();
-            sql.append("select ");
-            sql.append(Defaults.getPkIdLabel());
-            sql.append(" from ");
-            sql.append(Sql.tableIdentifier(TABLE_NAME));
-            sql.append(" where ");
-            sql.append(Defaults.getIdColumn());
-            sql.append(" = ?");
-            connector.addToQueryValues(serviceSpec.getSpecId().asString());
-
-            final Results results = connector.select(sql.toString());
-            if (!results.next()) {
-                return null;
-            }
-            final int id = results.getInt(Defaults.getPkIdLabel());
-            return RootOidDefault.create(serviceSpec.getSpecId(), "" + id);
-
-        } finally {
-            connectionPool.release(connector);
-        }
-    }
-
-    @Override
-    public boolean hasInstances(final ObjectSpecification spec) {
-        final DatabaseConnector connection = connectionPool.acquire();
-        final ObjectMapping mapper = objectMappingLookup.getMapping(spec, connection);
-        final boolean hasInstances = mapper.hasInstances(connection, spec);
-        connectionPool.release(connection);
-        return hasInstances;
-    }
-
-    @Override
-    public void resolveField(final ObjectAdapter object, final ObjectAssociation field) {
-        if (field.isOneToManyAssociation()) {
-            final DatabaseConnector connection = connectionPool.acquire();
-            final ObjectSpecification spec = object.getSpecification();
-            final ObjectMapping mapper = objectMappingLookup.getMapping(spec, connection);
-            mapper.resolveCollection(connection, object, field);
-            connectionPool.release(connection);
-        } else {
-            resolveImmediately(field.get(object));
-        }
-    }
-
-    @Override
-    public void resolveImmediately(final ObjectAdapter object) {
-        final DatabaseConnector connector = connectionPool.acquire();
-        final ObjectMapping mapping = objectMappingLookup.getMapping(object, connector);
-        mapping.resolve(connector, object);
-        connectionPool.release(connector);
-    }
-
-    // /////////////////////////////////////////////////////////
-    // Dependencies (injected)
-    // /////////////////////////////////////////////////////////
-
-    public void setConnectionPool(final DatabaseConnectorPool connectionPool) {
-        this.connectionPool = connectionPool;
-    }
-
-    public void setMapperLookup(final ObjectMappingLookup mapperLookup) {
-        this.objectMappingLookup = mapperLookup;
-    }
-
-    // /////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // /////////////////////////////////////////////////////////
-
-    protected AdapterManager getAdapterManager() {
-        return IsisContext.getPersistenceSession().getAdapterManager();
-    }
-
-    protected SpecificationLoader getSpecificationLookup() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStoreException.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStoreException.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStoreException.java
deleted file mode 100644
index d2be600..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStoreException.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.objectstore.sql;
-
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-
-public class SqlObjectStoreException extends ObjectPersistenceException {
-    private static final long serialVersionUID = 1L;
-
-    public SqlObjectStoreException() {
-        super();
-    }
-
-    public SqlObjectStoreException(final String s) {
-        super(s);
-    }
-
-    public SqlObjectStoreException(final String s, final Throwable cause) {
-        super(s, cause);
-    }
-
-    public SqlObjectStoreException(final Throwable cause) {
-        super(cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlPersistorInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlPersistorInstaller.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlPersistorInstaller.java
deleted file mode 100644
index 9fa2090..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlPersistorInstaller.java
+++ /dev/null
@@ -1,88 +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.objectstore.sql;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapterFactory;
-import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract;
-import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.AdapterManagerSpi;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGenerator;
-import org.apache.isis.objectstore.sql.auto.AutoMapperFactory;
-import org.apache.isis.objectstore.sql.jdbc.JdbcConnectorFactory;
-import org.apache.isis.objectstore.sql.jdbc.installer.JdbcFieldMappingFactoryInstaller;
-
-public class SqlPersistorInstaller extends PersistenceMechanismInstallerAbstract {
-
-    public static final String NAME = "sql";
-    
-    private SqlObjectStore objectStore;
-    private DatabaseConnectorPool connectionPool;
-
-    public SqlPersistorInstaller() {
-        super(NAME);
-    }
-
-    @Override
-    protected ObjectStoreSpi createObjectStore(final IsisConfiguration configuration, final ObjectAdapterFactory objectFactory, final AdapterManagerSpi adapterManager) {
-
-        if (objectStore == null) {
-            final FieldMappingLookup fieldMappingLookup = new FieldMappingLookup();
-            final JdbcFieldMappingFactoryInstaller installer = new JdbcFieldMappingFactoryInstaller();
-
-            Defaults.initialise(SqlObjectStore.BASE_NAME, IsisContext.getConfiguration());
-
-            installer.load(fieldMappingLookup);
-            // fieldMappingLookup.setValueMappingFactory(new
-            // JdbcFieldMappingFactoryInstaller());
-
-            final ObjectMappingLookup objectMappingLookup = new ObjectMappingLookup();
-            objectMappingLookup.setValueMappingLookup(fieldMappingLookup);
-            objectMappingLookup.setObjectMappingFactory(new AutoMapperFactory());
-            objectMappingLookup.setConnectionPool(connectionPool);
-
-            final SqlObjectStore objectStore = new SqlObjectStore();
-            objectStore.setMapperLookup(objectMappingLookup);
-            objectStore.setConnectionPool(connectionPool);
-            this.objectStore = objectStore;
-        }
-        return objectStore;
-    }
-
-    public SqlObjectStore getObjectStore() {
-        return objectStore;
-    }
-
-    @Override
-    public IdentifierGenerator createIdentifierGenerator(final IsisConfiguration configuration) {
-        final DatabaseConnectorFactory connectorFactory = new JdbcConnectorFactory();
-        connectionPool = new DatabaseConnectorPool(connectorFactory, 1);
-
-        return new SqlIdentifierGenerator(connectionPool);
-    }
-
-    /*
-     * 
-     * 
-     * @Override protected AdapterManagerExtended createAdapterManager(final
-     * IsisConfiguration configuration) { return new XmlAdapterManager(); }
-     */
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/StoredProcedure.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/StoredProcedure.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/StoredProcedure.java
deleted file mode 100644
index ba02c91..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/StoredProcedure.java
+++ /dev/null
@@ -1,26 +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.objectstore.sql;
-
-public interface StoredProcedure {
-
-    boolean getBoolean(int i);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/TitleMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/TitleMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/TitleMapping.java
deleted file mode 100644
index 65bb24d..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/TitleMapping.java
+++ /dev/null
@@ -1,71 +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.objectstore.sql;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public class TitleMapping {
-    private final String column = Sql.identifier("NO_title");
-
-    protected String getColumn() {
-        return column;
-    }
-
-    public void appendWhereClause(final StringBuffer sql, final String title) {
-        appendAssignment(sql, title);
-    }
-
-    private void appendAssignment(final StringBuffer sql, final String title) {
-        sql.append(column);
-        sql.append(" = ");
-        appendTitle(sql, title);
-    }
-
-    public void appendColumnDefinitions(final StringBuffer sql) {
-        sql.append(column);
-        sql.append(" ");
-        sql.append("varchar(200)");
-    }
-
-    public void appendColumnNames(final StringBuffer sql) {
-        sql.append(column);
-    }
-
-    public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        if (object == null) {
-            sql.append("NULL");
-        } else {
-            connector.addToQueryValues(object.titleString().toLowerCase());
-        }
-        sql.append("?");
-    }
-
-    private void appendTitle(final StringBuffer sql, final String title) {
-        final String titleString = title.toLowerCase();
-        sql.append(Sql.escapeAndQuoteValue(titleString));
-    }
-
-    public void appendUpdateAssignment(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        sql.append(column);
-        sql.append(" = ");
-        appendInsertValues(connector, sql, object);
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/VersionMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/VersionMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/VersionMapping.java
deleted file mode 100644
index 768c485..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/VersionMapping.java
+++ /dev/null
@@ -1,106 +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.objectstore.sql;
-
-import java.sql.Timestamp;
-import java.util.Date;
-
-import org.apache.isis.core.metamodel.adapter.version.SerialNumberVersion;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public class VersionMapping {
-    private String lastActivityDateColumn;
-    private String lastActivityUserColumn;
-    private String versionColumn;
-
-    public void init() {
-        lastActivityDateColumn = Sql.identifier("MODIFIED_ON");
-        lastActivityUserColumn = Sql.identifier("MODIFIED_BY");
-        versionColumn = Sql.identifier("VERSION");
-    }
-
-    public String insertColumns() {
-        return versionColumn + ", " + lastActivityUserColumn + ", " + lastActivityDateColumn;
-    }
-
-    public String insertValues(final DatabaseConnector connector, final Version version) {
-        connector.addToQueryValues(version.getSequence());
-        IsisContext.getSession().getAuthenticationSession().getUserName();
-        String user = IsisContext.getSession().getAuthenticationSession().getUserName();// version.getUser();
-        if (user == "") {
-            user = "unknown";
-        }
-        connector.addToQueryValues(user);
-        connector.addToQueryValues(new Timestamp(new Date().getTime()));
-        return "?,?,?";
-    }
-
-    public String whereClause(final DatabaseConnector connector, final Version version) {
-        connector.addToQueryValues(version.getSequence());
-        return versionColumn + " = ?";
-    }
-
-    public String updateAssigment(final DatabaseConnector connector, final long nextSequence) {
-        connector.addToQueryValues(nextSequence);
-        return versionColumn + " = ?";
-    }
-
-    public String appendColumnNames() {
-        final StringBuffer sql = new StringBuffer();
-        sql.append(versionColumn);
-        sql.append(",");
-        sql.append(lastActivityUserColumn);
-        sql.append(",");
-        sql.append(lastActivityDateColumn);
-        return sql.toString();
-    }
-
-    public String appendColumnDefinitions() {
-        final StringBuffer sql = new StringBuffer();
-
-        sql.append(versionColumn);
-        sql.append(" bigint");
-
-        sql.append(",");
-        sql.append(lastActivityUserColumn);
-        sql.append(" varchar(32)");
-
-        sql.append(",");
-        sql.append(lastActivityDateColumn);
-        sql.append(" " + Defaults.TYPE_TIMESTAMP());
-
-        return sql.toString();
-    }
-
-    public Object appendUpdateValues(final DatabaseConnector connector, final long versionSequence) {
-        connector.addToQueryValues(versionSequence);
-        return versionColumn + "= ?";
-    }
-
-    public Version getLock(final Results rs) {
-        final long number = rs.getLong(versionColumn);
-        final String user = rs.getString(lastActivityUserColumn);
-        final Date time = rs.getJavaDateTime(lastActivityDateColumn, Defaults.getCalendar());
-        final Version version = SerialNumberVersion.create(number, user, time);
-        return version;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java
deleted file mode 100644
index 3586075..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java
+++ /dev/null
@@ -1,357 +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.objectstore.sql.auto;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import com.google.common.collect.Maps;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.objectstore.sql.AbstractMapper;
-import org.apache.isis.objectstore.sql.CollectionMapper;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.ObjectMappingLookup;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.SqlObjectStoreException;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-public abstract class AbstractAutoMapper extends AbstractMapper {
-
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractAutoMapper.class);
-
-    protected final Map<ObjectAssociation, FieldMapping> fieldMappingByField = Maps.newLinkedHashMap();
-
-    protected CollectionMapper collectionMappers[];
-    protected String collectionMapperFields[];
-    protected boolean dbCreatesId;
-
-    protected ObjectSpecification specification;
-    protected String table;
-
-    final String className;
-    final String parameterBase;
-    final FieldMappingLookup lookup;
-    final ObjectMappingLookup objectMappingLookup;
-
-    protected AbstractAutoMapper(final String className, final String parameterBase, final FieldMappingLookup lookup,
-        final ObjectMappingLookup objectMappingLookup) {
-        this.specification = specificationFor(className);
-        this.className = className;
-        this.parameterBase = parameterBase;
-        this.lookup = lookup;
-        this.objectMappingLookup = objectMappingLookup;
-    }
-
-    protected AbstractAutoMapper(final FieldMappingLookup lookup, final AbstractAutoMapper abstractAutoMapper,
-        final String className) {
-
-        this.specification = getSpecificationLoader().loadSpecification(className);
-        this.className = className;
-
-        this.parameterBase = null;
-        this.lookup = null;
-        this.objectMappingLookup = null;
-    }
-
-    private static ObjectSpecification specificationFor(final String className) {
-        ObjectSpecification specification = IsisContext.getSpecificationLoader().loadSpecification(className);
-        List<OneToOneAssociation> properties = specification.getProperties(Contributed.EXCLUDED);
-        if (isNullOrEmpty(properties) && !specification.isAbstract()) {
-            throw new SqlObjectStoreException(specification.getFullIdentifier() + " has no fields: " + specification);
-        }
-        return specification;
-    }
-
-    protected void setUpFieldMappers() {
-        setUpFieldMappers(lookup, objectMappingLookup, className, parameterBase);
-    }
-
-    private void setUpFieldMappers(final FieldMappingLookup lookup, final ObjectMappingLookup objectMappingLookup,
-        final String className, final String parameterBase) {
-        final IsisConfiguration configParameters = getConfiguration();
-        table = configParameters.getString(parameterBase + ".table." + className);
-        if (table == null) {
-            final String name = getTableNameFromSpecification(specification);
-            table = name;
-        } else {
-            table = Sql.tableIdentifier(table);
-        }
-
-        dbCreatesId = configParameters.getBoolean(parameterBase + "db-ids", false);
-        if (configParameters.getBoolean(parameterBase + "all-fields", true)) {
-            setupFullMapping(lookup, objectMappingLookup, className, configParameters, parameterBase);
-        } else {
-            // setupSpecifiedMapping(specification, configParameters,
-            // parameterBase);
-        }
-
-        LOG.info("table mapping: " + table + " (" + columnList(fieldMappingByField) + ")");
-    }
-
-    protected String getTableNameFromSpecification(final ObjectSpecification objectSpecification) {
-        return Sql.tableIdentifier(Sql.sqlName(Defaults.getTablePrefix() + objectSpecification.getShortIdentifier()));
-    }
-
-    protected List<ObjectAssociation> fields = new ArrayList<ObjectAssociation>();
-
-    protected void getExtraFields(final List<ObjectAssociation> fields) {
-    }
-
-    private void setupFullMapping(final FieldMappingLookup lookup, final ObjectMappingLookup objectMapperLookup,
-        final String className, final IsisConfiguration configParameters, final String parameterBase) {
-
-        fields.addAll(specification.getAssociations(Contributed.EXCLUDED));
-
-        int simpleFieldCount = 0;
-        int collectionFieldCount = 0;
-        for (int i = 0; i < fields.size(); i++) {
-            if (fields.get(i).isNotPersisted()) {
-                continue;
-            } else if (fields.get(i).isOneToManyAssociation()) {
-                collectionFieldCount++;
-            } else {
-                simpleFieldCount++;
-            }
-        }
-
-        final ObjectAssociation[] oneToOneProperties = new ObjectAssociation[simpleFieldCount];
-        final ObjectAssociation[] oneToManyProperties = new ObjectAssociation[collectionFieldCount];
-        collectionMappers = new CollectionMapper[collectionFieldCount];
-        collectionMapperFields = new String[collectionFieldCount];
-        final IsisConfiguration subset = getConfiguration().createSubset(parameterBase + ".mapper.");
-
-        for (int i = 0, simpleFieldNo = 0, collectionFieldNo = 0; i < fields.size(); i++) {
-            final ObjectAssociation field = fields.get(i);
-            if (field.isNotPersisted()) {
-                continue;
-            } else if (field.isOneToManyAssociation()) {
-                oneToManyProperties[collectionFieldNo] = field;
-
-                // TODO: Replace "new ForeignKeyCollectionMapper" with a factory
-                // method(?) to allow a different
-                // default CollectionMapper
-
-                // TODO: I think the default order should be changed - and I
-                // think I (KAM) have dropped support for the
-                // original "association-table" implementation. This means the
-                // current checks are misleading.
-                final String type = subset.getString(field.getId());
-                if (type == null || type.equals("association-table")) {
-                    // collectionMappers[collectionFieldNo] = new
-                    // AutoCollectionMapper(specification,
-                    // oneToManyProperties[collectionFieldNo], lookup);
-                    // collectionMappers[collectionFieldNo] = new
-                    // ForeignKeyCollectionMapper(oneToManyProperties[collectionFieldNo],
-                    // parameterBase, lookup,
-                    // objectMapperLookup);
-
-                    CollectionMapper collectionMapper = null;
-
-                    // Trying to detect recursion, here.
-                    // Let ForeignKeyInChildCollectionMapper find itself when a
-                    // field is a collection of the current
-                    // field type.
-                    if (this instanceof ForeignKeyInChildCollectionMapper) {
-                        final ForeignKeyInChildCollectionMapper mc = (ForeignKeyInChildCollectionMapper) this;
-
-                        if (mc.priorField == field) {
-                            collectionMapper = mc;
-                        }
-                    }
-
-                    if (collectionMapper == null) {
-                        // TODO: Polymorphism - is it sufficient for the
-                        // collectionMapper to handle the subclasses?
-                        final ObjectSpecification fieldSpecification = field.getSpecification();
-                        if (fieldSpecification.hasSubclasses() || fieldSpecification.isAbstract()) {
-                            // PolymorphicForeignKeyInChildCollectionBaseMapper
-                            // Or PolymorphicForeignKeyInChildCollectionMapper
-                            collectionMapper =
-                                new PolymorphicForeignKeyInChildCollectionBaseMapper(
-                                    oneToManyProperties[collectionFieldNo], parameterBase, lookup, objectMapperLookup,
-                                    this, field);
-                        } else {
-                            final ForeignKeyInChildCollectionMapper mapper =
-                                new ForeignKeyInChildCollectionMapper(oneToManyProperties[collectionFieldNo],
-                                    parameterBase, lookup, objectMapperLookup, this, field);
-                            mapper.setUpFieldMappers();
-                            collectionMapper = mapper;
-                        }
-                    }
-
-                    collectionMappers[collectionFieldNo] = collectionMapper;
-                    collectionMapperFields[collectionFieldNo] = field.getId();
-
-                } else if (type.equals("fk-table")) {
-                    final String property = parameterBase + field.getId() + ".element-type";
-                    final String elementType = configParameters.getString(property);
-                    if (elementType == null) {
-                        throw new SqlObjectStoreException("Expected property " + property);
-                    }
-                    /*
-                     * collectionMappers[collectionFieldNo] = new ForeignKeyCollectionMapper(elementType,
-                     * oneToManyProperties[collectionFieldNo], parameterBase, lookup, objectMapperLookup);
-                     */
-                } else {
-                    // TODO use other mappers where necessary
-                    throw new NotYetImplementedException("for " + type);
-                }
-
-                collectionFieldNo++;
-            } else if (field.isOneToOneAssociation()) {
-                oneToOneProperties[simpleFieldNo] = field;
-                simpleFieldNo++;
-            } else {
-                oneToOneProperties[simpleFieldNo] = field;
-                simpleFieldNo++;
-            }
-        }
-
-        for (final ObjectAssociation field : oneToOneProperties) {
-            if (fieldMappingByField.containsKey(field)) {
-                continue;
-            }
-            final FieldMapping mapping = lookup.createMapping(specification, field);
-            fieldMappingByField.put(field, mapping);
-        }
-    }
-
-    protected String columnList(final Map<ObjectAssociation, FieldMapping> fieldMappingByField) {
-        return columnList(fieldMappingByField.values());
-    }
-
-    /*
-     * private void setupSpecifiedMapping( final ObjectSpecification specification, final IsisConfiguration
-     * configParameters, final String parameterBase) { IsisConfiguration columnMappings =
-     * IsisContext.getConfiguration().createSubset(parameterBase + "column"); int columnsSize = columnMappings.size();
-     * // columnNames = new String[columnsSize]; oneToOneProperties = new ObjectAssociation[columnsSize];
-     * 
-     * int i = 0; for (Enumeration names = columnMappings.propertyNames(); names.hasMoreElements(); i++) { String
-     * columnName = (String) names.nextElement(); String fieldName = columnMappings.getString(columnName);
-     * oneToOneProperties[i] = specification.getAssociation(fieldName); // columnNames[i] = columnName; }
-     * 
-     * IsisConfiguration collectionMappings = IsisContext.getConfiguration().createSubset( parameterBase +
-     * "collection"); int collectionsSize = collectionMappings.size(); collectionMappers = new
-     * AutoCollectionMapper[collectionsSize]; oneToManyProperties = new ObjectAssociation[collectionsSize];
-     * 
-     * int j = 0; for (Enumeration names = collectionMappings.propertyNames(); names.hasMoreElements(); j++) { String
-     * propertyName = (String) names.nextElement(); String collectionName = collectionMappings.getString(propertyName);
-     * String type = collectionMappings.getString(collectionName);
-     * 
-     * oneToManyProperties[j] = specification.getAssociation(collectionName); if (type.equals("auto")) {
-     * collectionMappers[j] = new AutoCollectionMapper(this, specification, oneToManyProperties[j], getLookup()); } else
-     * { // TODO use other mappers where necessary // new ReversedAutoAssociationMapper(specification, collectionName,
-     * parameterBase);
-     * 
-     * throw new NotYetImplementedException(); } } }
-     */
-    protected String columnList(final Collection<FieldMapping> fieldMappings) {
-        final StringBuffer sql = new StringBuffer();
-        for (final FieldMapping mapping : fieldMappings) {
-            if (sql.length() > 0) {
-                sql.append(",");
-            }
-            mapping.appendColumnNames(sql);
-        }
-        return sql.toString();
-    }
-
-    protected ObjectAdapter getAdapter(final ObjectSpecification spec, final Oid oid) {
-        final ObjectAdapter adapter = getAdapterManager().getAdapterFor(oid);
-        if (adapter != null) {
-            return adapter;
-        }
-
-        // REVIEW: where the oid is a TypedOid, the following two lines could be replaced by
-        // getPersistenceSession().recreatePersistentAdapter(oid)
-        // is preferable, since then reuses the PojoRecreator impl defined within SqlPersistorInstaller
-        final Object recreatedPojo = spec.createObject();
-        return getPersistenceSession().mapRecreatedPojo(oid, recreatedPojo);
-    }
-
-    protected FieldMapping fieldMappingFor(final ObjectAssociation field) {
-        return fieldMappingByField.get(field);
-    }
-
-    @Override
-    public boolean needsTables(final DatabaseConnector connection) {
-        for (int i = 0; collectionMappers != null && i < collectionMappers.length; i++) {
-            if (collectionMappers[i].needsTables(connection)) {
-                return true;
-            }
-        }
-        return !connection.hasTable(table);
-    }
-
-    protected String values(final DatabaseConnector connector, final ObjectAdapter object) {
-        final StringBuffer sql = new StringBuffer();
-        for (final FieldMapping mapping : fieldMappingByField.values()) {
-            mapping.appendInsertValues(connector, sql, object);
-            sql.append(",");
-        }
-        return sql.toString();
-    }
-
-    private static boolean isNullOrEmpty(List<?> list) {
-        return list == null || list.size() == 0;
-    }
-
-    @Override
-    public String toString() {
-        return "AbstractAutoMapper [table=" + table + ",noColumns=" + fieldMappingByField.size() + ",specification="
-            + specification.getFullIdentifier() + "]";
-    }
-
-    protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-    protected IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
-    }
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    protected AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoCollectionMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoCollectionMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoCollectionMapper.java
deleted file mode 100644
index c76cc15..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoCollectionMapper.java
+++ /dev/null
@@ -1,172 +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.objectstore.sql.auto;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.PersistorUtil;
-import org.apache.isis.objectstore.sql.AbstractMapper;
-import org.apache.isis.objectstore.sql.CollectionMapper;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.IdMapping;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.jdbc.JdbcObjectReferenceMapping;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMapping;
-
-public class AutoCollectionMapper extends AbstractMapper implements CollectionMapper {
-    private static final Logger LOG = LoggerFactory.getLogger(AutoCollectionMapper.class);
-    private String tableName;
-    private final ObjectAssociation field;
-    private final ObjectReferenceMapping elementMapping;
-    private final IdMapping idMapping;
-
-    public AutoCollectionMapper(final ObjectSpecification specification, final ObjectAssociation field,
-        final FieldMappingLookup lookup) {
-        this.field = field;
-
-        final ObjectSpecification spec = field.getFacet(TypeOfFacet.class).valueSpec();
-        idMapping = lookup.createIdMapping();
-        elementMapping = lookup.createMapping(spec);
-
-        final String className = specification.getShortIdentifier();
-        final String columnName = field.getId();
-        tableName = Sql.sqlName(className) + "_" + asSqlName(columnName);
-        tableName = Sql.identifier(tableName);
-    }
-
-    @Override
-    public void createTables(final DatabaseConnector connector) {
-        if (!connector.hasTable(tableName)) {
-            final StringBuffer sql = new StringBuffer();
-            sql.append("create table ");
-            sql.append(tableName);
-            sql.append(" (");
-
-            idMapping.appendColumnDefinitions(sql);
-            sql.append(", ");
-            elementMapping.appendColumnDefinitions(sql);
-
-            sql.append(")");
-
-            connector.update(sql.toString());
-        }
-    }
-
-    @Override
-    public void loadInternalCollection(final DatabaseConnector connector, final ObjectAdapter parentAdapter) {
-        final ObjectAdapter collectionAdapter = field.get(parentAdapter);
-        if (!collectionAdapter.canTransitionToResolving()) {
-            return;
-        }
-
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("loading internal collection " + field);
-        }
-
-        try {
-            PersistorUtil.startResolving(collectionAdapter);
-
-            final StringBuffer sql = new StringBuffer();
-            sql.append("select ");
-            idMapping.appendColumnNames(sql);
-            sql.append(", ");
-            elementMapping.appendColumnNames(sql);
-            sql.append(" from ");
-            sql.append(tableName);
-
-            final Results rs = connector.select(sql.toString());
-            final List<ObjectAdapter> list = new ArrayList<ObjectAdapter>();
-            while (rs.next()) {
-                final ObjectAdapter element = ((JdbcObjectReferenceMapping) elementMapping).initializeField(rs);
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("  element  " + element.getOid());
-                }
-                list.add(element);
-            }
-            final CollectionFacet collectionFacet =
-                collectionAdapter.getSpecification().getFacet(CollectionFacet.class);
-            collectionFacet.init(collectionAdapter, list.toArray(new ObjectAdapter[list.size()]));
-            rs.close();
-        } finally {
-            PersistorUtil.toEndState(collectionAdapter);
-        }
-    }
-
-    @Override
-    public boolean needsTables(final DatabaseConnector connector) {
-        return !connector.hasTable(tableName);
-    }
-
-    @Override
-    public void saveInternalCollection(final DatabaseConnector connector, final ObjectAdapter parent) {
-        final ObjectAdapter collection = field.get(parent);
-        LOG.debug("saving internal collection " + collection);
-
-        StringBuffer sql = new StringBuffer();
-        sql.append("delete from ");
-        sql.append(tableName);
-        sql.append(" where ");
-        final RootOid oid = (RootOid) parent.getOid();
-        idMapping.appendWhereClause(connector, sql, oid);
-        connector.update(sql.toString());
-
-        sql = new StringBuffer();
-        sql.append("insert into ");
-        sql.append(tableName);
-        sql.append(" (");
-        idMapping.appendColumnNames(sql);
-        sql.append(", ");
-        elementMapping.appendColumnNames(sql);
-        sql.append(" ) values (");
-        idMapping.appendInsertValues(connector, sql, parent);
-        sql.append(", ");
-
-        final CollectionFacet collectionFacet = collection.getSpecification().getFacet(CollectionFacet.class);
-        for (final ObjectAdapter element : collectionFacet.iterable(collection)) {
-            final StringBuffer values = new StringBuffer();
-            elementMapping.appendInsertValues(connector, values, element);
-            connector.update(sql.toString() + values + ")");
-        }
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln(field.getName(), "collection");
-        debug.indent();
-        debug.appendln("Table", tableName);
-        debug.appendln("ID mapping", idMapping);
-        debug.appendln("Element mapping", elementMapping);
-        debug.unindent();
-    }
-
-}


[33/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckCollectionContentsPeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckCollectionContentsPeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckCollectionContentsPeer.java
deleted file mode 100644
index 7155dd5..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckCollectionContentsPeer.java
+++ /dev/null
@@ -1,119 +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.bdd.common.fixtures;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-
-public class CheckCollectionContentsPeer extends AbstractListFixturePeer {
-
-    public CheckCollectionContentsPeer(final AliasRegistry aliasesRegistry, final String listAlias) {
-        super(aliasesRegistry, listAlias);
-    }
-
-    /**
-     * Returns <tt>true</tt> if collection contains specified alias.
-     * 
-     * <p>
-     * If either the list alias is invalid, or the provided alias is
-     * {@link #isValidAlias(String) invalid}, will return <tt>false</tt>.
-     */
-    public boolean contains(final String alias) {
-        if (!isValidListAlias()) {
-            return false;
-        }
-
-        final ObjectAdapter adapter = getAliasRegistry().getAliased(alias);
-        if (adapter == null) {
-            return false;
-        }
-        return collectionAdapters().contains(adapter);
-    }
-
-    /**
-     * Returns <tt>true</tt> if collection does not contain specified alias.
-     * 
-     * <p>
-     * If either the list alias is invalid, or the provided alias is
-     * {@link #isValidAlias(String) invalid}, will return <tt>false</tt>.
-     */
-    public boolean doesNotContain(final String alias) {
-        if (!isValidListAlias()) {
-            return false;
-        }
-        final ObjectAdapter adapter = getAliasRegistry().getAliased(alias);
-        if (adapter == null) {
-            return false;
-        }
-        return !collectionAdapters().contains(adapter);
-    }
-
-    /**
-     * Returns <tt>true</tt> if is empty.
-     * 
-     * @return <tt>false</tt> if the alias is invalid or does not represent a
-     *         list
-     */
-    public boolean isEmpty() {
-        if (!isValidListAlias()) {
-            return false;
-        }
-        return collectionAdapters().size() == 0;
-    }
-
-    /**
-     * Returns <tt>true</tt> if is not empty.
-     * 
-     * @return <tt>false</tt> if the alias is invalid or does not represent a
-     *         list
-     */
-    public boolean isNotEmpty() {
-        if (!isValidListAlias()) {
-            return false;
-        }
-
-        return collectionAdapters().size() != 0;
-    }
-
-    /**
-     * Returns <tt>true</tt> if collection has specified size.
-     * 
-     * @return <tt>false</tt> if the alias is invalid or does not represent a
-     *         list
-     */
-    public boolean assertSize(final int size) {
-        if (!isValidListAlias()) {
-            return false;
-        }
-        return getSize() == size;
-    }
-
-    /**
-     * Returns the size of the collection.
-     * 
-     * @return <tt>-1</tt> if the alias is invalid or does not represent a list.
-     */
-    public int getSize() {
-        if (!isValidListAlias()) {
-            return -1;
-        }
-        return collectionAdapters().size();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckListConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckListConstants.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckListConstants.java
deleted file mode 100644
index 69c7cf6..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckListConstants.java
+++ /dev/null
@@ -1,30 +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.bdd.common.fixtures;
-
-public final class CheckListConstants {
-
-    private CheckListConstants() {
-    }
-
-    public static final String TITLE_HEAD = "title";
-    public static final String[] TITLE_HEAD_SET = { TITLE_HEAD };
-    public static final String TITLE_NAME = TITLE_HEAD;
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckListPeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckListPeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckListPeer.java
deleted file mode 100644
index 5244d3d..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/CheckListPeer.java
+++ /dev/null
@@ -1,148 +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.bdd.common.fixtures;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.commons.lang.StringUtils;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-
-public class CheckListPeer extends AbstractListFixturePeer {
-
-    public static enum CheckMode {
-        EXACT {
-            @Override
-            public boolean isExact() {
-                return true;
-            }
-        },
-        NOT_EXACT {
-            @Override
-            public boolean isExact() {
-                return false;
-            }
-        };
-        public abstract boolean isExact();
-    }
-
-    private final CheckMode checkMode;
-
-    private final CellBinding titleBinding;
-    /**
-     * Can be set to null, indicating that no type checking is performed.
-     */
-    private final CellBinding typeBinding;
-
-    /**
-     * Objects found while processing table.
-     */
-    private final List<ObjectAdapter> foundAdapters = new ArrayList<ObjectAdapter>();
-
-    public CheckListPeer(final AliasRegistry aliasesRegistry, final String listAlias, final CheckMode checkMode, final CellBinding titleBinding) {
-        this(aliasesRegistry, listAlias, checkMode, titleBinding, null);
-    }
-
-    public CheckListPeer(final AliasRegistry aliasesRegistry, final String listAlias, final CheckMode checkMode, final CellBinding titleBinding, final CellBinding typeBinding) {
-        super(aliasesRegistry, listAlias, titleBinding, typeBinding);
-        this.checkMode = checkMode;
-        this.titleBinding = titleBinding;
-        this.typeBinding = typeBinding;
-    }
-
-    public boolean isCheckModeExact() {
-        return getCheckMode().isExact();
-    }
-
-    public CellBinding getTitleBinding() {
-        return titleBinding;
-    }
-
-    /**
-     * May be <tt>null</tt> (indicating that no type checking to be performed.
-     */
-    public CellBinding getTypeBinding() {
-        return typeBinding;
-    }
-
-    private CheckMode getCheckMode() {
-        return checkMode;
-    }
-
-    public List<ObjectAdapter> getFoundAdapters() {
-        return foundAdapters;
-    }
-
-    public List<ObjectAdapter> getNotFoundAdapters() {
-        final List<ObjectAdapter> allAdapters = new ArrayList<ObjectAdapter>(collectionAdapters());
-        allAdapters.removeAll(foundAdapters);
-        return allAdapters;
-    }
-
-    public boolean findAndAddObject() {
-        final ObjectAdapter foundAdapter = findAdapter();
-        if (foundAdapter == null) {
-            return false;
-        }
-        foundAdapters.add(foundAdapter);
-        return true;
-    }
-
-    private ObjectAdapter findAdapter() {
-        for (final ObjectAdapter adapter : collectionAdapters()) {
-
-            if (!titleMatches(adapter)) {
-                continue; // keep looking
-            }
-            if (!typeMatches(adapter)) {
-                continue; // keep looking
-            }
-
-            return adapter;
-        }
-        return null;
-    }
-
-    private boolean titleMatches(final ObjectAdapter adapter) {
-        final String adapterTitle = adapter.titleString();
-        final String requiredTitle = titleBinding.getCurrentCell().getText();
-        return StringUtils.nullSafeEquals(adapterTitle, requiredTitle);
-    }
-
-    private boolean typeMatches(final ObjectAdapter adapter) {
-        if (typeBinding == null || !typeBinding.isFound()) {
-            return true;
-        }
-
-        final ObjectSpecification spec = adapter.getSpecification();
-        final String requiredTypeName = typeBinding.getCurrentCell().getText();
-        final String specFullName = spec.getFullIdentifier();
-        if (specFullName.equals(requiredTypeName)) {
-            return true;
-        }
-
-        final String simpleSpecName = StringUtils.simpleName(specFullName);
-        final String simpleRequiredType = StringUtils.simpleName(requiredTypeName);
-        return simpleSpecName.equalsIgnoreCase(simpleRequiredType);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugClockPeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugClockPeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugClockPeer.java
deleted file mode 100644
index e6a82e6..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugClockPeer.java
+++ /dev/null
@@ -1,49 +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.bdd.common.fixtures;
-
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-
-import org.apache.isis.applib.clock.Clock;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public class DebugClockPeer extends AbstractFixturePeer {
-
-    private final CellBinding cellBinding;
-    private final static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
-
-    public DebugClockPeer(final AliasRegistry aliasesRegistry, final CellBinding cellBinding) {
-        super(aliasesRegistry, cellBinding);
-        this.cellBinding = cellBinding;
-    }
-
-    public ScenarioCell getCurrentCell() {
-        return cellBinding.getCurrentCell();
-    }
-
-    public String getFormattedClockTime() {
-        final Calendar cal = Clock.getTimeAsCalendar();
-        final String formattedDate = DATE_FORMAT.format(cal.getTime());
-        return formattedDate;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugObjectStorePeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugObjectStorePeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugObjectStorePeer.java
deleted file mode 100644
index 86e0c01..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugObjectStorePeer.java
+++ /dev/null
@@ -1,39 +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.bdd.common.fixtures;
-
-import org.apache.isis.core.commons.debug.DebugString;
-import org.apache.isis.core.runtime.system.persistence.ObjectStore;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-
-public class DebugObjectStorePeer extends AbstractFixturePeer {
-
-    public DebugObjectStorePeer(final AliasRegistry aliasesRegistry, final CellBinding... cellBindings) {
-        super(aliasesRegistry, cellBindings);
-    }
-
-    public String debugObjectStore() {
-        final ObjectStore objectStore = getObjectStore();
-        final DebugString debug = new DebugString();
-        objectStore.debugData(debug);
-        return debug.toString().replaceAll("\n", "<br>");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugServicesPeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugServicesPeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugServicesPeer.java
deleted file mode 100644
index 767a13d..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/DebugServicesPeer.java
+++ /dev/null
@@ -1,45 +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.bdd.common.fixtures;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.debug.DebugString;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-
-public class DebugServicesPeer extends AbstractFixturePeer {
-
-    public DebugServicesPeer(final AliasRegistry aliasesRegistry, final CellBinding... cellBindings) {
-        super(aliasesRegistry, cellBindings);
-    }
-
-    public String debugServices() {
-        final DebugString debug = new DebugString();
-
-        final List<Object> services = getServices();
-
-        for (final Object service : services) {
-            debug.append(service.getClass().getName());
-            debug.append("\n");
-        }
-        return debug.toString().replaceAll("\n", "<br>");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/SetUpObjectsPeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/SetUpObjectsPeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/SetUpObjectsPeer.java
deleted file mode 100644
index 321127e..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/SetUpObjectsPeer.java
+++ /dev/null
@@ -1,305 +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.bdd.common.fixtures;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.lang.StringUtils;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertyClearFacet;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertySetterFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-
-public class SetUpObjectsPeer extends AbstractFixturePeer {
-
-    public static enum Mode {
-        PERSIST, DO_NOT_PERSIST;
-
-        public boolean isPersist() {
-            return this == PERSIST;
-        }
-    }
-
-    public static enum PropertyResult {
-        ALIAS, NO_SUCH_PROPERTY, NOT_A_PROPERTY, OK;
-        public boolean isOk() {
-            return this == OK;
-        }
-    }
-
-    public static enum SetUpObjectResult {
-        OK, NO_ASSOCIATION, CLEARED, CANNOT_CLEAR("(cannot clear)"), CANNOT_SET("(cannot set"), CANNOT_PARSE("(cannot parse)"), UNKNOWN_REFERENCE("(unknown reference)");
-        private String errorMessage;
-
-        private SetUpObjectResult() {
-            this(null);
-        }
-
-        private SetUpObjectResult(final String errorMessage) {
-            this.errorMessage = errorMessage;
-        }
-
-        public boolean isHandled() {
-            return !isError();
-        }
-
-        public boolean isError() {
-            return errorMessage != null;
-        }
-
-        public String getErrorMessage() {
-            return errorMessage;
-        }
-    }
-
-    public interface AssociationVisitor {
-        void visit(OneToOneAssociation association, int colNum);
-    }
-
-    private final ObjectSpecification spec;
-
-    private final List<OneToOneAssociation> properties = new ArrayList<OneToOneAssociation>();
-    private final CellBinding aliasBinding;
-    private final SetUpObjectsPeer.Mode mode;
-
-    private final List<String> cellTextList = new ArrayList<String>();
-    private String alias;
-
-    // ///////////////////////////////////////////////////////////////////////
-    // constructor
-    // ///////////////////////////////////////////////////////////////////////
-
-    public SetUpObjectsPeer(final AliasRegistry aliasRegistry, final String className, final SetUpObjectsPeer.Mode mode, final CellBinding aliasBinding) {
-        super(aliasRegistry, aliasBinding);
-
-        this.spec = loadSpecIfValid(className);
-
-        this.mode = mode;
-        this.aliasBinding = aliasBinding;
-    }
-
-    private ObjectSpecification loadSpecIfValid(final String className) {
-        try {
-            return getSpecificationLoader().loadSpecification(className);
-        } catch (final IsisException ex) {
-            return null;
-        }
-    }
-
-    public boolean isSpecOk() {
-        return spec != null;
-    }
-
-    public List<OneToOneAssociation> getProperties() {
-        return properties;
-    }
-
-    public CellBinding getAliasBinding() {
-        return aliasBinding;
-    }
-
-    // ///////////////////////////////////////////////////////////////////////
-    // header
-    // ///////////////////////////////////////////////////////////////////////
-
-    public PropertyResult definePropertyOrAlias(final String heading, final int colNum) {
-
-        OneToOneAssociation otoa = null;
-
-        try {
-            final int aliasColumn = getAliasBinding().getColumn();
-            if (colNum == aliasColumn) {
-                return PropertyResult.ALIAS;
-            }
-
-            ObjectAssociation association = null;
-            try {
-                final String memberName = StringUtils.memberIdFor(heading);
-                association = spec.getAssociation(memberName);
-            } catch (final Exception ex) {
-                return PropertyResult.NO_SUCH_PROPERTY;
-            }
-
-            if (!association.isOneToOneAssociation()) {
-                return PropertyResult.NOT_A_PROPERTY;
-            }
-
-            otoa = (OneToOneAssociation) association;
-
-            return PropertyResult.OK;
-        } finally {
-            // add an association if OK, add null otherwise
-            getProperties().add(otoa);
-        }
-    }
-
-    // ///////////////////////////////////////////////////////////////////////
-    // each row
-    // ///////////////////////////////////////////////////////////////////////
-
-    /**
-     * Used by Concordion only.
-     * 
-     * <p>
-     * FitNesse, on the other hand, uses a more fine-grained approach, calling
-     * the underlying methods.
-     */
-    public void createObject() throws ScenarioBoundValueException {
-        final ObjectAdapter adapter = createInstance();
-
-        for (int colNum = 0; colNum < getProperties().size(); colNum++) {
-            final SetUpObjectResult result = setUpProperty(adapter, colNum);
-
-            if (!result.isHandled()) {
-                final CellBinding cellBinding = getCellBindings().get(colNum);
-                throw ScenarioBoundValueException.current(cellBinding, result.getErrorMessage());
-            }
-        }
-
-        persistIfNecessary(adapter);
-        alias(adapter);
-        resetForNextObject();
-    }
-
-    public void resetForNextObject() {
-        cellTextList.clear();
-        this.alias = null;
-    }
-
-    public ObjectAdapter createInstance() {
-        if (spec == null) {
-            return null;
-        }
-        return getPersistenceSession().createTransientInstance(spec);
-    }
-
-    public SetUpObjectResult setUpProperty(final ObjectAdapter adapter, final int colNum) {
-
-        final OneToOneAssociation association = getProperties().get(colNum);
-        if (association == null) {
-            return SetUpObjectResult.NO_ASSOCIATION;
-        }
-
-        final String cellText = cellTextList.get(colNum);
-
-        // handle empty cell as null
-        if (cellText == null || cellText.length() == 0) {
-
-            // use clear facet if available
-            final PropertyClearFacet clearFacet = association.getFacet(PropertyClearFacet.class);
-
-            if (clearFacet != null) {
-                clearFacet.clearProperty(adapter);
-                return SetUpObjectResult.CLEARED;
-            }
-
-            // use setter facet otherwise
-            final PropertySetterFacet setterFacet = association.getFacet(PropertySetterFacet.class);
-
-            if (setterFacet != null) {
-                setterFacet.setProperty(adapter, null);
-                return SetUpObjectResult.CLEARED;
-            }
-
-            return SetUpObjectResult.CANNOT_CLEAR;
-        }
-
-        // non-empty, will need a setter
-        final PropertySetterFacet setterFacet = association.getFacet(PropertySetterFacet.class);
-        if (setterFacet == null) {
-            return SetUpObjectResult.CANNOT_SET;
-        }
-
-        final ObjectSpecification fieldSpecification = association.getSpecification();
-        final ParseableFacet parseableFacet = fieldSpecification.getFacet(ParseableFacet.class);
-
-        ObjectAdapter referencedAdapter = null;
-        if (parseableFacet != null) {
-            // handle as parseable value
-            try {
-                referencedAdapter = parseableFacet.parseTextEntry(adapter, cellText, null);
-            } catch (final IllegalArgumentException ex) {
-                return SetUpObjectResult.CANNOT_PARSE;
-            }
-
-        } else {
-            // handle as reference to known object
-            referencedAdapter = getAliasRegistry().getAliased(cellText);
-            if (referencedAdapter == null) {
-                return SetUpObjectResult.UNKNOWN_REFERENCE;
-            }
-        }
-
-        setterFacet.setProperty(adapter, referencedAdapter);
-        return SetUpObjectResult.OK;
-    }
-
-    public void persistIfNecessary(final ObjectAdapter adapter) {
-        if (mode.isPersist()) {
-            // xactn mgmt now done by PersistenceSession#makePersistent()
-            // getTransactionManager().startTransaction();
-            getPersistenceSession().makePersistent(adapter);
-            // getTransactionManager().endTransaction();
-        }
-    }
-
-    public void alias(final ObjectAdapter adapter) {
-        final String alias = aliasFor(adapter);
-        getAliasRegistry().aliasAs(alias, adapter);
-    }
-
-    public String aliasFor(final ObjectAdapter adapter) {
-        if (alias != null) {
-            return alias;
-        } else {
-            final String specShortName = StringUtils.lowerLeading(spec.getShortIdentifier());
-            return getAliasRegistry().aliasPrefixedAs(specShortName, adapter);
-        }
-    }
-
-    public void forEachAssociation(final AssociationVisitor visitor) {
-        for (int colNum = 0; colNum < getProperties().size(); colNum++) {
-            final OneToOneAssociation association = getProperties().get(colNum);
-            if (association != null) {
-                visitor.visit(association, colNum);
-            }
-        }
-    }
-
-    public boolean addPropertyValueOrAlias(final String propertyValue) {
-        cellTextList.add(propertyValue);
-
-        // capture alias if just added
-        final int aliasColumn1based = getAliasBinding().getColumn() + 1;
-        if (cellTextList.size() == aliasColumn1based) {
-            alias = propertyValue;
-        }
-
-        return true;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/UsingIsisViewerPeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/UsingIsisViewerPeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/UsingIsisViewerPeer.java
deleted file mode 100644
index 7524005..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/UsingIsisViewerPeer.java
+++ /dev/null
@@ -1,386 +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.bdd.common.fixtures;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
-import org.apache.isis.core.commons.lang.StringUtils;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectActionSet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionContainer.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.AddToCollection;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.CheckAction;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.CheckAddToCollection;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.CheckClearProperty;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.CheckCollection;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.CheckObject;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.CheckProperty;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.CheckRemoveFromCollection;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.CheckSetProperty;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.ClearProperty;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.GetActionParameterChoices;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.GetActionParameterDefault;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.GetCollection;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.GetProperty;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.GetPropertyChoices;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.GetPropertyDefault;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.InvokeAction;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.Perform;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.PerformContext;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.RemoveFromCollection;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.SaveObject;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.SetProperty;
-import org.apache.isis.viewer.bdd.common.parsers.DateParser;
-
-public class UsingIsisViewerPeer extends AbstractFixturePeer {
-
-    private static List<Perform> performCommands(final Perform.Mode mode) {
-        final ArrayList<Perform> commands = new ArrayList<Perform>();
-
-        commands.add(new CheckProperty(mode));
-        commands.add(new CheckSetProperty(mode));
-        commands.add(new CheckClearProperty(mode));
-        commands.add(new GetProperty(mode));
-        commands.add(new SetProperty(mode));
-        commands.add(new ClearProperty(mode));
-        commands.add(new GetPropertyDefault(mode));
-        commands.add(new GetPropertyChoices(mode));
-
-        commands.add(new CheckCollection(mode));
-        commands.add(new CheckAddToCollection(mode));
-        commands.add(new CheckRemoveFromCollection(mode));
-        commands.add(new AddToCollection(mode));
-        commands.add(new RemoveFromCollection(mode));
-        commands.add(new GetCollection(mode));
-
-        commands.add(new CheckAction(mode));
-        commands.add(new InvokeAction(mode));
-        commands.add(new GetActionParameterDefault(mode));
-        commands.add(new GetActionParameterChoices(mode));
-
-        commands.add(new CheckObject(mode));
-        commands.add(new SaveObject(mode));
-
-        return commands;
-    }
-
-    // //////////////////////////////////////////////////////////////////
-    // constructor
-    // //////////////////////////////////////////////////////////////////
-
-    private final CellBinding onObjectBinding;
-    private final CellBinding aliasResultAsBinding;
-    private final CellBinding performBinding;
-    private final CellBinding onMemberBinding;
-    private final CellBinding thatItBinding;
-    private final CellBinding arg0Binding;
-
-    private final DeploymentType deploymentType;
-    private final DateParser dateParser;
-
-    private final Map<String, Perform> commandByKey = new HashMap<String, Perform>();
-
-    public UsingIsisViewerPeer(final AliasRegistry aliasesRegistry, final DeploymentType deploymentType, final DateParser dateParser, final Perform.Mode mode, final CellBinding onObjectBinding, final CellBinding aliasResultAsBinding, final CellBinding performBinding,
-            final CellBinding onMemberBinding, final CellBinding thatItBinding, final CellBinding arg0Binding) {
-        super(aliasesRegistry, onObjectBinding, aliasResultAsBinding, performBinding, onMemberBinding, thatItBinding, arg0Binding);
-
-        this.onObjectBinding = onObjectBinding;
-        this.aliasResultAsBinding = aliasResultAsBinding;
-        this.performBinding = performBinding;
-        this.onMemberBinding = onMemberBinding;
-        this.thatItBinding = thatItBinding;
-        this.arg0Binding = arg0Binding;
-
-        this.deploymentType = deploymentType;
-        this.dateParser = dateParser;
-
-        final List<Perform> performCommands = performCommands(mode);
-        for (final Perform command : performCommands) {
-            commandByKey.put(command.getKey(), command);
-        }
-    }
-
-    public DeploymentType getDeploymentType() {
-        return deploymentType;
-    }
-
-    public DateParser getDateParser() {
-        return dateParser;
-    }
-
-    public CellBinding getOnObjectBinding() {
-        return onObjectBinding;
-    }
-
-    public CellBinding getAliasResultAsBinding() {
-        return aliasResultAsBinding;
-    }
-
-    public CellBinding getOnMemberBinding() {
-        return onMemberBinding;
-    }
-
-    public CellBinding getPerformBinding() {
-        return performBinding;
-    }
-
-    public CellBinding getThatItBinding() {
-        return thatItBinding;
-    }
-
-    public CellBinding getArg0Binding() {
-        return arg0Binding;
-    }
-
-    public boolean isArg0BindingLast() {
-        return !bindingAfterArg0();
-
-    }
-
-    private boolean bindingAfterArg0() {
-        if (!getArg0Binding().isFound()) {
-            return false;
-        }
-        for (final CellBinding binding : getCellBindings()) {
-            if (binding.getColumn() > getArg0Binding().getColumn()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    // //////////////////////////////////////////////////////////////////
-    // validate API
-    // //////////////////////////////////////////////////////////////////
-
-    public ObjectAdapter validateOnObject() throws ScenarioBoundValueException {
-
-        final ScenarioCell onObjectCell = onObjectBinding.getCurrentCell();
-        String onObject = onObjectCell.getText();
-        if (onObject == null) {
-            if (previousOnObject == null) {
-                throw ScenarioBoundValueException.current(onObjectBinding, "(required)");
-            }
-            onObject = previousOnObject;
-        } else {
-            previousOnObject = onObject;
-        }
-        final ObjectAdapter onAdapter = getAliasRegistry().getAliased(onObject);
-        if (onAdapter == null) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(unknown object)");
-        }
-        return onAdapter;
-    }
-
-    public String validateAliasAs() throws ScenarioBoundValueException {
-        if (getAliasResultAsBinding() == null) {
-            return null;
-        }
-        final ScenarioCell aliasCell = aliasResultAsBinding.getCurrentCell();
-        if (aliasCell == null) {
-            return null;
-        }
-
-        final String aliasAs = aliasCell.getText();
-        if (getAliasRegistry().getAliased(aliasAs) != null) {
-            throw ScenarioBoundValueException.current(aliasResultAsBinding, "(already used)");
-        }
-        return aliasAs;
-    }
-
-    public ObjectMember validateOnMember(final ObjectAdapter onAdapter) throws ScenarioBoundValueException {
-
-        final ScenarioCell onMemberCell = onMemberBinding.getCurrentCell();
-        final String onMember = onMemberCell.getText();
-
-        if (StringUtils.isNullOrEmpty(onMember)) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(required)");
-        }
-
-        if (onAdapter == null) {
-            return null;
-        }
-
-        // see if property, collection or action.
-        final String memberId = StringUtils.memberIdFor(onMember);
-        final ObjectSpecification spec = onAdapter.getSpecification();
-        final List<ObjectMember> objectMembers = new ArrayList<ObjectMember>();
-
-        objectMembers.addAll(spec.getAssociations());
-
-        // see if action (of any type)
-        objectMembers.addAll(spec.getObjectActions(Arrays.asList(ActionType.USER, ActionType.EXPLORATION, ActionType.DEBUG), Contributed.INCLUDED));
-        for (final ObjectMember member : objectMembers) {
-            if (matchesId(member, memberId)) {
-                return member;
-            }
-            // special handling for contributed actions.
-            if (member instanceof ObjectActionSet) {
-                final ObjectActionSet actionSet = (ObjectActionSet) member;
-                for (final ObjectAction contributedAction : actionSet.getActions()) {
-                    if (contributedAction.getId().equals(memberId)) {
-                        return contributedAction;
-                    }
-                }
-            }
-        }
-        throw ScenarioBoundValueException.current(onMemberBinding, "(unknown member)");
-    }
-
-    public Perform validatePerform() throws ScenarioBoundValueException {
-        final String perform = performBinding.getCurrentCell().getText();
-        if (perform == null) {
-            throw ScenarioBoundValueException.current(performBinding, "(required)");
-        }
-        final Perform performCommand = commandByKey.get(perform);
-        if (performCommand == null) {
-            throw ScenarioBoundValueException.current(performBinding, "(unknown interaction)");
-        }
-        return performCommand;
-    }
-
-    private boolean matchesId(final ObjectMember member, final String memberId) {
-        return member.getId().equals(memberId);
-    }
-
-    // //////////////////////////////////////////////////////////////////
-    // "perform" API
-    // //////////////////////////////////////////////////////////////////
-
-    public void performCommand(final ObjectAdapter onAdapter, final String aliasAs, final ObjectMember objectMember, final Perform performCommand, final List<ScenarioCell> argumentStoryCells) throws ScenarioBoundValueException {
-        final PerformContext performContext = new PerformContext(this, onAdapter, objectMember, argumentStoryCells);
-        try {
-            performCommand.perform(performContext);
-        } catch (final RuntimeException ex) {
-            // handler should have colored in invalid cells.
-        }
-        aliasResultFromPerformCommand(performCommand, aliasAs);
-    }
-
-    private void aliasResultFromPerformCommand(final Perform performCommand, final String aliasAs) throws ScenarioBoundValueException {
-        if (StringUtils.isNullOrEmpty(aliasAs)) {
-            return;
-        }
-        final ObjectAdapter resultAdapter = performCommand.getResult();
-        if (resultAdapter == null) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(no result)");
-        }
-        getAliasRegistry().aliasAs(aliasAs, resultAdapter);
-    }
-
-    // //////////////////////////////////////////////////////////////////
-    //
-    // //////////////////////////////////////////////////////////////////
-
-    private String previousOnObject = null;
-
-    /**
-     * Not public API
-     */
-    public void provideDefault(final ScenarioCell storySource, final String resultStr) {
-        // TODO Auto-generated method stub
-        throw new NotYetImplementedException();
-    }
-
-    /**
-     * Not public API
-     */
-    public ObjectAdapter getAdapter(final ObjectAdapter contextAdapter, final ObjectSpecification noSpec, final CellBinding contextBinding, final ScenarioCell paramCell) throws ScenarioBoundValueException {
-
-        final String cellText = paramCell.getText();
-
-        // see if can handle as parseable value
-        final ParseableFacet parseableFacet = noSpec.getFacet(ParseableFacet.class);
-        if (parseableFacet != null) {
-            try {
-                return parseableFacet.parseTextEntry(contextAdapter, cellText, null);
-            } catch (final TextEntryParseException ex) {
-                throw ScenarioBoundValueException.arg(contextBinding, paramCell, "(cannot parse '" + cellText + "')");
-            } catch (final IllegalArgumentException ex) {
-                // REVIEW: isn't what is thrown, but perhaps
-                // TextEntryParseException should inherit from
-                // IllegalArgumentException?
-                throw ScenarioBoundValueException.arg(contextBinding, paramCell, "(cannot parse '" + cellText + "')");
-            }
-        }
-
-        // otherwise, handle as reference to known object
-        final ObjectAdapter adapter = getAliasRegistry().getAliased(cellText);
-        if (adapter == null) {
-            throw ScenarioBoundValueException.arg(contextBinding, paramCell, "(unknown reference'" + cellText + "')");
-        }
-
-        return adapter;
-    }
-
-    /**
-     * Not public API
-     * 
-     * <p>
-     * Ensures that there are at least enough arguments for the number of
-     * parameters required.
-     */
-    public ObjectAdapter[] getAdapters(final ObjectAdapter onAdapter, final ObjectAction objectAction, final CellBinding onMemberBinding, final List<ScenarioCell> argumentCells) throws ScenarioBoundValueException {
-        final List<ObjectActionParameter> parameters = objectAction.getParameters();
-
-        final int parameterCount = parameters.size();
-        if (argumentCells.size() < parameterCount) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(action requires " + parameterCount + " arguments)");
-        }
-        final ObjectAdapter[] adapters = new ObjectAdapter[parameterCount];
-
-        for (int i = 0; i < parameterCount; i++) {
-            final ScenarioCell paramCell = argumentCells.get(i);
-            final ObjectActionParameter parameter = parameters.get(i);
-            adapters[i] = getAdapter(null, parameter.getSpecification(), onMemberBinding, paramCell);
-        }
-        return adapters;
-    }
-
-    /**
-     * Not public API
-     */
-    public ObjectAdapter toAdaptedListOfPojos(final ObjectAdapter[] choiceAdapters) {
-        final List<Object> choiceList = new ArrayList<Object>();
-        if (choiceAdapters != null) {
-            for (final ObjectAdapter adapter : choiceAdapters) {
-                choiceList.add(adapter.getObject());
-            }
-        }
-        return getAdapterManager().adapterFor(choiceList);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/AddToCollection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/AddToCollection.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/AddToCollection.java
deleted file mode 100644
index 1dff803..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/AddToCollection.java
+++ /dev/null
@@ -1,79 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public class AddToCollection extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public AddToCollection(final Perform.Mode mode) {
-        super("add to collection", Type.COLLECTION, NumParameters.ONE, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
-
-        final OneToManyAssociation otma = (OneToManyAssociation) nakedObjectMember;
-
-        final CollectionAddToFacet addToFacet = nakedObjectMember.getFacet(CollectionAddToFacet.class);
-        if (addToFacet == null) {
-            throw ScenarioBoundValueException.current(onMemberBinding, "(cannot add to collection)");
-        }
-
-        // safe since guaranteed by superclass
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-        final ScenarioCell arg0Cell = arg0Binding.getCurrentCell();
-        final String toAddAlias = arg0Cell.getText();
-
-        final ObjectAdapter toAddAdapter = performContext.getPeer().getAliasRegistry().getAliased(toAddAlias);
-        if (toAddAdapter == null) {
-            throw ScenarioBoundValueException.current(arg0Binding, "(unknown alias)");
-        }
-
-        // validate argument
-        otma.createValidateAddInteractionContext(getSession(), InteractionInvocationMethod.BY_USER, onAdapter, toAddAdapter);
-        final Consent validToAdd = otma.isValidToAdd(onAdapter, toAddAdapter);
-        if (validToAdd.isVetoed()) {
-            throw ScenarioBoundValueException.current(arg0Binding, validToAdd.getReason());
-        }
-
-        // add
-        addToFacet.add(onAdapter, toAddAdapter);
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckAction.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckAction.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckAction.java
deleted file mode 100644
index 4359027..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckAction.java
+++ /dev/null
@@ -1,35 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Disabled;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Hidden;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.PerformCheckThatAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Usable;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Visible;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.action.ArgumentSetNotValid;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.action.ArgumentSetValid;
-
-public class CheckAction extends PerformCheckThatAbstract {
-
-    public CheckAction(final Perform.Mode mode) {
-        super("check action", OnMemberColumn.REQUIRED, mode, new Hidden(), new Visible(), new Disabled(), new Usable(), new ArgumentSetValid(), new ArgumentSetNotValid());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckAddToCollection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckAddToCollection.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckAddToCollection.java
deleted file mode 100644
index 2e35ebe..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckAddToCollection.java
+++ /dev/null
@@ -1,31 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsValidity;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.PerformCheckThatAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.collections.ProposedAddTo;
-
-public class CheckAddToCollection extends PerformCheckThatAbstract {
-
-    public CheckAddToCollection(final Perform.Mode mode) {
-        super("check add to collection", OnMemberColumn.REQUIRED, mode, new ProposedAddTo(AssertsValidity.VALID), new ProposedAddTo(AssertsValidity.INVALID));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckClearProperty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckClearProperty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckClearProperty.java
deleted file mode 100644
index 865163b..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckClearProperty.java
+++ /dev/null
@@ -1,31 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsValidity;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.PerformCheckThatAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.property.ProposedClear;
-
-public class CheckClearProperty extends PerformCheckThatAbstract {
-
-    public CheckClearProperty(final Perform.Mode mode) {
-        super("check clear property", OnMemberColumn.REQUIRED, mode, new ProposedClear(AssertsValidity.VALID), new ProposedClear(AssertsValidity.INVALID));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckCollection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckCollection.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckCollection.java
deleted file mode 100644
index 08fa553..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckCollection.java
+++ /dev/null
@@ -1,37 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsContainment;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsEmpty;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Disabled;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Hidden;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.PerformCheckThatAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Usable;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Visible;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.collections.Containment;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.collections.Emptiness;
-
-public class CheckCollection extends PerformCheckThatAbstract {
-
-    public CheckCollection(final Perform.Mode mode) {
-        super("check collection", OnMemberColumn.REQUIRED, mode, new Hidden(), new Visible(), new Disabled(), new Usable(), new Emptiness(AssertsEmpty.EMPTY), new Emptiness(AssertsEmpty.NOT_EMPTY), new Containment(AssertsContainment.CONTAINS), new Containment(AssertsContainment.DOES_NOT_CONTAIN));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckObject.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckObject.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckObject.java
deleted file mode 100644
index 93d677a..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckObject.java
+++ /dev/null
@@ -1,33 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.PerformCheckThatAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.object.NotSaved;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.object.NotValid;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.object.Saved;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.object.Valid;
-
-public class CheckObject extends PerformCheckThatAbstract {
-
-    public CheckObject(final Perform.Mode mode) {
-        super("check object", OnMemberColumn.NOT_REQUIRED, mode, new Valid(), new NotValid(), new NotSaved(), new Saved());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckProperty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckProperty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckProperty.java
deleted file mode 100644
index e69d8c6..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckProperty.java
+++ /dev/null
@@ -1,37 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Disabled;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Hidden;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.PerformCheckThatAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Usable;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.Visible;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.property.Contains;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.property.DoesNotContain;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.property.Empty;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.property.NotEmpty;
-
-public class CheckProperty extends PerformCheckThatAbstract {
-
-    public CheckProperty(final Perform.Mode mode) {
-        super("check property", OnMemberColumn.REQUIRED, mode, new Hidden(), new Visible(), new Disabled(), new Usable(), new Contains(), new DoesNotContain(), new Empty(), new NotEmpty());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckRemoveFromCollection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckRemoveFromCollection.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckRemoveFromCollection.java
deleted file mode 100644
index a39c7fb..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckRemoveFromCollection.java
+++ /dev/null
@@ -1,31 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsValidity;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.PerformCheckThatAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.collections.ProposedRemoveFrom;
-
-public class CheckRemoveFromCollection extends PerformCheckThatAbstract {
-
-    public CheckRemoveFromCollection(final Perform.Mode mode) {
-        super("check remove from collection", OnMemberColumn.REQUIRED, mode, new ProposedRemoveFrom(AssertsValidity.VALID), new ProposedRemoveFrom(AssertsValidity.INVALID));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckSetProperty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckSetProperty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckSetProperty.java
deleted file mode 100644
index ea4a853..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/CheckSetProperty.java
+++ /dev/null
@@ -1,31 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.AssertsValidity;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.PerformCheckThatAbstract;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.checkthat.property.ProposedSet;
-
-public class CheckSetProperty extends PerformCheckThatAbstract {
-
-    public CheckSetProperty(final Perform.Mode mode) {
-        super("check set property", OnMemberColumn.REQUIRED, mode, new ProposedSet(AssertsValidity.VALID), new ProposedSet(AssertsValidity.INVALID));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/ClearProperty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/ClearProperty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/ClearProperty.java
deleted file mode 100644
index 2568d42..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/ClearProperty.java
+++ /dev/null
@@ -1,67 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertyClearFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-
-public class ClearProperty extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public ClearProperty(final Perform.Mode mode) {
-        super("clear property", Type.PROPERTY, NumParameters.ZERO, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) nakedObjectMember;
-
-        // set
-        final PropertyClearFacet clearFacet = otoa.getFacet(PropertyClearFacet.class);
-        final CellBinding thatItBinding = performContext.getPeer().getThatItBinding();
-        if (clearFacet == null) {
-            throw ScenarioBoundValueException.current(thatItBinding, "(cannot clear)");
-        }
-
-        // validate setting to null
-        final Consent validConsent = otoa.isAssociationValid(onAdapter, null);
-        if (validConsent.isVetoed()) {
-            throw ScenarioBoundValueException.current(thatItBinding, validConsent.getReason());
-        }
-
-        clearFacet.clearProperty(onAdapter);
-
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetActionParameterChoices.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetActionParameterChoices.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetActionParameterChoices.java
deleted file mode 100644
index bf43aa1..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetActionParameterChoices.java
+++ /dev/null
@@ -1,66 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public class GetActionParameterChoices extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public GetActionParameterChoices(final Perform.Mode mode) {
-        super("get action parameter choices", Type.ACTION, NumParameters.ONE, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-        final ScenarioCell arg0Cell = arg0Binding.getCurrentCell();
-
-        int requestedParamNum = -1;
-        try {
-            requestedParamNum = Integer.valueOf(arg0Cell.getText());
-        } catch (final NumberFormatException ex) {
-            throw ScenarioBoundValueException.current(arg0Binding, ex.getMessage());
-        }
-
-        final ObjectAction noa = (ObjectAction) nakedObjectMember;
-        final int parameterCount = noa.getParameterCount();
-        if (requestedParamNum < 0 || requestedParamNum > parameterCount - 1) {
-            throw ScenarioBoundValueException.current(arg0Binding, "(must be between 0 and " + (parameterCount - 1) + ")");
-        }
-
-        final ObjectAdapter[][] allParameterChoices = noa.getChoices(onAdapter);
-        result = performContext.getPeer().toAdaptedListOfPojos(allParameterChoices[requestedParamNum]);
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetActionParameterDefault.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetActionParameterDefault.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetActionParameterDefault.java
deleted file mode 100644
index f440d1b..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetActionParameterDefault.java
+++ /dev/null
@@ -1,65 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public class GetActionParameterDefault extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public GetActionParameterDefault(final Perform.Mode mode) {
-        super("get action parameter default", Type.ACTION, NumParameters.ONE, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-        final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
-        final ScenarioCell arg0Cell = arg0Binding.getCurrentCell();
-        int requestedParamNum = -1;
-        try {
-            requestedParamNum = Integer.valueOf(arg0Cell.getText());
-        } catch (final NumberFormatException ex) {
-            throw ScenarioBoundValueException.current(arg0Binding, ex.getMessage());
-        }
-
-        final ObjectAction noa = (ObjectAction) nakedObjectMember;
-        final int parameterCount = noa.getParameterCount();
-        if (requestedParamNum < 0 || requestedParamNum > parameterCount - 1) {
-            throw ScenarioBoundValueException.current(arg0Binding, "(must be between 0 and " + (parameterCount - 1) + ")");
-        }
-
-        final ObjectAdapter[] defaults = noa.getDefaults(onAdapter);
-        result = defaults[requestedParamNum];
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetCollection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetCollection.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetCollection.java
deleted file mode 100644
index 47a8282..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetCollection.java
+++ /dev/null
@@ -1,49 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-
-public class GetCollection extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public GetCollection(final Perform.Mode mode) {
-        super("get collection", Type.COLLECTION, NumParameters.ZERO, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-
-        final OneToManyAssociation otma = (OneToManyAssociation) nakedObjectMember;
-
-        result = otma.get(onAdapter);
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetProperty.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetProperty.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetProperty.java
deleted file mode 100644
index f0cc55e..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/perform/GetProperty.java
+++ /dev/null
@@ -1,49 +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.bdd.common.fixtures.perform;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-
-public class GetProperty extends PerformAbstractTypeParams {
-
-    private ObjectAdapter result;
-
-    public GetProperty(final Perform.Mode mode) {
-        super("get property", Type.PROPERTY, NumParameters.ZERO, mode);
-    }
-
-    @Override
-    public void doHandle(final PerformContext performContext) {
-
-        final ObjectAdapter onAdapter = performContext.getOnAdapter();
-        final ObjectMember nakedObjectMember = performContext.getObjectMember();
-
-        final OneToOneAssociation otoa = (OneToOneAssociation) nakedObjectMember;
-
-        result = otoa.get(onAdapter);
-    }
-
-    @Override
-    public ObjectAdapter getResult() {
-        return result;
-    }
-
-}


[15/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ActionContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ActionContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ActionContent.java
deleted file mode 100644
index 6dd01b4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ActionContent.java
+++ /dev/null
@@ -1,41 +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.dnd.view.action;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.view.Content;
-
-public interface ActionContent extends Content {
-    public Consent disabled();
-
-    public ObjectAdapter execute();
-
-    public String getActionName();
-
-    public int getNoParameters();
-
-    public ParameterContent getParameterContent(final int index);
-
-    public ObjectAdapter getParameterObject(final int index);
-
-    @Override
-    public String getDescription();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ActionHelper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ActionHelper.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ActionHelper.java
deleted file mode 100644
index e82c631..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ActionHelper.java
+++ /dev/null
@@ -1,169 +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.dnd.view.action;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneActionParameter;
-import org.apache.isis.core.metamodel.spec.feature.ParseableEntryActionParameter;
-
-public class ActionHelper {
-
-    public static ActionHelper createInstance(final ObjectAdapter target, final ObjectAction action) {
-        final int numberParameters = action.getParameterCount();
-        final ObjectAdapter[] parameters = new ObjectAdapter[numberParameters];
-        final List<ObjectActionParameter> parameterSpecs = action.getParameters();
-        ObjectAdapter[] defaultValues;
-        ObjectAdapter[][] options;
-
-        // action choices most be old or new syntax - cannot be mixed
-
-        defaultValues = new ObjectAdapter[parameterSpecs.size()];
-        options = new ObjectAdapter[parameterSpecs.size()][];
-
-        for (int i = 0; i < parameterSpecs.size(); i++) {
-            defaultValues[i] = parameterSpecs.get(i).getDefault(target);
-            options[i] = parameterSpecs.get(i).getChoices(target, null);
-        }
-
-        if (!hasValues(defaultValues) && !hasValues(options)) {
-            // fall back to old method
-
-            defaultValues = action.getDefaults(target);
-            options = action.getChoices(target);
-        }
-
-        for (int i = 0; i < parameterSpecs.size(); i++) {
-            if (defaultValues[i] != null) {
-                parameters[i] = defaultValues[i];
-            } else {
-                parameters[i] = null; // PersistorUtil.createValueInstance(noap.getSpecification());
-            }
-        }
-
-        /*
-         * int[] maxLength = action.getParameterMaxLengths(); int[]
-         * typicalLength = action.getParameterTypicalLengths(); int[] noLines =
-         * action.getParameterNoLines(); boolean[] canWrap =
-         * action.canParametersWrap();
-         */
-        return new ActionHelper(target, action, parameters, defaultValues, options);
-    }
-
-    private final ObjectAction action;
-    private final ObjectAdapter[] parameters;
-    private final ObjectAdapter target;
-    private final ObjectAdapter[][] options;
-
-    private ActionHelper(final ObjectAdapter target, final ObjectAction action, final ObjectAdapter[] parameters, final ObjectAdapter[] defaultValues, final ObjectAdapter[][] options) {
-        this.target = target;
-        this.action = action;
-        this.parameters = parameters;
-        this.options = options;
-    }
-
-    public ParameterContent[] createParameters() {
-        final ParameterContent[] parameterContents = new ParameterContent[parameters.length];
-        for (int i = 0; i < parameters.length; i++) {
-            final List<ObjectActionParameter> parameters2 = action.getParameters();
-            final ObjectAdapter adapter = parameters[i];
-            final ObjectSpecification specification = parameters2.get(i).getSpecification();
-            if (specification.isParseable()) {
-                final ParseableEntryActionParameter parseableEntryActionParameter = (ParseableEntryActionParameter) parameters2.get(i);
-                parameterContents[i] = new TextParseableParameterImpl(parseableEntryActionParameter, adapter, options[i], i, this);
-            } else {
-                parameterContents[i] = new ObjectParameterImpl((OneToOneActionParameter) parameters2.get(i), adapter, options[i], i, this);
-            }
-        }
-
-        return parameterContents;
-    }
-
-    public Consent disabled() {
-        // REVIEW this is no good as it lumps all the parameters together; I
-        // need to know which parameter is
-        // disabled!
-        return action.isProposedArgumentSetValid(target, parameters);
-    }
-
-    public String getName() {
-        return action.getName();
-    }
-
-    public String getDescription() {
-        return action.getDescription();
-    }
-
-    public String getHelp() {
-        return action.getHelp();
-    }
-
-    public ObjectAdapter getParameter(final int index) {
-        return parameters[index];
-    }
-
-    public ObjectAdapter getTarget() {
-        return target;
-        //return action.realTarget(target);
-    }
-
-    public ObjectAdapter invoke() {
-        return action.execute(target, parameters);
-    }
-
-    public void setParameter(final int index, final ObjectAdapter parameter) {
-        this.parameters[index] = parameter;
-    }
-
-    public String title() {
-        return getTarget().titleString();
-    }
-
-    public String getIconName() {
-        return getTarget().getIconName();
-    }
-
-    private static boolean hasValues(final ObjectAdapter[] values) {
-        if (values != null) {
-            for (final ObjectAdapter adapter : values) {
-                if (adapter != null) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    private static boolean hasValues(final ObjectAdapter[][] values) {
-        if (values != null) {
-            for (final ObjectAdapter[] adapters : values) {
-                if (hasValues(adapters)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/BackgroundWork.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/BackgroundWork.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/BackgroundWork.java
deleted file mode 100644
index ab47a4d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/BackgroundWork.java
+++ /dev/null
@@ -1,82 +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.dnd.view.action;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.exceptions.IsisApplicationException;
-import org.apache.isis.viewer.dnd.view.BackgroundTask;
-import org.apache.isis.viewer.dnd.view.View;
-
-public final class BackgroundWork {
-    private static final Logger LOG = LoggerFactory.getLogger(BackgroundTask.class);
-
-    private static class BackgroundThread extends Thread {
-        private final View view;
-        private final BackgroundTask task;
-
-        public BackgroundThread(final View view, final BackgroundTask task) {
-            super("nof-background");
-            this.view = view;
-            this.task = task;
-            LOG.debug("creating background thread for task " + task);
-        }
-
-        @Override
-        public void run() {
-            try {
-                view.getState().setActive();
-                view.getFeedbackManager().setBusy(view, task);
-                scheduleRepaint(view);
-
-                LOG.debug("running background thread for task " + task);
-                task.execute();
-
-            } catch (final Throwable e) {
-                if (!(e instanceof IsisApplicationException)) {
-                    final String message = "Error while running background task " + task.getName();
-                    LOG.error(message, e);
-                }
-                view.getFeedbackManager().showException(e);
-
-            } finally {
-                view.getState().setInactive();
-                view.getFeedbackManager().clearBusy(view);
-                scheduleRepaint(view);
-            }
-        }
-
-        private static void scheduleRepaint(final View view) {
-            view.markDamaged();
-            view.getViewManager().scheduleRepaint();
-        }
-
-    }
-
-    public static void runTaskInBackground(final View view, final BackgroundTask task) {
-        final Thread t = new BackgroundThread(view, task);
-        t.start();
-    }
-
-    private BackgroundWork() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/CollectionActionContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/CollectionActionContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/CollectionActionContent.java
deleted file mode 100644
index bce8242..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/CollectionActionContent.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.dnd.view.action;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.collection.AbstractCollectionContent;
-
-public class CollectionActionContent extends AbstractCollectionContent implements ActionContent {
-    private final ActionHelper invocation;
-    private final ParameterContent[] parameters;
-
-    public CollectionActionContent(final ActionHelper invocation) {
-        this.invocation = invocation;
-        parameters = invocation.createParameters();
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("action", getActionName());
-        debug.appendln("target", getAdapter());
-        String parameterSet = "";
-        for (final ParameterContent parameter : parameters) {
-            parameterSet += parameter;
-        }
-        debug.appendln("parameters", parameterSet);
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public Consent disabled() {
-        return invocation.disabled();
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        throw new NotYetImplementedException();
-    }
-
-    @Override
-    public ObjectAdapter[] elements() {
-        throw new NotYetImplementedException();
-    }
-
-    @Override
-    public ObjectAdapter execute() {
-        return invocation.invoke();
-    }
-
-    @Override
-    public String getActionName() {
-        return invocation.getName();
-    }
-
-    @Override
-    public ObjectAdapter getCollection() {
-        return invocation.getTarget();
-    }
-
-    @Override
-    public String getDescription() {
-        return invocation.getDescription();
-    }
-
-    @Override
-    public String getHelp() {
-        return invocation.getHelp();
-    }
-
-    @Override
-    public String getIconName() {
-        return getAdapter().getIconName();
-    }
-
-    @Override
-    public String getId() {
-        return invocation.getName();
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return invocation.getTarget();
-    }
-
-    @Override
-    public int getNoParameters() {
-        return parameters.length;
-    }
-
-    @Override
-    public ParameterContent getParameterContent(final int index) {
-        return parameters[index];
-    }
-
-    @Override
-    public ObjectAdapter getParameterObject(final int index) {
-        return invocation.getParameter(index);
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return getAdapter().getSpecification();
-    }
-
-    @Override
-    public boolean isTransient() {
-        return true;
-    }
-
-    @Override
-    public String title() {
-        return getAdapter().titleString();
-    }
-
-    @Override
-    public String windowTitle() {
-        return getActionName();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/DialoggedObjectOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/DialoggedObjectOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/DialoggedObjectOption.java
deleted file mode 100644
index cf98ad4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/DialoggedObjectOption.java
+++ /dev/null
@@ -1,94 +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.dnd.view.action;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.UnknownTypeException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.BackgroundTask;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-/**
- * Options for an underlying object determined dynamically by looking for
- * methods starting with action, veto and option for specifying the action,
- * vetoing the option and giving the option an name respectively.
- */
-public class DialoggedObjectOption extends AbstractObjectOption {
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    private final static Where where = Where.ANYWHERE;
-
-    public static DialoggedObjectOption createOption(final ObjectAction action, final ObjectAdapter object) {
-        final int paramCount = action.getParameterCount();
-        Assert.assertTrue("Only for actions taking one or more params", paramCount > 0);
-        if (!action.isVisible(IsisContext.getAuthenticationSession(), object, where).isAllowed() || !action.isVisible(IsisContext.getAuthenticationSession(), object, where).isAllowed()) {
-            return null;
-        }
-
-        final DialoggedObjectOption option = new DialoggedObjectOption(action, object);
-        return option;
-    }
-
-    private DialoggedObjectOption(final ObjectAction action, final ObjectAdapter target) {
-        super(action, target, action.getName() + "...");
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        BackgroundWork.runTaskInBackground(view, new BackgroundTask() {
-            @Override
-            public void execute() {
-                final ActionHelper helper = ActionHelper.createInstance(target, action);
-                Content content;
-                if (target == null && action.getOnType().isService() || target != null && target.getSpecification().isNotCollection()) {
-                    content = new ObjectActionContent(helper);
-                } else if (target.getSpecification().isParentedOrFreeCollection()) {
-                    content = new CollectionActionContent(helper);
-                } else {
-                    throw new UnknownTypeException(target);
-                }
-                final View dialog = Toolkit.getViewFactory().createDialog(content);
-                workspace.addDialog(dialog, new Placement(view));
-            }
-
-            @Override
-            public String getDescription() {
-                return "Preparing action " + getName() + " on  " + view.getContent().getAdapter();
-            }
-
-            @Override
-            public String getName() {
-                return "Preparing action " + action.getName();
-            }
-        });
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ImmediateObjectOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ImmediateObjectOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ImmediateObjectOption.java
deleted file mode 100644
index 6ad233a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ImmediateObjectOption.java
+++ /dev/null
@@ -1,100 +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.dnd.view.action;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.BackgroundTask;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-/**
- * Options for an underlying object determined dynamically by looking for
- * methods starting with action, veto and option for specifying the action,
- * vetoing the option and giving the option an name respectively.
- */
-public class ImmediateObjectOption extends AbstractObjectOption {
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    private final static Where where = Where.ANYWHERE;
-
-    public static ImmediateObjectOption createOption(final ObjectAction action, final ObjectAdapter object) {
-        Assert.assertTrue("Only suitable for 0 param methods", action.getParameterCount() == 0);
-        if (!action.isVisible(IsisContext.getAuthenticationSession(), object, where).isAllowed()) {
-            return null;
-        }
-        final ImmediateObjectOption option = new ImmediateObjectOption(action, object);
-        return option;
-    }
-
-    public static ImmediateObjectOption createServiceOption(final ObjectAction action, final ObjectAdapter object) {
-        Assert.assertTrue("Only suitable for 1 param methods", action.getParameterCount() == 1);
-        if (!action.isVisible(IsisContext.getAuthenticationSession(), object, where).isAllowed()) {
-            return null;
-        }
-        final ImmediateObjectOption option = new ImmediateObjectOption(action, object);
-
-        return option;
-    }
-
-    private ImmediateObjectOption(final ObjectAction action, final ObjectAdapter target) {
-        super(action, target, action.getName());
-    }
-
-    @Override
-    protected Consent checkValid() {
-        return action.isProposedArgumentSetValid(target, null);
-    }
-
-    // TODO this method is very similar to ActionDialogSpecification.execute()
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        BackgroundWork.runTaskInBackground(view, new BackgroundTask() {
-            @Override
-            public void execute() {
-                ObjectAdapter result;
-                result = action.execute(target, null);
-                view.objectActionResult(result, new Placement(view));
-                view.getViewManager().disposeUnneededViews();
-                view.getFeedbackManager().showMessagesAndWarnings();
-            }
-
-            @Override
-            public String getDescription() {
-                return "Running action " + getName() + " on  " + view.getContent().getAdapter();
-            }
-
-            @Override
-            public String getName() {
-                return "ObjectAction " + action.getName();
-            }
-        });
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectActionContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectActionContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectActionContent.java
deleted file mode 100644
index 42cd0f8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectActionContent.java
+++ /dev/null
@@ -1,176 +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.dnd.view.action;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.view.content.AbstractObjectContent;
-
-/**
- * Links an action on an object to a view.
- */
-public class ObjectActionContent extends AbstractObjectContent implements ActionContent {
-    private final ActionHelper actionHelper;
-    private final ParameterContent[] parameters;
-
-    public ObjectActionContent(final ActionHelper invocation) {
-        this.actionHelper = invocation;
-        parameters = invocation.createParameters();
-    }
-
-    @Override
-    public Consent canClear() {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public Consent canSet(final ObjectAdapter dragSource) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public void clear() {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("action", getActionName());
-        debug.appendln("target", getAdapter());
-        String parameterSet = "";
-        for (final ParameterContent parameter : parameters) {
-            parameterSet += parameter;
-        }
-        debug.appendln("parameters", parameterSet);
-    }
-
-    @Override
-    public Consent disabled() {
-        return actionHelper.disabled();
-    }
-
-    @Override
-    public ObjectAdapter execute() {
-        return actionHelper.invoke();
-    }
-
-    @Override
-    public String getActionName() {
-        return actionHelper.getName();
-    }
-
-    @Override
-    public String getIconName() {
-        return actionHelper.getIconName();
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return actionHelper.getTarget();
-    }
-
-    @Override
-    public int getNoParameters() {
-        return parameters.length;
-    }
-
-    @Override
-    public ObjectAdapter getObject() {
-        return actionHelper.getTarget();
-    }
-
-    @Override
-    public ParameterContent getParameterContent(final int index) {
-        return parameters[index];
-    }
-
-    @Override
-    public ObjectAdapter getParameterObject(final int index) {
-        return actionHelper.getParameter(index);
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return getObject().getSpecification();
-    }
-
-    /**
-     * Can't persist actions
-     */
-    @Override
-    public boolean isPersistable() {
-        return false;
-    }
-
-    @Override
-    public boolean isObject() {
-        return true;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return true;
-    }
-
-    @Override
-    public void setObject(final ObjectAdapter object) {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public String title() {
-        return actionHelper.title();
-    }
-
-    @Override
-    public String windowTitle() {
-        return getActionName();
-    }
-
-    @Override
-    public String getId() {
-        return actionHelper.getName();
-    }
-
-    @Override
-    public String getDescription() {
-        return actionHelper.getDescription();
-    }
-
-    @Override
-    public String getHelp() {
-        return actionHelper.getHelp();
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameter.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameter.java
deleted file mode 100644
index 9ebdf00..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameter.java
+++ /dev/null
@@ -1,31 +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.dnd.view.action;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-
-public interface ObjectParameter extends ParameterContent {
-
-    Consent canSet(final ObjectAdapter dragSource);
-
-    void setObject(final ObjectAdapter object);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameterImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameterImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameterImpl.java
deleted file mode 100644
index e1e40a7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameterImpl.java
+++ /dev/null
@@ -1,197 +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.dnd.view.action;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneActionParameter;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.content.AbstractObjectContent;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class ObjectParameterImpl extends AbstractObjectContent implements ObjectParameter {
-    private final ObjectAdapter adapter;
-    private final ActionHelper invocation;
-    private final int index;
-    private final ObjectAdapter[] optionAdapters;
-    private final OneToOneActionParameter objectActionParameter;
-
-    public ObjectParameterImpl(final OneToOneActionParameter objectActionParameter, final ObjectAdapter adapter, final ObjectAdapter[] optionAdapters, final int i, final ActionHelper invocation) {
-        this.objectActionParameter = objectActionParameter;
-        this.optionAdapters = optionAdapters;
-        this.index = i;
-        this.invocation = invocation;
-        this.adapter = adapter;
-    }
-
-    public ObjectParameterImpl(final ObjectParameterImpl content, final ObjectAdapter object) {
-        objectActionParameter = content.objectActionParameter;
-        optionAdapters = content.optionAdapters;
-        index = content.index;
-        invocation = content.invocation;
-        this.adapter = object;
-    }
-
-    @Override
-    public Consent canClear() {
-        return Allow.DEFAULT;
-    }
-
-    @Override
-    public Consent canSet(final ObjectAdapter dragSource) {
-        if (dragSource.getSpecification().isOfType(getSpecification())) {
-            // TODO: move logic into Facet
-            return Allow.DEFAULT;
-        } else {
-            // TODO: move logic into Facet
-            return new Veto(String.format("Object must be ", getSpecification().getShortIdentifier()));
-        }
-    }
-
-    @Override
-    public void clear() {
-        setObject(null);
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("name", getParameterName());
-        debug.appendln("required", isRequired());
-        debug.appendln("object", adapter);
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return adapter;
-    }
-
-    @Override
-    public ObjectAdapter getObject() {
-        return adapter;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return optionAdapters;
-    }
-
-    @Override
-    public boolean isObject() {
-        return true;
-    }
-
-    @Override
-    public boolean isRequired() {
-        return !objectActionParameter.isOptional();
-    }
-
-    @Override
-    public boolean isPersistable() {
-        return false;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return optionAdapters != null && optionAdapters.length > 0;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return adapter != null && adapter.isTransient();
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        if (adapter != null) {
-            options.add(new UserActionAbstract("Clear parameter") {
-
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    clear();
-                    view.getParent().invalidateContent();
-                }
-            });
-
-            OptionFactory.addObjectMenuOptions(adapter, options);
-        } else {
-            OptionFactory.addCreateOptions(getSpecification(), options);
-
-        }
-
-    }
-
-    @Override
-    public void setObject(final ObjectAdapter object) {
-        invocation.setParameter(index, object);
-    }
-
-    @Override
-    public String title() {
-        return adapter == null ? "" : adapter.titleString();
-    }
-
-    @Override
-    public String toString() {
-        final ToString toString = new ToString(this);
-        toString.append("label", getParameterName());
-        toString.append("required", isRequired());
-        toString.append("spec", getSpecification().getFullIdentifier());
-        toString.append("object", adapter == null ? "null" : adapter.titleString());
-        return toString.toString();
-    }
-
-    @Override
-    public String getParameterName() {
-        return objectActionParameter.getName();
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return objectActionParameter.getSpecification();
-    }
-
-    @Override
-    public String getDescription() {
-        final String title = adapter == null ? "" : ": " + adapter.titleString();
-        final String name = getParameterName();
-        final ObjectSpecification specification = objectActionParameter.getSpecification();
-        final String specName = specification.getShortIdentifier();
-        final String type = name.indexOf(specName) == -1 ? " (" + specName + ")" : "";
-        return name + type + title + " " + objectActionParameter.getDescription();
-    }
-
-    @Override
-    public String getHelp() {
-        return invocation.getHelp();
-    }
-
-    @Override
-    public String getId() {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
deleted file mode 100644
index 55c9e56..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
+++ /dev/null
@@ -1,84 +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.dnd.view.action;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.FreeStandingList;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.option.DisposeObjectOption;
-
-public class OptionFactory {
-
-    public static void addCreateOptions(final ObjectSpecification specification, final UserActionSet options) {
-        // TODO do the same as addObjectMenuOptions and collect together all the
-        // actions for all the types
-        final List<ObjectAction> actions = specification.getServiceActionsReturning(ActionType.ALL);
-        menuOptions(actions, null, options);
-    }
-
-    public static void addObjectMenuOptions(final ObjectAdapter adapter, final UserActionSet options) {
-        if (adapter == null) {
-            return;
-        }
-
-        final ObjectSpecification noSpec = adapter.getSpecification();
-        menuOptions(noSpec.getObjectActions(Contributed.INCLUDED), adapter, options);
-
-        // TODO: this looks like a bit of a hack; can we improve it by looking
-        // at the facets?
-        if (adapter.getObject() instanceof FreeStandingList) {
-            return;
-        }
-        final Oid oid = adapter.getOid();
-        if (oid != null && adapter.isTransient()) {
-            return;
-        }
-        if (noSpec.isService()) {
-            return;
-        }
-
-        options.add(new DisposeObjectOption());
-    }
-
-    private static void menuOptions(final List<ObjectAction> actions, final ObjectAdapter target, final UserActionSet menuOptionSet) {
-        for (int i = 0; i < actions.size(); i++) {
-            final UserAction option;
-            final int noOfParameters = actions.get(i).getParameterCount();
-            if (noOfParameters == 0) {
-                option = ImmediateObjectOption.createOption(actions.get(i), target);
-            } else if (false /*actions.get(i).isContributed() && noOfParameters == 1 && target != null && target.getSpecification().isOfType(actions.get(i).getParameters().get(0).getSpecification())*/) {
-                option = ImmediateObjectOption.createServiceOption(actions.get(i), target);
-            } else {
-                option = DialoggedObjectOption.createOption(actions.get(i), target);
-            }
-            if (option != null) {
-                menuOptionSet.add(option);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ParameterContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ParameterContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ParameterContent.java
deleted file mode 100644
index 11d02b0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/ParameterContent.java
+++ /dev/null
@@ -1,29 +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.dnd.view.action;
-
-import org.apache.isis.viewer.dnd.view.Content;
-
-public interface ParameterContent extends Content {
-
-    String getParameterName();
-
-    boolean isRequired();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameter.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameter.java
deleted file mode 100644
index 3834146..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameter.java
+++ /dev/null
@@ -1,26 +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.dnd.view.action;
-
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-public interface TextParseableParameter extends ParameterContent, TextParseableContent {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameterImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameterImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameterImpl.java
deleted file mode 100644
index 4bfe9bf..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameterImpl.java
+++ /dev/null
@@ -1,228 +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.dnd.view.action;
-
-import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.util.AdapterUtils;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.facets.object.parseable.InvalidEntryException;
-import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ParseableEntryActionParameter;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.content.AbstractTextParsableContent;
-
-public class TextParseableParameterImpl extends AbstractTextParsableContent implements TextParseableParameter {
-    private ObjectAdapter object;
-    private final ObjectAdapter[] options;
-    private final ParseableEntryActionParameter parameter;
-    private final ActionHelper invocation;
-    private final int index;
-
-    public TextParseableParameterImpl(final ParseableEntryActionParameter objectActionParameters, final ObjectAdapter adapter, final ObjectAdapter[] options, final int i, final ActionHelper invocation) {
-        this.parameter = objectActionParameters;
-        this.options = options;
-        index = i;
-        this.invocation = invocation;
-        object = adapter;
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("name", parameter.getName());
-        debug.appendln("required", isRequired());
-        debug.appendln("object", object);
-    }
-
-    @Override
-    public void entryComplete() {
-    }
-
-    @Override
-    public String getIconName() {
-        return "";
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        return ImageFactory.getInstance().loadIcon("value", 12, null);
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return object;
-    }
-
-    @Override
-    public int getNoLines() {
-        return parameter.getNoLines();
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return options;
-    }
-
-    @Override
-    public boolean isEmpty() {
-        return object == null;
-    }
-
-    @Override
-    public boolean isRequired() {
-        return !parameter.isOptional();
-    }
-
-    @Override
-    public Consent canClear() {
-        return Allow.DEFAULT;
-    }
-
-    @Override
-    public boolean canWrap() {
-        return parameter.canWrap();
-    }
-
-    @Override
-    public void clear() {
-        object = null;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return true;
-    }
-
-    @Override
-    public boolean isTextParseable() {
-        return true;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return options != null && options.length > 0;
-    }
-
-    @Override
-    public String title() {
-        return AdapterUtils.titleString(object);
-    }
-
-    @Override
-    public String toString() {
-        final ToString toString = new ToString(this);
-        toString.append("object", object);
-        return toString.toString();
-    }
-
-    @Override
-    public String getParameterName() {
-        return parameter.getName();
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return parameter.getSpecification();
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public String titleString(final ObjectAdapter value) {
-        return titleString(value, parameter, parameter.getSpecification());
-    }
-
-    /**
-     * @throws InvalidEntryException
-     *             - turns the parameter red if invalid.
-     */
-    @Override
-    public void parseTextEntry(final String entryText) {
-        object = parse(entryText);
-        Localization localization = IsisContext.getLocalization(); 
-        final String reason = parameter.isValid(object, AdapterUtils.unwrap(object), localization);
-        if (reason != null) {
-            throw new InvalidEntryException(reason);
-        } else if (!parameter.isOptional() && object == null) {
-            throw new InvalidEntryException("Mandatory parameter cannot be empty");
-        }
-        invocation.setParameter(index, object);
-    }
-
-    private ObjectAdapter parse(final String entryText) {
-        final ObjectSpecification parameterSpecification = parameter.getSpecification();
-        final ParseableFacet p = parameterSpecification.getFacet(ParseableFacet.class);
-        try {
-            Localization localization = IsisContext.getLocalization(); 
-            return p.parseTextEntry(object, entryText, localization);
-        } catch (final IllegalArgumentException ex) {
-            throw new InvalidEntryException(ex.getMessage(), ex);
-        }
-    }
-
-    @Override
-    public String getDescription() {
-        final String title = object == null ? "" : ": " + object.titleString();
-        final String specification = getSpecification().getShortIdentifier();
-        final String type = getParameterName().indexOf(specification) == -1 ? "" : " (" + specification + ")";
-        return getParameterName() + type + title + " " + parameter.getDescription();
-    }
-
-    @Override
-    public String getHelp() {
-        return null;
-    }
-
-    @Override
-    public String getId() {
-        return null;
-    }
-
-    @Override
-    public Consent isEditable() {
-        return Allow.DEFAULT;
-    }
-
-    @Override
-    public int getMaximumLength() {
-        return parameter.getMaximumLength();
-    }
-
-    @Override
-    public int getTypicalLineLength() {
-        return parameter.getTypicalLineLength();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/axis/LabelAxis.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/axis/LabelAxis.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/axis/LabelAxis.java
deleted file mode 100644
index 4d61806..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/axis/LabelAxis.java
+++ /dev/null
@@ -1,45 +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.dnd.view.axis;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-
-public class LabelAxis implements ViewAxis {
-    private int width;
-
-    public LabelAxis() {
-    }
-
-    public void accommodateWidth(final int width) {
-        this.width = Math.max(this.width, width);
-    }
-
-    public int getWidth() {
-        return width;
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("width", width);
-        return str.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractBorder.java
deleted file mode 100644
index 3dab885..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractBorder.java
+++ /dev/null
@@ -1,289 +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.dnd.view.base;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-
-public class AbstractBorder extends AbstractViewDecorator {
-    protected int bottom;
-    protected int left;
-    private boolean onBorder;
-    protected int right;
-    protected int top;
-
-    protected AbstractBorder(final View view) {
-        super(view);
-    }
-
-    protected Bounds contentArea() {
-        return new Bounds(getLeft(), getTop(), getSize().getWidth() - getLeft() - getRight(), getSize().getHeight() - getTop() - getBottom());
-    }
-
-    @Override
-    public View dragFrom(final Location location) {
-        location.subtract(getLeft(), getTop());
-        return super.dragFrom(location);
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        drag.subtract(getLeft(), getTop());
-        super.dragIn(drag);
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        drag.subtract(getLeft(), getTop());
-        super.dragOut(drag);
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        if (overContent(drag.getLocation())) {
-            drag.subtract(getLeft(), getTop());
-            return super.dragStart(drag);
-        } else {
-            return null;
-        }
-    }
-
-    protected void clearBackground(final Canvas canvas, final Color color) {
-        final Bounds bounds = getView().getBounds();
-        canvas.drawSolidRectangle(0, 0, bounds.getWidth(), bounds.getHeight(), color);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        if (Toolkit.debug) {
-            canvas.drawDebugOutline(new Bounds(getSize()), getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_BORDER));
-        }
-        final int width = getSize().getWidth() - getRight();
-        final int height = getSize().getHeight() - getBottom();
-        final Canvas subcanvas = canvas.createSubcanvas(getLeft(), getTop(), width, height);
-        wrappedView.draw(subcanvas);
-    }
-
-    @Override
-    public void drop(final ContentDrag drag) {
-        drag.subtract(getLeft(), getTop());
-        super.drop(drag);
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        if (overContent(click.getLocation())) {
-            click.subtract(getLeft(), getTop());
-            wrappedView.firstClick(click);
-        }
-    }
-
-    @Override
-    public int getBaseline() {
-        return wrappedView.getBaseline() + getTop();
-    }
-
-    protected int getBottom() {
-        return bottom;
-    }
-
-    protected int getLeft() {
-        return left;
-    }
-
-    @Override
-    public Padding getPadding() {
-        final Padding padding = wrappedView.getPadding();
-        padding.extendTop(getTop());
-        padding.extendLeft(getLeft());
-        padding.extendBottom(getBottom());
-        padding.extendRight(getRight());
-
-        return padding;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        availableSpace.contract(getLeft() + getRight(), getTop() + getBottom());
-        final Size size = wrappedView.getRequiredSize(availableSpace);
-        size.extend(getLeft() + getRight(), getTop() + getBottom());
-        return size;
-    }
-
-    protected int getRight() {
-        return right;
-    }
-
-    @Override
-    public Size getSize() {
-        final Size size = wrappedView.getSize();
-        size.extend(getLeft() + getRight(), getTop() + getBottom());
-
-        return size;
-    }
-
-    protected int getTop() {
-        return top;
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        debug.appendln("border", getTop() + "/" + getBottom() + " " + getLeft() + "/" + getRight() + " (top/bottom left/right)");
-        debug.appendln("contents", contentArea());
-    }
-
-    protected boolean overBorder(final Location location) {
-        return !contentArea().contains(location);
-    }
-
-    protected boolean overContent(final Location location) {
-        return contentArea().contains(location);
-    }
-
-    protected boolean isOnBorder() {
-        return onBorder;
-    }
-
-    @Override
-    public View identify(final Location location) {
-        getViewManager().getSpy().addTrace(this, "mouse location within border", location);
-        getViewManager().getSpy().addTrace(this, "non border area", contentArea());
-
-        if (overBorder(location)) {
-            getViewManager().getSpy().addTrace(this, "over border area", contentArea());
-            return getView();
-        } else {
-            location.add(-getLeft(), -getTop());
-            return super.identify(location);
-        }
-
-    }
-
-    @Override
-    public void mouseDown(final Click click) {
-        if (overContent(click.getLocation())) {
-            click.subtract(getLeft(), getTop());
-            wrappedView.mouseDown(click);
-        }
-    }
-
-    @Override
-    public void mouseMoved(final Location at) {
-        final boolean on = overBorder(at);
-        if (onBorder != on) {
-            markDamaged();
-            onBorder = on;
-        }
-
-        if (!on) {
-            at.move(-getLeft(), -getTop());
-            wrappedView.mouseMoved(at);
-        }
-    }
-
-    @Override
-    public void mouseUp(final Click click) {
-        if (overContent(click.getLocation())) {
-            click.subtract(getLeft(), getTop());
-            wrappedView.mouseUp(click);
-        }
-    }
-
-    @Override
-    public void exited() {
-        onBorder = false;
-        super.exited();
-    }
-
-    @Override
-    public View pickupContent(final Location location) {
-        location.subtract(getLeft(), getTop());
-        return super.pickupContent(location);
-    }
-
-    @Override
-    public View pickupView(final Location location) {
-        if (overBorder(location)) {
-            return Toolkit.getViewFactory().createDragViewOutline(getView());
-        } else {
-            location.subtract(getLeft(), getTop());
-            return super.pickupView(location);
-        }
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        if (overContent(click.getLocation())) {
-            click.subtract(getLeft(), getTop());
-            wrappedView.secondClick(click);
-        }
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        final Size wrappedViewSize = new Size(size);
-        wrappedViewSize.contract(getLeft() + getRight(), getTop() + getBottom());
-        wrappedView.setSize(wrappedViewSize);
-    }
-
-    @Override
-    public void setBounds(final Bounds bounds) {
-        final Bounds wrappedViewBounds = new Bounds(bounds);
-        wrappedViewBounds.contract(getLeft() + getRight(), getTop() + getBottom());
-        wrappedView.setBounds(wrappedViewBounds);
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-        if (overContent(click.getLocation())) {
-            click.subtract(getLeft(), getTop());
-            wrappedView.thirdClick(click);
-        }
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        final Size size = wrappedView.getSize();
-        final Bounds bounds = new Bounds(getLeft(), getTop(), size.getWidth(), size.getHeight());
-
-        if (bounds.contains(mouseLocation)) {
-            mouseLocation.subtract(getLeft(), getTop());
-
-            return wrappedView.viewAreaType(mouseLocation);
-        } else {
-            return ViewAreaType.VIEW;
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFieldSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFieldSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFieldSpecification.java
deleted file mode 100644
index 79e098f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFieldSpecification.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.dnd.view.base;
-
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public abstract class AbstractFieldSpecification implements ViewSpecification {
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isTextParseable() && requirement.isEditable();
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return true;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFocusManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFocusManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFocusManager.java
deleted file mode 100644
index 0262b9d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFocusManager.java
+++ /dev/null
@@ -1,203 +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.dnd.view.base;
-
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.View;
-
-/**
- * Abstract focus manager that uses the set of views to move focus between from
- * the concrete subclass.
- * 
- * @see #getChildViews()
- */
-public abstract class AbstractFocusManager implements FocusManager {
-    // TODO container to go in subclass ??
-    protected View container;
-    protected View focus;
-    private final View initialFocus;
-
-    public AbstractFocusManager(final View container) {
-        this(container, null);
-    }
-
-    public AbstractFocusManager(final View container, final View initalFocus) {
-        Assert.assertNotNull(container);
-        this.container = container;
-        this.initialFocus = initalFocus;
-        focus = initalFocus;
-    }
-
-    /**
-     * Throws a ObjectAdapterRuntimeException if the specified view is available
-     * to this focus manager.
-     */
-    private void checkCanFocusOn(final View view) {
-        final View[] views = getChildViews();
-        boolean valid = view == container.getView();
-        for (int j = 0; valid == false && j < views.length; j++) {
-            if (views[j] == view) {
-                valid = true;
-            }
-        }
-
-        if (!valid) {
-            // throw new ObjectAdapterRuntimeException("No view " + view +
-            // " to focus on in " +
-            // container.getView());
-        }
-    }
-
-    @Override
-    public void focusFirstChildView() {
-        final View[] views = getChildViews();
-        for (final View view : views) {
-            if (view.canFocus()) {
-                setFocus(view);
-                return;
-            }
-        }
-        // no other focusable view; stick with the view we've got
-        return;
-    }
-
-    @Override
-    public void focusInitialChildView() {
-        if (initialFocus == null) {
-            focusFirstChildView();
-        } else {
-            setFocus(initialFocus);
-        }
-    }
-
-    @Override
-    public void focusLastChildView() {
-        final View[] views = getChildViews();
-        for (int j = views.length - 1; j > 0; j--) {
-            if (views[j].canFocus()) {
-                setFocus(views[j]);
-                return;
-            }
-        }
-        // no other focusable view; stick with the view we've got
-        return;
-    }
-
-    @Override
-    public void focusNextView() {
-        final View[] views = getChildViews();
-        for (int i = 0; i < views.length; i++) {
-            if (testView(views, i)) {
-                for (int j = i + 1; j < views.length; j++) {
-                    if (views[j].canFocus()) {
-                        setFocus(views[j]);
-                        return;
-                    }
-                }
-                for (int j = 0; j < i; j++) {
-                    if (views[j].canFocus()) {
-                        setFocus(views[j]);
-                        return;
-                    }
-                }
-                // no other focusable view; stick with the view we've got
-                return;
-            }
-        }
-
-        // throw new ObjectAdapterRuntimeException();
-    }
-
-    private boolean testView(final View[] views, final int i) {
-        final View view = views[i];
-        return view == focus;
-    }
-
-    @Override
-    public void focusParentView() {
-        container.getFocusManager().setFocus(container.getFocusManager().getFocus());
-    }
-
-    @Override
-    public void focusPreviousView() {
-        final View[] views = getChildViews();
-        if (views.length > 1) {
-            for (int i = 0; i < views.length; i++) {
-                if (testView(views, i)) {
-                    for (int j = i - 1; j >= 0; j--) {
-                        if (views[j].canFocus()) {
-                            setFocus(views[j]);
-                            return;
-                        }
-                    }
-                    for (int j = views.length - 1; j > i; j--) {
-                        if (views[j].canFocus()) {
-                            setFocus(views[j]);
-                            return;
-                        }
-                    }
-                    // no other focusable view; stick with the view we've got
-                    return;
-                }
-            }
-
-            // Don't move to any view
-            // throw new
-            // ObjectAdapterRuntimeException("Can't move to previous peer from "
-            // + focus);
-        }
-    }
-
-    protected abstract View[] getChildViews();
-
-    @Override
-    public View getFocus() {
-        return focus;
-    }
-
-    @Override
-    public void setFocus(final View view) {
-        checkCanFocusOn(view);
-
-        if (view != null && view.canFocus()) {
-            if ((focus != null) && (focus != view)) {
-                focus.focusLost();
-                focus.markDamaged();
-            }
-
-            focus = view;
-            focus.focusReceived();
-
-            view.markDamaged();
-        }
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("container", container);
-        str.append("initialFocus", initialFocus);
-        str.append("focus", focus);
-        return str.toString();
-    }
-
-}


[28/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/resources/xmlmind/xhtml1-strict.dtd
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/resources/xmlmind/xhtml1-strict.dtd b/mothballed/component/viewer/bdd/src/site/resources/xmlmind/xhtml1-strict.dtd
deleted file mode 100644
index d26726e..0000000
--- a/mothballed/component/viewer/bdd/src/site/resources/xmlmind/xhtml1-strict.dtd
+++ /dev/null
@@ -1,988 +0,0 @@
-<!--
-   Extensible HTML version 1.0 Strict DTD
-
-   This is the same as HTML 4 Strict except for
-   changes due to the differences between XML and SGML.
-
-   Namespace = http://www.w3.org/1999/xhtml
-
-   For further information, see: http://www.w3.org/TR/xhtml1
-
-   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
-   All Rights Reserved. 
-
-   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
-   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-
-   $Revision: 1.24 $
-   $Date: 2002/07/31 19:34:51 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-   "xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols for XHTML//EN"
-   "xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special for XHTML//EN"
-   "xhtml-special.ent">
-%HTMLspecial;
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % ContentTypes "CDATA">
-    <!-- comma-separated list of media types, as per [RFC2045] -->
-
-<!ENTITY % Charset "CDATA">
-    <!-- a character encoding, as per [RFC2045] -->
-
-<!ENTITY % Charsets "CDATA">
-    <!-- a space separated list of character encodings, as per [RFC2045] -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % Character "CDATA">
-    <!-- a single character, as per section 2.2 of [XML] -->
-
-<!ENTITY % Number "CDATA">
-    <!-- one or more digits -->
-
-<!ENTITY % LinkTypes "CDATA">
-    <!-- space-separated list of link types -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- single or comma-separated list of media descriptors -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [RFC2396] -->
-
-<!ENTITY % UriList "CDATA">
-    <!-- a space separated list of Uniform Resource Identifiers -->
-
-<!ENTITY % Datetime "CDATA">
-    <!-- date and time information. ISO date format -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % Text "CDATA">
-    <!-- used for titles etc. -->
-
-<!ENTITY % Length "CDATA">
-    <!-- nn for pixels or nn% for percentage length -->
-
-<!ENTITY % MultiLength "CDATA">
-    <!-- pixel, percentage, or relative -->
-
-<!ENTITY % Pixels "CDATA">
-    <!-- integer representing length in pixels -->
-
-<!-- these are used for image maps -->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-
-<!ENTITY % Coords "CDATA">
-    <!-- comma separated list of lengths -->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!-- core attributes common to most elements
-  id       document-wide unique id
-  class    space separated list of classes
-  style    associated style info
-  title    advisory title/amplification
--->
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  concordion:assertEquals  CDATA         #IMPLIED
-  concordion:set           CDATA         #IMPLIED"
-  >
-
-<!-- internationalization attributes
-  lang        language code (backwards compatible)
-  xml:lang    language code (as per XML 1.0 spec)
-  dir         direction for weak/neutral text
--->
-<!ENTITY % i18n
- "lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!-- attributes for common UI events
-  onclick     a pointer button was clicked
-  ondblclick  a pointer button was double clicked
-  onmousedown a pointer button was pressed down
-  onmouseup   a pointer button was released
-  onmousemove a pointer was moved onto the element
-  onmouseout  a pointer was moved away from the element
-  onkeypress  a key was pressed and released
-  onkeydown   a key was pressed down
-  onkeyup     a key was released
--->
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- attributes for elements that can get the focus
-  accesskey   accessibility key character
-  tabindex    position in tabbing order
-  onfocus     the element got the focus
-  onblur      the element lost the focus
--->
-<!ENTITY % focus
- "accesskey   %Character;    #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED"
-  >
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-<!--=================== Text Elements ====================================-->
-
-<!ENTITY % special.pre
-   "br | span | bdo | map">
-
-
-<!ENTITY % special
-   "%special.pre; | object | img ">
-
-<!ENTITY % fontstyle "tt | i | b | big | small ">
-
-<!ENTITY % phrase "em | strong | dfn | code | q |
-                   samp | kbd | var | cite | abbr | acronym | sub | sup ">
-
-<!ENTITY % inline.forms "input | select | textarea | label | button">
-
-<!-- these can occur at block or inline level -->
-<!ENTITY % misc.inline "ins | del | script">
-
-<!-- these can only occur at block level -->
-<!ENTITY % misc "noscript | %misc.inline;">
-
-<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
-
-<!-- %Inline; covers inline or "text-level" elements -->
-<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
-
-<!--================== Block level elements ==============================-->
-
-<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
-<!ENTITY % lists "ul | ol | dl">
-<!ENTITY % blocktext "pre | hr | blockquote | address">
-
-<!ENTITY % block
-     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %Flow; mixes block and inline and is used for list items etc. -->
-<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
-
-<!--================== Content models for exclusions =====================-->
-
-<!-- a elements use %Inline; excluding a -->
-
-<!ENTITY % a.content
-   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
-
-<!-- pre uses %Inline excluding big, small, sup or sup -->
-
-<!ENTITY % pre.content
-   "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
-      | %inline.forms;)*">
-
-<!-- form uses %Block; excluding form -->
-
-<!ENTITY % form.content "(%block; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form and form controls -->
-
-<!ENTITY % button.content
-   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
-    table | %special; | %fontstyle; | %phrase; | %misc;)*">
-
-<!--================ Document Structure ==================================-->
-
-<!-- the namespace URI designates the document profile -->
-
-<!ELEMENT html (head, body)>
-<!ATTLIST html
-  %i18n;
-  id          ID             #IMPLIED
-  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
-  xmlns:concordion   %URI;          #FIXED 'http://www.concordion.org/2007/concordion'
-  xmlns:isis         %URI;          #FIXED 'http://isis.apache.org/2010/concordion'
-  >
-
-<!--================ Document Head =======================================-->
-
-<!ENTITY % head.misc "(script|style|meta|link|object)*">
-
-<!-- content model is %head.misc; combined with a single
-     title and an optional base element in any order -->
-
-<!ELEMENT head (%head.misc;,
-     ((title, %head.misc;, (base, %head.misc;)?) |
-      (base, %head.misc;, (title, %head.misc;))))>
-
-<!ATTLIST head
-  %i18n;
-  id          ID             #IMPLIED
-  profile     %URI;          #IMPLIED
-  >
-
-<!-- The title element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!ELEMENT title (#PCDATA)>
-<!ATTLIST title 
-  %i18n;
-  id          ID             #IMPLIED
-  >
-
-<!-- document base URI -->
-
-<!ELEMENT base EMPTY>
-<!ATTLIST base
-  href        %URI;          #REQUIRED
-  id          ID             #IMPLIED
-  >
-
-<!-- generic metainformation -->
-<!ELEMENT meta EMPTY>
-<!ATTLIST meta
-  %i18n;
-  id          ID             #IMPLIED
-  http-equiv  CDATA          #IMPLIED
-  name        CDATA          #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  >
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the link element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel="stylesheet")
-   c) to make a link to a script (rel="script")
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a PostScript or PDF version (rel="alternate" media="print")
--->
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  >
-
-<!-- style info, which may include CDATA sections -->
-<!ELEMENT style (#PCDATA)>
-<!ATTLIST style
-  %i18n;
-  id          ID             #IMPLIED
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- script statements, which may include CDATA sections -->
-<!ELEMENT script (#PCDATA)>
-<!ATTLIST script
-  id          ID             #IMPLIED
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Block;>
-<!ATTLIST noscript
-  %attrs;
-  >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Block;>
-<!ATTLIST body
-  %attrs;
-  onload          %Script;   #IMPLIED
-  onunload        %Script;   #IMPLIED
-  >
-
-<!ELEMENT div %Flow;>  <!-- generic language/style container -->
-<!ATTLIST div
-  %attrs;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
-  %attrs;
-  concordion:execute  CDATA         #IMPLIED
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from h1 (the most important)
-  to h6 (the least important).
--->
-
-<!ELEMENT h1  %Inline;>
-<!ATTLIST h1
-   %attrs;
-   >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
-   %attrs;
-   >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
-   %attrs;
-   >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
-   %attrs;
-   >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
-   %attrs;
-   >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
-   %attrs;
-   >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
-  %attrs;
-  >
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
-  %attrs;
-  >
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
-  %attrs;
-  >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
-  %attrs;
-  >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
-  %attrs;
-  >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
-  %attrs;
-  >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
-  %attrs;
-  >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
-  %attrs;
-  >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
-  %attrs;
-  xml:space (preserve) #FIXED 'preserve'
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Block;>
-<!ATTLIST blockquote
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-<!--
-  ins/del are allowed in block and inline content, but its
-  inappropriate to include block content within an ins element
-  occurring in inline content.
--->
-<!ELEMENT ins %Flow;>
-<!ATTLIST ins
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!ELEMENT del %Flow;>
-<!ATTLIST del
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--================== The Anchor Element ================================-->
-
-<!-- content is %Inline; except that anchors shouldn't be nested -->
-
-<!ELEMENT a %a.content;>
-<!ATTLIST a
-  %attrs;
-  %focus;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  concordion:run  CDATA         #IMPLIED
-  >
-
-<!--===================== Inline Elements ================================-->
-
-<!ELEMENT span %Inline;> <!-- generic language/style container -->
-<!ATTLIST span
-  %attrs;
-  concordion:assertTrue  CDATA         #IMPLIED
-  concordion:assertFalse  CDATA         #IMPLIED
-  >
-
-<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
-<!ATTLIST bdo
-  %coreattrs;
-  %events;
-  lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-<!ELEMENT br EMPTY>   <!-- forced line break -->
-<!ATTLIST br
-  %coreattrs;
-  >
-
-<!ELEMENT em %Inline;>   <!-- emphasis -->
-<!ATTLIST em %attrs;>
-
-<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
-<!ATTLIST strong %attrs;>
-
-<!ELEMENT dfn %Inline;>   <!-- definitional -->
-<!ATTLIST dfn %attrs;>
-
-<!ELEMENT code %Inline;>   <!-- program code -->
-<!ATTLIST code %attrs;>
-
-<!ELEMENT samp %Inline;>   <!-- sample -->
-<!ATTLIST samp %attrs;>
-
-<!ELEMENT kbd %Inline;>  <!-- something user would type -->
-<!ATTLIST kbd %attrs;>
-
-<!ELEMENT var %Inline;>   <!-- variable -->
-<!ATTLIST var %attrs;>
-
-<!ELEMENT cite %Inline;>   <!-- citation -->
-<!ATTLIST cite %attrs;>
-
-<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
-<!ATTLIST abbr %attrs;>
-
-<!ELEMENT acronym %Inline;>   <!-- acronym -->
-<!ATTLIST acronym %attrs;>
-
-<!ELEMENT q %Inline;>   <!-- inlined quote -->
-<!ATTLIST q
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!ELEMENT sub %Inline;> <!-- subscript -->
-<!ATTLIST sub %attrs;>
-
-<!ELEMENT sup %Inline;> <!-- superscript -->
-<!ATTLIST sup %attrs;>
-
-<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
-<!ATTLIST tt %attrs;>
-
-<!ELEMENT i %Inline;>   <!-- italic font -->
-<!ATTLIST i %attrs;>
-
-<!ELEMENT b %Inline;>   <!-- bold font -->
-<!ATTLIST b %attrs;>
-
-<!ELEMENT big %Inline;>   <!-- bigger font -->
-<!ATTLIST big %attrs;>
-
-<!ELEMENT small %Inline;>   <!-- smaller font -->
-<!ATTLIST small %attrs;>
-
-<!--==================== Object ======================================-->
-<!--
-  object is used to embed objects as part of HTML pages.
-  param elements should precede other content. Parameters
-  can also be expressed as attribute/value pairs on the
-  object element itself when brevity is desired.
--->
-
-<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST object
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %UriList;      #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  >
-
-<!--
-  param is used to supply a named property value.
-  In XML it would seem natural to follow RDF and support an
-  abbreviated syntax where the param elements are replaced
-  by attribute value pairs on the object start tag.
--->
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  id          ID             #IMPLIED
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  valuetype   (data|ref|object) "data"
-  type        %ContentType;  #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!--
-   To avoid accessibility problems for people who aren't
-   able to see the image, you should provide a text
-   description using the alt and longdesc attributes.
-   In addition, avoid the use of server-side image maps.
-   Note that in this DTD there is no name attribute. That
-   is only available in the transitional and frameset DTD.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  >
-
-<!-- usemap points to a map element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
-<!ATTLIST map
-  %i18n;
-  %events;
-  id          ID             #REQUIRED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
-  %attrs;
-  %focus;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (get|post)     "get"
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  >
-
-<!--
-  Each label must not contain more than ONE field
-  Label elements shouldn't be nested.
--->
-<!ELEMENT label %Inline;>
-<!ATTLIST label
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(text | password | checkbox |
-    radio | submit | reset |
-    file | hidden | image | button)"
-   >
-
-<!-- the name attribute is required for all but submit & reset -->
-
-<!ELEMENT input EMPTY>     <!-- form control -->
-<!ATTLIST input
-  %attrs;
-  %focus;
-  type        %InputType;    "text"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  >
-
-<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
-<!ATTLIST select
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!ELEMENT optgroup (option)+>   <!-- option group -->
-<!ATTLIST optgroup
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
-<!ATTLIST option
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
-<!ATTLIST textarea
-  %attrs;
-  %focus;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!--
-  The fieldset element is used to group form fields.
-  Only one legend element should occur in the content
-  and if present should only be preceded by whitespace.
--->
-<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
-<!ATTLIST fieldset
-  %attrs;
-  >
-
-<!ELEMENT legend %Inline;>     <!-- fieldset label -->
-<!ATTLIST legend
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  >
-
-<!--
- Content is %Flow; excluding a, form and form controls
---> 
-<!ELEMENT button %button.content;>  <!-- push button -->
-<!ATTLIST button
-  %attrs;
-  %focus;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- Derived from IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The border attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The frame attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the valign attribute.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The rules attribute defines which rules to draw between cells:
-
- If rules is absent then assume:
-     "none" if border is absent or border="0" otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal alignment attributes for cell contents
-
-  char        alignment char, e.g. char=':'
-  charoff     offset for alignment char
--->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT table
-     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
-<!ELEMENT caption  %Inline;>
-<!ELEMENT thead    (tr)+>
-<!ELEMENT tfoot    (tr)+>
-<!ELEMENT tbody    (tr)+>
-<!ELEMENT colgroup (col)*>
-<!ELEMENT col      EMPTY>
-<!ELEMENT tr       (th|td)+>
-<!ELEMENT th       %Flow;>
-<!ELEMENT td       %Flow;>
-
-<!ATTLIST table
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  isis:execute          CDATA    #IMPLIED
-  concordion:verifyRows CDATA    #IMPLIED
-  >
-
-<!ATTLIST caption
-  %attrs;
-  >
-
-<!--
-colgroup groups a set of col elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST colgroup
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- col elements define the alignment properties for cells in
- one or more columns.
-
- The width attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The span attribute causes the attributes of one
- col element to apply to more than one column.
--->
-<!ATTLIST col
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST thead
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tfoot
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tbody
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tr
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-
-<!-- Scope is simpler than headers attribute for common tables -->
-<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
-
-<!-- th is for headers, td for data and for cells acting as both -->
-
-<!ATTLIST th
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST td
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/site.xml b/mothballed/component/viewer/bdd/src/site/site.xml
deleted file mode 100644
index 1bd601f..0000000
--- a/mothballed/component/viewer/bdd/src/site/site.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="BDD Integration" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="BDD Integration">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Viewer Modules">
-            <item name="HTML" href="../html/index.html" />
-            <item name="Scimpi" href="../scimpi/index.html" />
-            <item name="Wicket" href="../wicket/index.html" />
-            <item name="RestfulObjects" href="../restfulobjects/index.html" />
-            <item name="JUnit Support" href="../junit/index.html" />
-            <item name="BDD Integration" href="../bdd/index.html" />
-            <item name="DnD" href="../dnd/index.html" />
-        </menu>
-        
-        <menu name="BDD Modules">
-            <item name="Common" href="./bdd-common/index.html" />
-            <item name="Concordion" href="./bdd-concordion/index.html" />
-        </menu>
-
-		<menu name="Documentation">
-			<item name="${docbkxGuideTitle} (PDF)" href="docbkx/pdf/${docbkxGuideName}.pdf" />
-			<item name="${docbkxGuideTitle} (HTML)" href="docbkx/html/guide/${docbkxGuideName}.html" />
-		</menu>
-
-		<menu name="Maven Reports" ref="reports" />
-	</body>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/pom.xml b/mothballed/component/viewer/bdd/tck/pom.xml
deleted file mode 100644
index 46793e3..0000000
--- a/mothballed/component/viewer/bdd/tck/pom.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.core</groupId>
-        <artifactId>isis-core-tck</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
-        <relativePath>../../../../core/tck/pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.isis.viewer</groupId>
-	<artifactId>isis-viewer-bdd-concordion-tck</artifactId>
-
-	<name>Isis BDD Viewer (Concordion) TCK tests</name>
-
-    <properties>
-        <maven.test.skip>true</maven.test.skip>
-
-		<!-- until someone comes up with a better solution -->
-        <distMgmtSiteUrl>file:///tmp/m2-sites/isis/viewer/bdd</distMgmtSiteUrl>
-
-    </properties>
-    
-    <build>
-		<plugins>
-            <plugin>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <systemPropertyVariables>
-                        <concordion.output.dir>${project.build.directory}/concordion</concordion.output.dir>
-                    </systemPropertyVariables>
-                    <includes>
-                         <include>**/AllStories.java</include>
-                    </includes>
-                </configuration>
-            </plugin>
-		</plugins>
-    </build>
-	
-	<dependencies>
-
-		<!-- this project's dependencies -->
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-tck-fixture</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-bytecode-cglib</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-profilestore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-security</artifactId>
-        </dependency>
-
-
-		<!-- BDD Viewers concordion dependencies -->
-		<dependency>
-			<groupId>org.apache.isis.viewer</groupId>
-            <artifactId>isis-viewer-bdd-concordion</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-            <scope>test</scope>
-        </dependency>
-
-        <!--  direct dependency required because is LGPL licensed -->
-        <dependency>
-            <groupId>xom</groupId>
-            <artifactId>xom</artifactId>
-            <version>1.2.5</version>
-            <exclusions>
-            <exclusion>
-            	<!-- for dependency convergence -->
-            	<groupId>xml-apis</groupId>
-            	<artifactId>xml-apis</artifactId>
-            </exclusion>
-            </exclusions>
-        </dependency>
-        
-        <dependency>
-        	<groupId>xml-apis</groupId>
-        	<artifactId>xml-apis</artifactId>
-        	<version>2.0.2</version>
-        </dependency>
-
-	</dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/AbstractApplicationStory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/AbstractApplicationStory.java b/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/AbstractApplicationStory.java
deleted file mode 100644
index 215a603..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/AbstractApplicationStory.java
+++ /dev/null
@@ -1,34 +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 viewer.bdd;
-
-import org.apache.isis.viewer.bdd.concordion.AbstractIsisConcordionScenario;
-
-public abstract class AbstractApplicationStory extends AbstractIsisConcordionScenario {
-
-    /**
-     * This superclass also acts as the marker for the location of the custom
-     * CSS.
-     */
-    @Override
-    protected Class<?> customCssPackage() {
-        return AbstractApplicationStory.class;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/common/BootstrapInExplorationMode.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/common/BootstrapInExplorationMode.java b/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/common/BootstrapInExplorationMode.java
deleted file mode 100644
index 163a30e..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/common/BootstrapInExplorationMode.java
+++ /dev/null
@@ -1,25 +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 viewer.bdd.common;
-
-import org.apache.isis.viewer.bdd.concordion.AbstractIsisConcordionScenario;
-
-public class BootstrapInExplorationMode extends AbstractIsisConcordionScenario {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/common/ToDoItems.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/common/ToDoItems.java b/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/common/ToDoItems.java
deleted file mode 100644
index 7b13f27..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/common/ToDoItems.java
+++ /dev/null
@@ -1,25 +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 viewer.bdd.common;
-
-import org.apache.isis.viewer.bdd.concordion.AbstractIsisConcordionScenario;
-
-public class ToDoItems extends AbstractIsisConcordionScenario {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/AllStories.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/AllStories.java b/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/AllStories.java
deleted file mode 100644
index cd172c7..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/AllStories.java
+++ /dev/null
@@ -1,25 +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 viewer.bdd.stories;
-
-import viewer.bdd.AbstractApplicationStory;
-
-public class AllStories extends AbstractApplicationStory {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/Fixtures.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/Fixtures.java b/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/Fixtures.java
deleted file mode 100644
index eeb8895..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/Fixtures.java
+++ /dev/null
@@ -1,25 +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 viewer.bdd.stories.todo;
-
-import viewer.bdd.AbstractApplicationStory;
-
-public class Fixtures extends AbstractApplicationStory {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/Index.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/Index.java b/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/Index.java
deleted file mode 100644
index bdf0259..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/Index.java
+++ /dev/null
@@ -1,25 +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 viewer.bdd.stories.todo;
-
-import viewer.bdd.AbstractApplicationStory;
-
-public class Index extends AbstractApplicationStory {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.java b/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.java
deleted file mode 100644
index b4715e2..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/java/viewer/bdd/stories/todo/ScenarioMarkItemAsDone.java
+++ /dev/null
@@ -1,25 +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 viewer.bdd.stories.todo;
-
-import viewer.bdd.AbstractApplicationStory;
-
-public class ScenarioMarkItemAsDone extends AbstractApplicationStory {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-lat1.ent
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-lat1.ent b/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-lat1.ent
deleted file mode 100644
index ffee223..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-lat1.ent
+++ /dev/null
@@ -1,196 +0,0 @@
-<!-- Portions (C) International Organization for Standardization 1986
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-<!-- Character entity set. Typical invocation:
-    <!ENTITY % HTMLlat1 PUBLIC
-       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
-    %HTMLlat1;
--->
-
-<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
-                                  U+00A0 ISOnum -->
-<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
-<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
-<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
-<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
-<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
-<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
-                                  U+00A6 ISOnum -->
-<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
-<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
-                                  U+00A8 ISOdia -->
-<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
-<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
-<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
-                                  = left pointing guillemet, U+00AB ISOnum -->
-<!ENTITY not    "&#172;"> <!-- not sign = angled dash,
-                                  U+00AC ISOnum -->
-<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
-                                  U+00AD ISOnum -->
-<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
-                                  U+00AE ISOnum -->
-<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
-                                  = APL overbar, U+00AF ISOdia -->
-<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
-<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
-                                  U+00B1 ISOnum -->
-<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
-                                  = squared, U+00B2 ISOnum -->
-<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
-                                  = cubed, U+00B3 ISOnum -->
-<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
-                                  U+00B4 ISOdia -->
-<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
-<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
-                                  U+00B6 ISOnum -->
-<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
-                                  = Greek middle dot, U+00B7 ISOnum -->
-<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
-<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
-                                  U+00B9 ISOnum -->
-<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
-                                  U+00BA ISOnum -->
-<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
-                                  = right pointing guillemet, U+00BB ISOnum -->
-<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
-                                  = fraction one quarter, U+00BC ISOnum -->
-<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
-                                  = fraction one half, U+00BD ISOnum -->
-<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
-                                  = fraction three quarters, U+00BE ISOnum -->
-<!ENTITY iquest "&#191;"> <!-- inverted question mark
-                                  = turned question mark, U+00BF ISOnum -->
-<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
-                                  = latin capital letter A grave,
-                                  U+00C0 ISOlat1 -->
-<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
-                                  U+00C1 ISOlat1 -->
-<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
-                                  U+00C2 ISOlat1 -->
-<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
-                                  U+00C3 ISOlat1 -->
-<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
-                                  U+00C4 ISOlat1 -->
-<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
-                                  = latin capital letter A ring,
-                                  U+00C5 ISOlat1 -->
-<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
-                                  = latin capital ligature AE,
-                                  U+00C6 ISOlat1 -->
-<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
-                                  U+00C7 ISOlat1 -->
-<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
-                                  U+00C8 ISOlat1 -->
-<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
-                                  U+00C9 ISOlat1 -->
-<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
-                                  U+00CA ISOlat1 -->
-<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
-                                  U+00CB ISOlat1 -->
-<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
-                                  U+00CC ISOlat1 -->
-<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
-                                  U+00CD ISOlat1 -->
-<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
-                                  U+00CE ISOlat1 -->
-<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
-                                  U+00CF ISOlat1 -->
-<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
-<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
-                                  U+00D1 ISOlat1 -->
-<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
-                                  U+00D2 ISOlat1 -->
-<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
-                                  U+00D3 ISOlat1 -->
-<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
-                                  U+00D4 ISOlat1 -->
-<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
-                                  U+00D5 ISOlat1 -->
-<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
-                                  U+00D6 ISOlat1 -->
-<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
-<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
-                                  = latin capital letter O slash,
-                                  U+00D8 ISOlat1 -->
-<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
-                                  U+00D9 ISOlat1 -->
-<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
-                                  U+00DA ISOlat1 -->
-<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
-                                  U+00DB ISOlat1 -->
-<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
-                                  U+00DC ISOlat1 -->
-<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
-                                  U+00DD ISOlat1 -->
-<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
-                                  U+00DE ISOlat1 -->
-<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
-                                  U+00DF ISOlat1 -->
-<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
-                                  = latin small letter a grave,
-                                  U+00E0 ISOlat1 -->
-<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
-                                  U+00E1 ISOlat1 -->
-<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
-                                  U+00E2 ISOlat1 -->
-<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
-                                  U+00E3 ISOlat1 -->
-<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
-                                  U+00E4 ISOlat1 -->
-<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
-                                  = latin small letter a ring,
-                                  U+00E5 ISOlat1 -->
-<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
-                                  = latin small ligature ae, U+00E6 ISOlat1 -->
-<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
-                                  U+00E7 ISOlat1 -->
-<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
-                                  U+00E8 ISOlat1 -->
-<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
-                                  U+00E9 ISOlat1 -->
-<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
-                                  U+00EA ISOlat1 -->
-<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
-                                  U+00EB ISOlat1 -->
-<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
-                                  U+00EC ISOlat1 -->
-<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
-                                  U+00ED ISOlat1 -->
-<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
-                                  U+00EE ISOlat1 -->
-<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
-                                  U+00EF ISOlat1 -->
-<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
-<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
-                                  U+00F1 ISOlat1 -->
-<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
-                                  U+00F2 ISOlat1 -->
-<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
-                                  U+00F3 ISOlat1 -->
-<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
-                                  U+00F4 ISOlat1 -->
-<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
-                                  U+00F5 ISOlat1 -->
-<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
-                                  U+00F6 ISOlat1 -->
-<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
-<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
-                                  = latin small letter o slash,
-                                  U+00F8 ISOlat1 -->
-<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
-                                  U+00F9 ISOlat1 -->
-<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
-                                  U+00FA ISOlat1 -->
-<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
-                                  U+00FB ISOlat1 -->
-<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
-                                  U+00FC ISOlat1 -->
-<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
-                                  U+00FD ISOlat1 -->
-<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn,
-                                  U+00FE ISOlat1 -->
-<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
-                                  U+00FF ISOlat1 -->

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-special.ent
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-special.ent b/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-special.ent
deleted file mode 100644
index ca358b2..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-special.ent
+++ /dev/null
@@ -1,80 +0,0 @@
-<!-- Special characters for XHTML -->
-
-<!-- Character entity set. Typical invocation:
-     <!ENTITY % HTMLspecial PUBLIC
-        "-//W3C//ENTITIES Special for XHTML//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
-     %HTMLspecial;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
-     New names (i.e., not in ISO 8879 list) do not clash with any
-     existing ISO 8879 entity names. ISO 10646 character numbers
-     are given for each character, in hex. values are decimal
-     conversions of the ISO 10646 values and refer to the document
-     character set. Names are Unicode names. 
--->
-
-<!-- C0 Controls and Basic Latin -->
-<!ENTITY quot    "&#34;"> <!--  quotation mark, U+0022 ISOnum -->
-<!ENTITY amp     "&#38;#38;"> <!--  ampersand, U+0026 ISOnum -->
-<!ENTITY lt      "&#38;#60;"> <!--  less-than sign, U+003C ISOnum -->
-<!ENTITY gt      "&#62;"> <!--  greater-than sign, U+003E ISOnum -->
-<!ENTITY apos	 "&#39;"> <!--  apostrophe = APL quote, U+0027 ISOnum -->
-
-<!-- Latin Extended-A -->
-<!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
-                                    U+0152 ISOlat2 -->
-<!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
-<!-- ligature is a misnomer, this is a separate character in some languages -->
-<!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
-                                    U+0160 ISOlat2 -->
-<!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
-                                    U+0161 ISOlat2 -->
-<!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
-                                    U+0178 ISOlat2 -->
-
-<!-- Spacing Modifier Letters -->
-<!ENTITY circ    "&#710;"> <!--  modifier letter circumflex accent,
-                                    U+02C6 ISOpub -->
-<!ENTITY tilde   "&#732;"> <!--  small tilde, U+02DC ISOdia -->
-
-<!-- General Punctuation -->
-<!ENTITY ensp    "&#8194;"> <!-- en space, U+2002 ISOpub -->
-<!ENTITY emsp    "&#8195;"> <!-- em space, U+2003 ISOpub -->
-<!ENTITY thinsp  "&#8201;"> <!-- thin space, U+2009 ISOpub -->
-<!ENTITY zwnj    "&#8204;"> <!-- zero width non-joiner,
-                                    U+200C NEW RFC 2070 -->
-<!ENTITY zwj     "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
-<!ENTITY lrm     "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
-<!ENTITY rlm     "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
-<!ENTITY ndash   "&#8211;"> <!-- en dash, U+2013 ISOpub -->
-<!ENTITY mdash   "&#8212;"> <!-- em dash, U+2014 ISOpub -->
-<!ENTITY lsquo   "&#8216;"> <!-- left single quotation mark,
-                                    U+2018 ISOnum -->
-<!ENTITY rsquo   "&#8217;"> <!-- right single quotation mark,
-                                    U+2019 ISOnum -->
-<!ENTITY sbquo   "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
-<!ENTITY ldquo   "&#8220;"> <!-- left double quotation mark,
-                                    U+201C ISOnum -->
-<!ENTITY rdquo   "&#8221;"> <!-- right double quotation mark,
-                                    U+201D ISOnum -->
-<!ENTITY bdquo   "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
-<!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
-<!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
-<!ENTITY permil  "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
-<!ENTITY lsaquo  "&#8249;"> <!-- single left-pointing angle quotation mark,
-                                    U+2039 ISO proposed -->
-<!-- lsaquo is proposed but not yet ISO standardized -->
-<!ENTITY rsaquo  "&#8250;"> <!-- single right-pointing angle quotation mark,
-                                    U+203A ISO proposed -->
-<!-- rsaquo is proposed but not yet ISO standardized -->
-
-<!-- Currency Symbols -->
-<!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-symbol.ent
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-symbol.ent b/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-symbol.ent
deleted file mode 100644
index 63c2abf..0000000
--- a/mothballed/component/viewer/bdd/tck/src/test/resources/dtd/xhtml-symbol.ent
+++ /dev/null
@@ -1,237 +0,0 @@
-<!-- Mathematical, Greek and Symbolic characters for XHTML -->
-
-<!-- Character entity set. Typical invocation:
-     <!ENTITY % HTMLsymbol PUBLIC
-        "-//W3C//ENTITIES Symbols for XHTML//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
-     %HTMLsymbol;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
-     New names (i.e., not in ISO 8879 list) do not clash with any
-     existing ISO 8879 entity names. ISO 10646 character numbers
-     are given for each character, in hex. values are decimal
-     conversions of the ISO 10646 values and refer to the document
-     character set. Names are Unicode names. 
--->
-
-<!-- Latin Extended-B -->
-<!ENTITY fnof     "&#402;"> <!-- latin small letter f with hook = function
-                                    = florin, U+0192 ISOtech -->
-
-<!-- Greek -->
-<!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
-<!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
-<!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
-                                    U+0393 ISOgrk3 -->
-<!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
-                                    U+0394 ISOgrk3 -->
-<!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
-<!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
-<!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
-<!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
-                                    U+0398 ISOgrk3 -->
-<!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
-<!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
-<!ENTITY Lambda   "&#923;"> <!-- greek capital letter lamda,
-                                    U+039B ISOgrk3 -->
-<!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
-<!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
-<!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
-<!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
-<!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
-<!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
-<!-- there is no Sigmaf, and no U+03A2 character either -->
-<!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
-                                    U+03A3 ISOgrk3 -->
-<!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
-<!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
-                                    U+03A5 ISOgrk3 -->
-<!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
-                                    U+03A6 ISOgrk3 -->
-<!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
-<!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
-                                    U+03A8 ISOgrk3 -->
-<!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
-                                    U+03A9 ISOgrk3 -->
-
-<!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
-                                    U+03B1 ISOgrk3 -->
-<!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
-<!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
-                                    U+03B3 ISOgrk3 -->
-<!ENTITY delta    "&#948;"> <!-- greek small letter delta,
-                                    U+03B4 ISOgrk3 -->
-<!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
-                                    U+03B5 ISOgrk3 -->
-<!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
-<!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
-<!ENTITY theta    "&#952;"> <!-- greek small letter theta,
-                                    U+03B8 ISOgrk3 -->
-<!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
-<!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
-                                    U+03BA ISOgrk3 -->
-<!ENTITY lambda   "&#955;"> <!-- greek small letter lamda,
-                                    U+03BB ISOgrk3 -->
-<!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
-<!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
-<!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
-<!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
-<!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
-<!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
-<!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
-                                    U+03C2 ISOgrk3 -->
-<!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
-                                    U+03C3 ISOgrk3 -->
-<!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
-<!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
-                                    U+03C5 ISOgrk3 -->
-<!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
-<!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
-<!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
-<!ENTITY omega    "&#969;"> <!-- greek small letter omega,
-                                    U+03C9 ISOgrk3 -->
-<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
-                                    U+03D1 NEW -->
-<!ENTITY upsih    "&#978;"> <!-- greek upsilon with hook symbol,
-                                    U+03D2 NEW -->
-<!ENTITY piv      "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
-
-<!-- General Punctuation -->
-<!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
-                                     U+2022 ISOpub  -->
-<!-- bullet is NOT the same as bullet operator, U+2219 -->
-<!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
-                                     U+2026 ISOpub  -->
-<!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
-<!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
-                                     U+2033 ISOtech -->
-<!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
-                                     U+203E NEW -->
-<!ENTITY frasl    "&#8260;"> <!-- fraction slash, U+2044 NEW -->
-
-<!-- Letterlike Symbols -->
-<!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
-                                     = Weierstrass p, U+2118 ISOamso -->
-<!ENTITY image    "&#8465;"> <!-- black-letter capital I = imaginary part,
-                                     U+2111 ISOamso -->
-<!ENTITY real     "&#8476;"> <!-- black-letter capital R = real part symbol,
-                                     U+211C ISOamso -->
-<!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
-<!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
-                                     U+2135 NEW -->
-<!-- alef symbol is NOT the same as hebrew letter alef,
-     U+05D0 although the same glyph could be used to depict both characters -->
-
-<!-- Arrows -->
-<!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
-<!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
-<!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
-<!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
-<!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
-<!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
-                                     = carriage return, U+21B5 NEW -->
-<!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
-<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
-    but also does not have any other character for that function. So lArr can
-    be used for 'is implied by' as ISOtech suggests -->
-<!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
-<!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
-                                     U+21D2 ISOtech -->
-<!-- Unicode does not say this is the 'implies' character but does not have 
-     another character with this function so rArr can be used for 'implies'
-     as ISOtech suggests -->
-<!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
-<!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
-                                     U+21D4 ISOamsa -->
-
-<!-- Mathematical Operators -->
-<!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
-<!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
-<!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
-<!ENTITY empty    "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
-<!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
-                                     U+2207 ISOtech -->
-<!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
-<!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
-<!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
-<!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
-                                     U+220F ISOamsb -->
-<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
-     the same glyph might be used for both -->
-<!ENTITY sum      "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
-<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
-     though the same glyph might be used for both -->
-<!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
-<!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
-<!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
-                                     U+221A ISOtech -->
-<!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
-<!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
-<!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
-<!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
-<!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
-<!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
-<!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
-<!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
-<!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
-<!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
-                                     U+223C ISOtech -->
-<!-- tilde operator is NOT the same character as the tilde, U+007E,
-     although the same glyph might be used to represent both  -->
-<!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
-<!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
-                                     U+2248 ISOamsr -->
-<!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
-<!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
-<!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
-<!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
-                                     U+2265 ISOtech -->
-<!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
-<!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
-<!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
-<!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
-<!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
-                                     U+2287 ISOtech -->
-<!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
-                                     U+2295 ISOamsb -->
-<!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
-                                     U+2297 ISOamsb -->
-<!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
-                                     U+22A5 ISOtech -->
-<!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
-<!-- dot operator is NOT the same character as U+00B7 middle dot -->
-
-<!-- Miscellaneous Technical -->
-<!ENTITY lceil    "&#8968;"> <!-- left ceiling = APL upstile,
-                                     U+2308 ISOamsc  -->
-<!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
-<!ENTITY lfloor   "&#8970;"> <!-- left floor = APL downstile,
-                                     U+230A ISOamsc  -->
-<!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
-<!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
-                                     U+2329 ISOtech -->
-<!-- lang is NOT the same character as U+003C 'less than sign' 
-     or U+2039 'single left-pointing angle quotation mark' -->
-<!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
-                                     U+232A ISOtech -->
-<!-- rang is NOT the same character as U+003E 'greater than sign' 
-     or U+203A 'single right-pointing angle quotation mark' -->
-
-<!-- Geometric Shapes -->
-<!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
-
-<!-- Miscellaneous Symbols -->
-<!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
-<!-- black here seems to mean filled as opposed to hollow -->
-<!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
-                                     U+2663 ISOpub -->
-<!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
-                                     U+2665 ISOpub -->
-<!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->


[38/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManager.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManager.java
deleted file mode 100644
index 36a6271..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManager.java
+++ /dev/null
@@ -1,559 +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.objectstore.xml.internal.data.xml;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Writer;
-import java.util.Vector;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.xml.ContentWriter;
-import org.apache.isis.core.commons.xml.XmlFile;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.xml.internal.data.CollectionData;
-import org.apache.isis.objectstore.xml.internal.data.Data;
-import org.apache.isis.objectstore.xml.internal.data.DataManager;
-import org.apache.isis.objectstore.xml.internal.data.ListOfRootOid;
-import org.apache.isis.objectstore.xml.internal.data.ObjectData;
-import org.apache.isis.objectstore.xml.internal.data.ObjectDataVector;
-import org.apache.isis.objectstore.xml.internal.data.PersistorException;
-import org.apache.isis.objectstore.xml.internal.version.FileVersion;
-
-public class XmlDataManager implements DataManager {
-    private final XmlFile xmlFile;
-
-    public XmlDataManager(final XmlFile xmlFile) {
-        this.xmlFile = xmlFile;
-    }
-
-    // ////////////////////////////////////////////////////////
-    // shutdown
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public void shutdown() {
-    }
-
-    // ////////////////////////////////////////////////////////
-    // SAX Handlers
-    // ////////////////////////////////////////////////////////
-
-    // TODO the following methods are being called repeatedly - is there no
-    // caching? See the print statements
-    private class DataHandler extends DefaultHandler {
-        
-        final StringBuilder data = new StringBuilder();
-        CollectionData collection;
-        String fieldName;
-        ObjectData object;
-
-        @Override
-        public void characters(final char[] ch, final int start, final int end) throws SAXException {
-            data.append(new String(ch, start, end));
-        }
-
-        @Override
-        public void endElement(final String ns, final String name, final String tagName) throws SAXException {
-            if (object != null) {
-                if (tagName.equals("value")) {
-                    final String value = data.toString();
-                    object.set(fieldName, value);
-                }
-            }
-        }
-
-        @Override
-        public void startElement(final String ns, final String name, final String tagName, final Attributes attributes) throws SAXException {
-            if (object != null) {
-                if (tagName.equals("value")) {
-                    fieldName = attributes.getValue("field");
-                    data.setLength(0);
-                } else if (tagName.equals("association")) {
-                    object.set(attributes.getValue("field"), oidFrom(attributes));
-                } else if (tagName.equals("element")) {
-                    object.addElement(fieldName, oidFrom(attributes));
-                } else if (tagName.equals("multiple-association")) {
-                    fieldName = attributes.getValue("field");
-                    object.initCollection(fieldName);
-                }
-            } else if (collection != null) {
-                if (tagName.equals("element")) {
-                    
-                    collection.addElement(oidFrom(attributes));
-                }
-            } else {
-                if (tagName.equals("isis")) {
-                    final RootOidDefault oid = oidFrom(attributes);
-                    final Version fileVersion = fileVersionFrom(attributes);
-                    
-                    object = new ObjectData(oid, fileVersion);
-                } else if (tagName.equals("collection")) {
-                    
-                    final RootOidDefault oid = oidFrom(attributes);
-                    final Version fileVersion = fileVersionFrom(attributes);
-                    
-                    collection = new CollectionData(oid, fileVersion);
-                } else {
-                    throw new SAXException("Invalid data");
-                }
-            }
-        }
-    }
-
-    private static RootOidDefault oidFrom(final Attributes attributes) {
-        final String oid = attributes.getValue("oid");
-        return RootOidDefault.deString(oid, getOidMarshaller());
-    }
-
-    private static Version fileVersionFrom(final Attributes attributes) {
-        final String user = attributes.getValue("user");
-        final long version = Long.valueOf(attributes.getValue("ver"), 16).longValue();
-        final Version fileVersion = FileVersion.create(user, version);
-        return fileVersion;
-    }
-
-
-    private class InstanceHandler extends DefaultHandler {
-        Vector<RootOid> instances = new Vector<RootOid>();
-
-        @Override
-        public void characters(final char[] arg0, final int arg1, final int arg2) throws SAXException {
-        }
-
-        @Override
-        public void startElement(final String ns, final String name, final String tagName, final Attributes attrs) throws SAXException {
-            if (tagName.equals("instance")) {
-                
-                final String oidStr = attrs.getValue("oid");
-                final RootOidDefault oid = RootOidDefault.deString(oidStr, getOidMarshaller());
-                
-                instances.addElement(oid);
-            }
-        }
-    }
-
-    private class NumberHandler extends DefaultHandler {
-        boolean captureValue = false;
-        long value = 0;
-
-        @Override
-        public void characters(final char[] arg0, final int arg1, final int arg2) throws SAXException {
-            if (captureValue) {
-                final String string = new String(arg0, arg1, arg2);
-                value = Long.valueOf(string, 16).longValue();
-            }
-        }
-
-        @Override
-        public void startElement(final String ns, final String name, final String tagName, final Attributes attrs) throws SAXException {
-            captureValue = tagName.equals("number");
-        }
-
-        public ContentWriter writer(final long nextId) {
-            return new ContentWriter() {
-                @Override
-                public void write(final Writer writer) throws IOException {
-                    writer.write("<number>");
-                    final String nextIdHex = Long.toString(nextId, 16);
-                    writer.append("" + nextIdHex);
-                    writer.append("</number>");
-                    writer.flush();
-                }
-            };
-        }
-        
-        
-    }
-
-    // ////////////////////////////////////////////////////////
-    // fixtures
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public boolean isFixturesInstalled() {
-        return xmlFile.isFixturesInstalled();
-    }
-
-    // ////////////////////////////////////////////////////////
-    // loadData
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public Data loadData(final RootOid oid) {
-        final DataHandler handler = new DataHandler();
-        xmlFile.parse(handler, filename(oid));
-
-        if (handler.object != null) {
-            return handler.object;
-        } else {
-            return handler.collection;
-        }
-    }
-
-    // ////////////////////////////////////////////////////////
-    // getInstances, numberOfInstances
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public ObjectDataVector getInstances(final ObjectData pattern) {
-        
-        final Vector<RootOid> instances = loadInstances(pattern.getSpecification(getSpecificationLoader()));
-
-        if (instances == null) {
-            return new ObjectDataVector();
-        }
-
-        final ObjectDataVector matches = new ObjectDataVector();
-        for (final RootOid oid : instances) {
-            final ObjectData instanceData = (ObjectData) loadData(oid);
-            // TODO check loader first
-            if (instanceData == null) {
-                throw new IsisException("No data found for " + oid + " (possible missing file)");
-            }
-            if (matchesPattern(pattern, instanceData)) {
-                matches.addElement(instanceData);
-            }
-        }
-        return matches;
-    }
-
-    @Override
-    public int numberOfInstances(final ObjectData pattern) {
-        return getInstances(pattern).size();
-    }
-
-    private Vector<RootOid> loadInstances(final ObjectSpecification noSpec) {
-        final InstanceHandler handler = new InstanceHandler();
-        parseSpecAndSubclasses(handler, noSpec);
-        return handler.instances;
-    }
-
-    private void parseSpecAndSubclasses(final InstanceHandler handler, final ObjectSpecification noSpec) {
-        parseIfNotAbstract(noSpec, handler);
-        for (final ObjectSpecification subSpec : noSpec.subclasses()) {
-            parseSpecAndSubclasses(handler, subSpec);
-        }
-    }
-
-    private void parseIfNotAbstract(final ObjectSpecification noSpec, final InstanceHandler handler) {
-        if (noSpec.isAbstract()) {
-            return;
-        }
-        xmlFile.parse(handler, noSpec.getFullIdentifier());
-    }
-
-    /**
-     * A helper that determines if two sets of data match. A match occurs when
-     * the types are the same and any field in the pattern also occurs in the
-     * data set under test.
-     */
-    // TODO we need to be able to find collection instances as well
-    protected boolean matchesPattern(final ObjectData patternData, final ObjectData candidateData) {
-        if (patternData == null || candidateData == null) {
-            throw new NullPointerException("Can't match on nulls " + patternData + " " + candidateData);
-        }
-
-        if (!candidateData.getSpecification(getSpecificationLoader()).isOfType(patternData.getSpecification(getSpecificationLoader()))) {
-            return false;
-        }
-
-        for (final String field : patternData.fields()) {
-            final Object patternFieldValue = patternData.get(field);
-            final Object candidateFieldValue = candidateData.get(field);
-
-            if (candidateFieldValue instanceof ListOfRootOid) {
-                final ListOfRootOid patternElements = (ListOfRootOid) patternFieldValue;
-                for (int i = 0; i < patternElements.size(); i++) {
-                    final RootOid requiredElement = patternElements.elementAt(i); // must have this element
-                    boolean requiredFound = false;
-                    final ListOfRootOid testElements = ((ListOfRootOid) candidateFieldValue);
-                    for (int j = 0; j < testElements.size(); j++) {
-                        if (requiredElement.equals(testElements.elementAt(j))) {
-                            requiredFound = true;
-                            break;
-                        }
-                    }
-                    if (!requiredFound) {
-                        return false;
-                    }
-                }
-            } else {
-                if (!patternFieldValue.equals(candidateFieldValue)) {
-                    return false;
-                }
-            }
-
-        }
-
-        return true;
-    }
-
-    /**
-     * Read in the next unique number for the object identifier.
-     */
-    protected long nextId() throws PersistorException {
-        final NumberHandler handler = new NumberHandler();
-        xmlFile.parse(handler, "oid");
-
-        final long nextId = handler.value + 1;
-        xmlFile.writeXml("oid", handler.writer(nextId));
-
-        return nextId;
-    }
-
-    // ////////////////////////////////////////////////////////
-    // insertObject, remove
-    // ////////////////////////////////////////////////////////
-
-    /**
-     * Save the data for an object and adds the reference to a list of instances
-     */
-    @Override
-    public final void insertObject(final ObjectData data) {
-        if (data.getRootOid() == null) {
-            throw new IllegalArgumentException("Oid must be non-null");
-        }
-
-        writeInstanceToItsDataFile(data);
-        final ObjectSpecification objSpec = data.getSpecification(getSpecificationLoader());
-        addReferenceToInstancesFile(data.getRootOid(), objSpec);
-    }
-
-    private void addReferenceToInstancesFile(final RootOid oid, final ObjectSpecification noSpec) {
-        final Vector<RootOid> instances = loadInstances(noSpec);
-        instances.addElement(oid);
-        writeInstanceFile(noSpec, instances);
-    }
-
-    // ////////////////////////////////////////////////////////
-    // remove
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public final void remove(final RootOid oid) throws ObjectNotFoundException, ObjectPersistenceException {
-        final Data data = loadData(oid);
-        removeReferenceFromInstancesFile(oid, data.getSpecification(getSpecificationLoader()));
-        deleteData(oid);
-    }
-
-    /**
-     * Delete the data for an existing instance.
-     */
-    private void deleteData(final RootOid oid) {
-        xmlFile.delete(filename(oid));
-    }
-
-    private void removeReferenceFromInstancesFile(final RootOid oid, final ObjectSpecification noSpec) {
-        final Vector<RootOid> instances = loadInstances(noSpec);
-        instances.removeElement(oid);
-        writeInstanceFile(noSpec, instances);
-    }
-
-    // ////////////////////////////////////////////////////////
-    // helpers (used by both add & remove)
-    // ////////////////////////////////////////////////////////
-
-    private void writeInstanceFile(final ObjectSpecification noSpec, final Vector<RootOid> instances) {
-        writeInstanceFile(noSpec.getFullIdentifier(), instances);
-    }
-
-    private void writeInstanceFile(final String name, final Vector<RootOid> instances) {
-        xmlFile.writeXml(name, new ContentWriter() {
-            @Override
-            public void write(final Writer writer) throws IOException {
-                writer.write("<instances");
-                Utils.appendAttribute(writer, "name", name);
-                writer.append(">\n");
-
-                for (final RootOid elementAt : instances) {
-                    writer.append("  <instance");
-                    Utils.appendAttribute(writer, "oid", elementAt.enString(getOidMarshaller()));
-                    writer.append("/>\n");
-                }
-                writer.append("</instances>");
-                writer.flush();
-            }
-        });
-    }
-
-    // ////////////////////////////////////////////////////////
-    // save
-    // ////////////////////////////////////////////////////////
-
-    /**
-     * Save the data for latter retrieval.
-     */
-    @Override
-    public final void save(final Data data) {
-        writeInstanceToItsDataFile(data);
-    }
-
-    private void writeInstanceToItsDataFile(final Data data) {
-        xmlFile.writeXml(filename(data.getRootOid()), new ContentWriter() {
-            @Override
-            public void write(final Writer writer) throws IOException {
-                final boolean isObject = data instanceof ObjectData;
-                final String tag = isObject ? "isis" : "collection";
-                writer.write("<");
-                writer.write(tag);
-                final RootOid oid = data.getRootOid();
-                Utils.appendAttribute(writer, "oid", oid.enString(getOidMarshaller()));
-                Utils.appendAttribute(writer, "user", "" + getAuthenticationSession().getUserName());
-
-                final long sequence = data.getVersion().getSequence();
-                final String sequenceString = Long.toHexString(sequence).toUpperCase();
-                Utils.appendAttribute(writer, "ver", "" + sequenceString);
-
-                writer.append(">\n");
-
-                if (isObject) {
-                    writeObject(data, writer);
-                } else {
-                    writeCollection(data, writer);
-                }
-
-                writer.append("</" + tag + ">\n");
-                writer.flush();
-            }
-
-        });
-    }
-
-    private void writeObject(final Data data, final Writer writer) throws IOException {
-        final ObjectData object = (ObjectData) data;
-        for (final String field : object.fields()) {
-            writeField(writer, object, field);
-        }
-    }
-
-    private void writeField(final Writer writer, final ObjectData object, final String field) throws IOException {
-        final Object entry = object.get(field);
-
-        if (entry instanceof RootOidDefault) {
-            writeAssociationField(writer, field, entry);
-        } else if (entry instanceof ListOfRootOid) {
-            writeMultipleAssociationField(writer, field, entry);
-        } else {
-            writeValueField(writer, field, entry);
-        }
-    }
-
-    private void writeAssociationField(final Writer writer, final String field, final Object entry) throws IOException {
-        final Oid rootOidDefault = (Oid)entry;
-        Assert.assertFalse(rootOidDefault.isTransient());
-        writer.append("  <association");
-        Utils.appendAttribute(writer, "field", field);
-        Utils.appendAttribute(writer, "oid", rootOidDefault.enString(getOidMarshaller()));
-        writer.append("/>\n");
-    }
-
-    private void writeMultipleAssociationField(final Writer writer, final String field, final Object entry) throws IOException {
-        final ListOfRootOid references = (ListOfRootOid) entry;
-        final int size = references.size();
-
-        if (size > 0) {
-            writer.append("  <multiple-association field=\"" + field + "\" ");
-            writer.append(">\n");
-            for (int i = 0; i < size; i++) {
-                final Object oid = references.elementAt(i);
-                final RootOidDefault rootOidDefault = (RootOidDefault) oid;
-                if (rootOidDefault.isTransient()) {
-                    throw new ObjectPersistenceException("Can't add tranisent OID (" + oid + ") to " + field + " element.");
-                }
-                writer.append("    <element ");
-                Utils.appendAttribute(writer, "oid", rootOidDefault.enString(getOidMarshaller()));
-                writer.append("/>\n");
-            }
-            writer.append("  </multiple-association>\n");
-            writer.flush();
-        }
-    }
-
-    private static void writeValueField(final Writer writer, final String field, final Object entry) throws IOException {
-        writer.append("  <value");
-        Utils.appendAttribute(writer, "field", field);
-        writer.append(">");
-        writer.append(XmlFile.getValueWithSpecialsEscaped(entry.toString()));
-        writer.append("</value>\n");
-    }
-
-    private static void writeCollection(final Data data, final Writer writer) throws IOException {
-        final CollectionData collection = (CollectionData) data;
-        final ListOfRootOid refs = collection.references();
-        for (int i = 0; i < refs.size(); i++) {
-            final Object oid = refs.elementAt(i);
-            writer.append("  <element");
-            final RootOid rootOid = (RootOid) oid;
-            Utils.appendAttribute(writer, "oid", rootOid.enString(getOidMarshaller()));
-            writer.append("/>\n");
-        }
-    }
-
-    
-    private static String filename(final RootOid oid) {
-        return oid.getObjectSpecId() + File.separator + oid.getIdentifier();
-    }
-
-
-
-    // ////////////////////////////////////////////////////////
-    // Debugging
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public String getDebugData() {
-        return "Data directory " + xmlFile.getDirectory();
-    }
-
-    
-    // ////////////////////////////////////////////////////////
-    // dependencies (from context)
-    // ////////////////////////////////////////////////////////
-
-    protected static OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
-
-    protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
-    }
-
-    protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-    
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/services/ServiceManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/services/ServiceManager.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/services/ServiceManager.java
deleted file mode 100644
index e15088a..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/services/ServiceManager.java
+++ /dev/null
@@ -1,33 +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.objectstore.xml.internal.services;
-
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-
-public interface ServiceManager {
-
-    void loadServices();
-
-    void registerService(RootOid rootOid);
-
-    RootOid getOidForService(ObjectSpecId objectSpecId);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/services/xml/XmlServiceManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/services/xml/XmlServiceManager.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/services/xml/XmlServiceManager.java
deleted file mode 100644
index 882b959..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/services/xml/XmlServiceManager.java
+++ /dev/null
@@ -1,152 +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.objectstore.xml.internal.services.xml;
-
-import java.io.IOException;
-import java.io.Writer;
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.xml.ContentWriter;
-import org.apache.isis.core.commons.xml.XmlFile;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.xml.internal.data.xml.Utils;
-import org.apache.isis.objectstore.xml.internal.services.ServiceManager;
-
-
-public class XmlServiceManager implements ServiceManager {
-    private static final String SERVICES_FILE_NAME = "services";
-    private List<ServiceElement> services;
-    private final XmlFile xmlFile;
-
-    public XmlServiceManager(final XmlFile xmlFile) {
-        this.xmlFile = xmlFile;
-    }
-
-    @Override
-    public RootOid getOidForService(final ObjectSpecId objectSpecId) {
-        for (final ServiceElement element: services) {
-            if (element.oid.getObjectSpecId().equals(objectSpecId)) {
-                return element.oid;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public void loadServices() {
-        final ServiceHandler handler = new ServiceHandler();
-        xmlFile.parse(handler, SERVICES_FILE_NAME);
-        services = handler.services;
-    }
-
-    @Override
-    public void registerService(final RootOid rootOid) {
-        final RootOidDefault soid = (RootOidDefault) rootOid;
-        final ServiceElement element = new ServiceElement(soid);
-        services.add(element);
-        saveServices();
-    }
-
-    public final void saveServices() {
-        xmlFile.writeXml(SERVICES_FILE_NAME, new ContentWriter() {
-            @Override
-            public void write(final Writer writer) throws IOException {
-                final String tag = SERVICES_FILE_NAME;
-                writer.append("<" + tag + ">\n");
-                for (final ServiceElement element: services) {
-                    writer.append("  <service");
-//                    Utils.appendAttribute(writer, "type", element.oid.getObjectSpecId());
-//                    Utils.appendAttribute(writer, "id", element.oid.getIdentifier());
-
-                  Utils.appendAttribute(writer, "oid", element.oid.enString(getOidMarshaller()));
-
-                    writer.append("/>\n");
-                }
-                writer.append("</" + tag + ">\n");
-            }
-        });
-    }
-    
-    
-    ////////////////////////////////////////////////////
-    // dependencies (from context)
-    ////////////////////////////////////////////////////
-    
-    protected OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
-}
-
-class ServiceElement {
-    final RootOid oid;
-
-    public ServiceElement(final RootOid oid) {
-        Assert.assertNotNull("oid", oid.enString(getOidMarshaller()));
-        this.oid = oid;
-    }
-
-    
-    /////////////////////////////////////////////////////
-    // dependencies (from context)
-    /////////////////////////////////////////////////////
-    
-    protected OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
-
-}
-
-class ServiceHandler extends DefaultHandler {
-    List<ServiceElement> services = Lists.newArrayList();
-
-    @Override
-    public void startElement(final String ns, final String name, final String tagName, final Attributes attrs) throws SAXException {
-        if (tagName.equals("service")) {
-//            final String objectType = attrs.getValue("type");
-//            final String identifier = attrs.getValue("id");
-//             final RootOid rootOid = RootOidDefault.create(objectType, identifier);
-            
-            final String oidStr = attrs.getValue("oid");
-            RootOid rootOid = getOidMarshaller().unmarshal(oidStr, RootOid.class);
-            final ServiceElement service = new ServiceElement(rootOid);
-            services.add(service);
-        }
-    }
-
-    
-    ///////////////////////////////////////////////////////
-    // dependencies (from context)
-    ///////////////////////////////////////////////////////
-    
-    protected OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/utils/CopyXmlObjectStore.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/utils/CopyXmlObjectStore.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/utils/CopyXmlObjectStore.java
deleted file mode 100644
index fc96669..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/utils/CopyXmlObjectStore.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.objectstore.xml.internal.utils;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class CopyXmlObjectStore {
-    public static void main(final String[] args) {
-        final String workingDirectory = args[0];
-        final String testDirectory = args[1];
-
-        copyAllFiles(testDirectory, workingDirectory);
-    }
-
-    private static void copyAllFiles(final String testDirectory, final String workingDirectory) {
-        final File from = new File(testDirectory);
-        final File to = new File(workingDirectory);
-
-        if (!to.exists()) {
-            to.mkdirs();
-        }
-        if (to.isFile()) {
-            throw new IsisException("To directory is actually a file " + to.getAbsolutePath());
-        }
-
-        final String list[] = from.list();
-        for (final String element : list) {
-            copyFile(new File(from, element), new File(to, element));
-        }
-    }
-
-    private static void copyFile(final File from, final File to) {
-        BufferedInputStream bis = null;
-        BufferedOutputStream bos = null;
-        try {
-            bis = new BufferedInputStream(new FileInputStream(from));
-            bos = new BufferedOutputStream(new FileOutputStream(to));
-
-            final byte buffer[] = new byte[2048];
-
-            int len = 0;
-            while ((len = bis.read(buffer)) > 0) {
-                bos.write(buffer, 0, len);
-            }
-        } catch (final IOException e) {
-            throw new IsisException("Error copying file " + from.getAbsolutePath() + " to " + to.getAbsolutePath(), e);
-        } finally {
-            if (bis != null) {
-                try {
-                    bis.close();
-                } catch (final IOException ignore) {
-                }
-            }
-            if (bos != null) {
-                try {
-                    bos.close();
-                } catch (final IOException ignore) {
-                }
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/version/FileVersion.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/version/FileVersion.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/version/FileVersion.java
deleted file mode 100644
index c1c5489..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/version/FileVersion.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.objectstore.xml.internal.version;
-
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.objectstore.xml.internal.clock.Clock;
-
-public class FileVersion {
-    
-    private static Clock clock;
-    public static void setClock(final Clock clock) {
-        FileVersion.clock = clock;
-    }
-
-    public static Version create(String user) {
-        return create(user, clock.getTime());
-    }
-    
-    public static Version create(final String user, final long time) {
-        return Version.create(time, user, time);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/site/apt/index.apt b/mothballed/component/objectstore/xml/src/site/apt/index.apt
deleted file mode 100644
index a9f5d57..0000000
--- a/mothballed/component/objectstore/xml/src/site/apt/index.apt
+++ /dev/null
@@ -1,36 +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.
-
-
-
-XML ObjectStore
-
- The <xml> object store provides a simple way to persist domain objects to file storage.  The format of this file is a
- proprietary XML schema.
- 
- Note that the XML object store is suitable for single-user standalone apps, but is not intended for multi-user deployments.
-
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}dflt}} in-memory object store (for prototyping only)
-
-  * the {{{../sql/index.html}SQL}} object store
-
-  * the {{{../nosql/index.html}NoSQL}} object store
- 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/site/apt/jottings.apt b/mothballed/component/objectstore/xml/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/objectstore/xml/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/site/site.xml b/mothballed/component/objectstore/xml/src/site/site.xml
deleted file mode 100644
index 15eb7eb..0000000
--- a/mothballed/component/objectstore/xml/src/site/site.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="XML"  href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="XML Objectstore">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Objectstore Modules">
-            <item name="Default (in-mem)" href="../dflt/index.html" />
-            <item name="XML" href="../xml/index.html" />
-            <item name="SQL" href="../sql/index.html" />
-            <item name="NoSQL" href="../nosql/index.html" />
-        </menu>
-
-		<menu name="Documentation">
-			<item name="${docbkxGuideTitle} (PDF)" href="docbkx/pdf/${docbkxGuideName}.pdf" />
-			<item name="${docbkxGuideTitle} (HTML)" href="docbkx/html/guide/${docbkxGuideName}.html" />
-		</menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_isFixturesInstalled.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_isFixturesInstalled.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_isFixturesInstalled.java
deleted file mode 100644
index 086e7f0..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_isFixturesInstalled.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.objectstore.xml;
-
-import static org.junit.Assert.assertFalse;
-
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-public class XmlObjectStoreTest_isFixturesInstalled {
-    
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private IsisConfiguration mockConfiguration;
-
-    private XmlObjectStore objectStore;
-
-    @Before
-    public void setUp() throws Exception {
-        context.ignoring(mockConfiguration);
-        objectStore = new XmlObjectStore(mockConfiguration);
-    }
-    
-
-    @Test
-    public void validateObjectStoreCreation_isFixturesInstalled() throws Exception {
-        assertFalse(objectStore.isFixturesInstalled());
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_name.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_name.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_name.java
deleted file mode 100644
index 1bc7e89..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_name.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.objectstore.xml;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-public class XmlObjectStoreTest_name {
-    
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private IsisConfiguration mockConfiguration;
-
-    private XmlObjectStore objectStore;
-
-    @Before
-    public void setUp() throws Exception {
-        context.ignoring(mockConfiguration);
-        objectStore = new XmlObjectStore(mockConfiguration);
-    }
-    
-    @Test
-    public void name() throws Exception {
-        assertTrue(objectStore.name().equals("XML"));
-    }
-
-
-    @Test
-    public void validateObjectStoreCreation_isFixturesInstalled() throws Exception {
-        assertFalse(objectStore.isFixturesInstalled());
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_persist.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_persist.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_persist.java
deleted file mode 100644
index 1110193..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_persist.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.objectstore.xml;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-import org.apache.isis.core.integtestsupport.tck.ObjectStoreContractTest_persist;
-import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
-import org.apache.isis.core.unittestsupport.files.Files;
-import org.apache.isis.core.unittestsupport.files.Files.Recursion;
-
-public class XmlObjectStoreTest_persist extends ObjectStoreContractTest_persist {
-
-    @Override
-    protected PersistenceMechanismInstaller createPersistenceMechanismInstaller() {
-        return new XmlPersistenceMechanismInstaller();
-    }
-
-    protected void resetPersistenceStore() {
-        Files.deleteFiles("xml/objects", Files.and(endsWithXml(), notServicesXml()), Recursion.DO_RECURSE);
-    }
-
-    private static FilenameFilter notServicesXml() {
-        return new FilenameFilter() {
-            
-            @Override
-            public boolean accept(File parentDirectory, String fileName) {
-                return !fileName.equals("services.xml");
-            }
-        };
-    }
-
-    private static FilenameFilter endsWithXml() {
-        return Files.filterFileNameExtension(".xml");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_toRefactor.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_toRefactor.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_toRefactor.java
deleted file mode 100644
index e7d4b46..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlObjectStoreTest_toRefactor.java
+++ /dev/null
@@ -1,173 +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.objectstore.xml;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryBuiltIn;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.xml.internal.clock.DefaultClock;
-
-public class XmlObjectStoreTest_toRefactor {
-    
-    @Rule
-    public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder().with(new XmlPersistenceMechanismInstaller()).build();
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    private XmlObjectStore objectStore;
-
-    @Mock
-    private PersistenceQueryBuiltIn persistenceHelper;
-    
-    private PersistenceCommandContext transaction;
-
-    ObjectAdapter mockAdapter;
-
-    private ObjectAdapter adapter1;
-
-    private ObjectSpecification specification;
-
-
-    @Before
-    public void setUpSystem() throws Exception {
-
-        // system
-        objectStore = iswf.getObjectStore(XmlObjectStore.class);
-        objectStore.setClock(new DefaultClock());
-
-        // objects
-//        adapter.setOptimisticLock(new SerialNumberVersion(23, null, null));
-//        adapter.setupOid(RootOidDefault.createPersistent(objectType, ""+1));
-        
-        transaction = null;
-    }
-
-
-    @Ignore // DKH: refactor to use contract tests (see in-memory object store for basis)
-    @Test
-    public void createSaveObjectCommand_setsVersionOnAdapter() throws Exception {
-        
-        allowingGetOidAndGetObjectAndTitleStringFromAdapter();
-        context.checking(new Expectations() {
-            {
-                one(mockAdapter).setVersion(with(any(Version.class)));
-            }
-        });
-        objectStore.createSaveObjectCommand(mockAdapter);
-    }
-
-    @Ignore // DKH: refactor to use contract tests (see in-memory object store for basis)
-    @Test
-    public void createCreateObjectCommand_andExecute_persistsNewInstance() throws Exception {
-        // given
-        final CreateObjectCommand command = objectStore.createCreateObjectCommand(adapter1);
-        // when
-        command.execute(transaction);
-        // then
-        assertFalse(objectStore.hasInstances(specification));
-    }
-
-    @Ignore // DKH: refactor to use contract tests (see in-memory object store for basis)
-    @Test
-    public void validatesDestroyObjectCommand() throws Exception {
-        final DestroyObjectCommand command = objectStore.createDestroyObjectCommand(adapter1);
-        command.execute(transaction);
-        assertFalse(objectStore.hasInstances(specification));
-    }
-
-    @Ignore // DKH: refactor to use contract tests (see in-memory object store for basis)
-    @Test
-    public void validatesSaveObjectCommand() throws Exception {
-        final SaveObjectCommand command = objectStore.createSaveObjectCommand(adapter1);
-        command.execute(transaction);
-        assertTrue(objectStore.hasInstances(specification));
-    }
-
-    @Ignore // DKH: refactor to use contract tests (see in-memory object store for basis)
-    @Test
-    public void validatesGettingObjectStoreInstances() throws Exception {
-        final SaveObjectCommand command = objectStore.createSaveObjectCommand(adapter1);
-        objectStore.execute(Collections.<PersistenceCommand> singletonList(command));
-        final List<ObjectAdapter> array = objectStore.loadInstancesAndAdapt(persistenceHelper);
-        assertTrue(array.size() == 1);
-    }
-
-    @Ignore // DKH: refactor to use contract tests (see in-memory object store for basis)
-    @Test
-    public void validatesObjectStoreHasInstances() throws Exception {
-        final SaveObjectCommand command = objectStore.createSaveObjectCommand(adapter1);
-        objectStore.execute(Collections.<PersistenceCommand> singletonList(command));
-        assertTrue(objectStore.hasInstances(specification));
-    }
-
-    @Ignore // DKH: refactor to use contract tests (see in-memory object store for basis)
-    @Test
-    public void validatesObjectStoreIfFixtureIsInstalled() throws Exception {
-        final SaveObjectCommand command = objectStore.createSaveObjectCommand(adapter1);
-        objectStore.execute(Collections.<PersistenceCommand> singletonList(command));
-        objectStore.open();
-        assertTrue(objectStore.isFixturesInstalled());
-    }
-
-    @Ignore // DKH: refactor to use contract tests (see in-memory object store for basis)
-    @Test
-    public void validatesObjectStoreGetObject() throws Exception {
-        final SaveObjectCommand command = objectStore.createSaveObjectCommand(adapter1);
-        objectStore.execute(Collections.<PersistenceCommand> singletonList(command));
-        final ObjectAdapter retrievedAdapter = objectStore.loadInstanceAndAdapt((TypedOid) adapter1.getOid());
-        assertTrue(retrievedAdapter.getOid().equals(adapter1.getOid()));
-    }
-
-
-    private void allowingGetOidAndGetObjectAndTitleStringFromAdapter() {
-        context.checking(new Expectations() {
-            {
-                allowing(mockAdapter).getOid();
-                allowing(mockAdapter).getObject();
-                allowing(mockAdapter).titleString();
-            }
-        });
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlPersistenceMechanismInstallerTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlPersistenceMechanismInstallerTest.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlPersistenceMechanismInstallerTest.java
deleted file mode 100644
index 949d958..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/XmlPersistenceMechanismInstallerTest.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.objectstore.xml;
-
-import static org.junit.Assert.assertTrue;
-
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-public class XmlPersistenceMechanismInstallerTest {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-
-    private DeploymentType deploymentType;
-    XmlPersistenceMechanismInstaller installer;
-    
-    @Mock
-    private IsisConfiguration mockConfiguration;
-
-    @Before
-    public void setUpSystem() throws Exception {
-        installer = new XmlPersistenceMechanismInstaller();
-        installer.setConfiguration(mockConfiguration);
-    }
-
-    @Test
-    public void testCreatePersistenceSessionFactory() throws Exception {
-        deploymentType = DeploymentType.EXPLORATION;
-        final PersistenceSessionFactory factory = installer.createPersistenceSessionFactory(deploymentType);
-        assertTrue(factory != null);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/clock/DefaultClockTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/clock/DefaultClockTest.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/clock/DefaultClockTest.java
deleted file mode 100644
index 2df0f92..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/clock/DefaultClockTest.java
+++ /dev/null
@@ -1,43 +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.objectstore.xml.internal.clock;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-public class DefaultClockTest {
-    
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    private DefaultClock clock;
-
-    
-    @Test
-    public void testGetTime() {
-        clock = new DefaultClock();
-        assertTrue(clock.getTime() > 0);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/clock/TestClock.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/clock/TestClock.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/clock/TestClock.java
deleted file mode 100644
index 5a5d437..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/clock/TestClock.java
+++ /dev/null
@@ -1,31 +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.objectstore.xml.internal.clock;
-
-
-public class TestClock implements Clock {
-    long time = 0;
-
-    @Override
-    public synchronized long getTime() {
-        time += 1;
-        return time;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataTest.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataTest.java
deleted file mode 100644
index eb5e490..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataTest.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.objectstore.xml.internal.data;
-
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.testspec.ObjectSpecificationStub;
-import org.apache.isis.objectstore.xml.internal.clock.DefaultClock;
-import org.apache.isis.objectstore.xml.internal.version.FileVersion;
-
-public class ObjectDataTest extends TestCase {
-
-    private String objectType = "CLK";
-
-    public void testValueField() {
-        FileVersion.setClock(new DefaultClock());
-
-        final ObjectSpecificationStub type = new ObjectSpecificationStub("test");
-        final ObjectData objectData = new ObjectData(RootOidDefault.create(ObjectSpecId.of(objectType), ""+13), FileVersion.create(""));
-
-        assertEquals(null, objectData.get("name"));
-        objectData.set("name", "value");
-        assertEquals("value", objectData.get("name"));
-
-        final Iterator<String> e = objectData.fields().iterator();
-        e.next();
-        assertFalse(e.hasNext());
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataVectorTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataVectorTest.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataVectorTest.java
deleted file mode 100644
index 0796a1f..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataVectorTest.java
+++ /dev/null
@@ -1,72 +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.objectstore.xml.internal.data;
-
-import static org.junit.Assert.assertTrue;
-
-import java.util.Collections;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.adapter.oid.Oid.State;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.testspec.ObjectSpecificationStub;
-import org.apache.isis.objectstore.xml.internal.version.FileVersion;
-
-public class ObjectDataVectorTest {
-    
-    private final String objectType = "ODV";
-    
-    private ObjectDataVector objectDataVector;
-    private ObjectData objectData;
-    private ObjectSpecificationStub spec;
-    private RootOidDefault oid;
-    private Version version;
-
-    @Before
-    public void setUp() throws Exception {
-        final ObjectSpecId objectSpecId = ObjectSpecId.of(objectType);
-        oid = new RootOidDefault(objectSpecId, ""+1, State.TRANSIENT);
-
-        spec = new ObjectSpecificationStub(this.getClass());
-        spec.fields = Collections.emptyList();
-
-        version = FileVersion.create("", System.currentTimeMillis());
-        objectData = new ObjectData(oid, version);
-        objectDataVector = new ObjectDataVector();
-    }
-
-    @Test
-    public void validatesObjectDataIsStored() throws Exception {
-        objectDataVector.addElement(objectData);
-        assertTrue(objectDataVector.contains(objectData));
-        assertTrue(objectDataVector.element(0).equals(objectData));
-    }
-
-    @Test
-    public void validatesObjectDataVectorSize() throws Exception {
-        objectDataVector.addElement(objectData);
-        assertTrue(objectDataVector.size() == 1);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ReferenceVectorTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ReferenceVectorTest.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ReferenceVectorTest.java
deleted file mode 100644
index 5bd19e3..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/ReferenceVectorTest.java
+++ /dev/null
@@ -1,74 +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.objectstore.xml.internal.data;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-
-public class ReferenceVectorTest {
-    
-    private final String objectType = "FOO";
-    
-    private ListOfRootOid listOfRootOid;
-    private RootOidDefault oid;
-
-    @Before
-    public void setUp() throws Exception {
-        oid = RootOidDefault.createTransient(ObjectSpecId.of(objectType), ""+1);
-        listOfRootOid = new ListOfRootOid();
-    }
-
-    @Test
-    public void validatesSerialOidIsStoredInElements() throws Exception {
-        listOfRootOid.add(oid);
-        assertTrue(listOfRootOid.elementAt(0).equals(oid));
-    }
-
-    @Test
-    public void validatesSerialOidIsRemovedInElements() throws Exception {
-        listOfRootOid.add(oid);
-        listOfRootOid.remove(oid);
-        assertTrue(listOfRootOid.size() == 0);
-    }
-
-    @Test
-    public void validatesReferenceVectorIsEqual() throws Exception {
-        assertTrue(listOfRootOid.equals(listOfRootOid));
-        assertTrue(listOfRootOid.equals(new ListOfRootOid()));
-        assertFalse(listOfRootOid.equals(new Object()));
-    }
-
-    @Test
-    public void validateReferenceVectorHashCode() throws Exception {
-        assertTrue(listOfRootOid.hashCode() == 630);
-    }
-
-    @Test
-    public void validateReferenceToString() throws Exception {
-        assertTrue(listOfRootOid.toString() != null);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManagerTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManagerTest.java b/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManagerTest.java
deleted file mode 100644
index 84645b7..0000000
--- a/mothballed/component/objectstore/xml/src/test/java/org/apache/isis/objectstore/xml/internal/data/xml/XmlDataManagerTest.java
+++ /dev/null
@@ -1,353 +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.objectstore.xml.internal.data.xml;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.xml.XmlFile;
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.tck.dom.xmlos.Role;
-import org.apache.isis.core.tck.dom.xmlos.Team;
-import org.apache.isis.core.tck.dom.xmlos.TeamDomainRepository;
-import org.apache.isis.objectstore.xml.XmlPersistenceMechanismInstaller;
-import org.apache.isis.objectstore.xml.internal.clock.DefaultClock;
-import org.apache.isis.objectstore.xml.internal.data.ListOfRootOid;
-import org.apache.isis.objectstore.xml.internal.data.ObjectData;
-import org.apache.isis.objectstore.xml.internal.version.FileVersion;
-
-public class XmlDataManagerTest {
-    
-    @Rule
-    public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder()
-        .with(new XmlPersistenceMechanismInstaller())
-        .withServices(new TeamDomainRepository())
-        .build();
-
-    protected XmlDataManager manager;
-
-    @Before
-    public void setUp() throws Exception {
-        FileVersion.setClock(new DefaultClock());
-
-        clearTestDirectory();
-        final String charset = Utils.lookupCharset(iswf.getIsisSystem().getConfiguration());
-        manager = new XmlDataManager(new XmlFile(charset, "tmp/tests"));
-    }
-
-    protected static void clearTestDirectory() {
-        final File directory = new File("tmp" + File.separator + "tests");
-        final String[] files = directory.list(new FilenameFilter() {
-            @Override
-            public boolean accept(final File arg0, final String name) {
-                return name.endsWith(".xml");
-            }
-        });
-
-        if (files != null) {
-            for (final String file : files) {
-                new File(directory, file).delete();
-            }
-        }
-    }
-
-    @Test
-    public void testWriteReadTypeOidAndVersion() {
-        final ObjectData data = createData(Role.class, 99, FileVersion.create("user", 19));
-        manager.insertObject(data);
-
-        final ObjectData read = (ObjectData) manager.loadData(data.getRootOid());
-
-        assertEquals(data.getRootOid(), read.getRootOid());
-        assertEquals(data.getObjectSpecId(), read.getObjectSpecId());
-        assertEquals(data.getVersion(), read.getVersion());
-    }
-
-    @Test
-    public void testNextId() throws Exception {
-        final long first = manager.nextId();
-        assertEquals(first + 1, manager.nextId());
-        assertEquals(first + 2, manager.nextId());
-        assertEquals(first + 3, manager.nextId());
-    }
-
-    @Test
-    public void testInsertObjectWithFields() throws ObjectPersistenceException {
-        final ObjectData data = createData(Role.class, 99, FileVersion.create("user", 13));
-        data.set("Person", RootOidDefault.create(ObjectSpecId.of("RLE"), ""+101));
-        assertNotNull(data.get("Person"));
-        data.set("Name", "Harry");
-        assertNotNull(data.get("Name"));
-
-        manager.insertObject(data);
-
-        final ObjectData read = (ObjectData) manager.loadData(data.getRootOid());
-        assertEquals(data.getRootOid(), read.getRootOid());
-        assertEquals(data.getObjectSpecId(), read.getObjectSpecId());
-
-        assertEquals(data.get("Person"), read.get("Person"));
-        assertEquals(data.get("Name"), read.get("Name"));
-    }
-
-    @Test
-    public void testInsertObjectWithEmptyOneToManyAssociations() throws ObjectPersistenceException {
-        final ObjectData data = createData(Team.class, 99, FileVersion.create("user", 13));
-
-        data.initCollection("Members");
-
-        manager.insertObject(data);
-
-        final ObjectData read = (ObjectData) manager.loadData(data.getRootOid());
-        assertEquals(data.getRootOid(), read.getRootOid());
-        assertEquals(data.getObjectSpecId(), read.getObjectSpecId());
-
-        final ListOfRootOid c = read.elements("Members");
-        assertNull(c);
-    }
-
-    @Test
-    public void testInsertObjectWithOneToManyAssociations() throws ObjectPersistenceException {
-        final ObjectData data = createData(Team.class, 99, FileVersion.create("user", 13));
-
-        data.initCollection("Members");
-        final RootOidDefault oid[] = new RootOidDefault[3];
-        for (int i = 0; i < oid.length; i++) {
-            oid[i] = RootOidDefault.create(ObjectSpecId.of("TEA"), ""+ (104 + i));
-            data.addElement("Members", oid[i]);
-        }
-        manager.insertObject(data);
-
-        final ObjectData read = (ObjectData) manager.loadData(data.getRootOid());
-        assertEquals(data.getRootOid(), read.getRootOid());
-        assertEquals(data.getObjectSpecId(), read.getObjectSpecId());
-
-        final ListOfRootOid c = read.elements("Members");
-        for (int i = 0; i < oid.length; i++) {
-            assertEquals(oid[i], c.elementAt(i));
-        }
-    }
-
-
-    private ObjectData createData(final Class<?> type, final long id, final Version version) {
-
-        final ObjectSpecification objSpec = IsisContext.getSpecificationLoader().loadSpecification(type);
-        final ObjectSpecId objectSpecId = objSpec.getSpecId();
-        final RootOidDefault oid = RootOidDefault.create(objectSpecId, ""+id);
-        return new ObjectData(oid, version);
-    }
-    /*
-     * public void xxxtestInsertValues() throws ObjectStoreException {
-     * ObjectSpecification type =
-     * Isis.getSpecificationLoader().loadSpecification
-     * (ValueObjectExample.class.getName()); SerialOid oid = new SerialOid(99);
-     * ObjectData data = new ObjectData(type, oid);
-     * 
-     * 
-     * Date date1 = new Date(); date1.add(1,2,3); data.saveValue("Date", date1);
-     * 
-     * FloatingPointNumber floatingPoint1 = new FloatingPointNumber();
-     * floatingPoint1.setValue(3.145); data.saveValue("Floating Point",
-     * floatingPoint1);
-     * 
-     * Label label1 = new Label(); label1.setValue("Labelled");
-     * data.saveValue("Label", label1);
-     * 
-     * Logical logical1 = new Logical(); logical1.setValue(true);
-     * data.saveValue("Logical", logical1);
-     * 
-     * Money money1 = new Money(); money1.setValue(1233.45);
-     * data.saveValue("Money", money1);
-     * 
-     * Option option1 = new Option(new String[] {"Fred", "Sam", "joe"}, 1);
-     * data.saveValue("Option", option1);
-     * 
-     * Percentage percentage1 = new Percentage(); percentage1.setValue(95);
-     * data.saveValue("Percentage", percentage1);
-     * 
-     * TextString textString1 = new TextString("Fred");
-     * data.saveValue("Text String", textString1);
-     * 
-     * DateTime timestamp1 = new DateTime(); timestamp1.add(1,2,3);
-     * data.saveValue("Time Stamp", timestamp1);
-     * 
-     * Time time1 = new Time(); time1.add(1,30); data.saveValue("Time", time1);
-     * 
-     * URLString urlString1 = new URLString("http://isis.apache.org/");
-     * data.saveValue("Url String", urlString1);
-     * 
-     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422);
-     * data.saveValue("Whole Number", number1);
-     * 
-     * 
-     * manager.insert(data);
-     * 
-     * 
-     * 
-     * ObjectData object = manager.loadObjectData(oid);
-     * 
-     * Date date2 = new Date(); object.restoreValue("Date", date2);
-     * assertEquals(date1, date2);
-     * 
-     * FloatingPointNumber floatingPoint2 = new FloatingPointNumber();
-     * object.restoreValue("Floating Point", floatingPoint2);
-     * assertEquals(floatingPoint1, floatingPoint2);
-     * 
-     * Label label2 = new Label(); object.restoreValue("Label", label2);
-     * assertEquals(label1, label2);
-     * 
-     * Logical logical2 = new Logical(); object.restoreValue("Logical",
-     * logical2); assertEquals(logical1, logical2);
-     * 
-     * Money money2 = new Money(); object.restoreValue("Money", money2);
-     * assertEquals(money1, money2);
-     * 
-     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"});
-     * object.restoreValue("Option", option2); assertEquals(option1, option2);
-     * 
-     * Percentage percentage2 = new Percentage();
-     * object.restoreValue("Percentage", percentage2); assertEquals(percentage1,
-     * percentage2);
-     * 
-     * Time time2 = new Time(); object.restoreValue("Time", time2);
-     * assertEquals(time1, time2);
-     * 
-     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp",
-     * timestamp2); assertEquals(timestamp1, timestamp2);
-     * 
-     * TextString textString2 = new TextString();
-     * object.restoreValue("Text String", textString2);
-     * assertEquals(textString1, textString2);
-     * 
-     * URLString urlString2 = new URLString(); object.restoreValue("Url String",
-     * urlString2); assertEquals(urlString1, urlString2);
-     * 
-     * WholeNumber number2 = new WholeNumber();
-     * object.restoreValue("Whole Number", number2); assertEquals(number1,
-     * number2); }
-     * 
-     * public void xxxtestSaveValues() throws ObjectStoreException {
-     * ObjectSpecification type =
-     * Isis.getSpecificationLoader().loadSpecification
-     * (ValueObjectExample.class.getName()); SerialOid oid = new SerialOid(99);
-     * ObjectData data = new ObjectData(type, oid);
-     * 
-     * manager.insert(data);
-     * 
-     * 
-     * Date date1 = new Date(); date1.add(1,2,3); data.saveValue("Date", date1);
-     * 
-     * FloatingPointNumber floatingPoint1 = new FloatingPointNumber();
-     * floatingPoint1.setValue(3.145); data.saveValue("Floating Point",
-     * floatingPoint1);
-     * 
-     * Label label1 = new Label(); label1.setValue("Labelled");
-     * data.saveValue("Label", label1);
-     * 
-     * Logical logical1 = new Logical(); logical1.setValue(true);
-     * data.saveValue("Logical", logical1);
-     * 
-     * Money money1 = new Money(); money1.setValue(1233.45);
-     * data.saveValue("Money", money1);
-     * 
-     * Option option1 = new Option(new String[] {"Fred", "Sam", "joe"}, 1);
-     * data.saveValue("Option", option1);
-     * 
-     * Percentage percentage1 = new Percentage(); percentage1.setValue(95);
-     * data.saveValue("Percentage", percentage1);
-     * 
-     * TextString textString1 = new TextString("Fred");
-     * data.saveValue("Text String", textString1);
-     * 
-     * DateTime timestamp1 = new DateTime(); timestamp1.add(1,2,3);
-     * data.saveValue("Time Stamp", timestamp1);
-     * 
-     * Time time1 = new Time(); time1.add(1,30); data.saveValue("Time", time1);
-     * 
-     * URLString urlString1 = new URLString("http://isis.apache.org/");
-     * data.saveValue("Url String", urlString1);
-     * 
-     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422);
-     * data.saveValue("Whole Number", number1);
-     * 
-     * 
-     * manager.save(data);
-     * 
-     * 
-     * 
-     * ObjectData object = manager.loadObjectData(oid);
-     * 
-     * Date date2 = new Date(); object.restoreValue("Date", date2);
-     * assertEquals(date1, date2);
-     * 
-     * FloatingPointNumber floatingPoint2 = new FloatingPointNumber();
-     * object.restoreValue("Floating Point", floatingPoint2);
-     * assertEquals(floatingPoint1, floatingPoint2);
-     * 
-     * Label label2 = new Label(); object.restoreValue("Label", label2);
-     * assertEquals(label1, label2);
-     * 
-     * Logical logical2 = new Logical(); object.restoreValue("Logical",
-     * logical2); assertEquals(logical1, logical2);
-     * 
-     * Money money2 = new Money(); object.restoreValue("Money", money2);
-     * assertEquals(money1, money2);
-     * 
-     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"});
-     * object.restoreValue("Option", option2); assertEquals(option1, option2);
-     * 
-     * Percentage percentage2 = new Percentage();
-     * object.restoreValue("Percentage", percentage2); assertEquals(percentage1,
-     * percentage2);
-     * 
-     * Time time2 = new Time(); object.restoreValue("Time", time2);
-     * assertEquals(time1, time2);
-     * 
-     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp",
-     * timestamp2); assertEquals(timestamp1, timestamp2);
-     * 
-     * TextString textString2 = new TextString();
-     * object.restoreValue("Text String", textString2);
-     * assertEquals(textString1, textString2);
-     * 
-     * URLString urlString2 = new URLString(); object.restoreValue("Url String",
-     * urlString2); assertEquals(urlString1, urlString2);
-     * 
-     * WholeNumber number2 = new WholeNumber();
-     * object.restoreValue("Whole Number", number2); assertEquals(number1,
-     * number2);
-     * 
-     * }
-     */
-
-}


[30/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/AbstractIsisConcordionScenario.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/AbstractIsisConcordionScenario.java b/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/AbstractIsisConcordionScenario.java
deleted file mode 100644
index ecf7eb0..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/AbstractIsisConcordionScenario.java
+++ /dev/null
@@ -1,539 +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.bdd.concordion;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.List;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
-import org.concordion.Concordion;
-import org.concordion.api.ResultSummary;
-import org.concordion.internal.ConcordionBuilder;
-import org.concordion.internal.FileTarget;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.lang.IoUtils;
-import org.apache.isis.core.commons.lang.StringUtils;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.viewer.bdd.common.Scenario;
-import org.apache.isis.viewer.bdd.common.ScenarioValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.SetUpObjectsPeer.Mode;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.Perform;
-import org.apache.isis.viewer.bdd.concordion.internal.concordion.IsisExecuteCommandWithHeader;
-import org.apache.isis.viewer.bdd.concordion.internal.fixtures.AliasItemsInListForConcordion;
-import org.apache.isis.viewer.bdd.concordion.internal.fixtures.CheckCollectionContentsForConcordion;
-import org.apache.isis.viewer.bdd.concordion.internal.fixtures.CheckListForConcordion;
-import org.apache.isis.viewer.bdd.concordion.internal.fixtures.SetUpObjectsForConcordion;
-import org.apache.isis.viewer.bdd.concordion.internal.fixtures.UsingIsisViewerForConcordion;
-
-public abstract class AbstractIsisConcordionScenario {
-
-    public static final String DEFAULT_CONCORDION_CSS = "concordion.css";
-
-    /**
-     * The system property that is searched for to use as the
-     * {@link #outputDir() target directory}.
-     */
-    public static final String DEFAULT_CONCORDION_OUTPUT_DIR_PROPERTY = "concordion.output.dir";
-
-    /**
-     * The directory used by default if the
-     * {@link #DEFAULT_CONCORDION_OUTPUT_DIR_PROPERTY default property} for the
-     * {@link #outputDir() target directory} is not specified (and the
-     * {@link #outputDir()} method has not been overridden).
-     */
-    public static final String DEFAULT_OUTPUT_DIR = "/tmp/concordion";
-
-    public static final String NS_URI = "http://isis.apache.org/2010/concordion";
-    private static final String CMD_EXECUTE = "execute";
-
-    private static ThreadLocal<Scenario> scenarioThreadLocal = new ThreadLocal<Scenario>() {
-        @Override
-        protected Scenario initialValue() {
-            return new Scenario();
-        }
-    };
-
-    public static Scenario getScenario() {
-        return scenarioThreadLocal.get();
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // @Test
-    // ////////////////////////////////////////////////////////////////////////
-
-    @Test
-    public void runScenario() throws Throwable {
-        BasicConfigurator.configure();
-        LogManager.getRootLogger().setLevel(Level.INFO);
-        try {
-            final Concordion concordion = createConcordion();
-            final ResultSummary resultSummary = concordion.process(this);
-            resultSummary.print(System.out, this);
-            resultSummary.assertIsSatisfied(this);
-        } finally {
-            copyCustomCssIfDefined();
-        }
-    }
-
-    private void copyCustomCssIfDefined() {
-        final Class<?> cssClass = customCssPackage();
-        final String customCss = customCss();
-        if (cssClass == null || customCss == null) {
-            return;
-        }
-        final InputStream cssInputFile = cssClass.getResourceAsStream(customCss);
-        final String cssPackageName = cssClass.getPackage().getName();
-        final String cssPackagePath = asPath(cssPackageName);
-        final String cssOutputFileName = StringUtils.combinePaths(outputDir(), cssPackagePath, customCss);
-        try {
-            final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            IoUtils.copy(cssInputFile, baos);
-            if (baos.size() > 0) {
-                IoUtils.copy(new ByteArrayInputStream(baos.toByteArray()), new FileOutputStream(cssOutputFileName));
-            }
-        } catch (final IllegalArgumentException e) {
-            System.err.printf("failed to copy custom CSS to '%s'\n", customCss, cssOutputFileName);
-            return;
-        } catch (final IOException e) {
-            System.err.printf("failed to copy custom CSS '%s' to '%s'\n", customCss, cssOutputFileName);
-            return;
-        }
-    }
-
-    private String asPath(final String name) {
-        return name.replace('.', File.separatorChar);
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // Hooks
-    // ////////////////////////////////////////////////////////////////////////
-
-    /**
-     * The directory to which the processed HTML should be copied.
-     * 
-     * <p>
-     * Defaults to the value of the
-     * {@value #DEFAULT_CONCORDION_OUTPUT_DIR_PROPERTY} system property, or
-     * {@value #DEFAULT_OUTPUT_DIR} if that property is not specified.
-     * 
-     * <p>
-     * Can either be overridden if wish to specify some other mechanism for
-     * determining where the output is generated.
-     */
-    protected String outputDir() {
-        final String concordionOutputDir = System.getProperty(DEFAULT_CONCORDION_OUTPUT_DIR_PROPERTY);
-        return StringUtils.isNullOrEmpty(concordionOutputDir) ? DEFAULT_OUTPUT_DIR : concordionOutputDir;
-    }
-
-    /**
-     * Optional hook method to specify the class (any class) that resides in the
-     * same package as the {@link #customCss()}.
-     * 
-     * <p>
-     * Return <tt>null</tt> if no custom CSS has been provided.
-     * 
-     * @see #customCss()
-     */
-    protected Class<?> customCssPackage() {
-        return null;
-    }
-
-    /**
-     * Optional hook method to specify the name of the custom CSS file.
-     * 
-     * <p>
-     * Defaults to {@value #DEFAULT_CONCORDION_CSS} so you do not need to
-     * override if your custom CSS file has this name. However, it is necessary
-     * to override {@link #customCssPackage()} to indicate the package that the
-     * CSS resides in.
-     * 
-     * @see #customCssPackage()
-     */
-    protected String customCss() {
-        return DEFAULT_CONCORDION_CSS;
-    }
-
-    private Concordion createConcordion() {
-        final String targetDir = outputDir();
-        if (targetDir == null) {
-            throw new IllegalStateException("targetDir() cannot be null");
-        }
-        final ConcordionBuilder builder = new ConcordionBuilder() {
-        }.withTarget(new FileTarget(new File(targetDir))).withCommand(NS_URI, CMD_EXECUTE, new IsisExecuteCommandWithHeader());
-        return builder.build();
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // bootstrapIsis / shutdownIsis
-    // ////////////////////////////////////////////////////////////////////////
-
-    /**
-     * For calling within a <tt>#setUp()</tt> method.
-     * 
-     * @see {@link #bootstrapIsis(String, String)}
-     */
-    public void bootstrapIsis(final String configDirectory, final DeploymentType deploymentType) {
-        getScenario().bootstrapIsis(StringUtils.normalized(configDirectory), deploymentType);
-    }
-
-    /**
-     * For calling from XHTML script.
-     * 
-     * @see #bootstrapIsis(String, DeploymentType)
-     * @return <tt>boolean</tt> so that XHTML can assert on it.
-     */
-    public boolean bootstrapIsis(final String configDirectory, final String deploymentTypeStr) {
-        bootstrapIsis(configDirectory, DeploymentType.lookup(StringUtils.normalized(deploymentTypeStr)));
-        return true; // any runtime exception will propagate
-    }
-
-    public void shutdownIsis() {
-        getScenario().shutdownIsis();
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // logon as / switch user
-    // ////////////////////////////////////////////////////////////////////////
-
-    public boolean logonAs(final String userName) {
-        getScenario().logonAsOrSwitchUserTo(StringUtils.normalized(userName));
-        return true;
-    }
-
-    public boolean logonAsWithRoles(final String userName, final String roleListStr) {
-        final List<String> roleList = StringUtils.splitOnCommas(StringUtils.normalized(roleListStr));
-        getScenario().logonAsOrSwitchUserTo(userName, roleList);
-        return true;
-    }
-
-    public void switchUser(final String userName) {
-        logonAs(userName);
-    }
-
-    public void switchUserWithRoles(final String userName, final String roleListStr) {
-        logonAsWithRoles(userName, roleListStr);
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // date is / time is
-    // ////////////////////////////////////////////////////////////////////////
-
-    public boolean usingDateFormat(final String dateFormatStr) {
-        getScenario().usingDateFormat(dateFormatStr);
-        return true;
-    }
-
-    public boolean usingTimeFormat(final String timeFormatStr) {
-        getScenario().usingTimeFormat(timeFormatStr);
-        return true;
-    }
-
-    public boolean dateIs(final String dateAndTimeStr) throws ScenarioValueException {
-        return dateAndTimeIs(dateAndTimeStr);
-    }
-
-    public boolean timeIs(final String dateAndTimeStr) throws ScenarioValueException {
-        return dateAndTimeIs(dateAndTimeStr);
-    }
-
-    private boolean dateAndTimeIs(final String dateAndTimeStr) throws ScenarioValueException {
-        return getScenario().dateAndTimeIs(dateAndTimeStr);
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // alias service
-    // ////////////////////////////////////////////////////////////////////////
-
-    public boolean aliasService(final String aliasAs, final String className) {
-        try {
-            getScenario().getAliasRegistry().aliasService(StringUtils.normalized(aliasAs), StringUtils.normalized(className));
-            return true;
-        } catch (final ScenarioValueException e) {
-            return false;
-        }
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // setup object
-    // ////////////////////////////////////////////////////////////////////////
-
-    public String setUpObject(final String className, final String alias, final String arg0) {
-        return setUpObjectsVarargs(className, alias, arg0);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1, final String arg2) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1, arg2);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1, final String arg2, final String arg3) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1, arg2, arg3);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1, arg2, arg3, arg4);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4, final String arg5) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1, arg2, arg3, arg4, arg5);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4, final String arg5, final String arg6) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4, final String arg5, final String arg6, final String arg7) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4, final String arg5, final String arg6, final String arg7, final String arg8) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-    }
-
-    public String setUpObject(final String className, final String alias, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4, final String arg5, final String arg6, final String arg7, final String arg8, final String arg9) {
-        return setUpObjectsVarargs(className, alias, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-    }
-
-    private SetUpObjectsForConcordion setUpObjects;
-
-    /**
-     * Workaround for OGNL defect.
-     */
-    protected String setUpObjectsVarargs(final String className, final String alias, final String... propertyValues) {
-        return setUpObjectsVarargsNormalized(StringUtils.normalized(className), StringUtils.normalized(alias), StringUtils.normalized(propertyValues));
-    }
-
-    private String setUpObjectsVarargsNormalized(final String className, final String alias, final String... propertyValues) {
-        if (executingInline()) {
-            setUpObjects = new SetUpObjectsForConcordion(getScenario().getAliasRegistry(), className, Mode.PERSIST);
-            setUpObjects.executeHeader(alias, propertyValues);
-            return setUpObjects.executeRow(alias, propertyValues);
-        } else {
-            if (executingTableHeader()) {
-                setUpObjects = new SetUpObjectsForConcordion(getScenario().getAliasRegistry(), className, Mode.PERSIST);
-                return setUpObjects.executeHeader(alias, propertyValues);
-            } else {
-                return setUpObjects.executeRow(alias, propertyValues);
-            }
-        }
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // using isis viewer
-    // ////////////////////////////////////////////////////////////////////////
-
-    private UsingIsisViewerForConcordion usingIsisViewer;
-
-    public String usingIsisViewer(final String onObject, final String aliasResultAs, final String perform, final String usingMember) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, null, null, null, null);
-    }
-
-    public String usingIsisViewerThat(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, thatIt, null, null, null);
-    }
-
-    public String usingIsisViewerArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String arg0) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, null, arg0);
-    }
-
-    public String usingIsisViewerArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String arg0, final String arg1) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, null, arg0, arg1);
-    }
-
-    public String usingIsisViewerArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String arg0, final String arg1, final String arg2) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, null, arg0, arg1, arg2);
-    }
-
-    public String usingIsisViewerArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String arg0, final String arg1, final String arg2, final String arg3) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, null, arg0, arg1, arg2, arg3);
-    }
-
-    public String usingIsisViewerArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, null, arg0, arg1, arg2, arg3, arg4);
-    }
-
-    public String usingIsisViewerArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4, final String arg5) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, null, arg0, arg1, arg2, arg3, arg4, arg5);
-    }
-
-    public String usingIsisViewerThatArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, thatIt, arg0);
-    }
-
-    public String usingIsisViewerThatArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0, final String arg1) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, thatIt, arg0, arg1);
-    }
-
-    public String usingIsisViewerThatArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0, final String arg1, final String arg2) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, thatIt, arg0, arg1, arg2);
-    }
-
-    public String usingIsisViewerThatArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0, final String arg1, final String arg2, final String arg3) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, thatIt, arg0, arg1, arg2, arg3);
-    }
-
-    public String usingIsisViewerThatArgs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0, final String arg1, final String arg2, final String arg3, final String arg4) {
-        return usingIsisViewerThatArgsVarargs(onObject, aliasResultAs, perform, usingMember, thatIt, arg0, arg1, arg2, arg3, arg4);
-    }
-
-    /**
-     * With <tt>protected</tt> visibility so that it can be called by custom
-     * methods if required.
-     */
-    protected String usingIsisViewerThatArgsVarargs(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0, final String... remainingArgs) {
-        return usingIsisViewerThatArgsVarargsNormalized(StringUtils.normalized(onObject), StringUtils.normalized(aliasResultAs), StringUtils.normalized(perform), StringUtils.normalized(usingMember), StringUtils.normalized(thatIt), StringUtils.normalized(arg0), StringUtils.normalized(remainingArgs));
-    }
-
-    private String usingIsisViewerThatArgsVarargsNormalized(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0, final String... remainingArgs) {
-        if (executingInline()) {
-            usingIsisViewer = new UsingIsisViewerForConcordion(getScenario().getAliasRegistry(), getScenario().getDeploymentType(), getScenario().getDateParser(), Perform.Mode.TEST);
-            usingIsisViewer.executeHeader(onObject, aliasResultAs, perform, usingMember, thatIt, arg0, remainingArgs);
-            return usingIsisViewer.executeRow(onObject, aliasResultAs, perform, usingMember, thatIt, arg0, remainingArgs);
-        } else {
-            if (executingTableHeader()) {
-                usingIsisViewer = new UsingIsisViewerForConcordion(getScenario().getAliasRegistry(), getScenario().getDeploymentType(), getScenario().getDateParser(), Perform.Mode.TEST);
-                return usingIsisViewer.executeHeader(onObject, aliasResultAs, perform, usingMember, thatIt, arg0, remainingArgs);
-            } else {
-                return usingIsisViewer.executeRow(onObject, aliasResultAs, perform, usingMember, thatIt, arg0, remainingArgs);
-            }
-        }
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // check collection
-    // ////////////////////////////////////////////////////////////////////////
-
-    public String checkCollectionIsEmpty(final String listAlias) {
-        return new CheckCollectionContentsForConcordion(getScenario().getAliasRegistry(), StringUtils.normalized(listAlias)).isEmpty();
-    }
-
-    public String checkCollectionIsNotEmpty(final String listAlias) {
-        return new CheckCollectionContentsForConcordion(getScenario().getAliasRegistry(), StringUtils.normalized(listAlias)).isNotEmpty();
-    }
-
-    public String checkCollectionContains(final String listAlias, final String alias) {
-        return new CheckCollectionContentsForConcordion(getScenario().getAliasRegistry(), StringUtils.normalized(listAlias)).contains(StringUtils.normalized(alias));
-    }
-
-    public String checkCollectionDoesNotContain(final String listAlias, final String alias) {
-        return new CheckCollectionContentsForConcordion(getScenario().getAliasRegistry(), StringUtils.normalized(listAlias)).doesNotContain(StringUtils.normalized(alias));
-    }
-
-    public String checkCollectionSize(final String listAlias, final int size) {
-        return new CheckCollectionContentsForConcordion(getScenario().getAliasRegistry(), StringUtils.normalized(listAlias)).assertSize(size);
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // check list
-    // ////////////////////////////////////////////////////////////////////////
-
-    private CheckListForConcordion checkList;
-
-    public String checkList(final String listAlias, final String title) {
-        if (executingTable()) {
-            if (executingTableHeader()) {
-                checkList = new CheckListForConcordion(getScenario().getAliasRegistry(), listAlias);
-                return checkList.executeHeader(title);
-            } else {
-                return checkList.executeRow(title);
-            }
-        } else {
-            checkList = new CheckListForConcordion(getScenario().getAliasRegistry(), listAlias);
-            checkList.executeHeader(title);
-            return checkList.executeRow(title);
-        }
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // getListContents() (for verifyRow)
-    // ////////////////////////////////////////////////////////////////////////
-
-    public Iterable<Object> getListContents(final String listAlias) {
-        final ObjectAdapter listAdapter = getScenario().getAliasRegistry().getAliased(StringUtils.normalized(listAlias));
-        if (listAdapter == null) {
-            return Collections.emptyList();
-        }
-        final CollectionFacet facet = listAdapter.getSpecification().getFacet(CollectionFacet.class);
-        if (facet == null) {
-            return Collections.emptyList();
-        }
-        final Iterable<ObjectAdapter> objectAdapters = facet.iterable(listAdapter);
-        return Iterables.transform(objectAdapters, new Function<ObjectAdapter, Object>() {
-
-            @Override
-            public Object apply(final ObjectAdapter from) {
-                return from.getObject();
-            }
-        });
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // alias items in list
-    // ////////////////////////////////////////////////////////////////////////
-
-    private AliasItemsInListForConcordion aliasItemsInList;
-
-    public String aliasItemsInList(final String listAlias, final String title, final String aliasAs) {
-        return aliasItemsInList(listAlias, title, null, aliasAs);
-    }
-
-    public String aliasItemsInList(final String listAlias, final String title, final String type, final String aliasAs) {
-        aliasItemsInList = new AliasItemsInListForConcordion(getScenario().getAliasRegistry(), StringUtils.normalized(listAlias));
-        return aliasItemsInList.execute(StringUtils.normalized(aliasAs), StringUtils.normalized(title), StringUtils.normalized(type));
-    }
-
-    private boolean executingTableHeader() {
-        return executingTable() && IsisExecuteCommandWithHeader.tableRow.get() == IsisExecuteCommandWithHeader.TableRow.HEADER;
-    }
-
-    private boolean executingTable() {
-        final IsisExecuteCommandWithHeader.Context context = IsisExecuteCommandWithHeader.context.get();
-        return context == IsisExecuteCommandWithHeader.Context.TABLE;
-    }
-
-    private boolean executingInline() {
-        return !executingTable();
-    }
-
-    // ////////////////////////////////////////////////////////////////////////
-    // run viewer
-    // ////////////////////////////////////////////////////////////////////////
-
-    public void runViewer() {
-        getScenario().runViewer();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/concordion/IsisExecuteCommandWithHeader.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/concordion/IsisExecuteCommandWithHeader.java b/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/concordion/IsisExecuteCommandWithHeader.java
deleted file mode 100644
index 63decb1..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/concordion/IsisExecuteCommandWithHeader.java
+++ /dev/null
@@ -1,119 +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.bdd.concordion.internal.concordion;
-
-import org.concordion.api.CommandCall;
-import org.concordion.api.Evaluator;
-import org.concordion.api.ResultRecorder;
-import org.concordion.internal.Row;
-import org.concordion.internal.TableSupport;
-import org.concordion.internal.command.ExecuteCommand;
-
-/**
- * Handles tables slightly differently from Concordion's usual strategy.
- * 
- * <p>
- * Specifically, it will call execute for the header row as well as for the body
- * rows. This is required in order to set up the bindings of the column names to
- * the positions.
- */
-public class IsisExecuteCommandWithHeader extends ExecuteCommand {
-
-    public static enum Context {
-        TABLE, INLINE
-    }
-
-    public static enum TableRow {
-        HEADER, BODY
-    }
-
-    /**
-     * Provides a mechanism for the fixture to determine whether the command is
-     * being executed in the context of a table or inline.
-     */
-    public static ThreadLocal<Context> context = new ThreadLocal<Context>() {
-        @Override
-        protected Context initialValue() {
-            return null;
-        }
-    };
-
-    /**
-     * When executing in a {@link Context#TABLE table context}, provides a
-     * mechanism for the fixture to determine whether the header of a table or
-     * the body is being processed.
-     */
-    public static ThreadLocal<TableRow> tableRow = new ThreadLocal<TableRow>() {
-        @Override
-        protected TableRow initialValue() {
-            return TableRow.BODY;
-        }
-    };
-
-    @Override
-    public void execute(final org.concordion.api.CommandCall commandCall, final Evaluator evaluator, final ResultRecorder resultRecorder) {
-        if (commandCall.getElement().isNamed("table")) {
-            // special handling for tables
-            final Context contextIfAny = context.get();
-            final boolean setContext = contextIfAny == null;
-            if (setContext) {
-                context.set(Context.TABLE);
-            }
-            executeTable(commandCall, evaluator, resultRecorder);
-            if (setContext) {
-                context.set(null);
-            }
-        } else {
-            // basically the same as Concordion's original ExecuteCommand
-            final Context contextIfAny = context.get();
-            final boolean setContext = contextIfAny == null;
-            if (setContext) {
-                context.set(Context.INLINE);
-            }
-            super.execute(commandCall, evaluator, resultRecorder);
-            if (setContext) {
-                context.set(null);
-            }
-        }
-    }
-
-    private void executeTable(final CommandCall commandCall, final Evaluator evaluator, final ResultRecorder resultRecorder) {
-        final TableSupport tableSupport = new TableSupport(commandCall);
-
-        // this is the bit that's different: also execute on the header
-        tableRow.set(TableRow.HEADER);
-        final Row headerRow = tableSupport.getLastHeaderRow();
-        commandCall.setElement(headerRow.getElement());
-        commandCall.execute(evaluator, resultRecorder);
-
-        // the rest is copied from Concordion's original implementation
-        tableRow.set(TableRow.BODY);
-        final Row[] detailRows = tableSupport.getDetailRows();
-        for (final Row detailRow : detailRows) {
-            if (detailRow.getCells().length != tableSupport.getColumnCount()) {
-                throw new RuntimeException("The <table> 'execute' command only supports rows with an equal number of columns.");
-            }
-            commandCall.setElement(detailRow.getElement());
-            tableSupport.copyCommandCallsTo(detailRow);
-            commandCall.execute(evaluator, resultRecorder);
-        }
-        tableRow.set(null);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AbstractFixture.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AbstractFixture.java b/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AbstractFixture.java
deleted file mode 100755
index ad226b4..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AbstractFixture.java
+++ /dev/null
@@ -1,33 +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.bdd.concordion.internal.fixtures;
-
-public abstract class AbstractFixture<T> {
-
-    private final T peer;
-
-    protected AbstractFixture(final T fixturePeer) {
-        this.peer = fixturePeer;
-    }
-
-    public T getPeer() {
-        return peer;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AliasItemsInListForConcordion.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AliasItemsInListForConcordion.java b/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AliasItemsInListForConcordion.java
deleted file mode 100644
index b535c5f..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AliasItemsInListForConcordion.java
+++ /dev/null
@@ -1,97 +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.bdd.concordion.internal.fixtures;
-
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.CellBindingDefault;
-import org.apache.isis.viewer.bdd.common.IsisViewerConstants;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCellDefault;
-import org.apache.isis.viewer.bdd.common.ScenarioValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.AliasItemsInListPeer;
-
-public class AliasItemsInListForConcordion extends AbstractFixture<AliasItemsInListPeer> {
-
-    public AliasItemsInListForConcordion(final AliasRegistry aliasRegistry, final String listAlias) {
-        this(aliasRegistry, listAlias, CellBindingDefault.builder(IsisViewerConstants.TITLE_NAME, IsisViewerConstants.TITLE_HEAD).build(), CellBindingDefault.builder(IsisViewerConstants.TYPE_NAME, IsisViewerConstants.TYPE_HEAD).optional().build(), CellBindingDefault
-                .builder(IsisViewerConstants.ALIAS_RESULT_NAME, IsisViewerConstants.ALIAS_RESULT_HEAD_SET).autoCreate().build());
-    }
-
-    private AliasItemsInListForConcordion(final AliasRegistry aliasRegistry, final String listAlias, final CellBinding titleBinding, final CellBinding typeBinding, final CellBinding aliasBinding) {
-        super(new AliasItemsInListPeer(aliasRegistry, listAlias, titleBinding, typeBinding, aliasBinding));
-    }
-
-    public String execute(final String aliasAs, final String title, final String type) {
-        final String header = executeHeader(aliasAs, title, type);
-        if (header != null) {
-            return header;
-        }
-
-        final String row = executeRow(aliasAs, title, type);
-        if (row != null) {
-            return row;
-        }
-
-        return "ok"; // ok
-    }
-
-    private String executeHeader(final String alias, final String title, final String type) {
-        try {
-            getPeer().assertIsList();
-        } catch (final ScenarioValueException e) {
-            return e.getMessage();
-        }
-
-        // create bindings
-        getPeer().getTitleBinding().setHeadColumn(0);
-        getPeer().getAliasBinding().setHeadColumn(1);
-
-        if (type != null) {
-            getPeer().getTypeBinding().setHeadColumn(2, new ScenarioCellDefault(type));
-        }
-
-        return null;
-    }
-
-    private String executeRow(final String aliasAs, final String title, final String type) {
-        if (!getPeer().isList()) {
-            return null; // skip
-        }
-
-        captureCurrent(aliasAs, title, type);
-
-        try {
-            getPeer().findAndAlias();
-        } catch (final ScenarioBoundValueException e) {
-            return e.getMessage();
-        }
-
-        return null;
-    }
-
-    private void captureCurrent(final String aliasAs, final String title, final String type) {
-        getPeer().getAliasBinding().captureCurrent(new ScenarioCellDefault(aliasAs));
-        getPeer().getTitleBinding().captureCurrent(new ScenarioCellDefault(title));
-        if (type != null) {
-            getPeer().getTitleBinding().captureCurrent(new ScenarioCellDefault(type));
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/CheckCollectionContentsForConcordion.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/CheckCollectionContentsForConcordion.java b/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/CheckCollectionContentsForConcordion.java
deleted file mode 100644
index 7cf7507..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/CheckCollectionContentsForConcordion.java
+++ /dev/null
@@ -1,61 +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.bdd.concordion.internal.fixtures;
-
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.fixtures.CheckCollectionContentsPeer;
-
-public class CheckCollectionContentsForConcordion extends AbstractFixture<CheckCollectionContentsPeer> {
-
-    public CheckCollectionContentsForConcordion(final AliasRegistry aliasRegistry, final String listAlias) {
-        super(new CheckCollectionContentsPeer(aliasRegistry, listAlias));
-    }
-
-    public String contains(final String alias) {
-        if (!getPeer().isValidAlias(alias)) {
-            return "unknown alias '" + alias + "'";
-        }
-        final boolean contains = getPeer().contains(alias);
-        return contains ? "ok" : "does not contain '" + alias + "'";
-    }
-
-    public String doesNotContain(final String alias) {
-        if (!getPeer().isValidAlias(alias)) {
-            return "unknown alias '" + alias + "'";
-        }
-        final boolean doesNotContain = getPeer().doesNotContain(alias);
-        return doesNotContain ? "ok" : "does contain";
-    }
-
-    public String isEmpty() {
-        final boolean isEmpty = getPeer().isEmpty();
-        return isEmpty ? "ok" : "not empty";
-    }
-
-    public String isNotEmpty() {
-        final boolean isNotEmpty = getPeer().isNotEmpty();
-        return isNotEmpty ? "ok" : "empty";
-    }
-
-    public String assertSize(final int size) {
-        final boolean hasSize = getPeer().assertSize(size);
-        return hasSize ? "ok" : "contains " + getPeer().getSize() + " objects";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/CheckListForConcordion.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/CheckListForConcordion.java b/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/CheckListForConcordion.java
deleted file mode 100644
index ed3574c..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/CheckListForConcordion.java
+++ /dev/null
@@ -1,72 +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.bdd.concordion.internal.fixtures;
-
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBindingDefault;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.ScenarioCellDefault;
-import org.apache.isis.viewer.bdd.common.fixtures.CheckListConstants;
-import org.apache.isis.viewer.bdd.common.fixtures.CheckListPeer;
-import org.apache.isis.viewer.bdd.common.fixtures.CheckListPeer.CheckMode;
-
-public class CheckListForConcordion extends AbstractFixture<CheckListPeer> {
-
-    public CheckListForConcordion(final AliasRegistry aliasRegistry, final String listAlias) {
-        super(new CheckListPeer(aliasRegistry, listAlias, CheckMode.NOT_EXACT, titleBinding()));
-    }
-
-    private static CellBindingDefault titleBinding() {
-        return CellBindingDefault.builder(CheckListConstants.TITLE_NAME, CheckListConstants.TITLE_HEAD_SET).ditto().build();
-    }
-
-    public String executeHeader(final String title) {
-        return setupHeader(title);
-    }
-
-    private String setupHeader(final String title) {
-        int colNum = 0;
-        getPeer().getTitleBinding().setHeadColumn(colNum++);
-        return ""; // ok
-    }
-
-    public String executeRow(final String title) {
-
-        setupHeader(title);
-
-        // capture current
-        getPeer().getTitleBinding().captureCurrent(new ScenarioCellDefault(title));
-
-        // execute
-        return checkExists();
-    }
-
-    private String checkExists() {
-        if (!getPeer().findAndAddObject()) {
-            return getTitle() + " not found";
-        }
-        return "ok";
-    }
-
-    private String getTitle() {
-        final ScenarioCell currentCell = getPeer().getTitleBinding().getCurrentCell();
-        return currentCell != null ? currentCell.getText() : "(no title provided)";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/SetUpObjectsForConcordion.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/SetUpObjectsForConcordion.java b/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/SetUpObjectsForConcordion.java
deleted file mode 100755
index 5861cdb..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/SetUpObjectsForConcordion.java
+++ /dev/null
@@ -1,72 +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.bdd.concordion.internal.fixtures;
-
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.CellBindingDefault;
-import org.apache.isis.viewer.bdd.common.IsisViewerConstants;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.fixtures.SetUpObjectsPeer;
-
-public class SetUpObjectsForConcordion extends AbstractFixture<SetUpObjectsPeer> {
-
-    public SetUpObjectsForConcordion(final AliasRegistry aliasesRegistry, final String className, final SetUpObjectsPeer.Mode mode) {
-        this(aliasesRegistry, className, mode, CellBindingDefault.builder(IsisViewerConstants.ALIAS_RESULT_NAME, IsisViewerConstants.ALIAS_RESULT_HEAD_SET).autoCreate().build());
-    }
-
-    private SetUpObjectsForConcordion(final AliasRegistry storyFixture, final String className, final SetUpObjectsPeer.Mode mode, final CellBinding aliasBinding) {
-        super(new SetUpObjectsPeer(storyFixture, className, mode, aliasBinding));
-    }
-
-    public String executeHeader(final String alias, final String... propertyNames) {
-
-        // create bindings (there's only one)
-        getPeer().getAliasBinding().setHeadColumn(0);
-
-        // define properties and the alias column
-        int colNum = 0;
-        getPeer().definePropertyOrAlias(alias, colNum++);
-
-        for (final String propertyName : propertyNames) {
-            getPeer().definePropertyOrAlias(propertyName, colNum++);
-        }
-
-        return ""; // ok
-    }
-
-    public String executeRow(final String alias, final String... propertyValues) {
-
-        // set property values and the alis
-        getPeer().addPropertyValueOrAlias(alias);
-        for (final String propertyValue : propertyValues) {
-            getPeer().addPropertyValueOrAlias(propertyValue);
-        }
-
-        // create the object
-        try {
-            getPeer().createObject();
-            return "ok";
-        } catch (final ScenarioBoundValueException ex) {
-            return ex.toString();
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/UsingIsisViewerForConcordion.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/UsingIsisViewerForConcordion.java b/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/UsingIsisViewerForConcordion.java
deleted file mode 100644
index 11b916a..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/UsingIsisViewerForConcordion.java
+++ /dev/null
@@ -1,127 +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.bdd.concordion.internal.fixtures;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.CellBindingDefault;
-import org.apache.isis.viewer.bdd.common.IsisViewerConstants;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-import org.apache.isis.viewer.bdd.common.ScenarioCellDefault;
-import org.apache.isis.viewer.bdd.common.fixtures.UsingIsisViewerPeer;
-import org.apache.isis.viewer.bdd.common.fixtures.perform.Perform;
-import org.apache.isis.viewer.bdd.common.parsers.DateParser;
-
-public class UsingIsisViewerForConcordion extends AbstractFixture<UsingIsisViewerPeer> {
-
-    public UsingIsisViewerForConcordion(final AliasRegistry aliasesRegistry, final DeploymentType deploymentType, final DateParser dateParser, final Perform.Mode mode) {
-        this(aliasesRegistry, deploymentType, dateParser, mode, CellBindingDefault.builder(IsisViewerConstants.ON_OBJECT_NAME, IsisViewerConstants.ON_OBJECT_HEAD_SET).ditto().build(), CellBindingDefault.builder(IsisViewerConstants.ALIAS_RESULT_NAME, IsisViewerConstants.ALIAS_RESULT_HEAD_SET)
-                .optional().build(), CellBindingDefault.builder(IsisViewerConstants.PERFORM_NAME, IsisViewerConstants.PERFORM_HEAD_SET).ditto().build(), CellBindingDefault.builder(IsisViewerConstants.ON_MEMBER_NAME, IsisViewerConstants.ON_MEMBER_HEAD_SET).optional().build(), CellBindingDefault
-                .builder(IsisViewerConstants.THAT_IT_NAME, IsisViewerConstants.THAT_IT_HEAD_SET).ditto().optional().build(), CellBindingDefault.builder(IsisViewerConstants.WITH_ARGUMENTS_NAME, IsisViewerConstants.WITH_ARGUMENTS_HEAD_SET).optional().build());
-    }
-
-    private UsingIsisViewerForConcordion(final AliasRegistry aliasesRegistry, final DeploymentType deploymentType, final DateParser dateParser, final Perform.Mode mode, final CellBinding onObjectBinding, final CellBinding aliasResultAsBinding, final CellBinding performBinding,
-            final CellBinding onMemberBinding, final CellBinding thatItBinding, final CellBinding arg0Binding) {
-        super(new UsingIsisViewerPeer(aliasesRegistry, deploymentType, dateParser, mode, onObjectBinding, aliasResultAsBinding, performBinding, onMemberBinding, thatItBinding, arg0Binding));
-    }
-
-    public String executeHeader(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0, final String... remainingArgs) {
-
-        return setupHeader(onObject, aliasResultAs, perform, usingMember, thatIt, arg0);
-    }
-
-    private String setupHeader(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0) {
-        int colNum = 0;
-        getPeer().getOnObjectBinding().setHeadColumn(colNum++);
-        getPeer().getAliasResultAsBinding().setHeadColumn(colNum++);
-        getPeer().getPerformBinding().setHeadColumn(colNum++);
-        getPeer().getOnMemberBinding().setHeadColumn(colNum++);
-        if (thatIt != null) {
-            getPeer().getThatItBinding().setHeadColumn(colNum++);
-        }
-        if (arg0 != null) {
-            getPeer().getArg0Binding().setHeadColumn(colNum++);
-        }
-
-        return ""; // ok
-    }
-
-    public String executeRow(final String onObject, final String aliasResultAs, final String perform, final String usingMember, final String thatIt, final String arg0, final String... remainingArgs) {
-
-        setupHeader(onObject, aliasResultAs, perform, usingMember, thatIt, arg0);
-
-        final List<String> argumentCells = new ArrayList<String>();
-
-        // capture current
-        getPeer().getOnObjectBinding().captureCurrent(new ScenarioCellDefault(onObject));
-        getPeer().getAliasResultAsBinding().captureCurrent(new ScenarioCellDefault(aliasResultAs));
-        getPeer().getPerformBinding().captureCurrent(new ScenarioCellDefault(perform));
-        getPeer().getOnMemberBinding().captureCurrent(new ScenarioCellDefault(usingMember));
-        if (getPeer().getThatItBinding().isFound()) {
-            getPeer().getThatItBinding().captureCurrent(new ScenarioCellDefault(thatIt));
-        }
-        if (getPeer().getArg0Binding().isFound()) {
-            getPeer().getArg0Binding().captureCurrent(new ScenarioCellDefault(arg0));
-            argumentCells.add(arg0);
-        }
-        for (final String arg : remainingArgs) {
-            argumentCells.add(arg);
-        }
-
-        // execute
-        try {
-            execute(argumentCells);
-        } catch (final ScenarioBoundValueException ex) {
-            return ex.getMessage();
-        }
-
-        return "ok";
-    }
-
-    private void execute(final List<String> argumentCells) throws ScenarioBoundValueException {
-
-        final ObjectAdapter onAdapter = getPeer().validateOnObject();
-        final String aliasAs = getPeer().validateAliasAs();
-        final Perform performCommand = getPeer().validatePerform();
-
-        ObjectMember objectMember = null;
-        if (performCommand.requiresMember()) {
-            objectMember = getPeer().validateOnMember(onAdapter);
-        }
-
-        getPeer().performCommand(onAdapter, aliasAs, objectMember, performCommand, asValues(argumentCells));
-    }
-
-    private static List<ScenarioCell> asValues(final List<String> argumentCells) {
-        final List<ScenarioCell> storyValues = Lists.newArrayList();
-        for (final String arg : argumentCells) {
-            storyValues.add(new ScenarioCellDefault(arg));
-        }
-        return storyValues;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/site/apt/index.apt b/mothballed/component/viewer/bdd/concordion/src/site/apt/index.apt
deleted file mode 100644
index ebc04d1..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/site/apt/index.apt
+++ /dev/null
@@ -1,29 +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.
-
-
-
-BDD Concordion support
-
- The <concordion> module provides an integration between the Isis (via {{{../bdd-common/index.html}common}}
- and the {{{http://concordion.org}Concordion}} framework itself.
- 
-Further Info
-  
-  See this module's {{{./apidocs/index.html}Javadoc}} and the 
-  {{{../docbkx/html/guide/isis-bdd-integration.html}user guide}} for more information.
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/site/apt/jottings.apt b/mothballed/component/viewer/bdd/concordion/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/concordion/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/concordion/src/site/site.xml b/mothballed/component/viewer/bdd/concordion/src/site/site.xml
deleted file mode 100644
index 5a26b07..0000000
--- a/mothballed/component/viewer/bdd/concordion/src/site/site.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="Concordion" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="BDD Concordion">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="BDD Modules">
-            <item name="Common" href="../bdd-common/index.html" />
-            <item name="Concordion" href="../bdd-concordion/index.html" />
-        </menu>
-
-		<menu name="Maven Reports" ref="reports" />
-	</body>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/pom.xml b/mothballed/component/viewer/bdd/pom.xml
deleted file mode 100644
index d8b31fb..0000000
--- a/mothballed/component/viewer/bdd/pom.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-	</parent>
-
-    <groupId>org.apache.isis.viewer</groupId>
-    <artifactId>isis-viewer-bdd</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    
-    <name>Isis BDD Viewer</name>
-
-    <packaging>pom</packaging>
-
-    <properties>
-        <siteBaseDir>.</siteBaseDir>
-        <relativeUrl/>
-
-        <docbkxGuideTitle>Apache Isis BDD Testing Guide</docbkxGuideTitle>
-        <docbkxGuideSubTitle>Acceptance Testing using BDD Frameworks</docbkxGuideSubTitle>
-        <docbkxGuideName>isis-bdd-integration</docbkxGuideName>
-        
-        <isis-security-file.version>1.0.2-SNAPSHOT</isis-security-file.version>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.8</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-        <plugins>
-            <plugin>
-                <groupId>com.agilejava.docbkx</groupId>
-                <artifactId>docbkx-maven-plugin</artifactId>
-                <inherited>false</inherited>
-            </plugin>
-
-
-            <plugin>
-                <artifactId>maven-remote-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>process-remote-resources</id>
-                        <goals>
-                            <goal>process</goal>
-                        </goals>
-                        <configuration>
-                            <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
-                            <appendedResourcesDirectory>${basedir}/${siteBaseDir}/src/main/appended-resources</appendedResourcesDirectory>
-                            <supplementalModels>
-                                <supplementalModel>supplemental-models.xml</supplementalModel>
-                            </supplementalModels>
-                            <resourceBundles>
-                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
-                            </resourceBundles>
-                            <properties>
-                                <projectTimespan>2010~2013</projectTimespan>
-                                <postDepListText>
-The above (auto-generated) list aggregates the dependencies (either directly
-or transitively) of all the modules that make up Apache Isis. You can use 
-mvn dependency:list or mvn dependency:tree to view dependencies by submodule.
-
-In addition, Isis includes a copy of JQuery core.  This is licensed under
-the MIT license [1].
-
-Note also that the BDD Viewer module [org.apache.isis.viewer:isis-viewer-bdd-concordion]
-has an optional dependency on Concordion [2], which in turn depends upon
-XOM [3]. XOM is licensed under LGPL, which is a non-eligible 'category-X'
-license [4]. This transitive dependency to XOM has therefore been excluded.
-
-To use Isis' BDD Viewer, end-users must explicitly add in the XOM dependency
-in their own POMs.  The application generated by the Isis quickstart
-archetype includes this explicit dependency.
-
-[1] http://jquery.org/license/
-[2] http://concordion.org
-[3] http://www.xom.nu/
-[4] http://www.apache.org/legal/resolved.html#category-x
-                        </postDepListText>
-                            </properties>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-
-        </plugins>
-    </build>
-
-    <dependencyManagement>
-    	<dependencies>
-
-	    	<!-- for benefit of application developers, using scope=import -->
-
-            <!-- BDD Viewer -->
-            <dependency>
-			    <groupId>org.apache.isis.viewer</groupId>
-                <artifactId>isis-viewer-bdd-common</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-			    <groupId>org.apache.isis.viewer</groupId>
-                <artifactId>isis-viewer-bdd-common</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
-                <scope>test</scope>
-                <type>test-jar</type>
-            </dependency>
-
-            <dependency>
-			    <groupId>org.apache.isis.viewer</groupId>
-                <artifactId>isis-viewer-bdd-concordion</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-			    <groupId>org.apache.isis.viewer</groupId>
-                <artifactId>isis-viewer-bdd-concordion</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
-                <scope>test</scope>
-                <type>test-jar</type>
-            </dependency>
-
-
-            <dependency>
-                <groupId>org.apache.isis.security</groupId>
-                <artifactId>isis-security-file</artifactId>
-                <version>${isis-security-file.version}</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-
-    <modules>
-	    <module>common</module>
-	    <module>concordion</module>
-	    <module>tck</module>
-	</modules>
-    
-    <profiles>
-        <profile>
-            <id>bdd-all</id>
-            <activation>
-                <property>
-                    <name>bdd</name>
-                    <value>all</value>
-                </property>
-            </activation>
-            <modules>
-                <module>common</module>
-                <module>concordion</module>
-            </modules>
-        </profile>
-    </profiles>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/main/appended-resources/supplemental-models.xml b/mothballed/component/viewer/bdd/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/mothballed/component/viewer/bdd/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-   	<!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
-    <project>
-		<groupId>org.datanucleus</groupId>
-	    <artifactId>datanucleus-jodatime</artifactId>
-	    <version>3.1.1</version>
-          <licenses>
-			<license>
-	            <name>The Apache Software License, Version 2.0</name>
-	            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-	        </license>
-	    </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>org.scannotation</groupId>
-      <artifactId>scannotation</artifactId>
-      <version>1.0.3</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-    
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>net.jcip</groupId>
-      <artifactId>jcip-annotations</artifactId>
-      <version>1.0</version>
-      <licenses>
-        <license>
-            <name>Creative Commons Attribution 2.5 License</name>
-            <url>http://creativecommons.org/licenses/by/2.5/</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  
-
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.0</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
- 
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/apt/index.apt b/mothballed/component/viewer/bdd/src/site/apt/index.apt
deleted file mode 100644
index 8ed00f0..0000000
--- a/mothballed/component/viewer/bdd/src/site/apt/index.apt
+++ /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.
-
-
-
-BDD Viewer
-
- The <bdd> viewer provides the ability to story-test the functionality
- in your domain objects, using a behaviour-driven design (BDD)
- framework.
- 
- Currently the only framework supported is {{{http://concordion.org}Concordion}},
- though we expect others to be supported in the future.
-  
-Alternatives
-
- The {{{../junit/index.html}JUnit}} viewer can also be used for testing.
- However, with the junit viewer the actual test is written in {{{http://junit.org}JUnit}}
- (rather than XHTML as is the case for Concordion) and so is closer to a 
- developer test than a story test.
-
-A note on licenses
-
-  The <bdd> viewer itself is licensed under Apache License v2.  However, the
-  Concordion integration (naturally enough) depends upon {{{http://concordion.org}Concordion}},
-  which is licensed under Apache License v2 but in turn depends upon 
-  {{{http://xom.nu}Xom}}, which unfortunately has an LGPL license.  Apache projects
-  are {{{http://www.apache.org/legal/resolved.html#category-x}not allowed}} to have dependencies 
-  on LGPL projects.
-  
-  There is a workaround.  Isis' pom.xml files specifically exclude the XOM dependency, meaning
-  that they are compliant with Apache's licensing restrictions.  However, any application
-  code that uses the BDD viewer must explicitly add its own dependency to the XOM library.
-  You'll find that the pom.xml files generated by the 
-  {{{../../quick-start.html}quickstart archetype}} do indeed do this).
-   
-  If you are unhappy to introduce this dependency to LGPL in your own code, then you will
-  not be able to use the Concordion integration.

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/apt/jottings.apt b/mothballed/component/viewer/bdd/src/site/apt/jottings.apt
deleted file mode 100755
index c5d1200..0000000
--- a/mothballed/component/viewer/bdd/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 


[04/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/ApplicationWorkspace.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/ApplicationWorkspace.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/ApplicationWorkspace.java
deleted file mode 100644
index 16eed8c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/ApplicationWorkspace.java
+++ /dev/null
@@ -1,519 +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.dnd.viewer.basic;
-
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Set;
-import java.util.Vector;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.FreeStandingList;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.runtime.authentication.exploration.MultiUserExplorationSession;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.service.PerspectiveContent;
-import org.apache.isis.viewer.dnd.service.ServiceObject;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Feedback;
-import org.apache.isis.viewer.dnd.view.Look;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewDrag;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewUsingBuilder;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.look.LookFactory;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-import org.apache.isis.viewer.dnd.view.window.DialogBorder;
-import org.apache.isis.viewer.dnd.view.window.SubviewFocusManager;
-import org.apache.isis.viewer.dnd.view.window.WindowBorder;
-
-public final class ApplicationWorkspace extends CompositeViewUsingBuilder implements Workspace {
-    protected Vector<View> serviceViews;
-    protected Vector<View> iconViews;
-
-    public ApplicationWorkspace(final Content content, final Axes axes, final CompositeViewSpecification specification, final Layout layout, final ApplicationWorkspaceBuilder builder) {
-        super(content, specification, axes, layout, builder);
-        serviceViews = new Vector<View>();
-        iconViews = new Vector<View>();
-        LookFactory.init();
-    }
-
-    @Override
-    public void addDialog(final View dialogContent, final Placement placement) {
-        final DialogBorder dialogView = new DialogBorder(dialogContent, false);
-        addView(dialogView);
-        placement.position(this, dialogView);
-        // dialogView.setFocusManager( new SubviewFocusManager(dialogView));
-    }
-
-    @Override
-    public void addWindow(final View containedView, final Placement placement) {
-        final boolean scrollable = !containedView.getSpecification().isResizeable();
-        final WindowBorder windowView = new WindowBorder(containedView, scrollable);
-        addView(windowView);
-        placement.position(this, windowView);
-        windowView.setFocusManager(new SubviewFocusManager(windowView));
-    }
-
-    @Override
-    public void addView(final View view) {
-        super.addView(view);
-        getViewManager().setKeyboardFocus(view);
-        view.getFocusManager().focusFirstChildView();
-    }
-
-    @Override
-    public void replaceView(final View toReplace, final View replacement) {
-        if (replacement.getSpecification().isOpen()) {
-            final boolean scrollable = !replacement.getSpecification().isResizeable();
-            final WindowBorder windowView = new WindowBorder(replacement, scrollable);
-            super.replaceView(toReplace, windowView);
-        } else {
-            super.replaceView(toReplace, replacement);
-        }
-    }
-
-    @Override
-    public View addWindowFor(final ObjectAdapter object, final Placement placement) {
-        final Content content = Toolkit.getContentFactory().createRootContent(object);
-        final View view = Toolkit.getViewFactory().createView(new ViewRequirement(content, ViewRequirement.OPEN));
-        addWindow(view, placement);
-        getViewManager().setKeyboardFocus(view);
-        return view;
-    }
-
-    @Override
-    public View addIconFor(final ObjectAdapter object, final Placement placement) {
-        final Content content = Toolkit.getContentFactory().createRootContent(object);
-        final View icon = Toolkit.getViewFactory().createView(new ViewRequirement(content, ViewRequirement.CLOSED | ViewRequirement.ROOT));
-        add(iconViews, icon);
-        placement.position(this, icon);
-        return icon;
-    }
-
-    public void addServiceIconFor(final ObjectAdapter service) {
-        final Content content = new ServiceObject(service);
-        final View serviceIcon = Toolkit.getViewFactory().createView(new ViewRequirement(content, ViewRequirement.CLOSED | ViewRequirement.SUBVIEW));
-        add(serviceViews, serviceIcon);
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        final View subview = subviewFor(drag.getLocation());
-        if (subview != null) {
-            drag.subtract(subview.getLocation());
-            return subview.dragStart(drag);
-        } else {
-            return null;
-        }
-    }
-
-    // TODO check the dragging in of objects, flag to user that object cannot be
-    // dropped
-    @Override
-    public void drop(final ContentDrag drag) {
-        getFeedbackManager().showDefaultCursor();
-
-        if (!drag.getSourceContent().isObject()) {
-            return;
-        }
-
-        if (drag.getSourceContent().getAdapter() == getPerspective()) {
-            getFeedbackManager().setAction("can' drop self on workspace");
-            return;
-        }
-
-        final ObjectAdapter source = ((ObjectContent) drag.getSourceContent()).getObject();
-        if (source.getSpecification().isService()) {
-            getPerspective().addToServices(source.getObject());
-            invalidateContent();
-        } else {
-            if (!drag.isShift()) {
-                getPerspective().addToObjects(source.getObject());
-            }
-        }
-
-        View newView;
-        if (source.getSpecification().isService()) {
-            return;
-        } else {
-            final Location dropLocation = drag.getTargetLocation();
-            dropLocation.subtract(drag.getOffset());
-
-            if (drag.isShift()) {
-                newView = Toolkit.getViewFactory().createView(new ViewRequirement(getContent(), ViewRequirement.OPEN | ViewRequirement.SUBVIEW));
-                drag.getTargetView().addView(newView);
-                newView.setLocation(dropLocation);
-            } else {
-                // place object onto desktop as icon
-                final View sourceView = drag.getSource();
-                if (!sourceView.getSpecification().isOpen()) {
-                    final View[] subviews = getSubviews();
-                    for (final View subview : subviews) {
-                        if (subview == sourceView) {
-                            sourceView.markDamaged();
-                            sourceView.setLocation(dropLocation);
-                            sourceView.markDamaged();
-                            return;
-                        }
-                    }
-                } else {
-                    for (final View view : iconViews) {
-                        if (view.getContent().getAdapter() == source) {
-                            view.markDamaged();
-                            view.setLocation(dropLocation);
-                            view.markDamaged();
-                            return;
-                        }
-                    }
-                }
-                addIconFor(source, new Placement(dropLocation));
-            }
-        }
-    }
-
-    @Override
-    public void entered() {
-        // prevents status details about "Persective..."
-    }
-
-    private PerspectiveEntry getPerspective() {
-        return ((PerspectiveContent) getContent()).getPerspective();
-    }
-
-    @Override
-    public void drop(final ViewDrag drag) {
-        getFeedbackManager().showDefaultCursor();
-
-        final View sourceView = drag.getSourceView();
-        final Location newLocation = drag.getViewDropLocation();
-        if (sourceView.getSpecification() != null && sourceView.getSpecification().isSubView()) {
-            if (sourceView.getSpecification().isOpen() && sourceView.getSpecification().isReplaceable()) {
-                // TODO remove the open view from the container and place on
-                // workspace; replace the internal view with an icon
-            } else if (sourceView.getContent() instanceof FieldContent) {
-                final ViewRequirement requirement = new ViewRequirement(sourceView.getContent(), ViewRequirement.OPEN);
-                final View view = Toolkit.getViewFactory().createView(requirement);
-                addWindow(view, new Placement(newLocation));
-                sourceView.getState().clearViewIdentified();
-            } else {
-                addWindowFor(sourceView.getContent().getAdapter(), new Placement(newLocation));
-                sourceView.getState().clearViewIdentified();
-            }
-        } else {
-            sourceView.markDamaged();
-            sourceView.setLocation(newLocation);
-            sourceView.limitBoundsWithin(getSize());
-            sourceView.markDamaged();
-        }
-    }
-
-    @Override
-    public Padding getPadding() {
-        return new Padding();
-    }
-
-    @Override
-    public Workspace getWorkspace() {
-        return this;
-    }
-
-    @Override
-    public void lower(final View view) {
-        if (views.contains(view)) {
-            views.removeElement(view);
-            views.insertElementAt(view, 0);
-            markDamaged();
-        }
-    }
-
-    @Override
-    public void raise(final View view) {
-        if (views.contains(view)) {
-            views.removeElement(view);
-            views.addElement(view);
-            markDamaged();
-        }
-    }
-
-    @Override
-    public void removeView(final View view) {
-        view.markDamaged();
-        if (iconViews.contains(view)) {
-            iconViews.remove(view);
-            getViewManager().removeFromNotificationList(view);
-            removeObject(view.getContent().getAdapter());
-        } else if (serviceViews.contains(view)) {
-            serviceViews.remove(view);
-            getViewManager().removeFromNotificationList(view);
-            removeService(view.getContent().getAdapter());
-        } else {
-            super.removeView(view);
-        }
-    }
-
-    private void removeService(final ObjectAdapter object) {
-        getPerspective().removeFromServices(object.getObject());
-    }
-
-    private void removeObject(final ObjectAdapter object) {
-        getPerspective().removeFromObjects(object.getObject());
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        final View subview = subviewFor(click.getLocation());
-        if (subview != null) {
-            // ignore double-click on self - don't open up new view
-            super.secondClick(click);
-        }
-    }
-
-    @Override
-    public String toString() {
-        return "Workspace" + getId();
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_WORKSPACE));
-
-        options.add(new UserActionAbstract("Close all") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final View views[] = getWindowViews();
-                for (final View v : views) {
-                    // if (v.getSpecification().isOpen()) {
-                    v.dispose();
-                    // }
-                }
-                markDamaged();
-            }
-        });
-
-        options.add(new UserActionAbstract("Tidy up windows") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                tidyViews(getWindowViews());
-            }
-        });
-
-        options.add(new UserActionAbstract("Tidy up icons") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                tidyViews(getObjectIconViews());
-            }
-        });
-
-        options.add(new UserActionAbstract("Tidy up all") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                tidyViews(getObjectIconViews());
-                tidyViews(getWindowViews());
-            }
-        });
-
-        options.add(new UserActionAbstract("Services...") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final List<Object> servicePojos = IsisContext.getServices();
-                final List<ObjectAdapter> serviceAdapters = Lists.newArrayList();
-                for (final Object servicePojo : servicePojos) {
-                    final AdapterManager adapterManager = getPersistenceSession().getAdapterManager();
-                    serviceAdapters.add(adapterManager.adapterFor(servicePojo));
-                }
-                final ObjectSpecification spec = getSpecificationLoader().loadSpecification(Object.class);
-                final FreeStandingList collection = new FreeStandingList(spec, serviceAdapters);
-                addWindowFor(getAdapterManager().adapterFor(collection), new Placement(at));
-            }
-
-        });
-
-        menuForChangingLook(options);
-
-        menuForChangingUsers(options);
-
-        options.add(new UserActionAbstract("Save User Profile", ActionType.USER) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final Feedback feedbackManager = getFeedbackManager();
-                feedbackManager.showBusyState(ApplicationWorkspace.this);
-                getViewManager().saveOpenObjects();
-                feedbackManager.addMessage("Profile saved");
-                feedbackManager.showBusyState(ApplicationWorkspace.this);
-            }
-        });
-    }
-
-    private void menuForChangingLook(final UserActionSet options) {
-        final UserActionSet set = options.addNewActionSet("Change Look", ActionType.USER);
-        for (final Look look : LookFactory.getAvailableLooks()) {
-            menuOptionForChangingLook(set, look, look.getName());
-        }
-    }
-
-    private void menuOptionForChangingLook(final UserActionSet set, final Look look, final String name) {
-        set.add(new UserActionAbstract(name) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                LookFactory.setLook(look);
-                ApplicationWorkspace.this.invalidateLayout();
-                ApplicationWorkspace.this.markDamaged();
-            }
-
-            @Override
-            public Consent disabled(final View view) {
-                return LookFactory.getInstalledLook() == look ? new Veto("Current look") : Allow.DEFAULT;
-            }
-        });
-    }
-
-    private void menuForChangingUsers(final UserActionSet options) {
-        // TODO pick out users from the perspectives, but only show when in
-        // exploration mode
-        if (getAuthenticationSession() instanceof MultiUserExplorationSession) {
-            final MultiUserExplorationSession session = (MultiUserExplorationSession) getAuthenticationSession();
-
-            final Set<String> users = session.getUserNames();
-            final UserActionSet set = options.addNewActionSet("Change user", ActionType.EXPLORATION);
-            for (final String user : users) {
-                menuOptionForChangingUser(set, user, session.getUserName());
-            }
-        }
-    }
-
-    private void menuOptionForChangingUser(final UserActionSet set, final String user, final String currentUser) {
-        set.add(new UserActionAbstract(user) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final MultiUserExplorationSession session = (MultiUserExplorationSession) getAuthenticationSession();
-                session.setCurrentSession(user);
-            }
-
-            @Override
-            public Consent disabled(final View view) {
-                return user.equals(currentUser) ? new Veto("Current user") : Allow.DEFAULT;
-            }
-        });
-    }
-
-    @Override
-    protected View[] subviews() {
-        final Object[] viewsCopy = views.toArray();
-        final Object[] serviceViewsCopy = serviceViews.toArray();
-        final Object[] iconViewsCopy = iconViews.toArray();
-
-        final View v[] = new View[viewsCopy.length + serviceViewsCopy.length + iconViewsCopy.length];
-        int offset = 0;
-        Object[] src = serviceViewsCopy;
-        System.arraycopy(src, 0, v, offset, src.length);
-        offset += src.length;
-        src = iconViewsCopy;
-        System.arraycopy(src, 0, v, offset, src.length);
-        offset += src.length;
-        src = viewsCopy;
-        System.arraycopy(src, 0, v, offset, src.length);
-
-        return v;
-    }
-
-    public void clearServiceViews() {
-        final Enumeration e = serviceViews.elements();
-        while (e.hasMoreElements()) {
-            final View view = (View) e.nextElement();
-            view.markDamaged();
-        }
-        serviceViews.clear();
-    }
-
-    protected View[] getWindowViews() {
-        return createArrayOfViews(views);
-    }
-
-    private View[] createArrayOfViews(final Vector<View> views) {
-        final View[] array = new View[views.size()];
-        views.copyInto(array);
-        return array;
-    }
-
-    protected View[] getServiceIconViews() {
-        return createArrayOfViews(serviceViews);
-    }
-
-    protected View[] getObjectIconViews() {
-        return createArrayOfViews(iconViews);
-    }
-
-    private void tidyViews(final View[] views) {
-        for (final View v : views) {
-            v.setLocation(ApplicationWorkspaceBuilder.UNPLACED);
-        }
-        invalidateLayout();
-        markDamaged();
-    }
-
-    // //////////////////////////////////////////////////////////////////
-    // Dependencies (from singleton)
-    // //////////////////////////////////////////////////////////////////
-
-    private SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-    private PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    private AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    private AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/ApplicationWorkspaceBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/ApplicationWorkspaceBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/ApplicationWorkspaceBuilder.java
deleted file mode 100644
index a62655f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/ApplicationWorkspaceBuilder.java
+++ /dev/null
@@ -1,205 +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.dnd.viewer.basic;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.service.PerspectiveContent;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.AbstractViewBuilder;
-
-/**
- * WorkspaceBuilder builds a workspace view for an ObjectContent view by finding
- * a collection of classes from a field called 'classes' and adding an icon for
- * each element. Similarly, if there is a collection called 'objects' its
- * elements are also added to the display.
- * 
- * <p>
- * During lay-out any icons that have an UNPLACED location (-1, -1) are given a
- * location. Objects of type ObjectSpecification are added to the left-hand
- * side, while all other icons are placed on the right-hand side of the
- * workspace view. Open windows are displayed in the centre.
- */
-public class ApplicationWorkspaceBuilder extends AbstractViewBuilder {
-    private static final Logger LOG = LoggerFactory.getLogger(ApplicationWorkspaceBuilder.class);
-    private static final int PADDING = 10;
-    public static final Location UNPLACED = new Location(-1, -1);
-
-    public static class ApplicationLayout implements Layout {
-        @Override
-        public Size getRequiredSize(final View view) {
-            return new Size(600, 400);
-        }
-
-        public String getName() {
-            return "Simple Workspace";
-        }
-
-        @Override
-        public void layout(final View view1, final Size maximumSize) {
-            final ApplicationWorkspace view = (ApplicationWorkspace) view1;
-
-            final int widthUsed = layoutServiceIcons(maximumSize, view);
-            layoutObjectIcons(maximumSize, view);
-            layoutWindowViews(maximumSize, view, widthUsed);
-        }
-
-        private void layoutWindowViews(final Size maximumSize, final ApplicationWorkspace view, final int xOffset) {
-            final Size size = view.getSize();
-            size.contract(view.getPadding());
-
-            final int maxHeight = size.getHeight();
-            final int maxWidth = size.getWidth();
-
-            final int xWindow = xOffset + PADDING;
-            int yWindow = PADDING;
-
-            int xMinimized = 1;
-            int yMinimized = maxHeight - 1;
-
-            final View windows[] = view.getWindowViews();
-            for (final View v : windows) {
-                final Size componentSize = v.getRequiredSize(new Size(size));
-                v.setSize(componentSize);
-                if (v instanceof MinimizedView) {
-                    final Size s = v.getRequiredSize(Size.createMax());
-                    if (xMinimized + s.getWidth() > maxWidth) {
-                        xMinimized = 1;
-                        yMinimized -= s.getHeight() + 1;
-                    }
-                    v.setLocation(new Location(xMinimized, yMinimized - s.getHeight()));
-                    xMinimized += s.getWidth() + 1;
-
-                } else if (v.getLocation().equals(UNPLACED)) {
-                    final int height = componentSize.getHeight() + 6;
-                    v.setLocation(new Location(xWindow, yWindow));
-                    yWindow += height;
-
-                }
-                v.limitBoundsWithin(maximumSize);
-            }
-
-            for (final View window : windows) {
-                window.layout();
-            }
-        }
-
-        private int layoutServiceIcons(final Size maximumSize, final ApplicationWorkspace view) {
-            final Size size = view.getSize();
-            size.contract(view.getPadding());
-
-            final int maxHeight = size.getHeight();
-
-            int xService = PADDING;
-            int yService = PADDING;
-            int maxServiceWidth = 0;
-
-            final View views[] = view.getServiceIconViews();
-            for (final View v : views) {
-                final Size componentSize = v.getRequiredSize(new Size(size));
-                v.setSize(componentSize);
-                final int height = componentSize.getHeight() + 6;
-
-                final ObjectAdapter object = v.getContent().getAdapter();
-                if (object.getSpecification().isService()) {
-                    if (yService + height > maxHeight) {
-                        yService = PADDING;
-                        xService += maxServiceWidth + PADDING;
-                        maxServiceWidth = 0;
-                        LOG.debug("creating new column at " + xService + ", " + yService);
-                    }
-                    LOG.debug("service icon at " + xService + ", " + yService);
-                    v.setLocation(new Location(xService, yService));
-                    maxServiceWidth = Math.max(maxServiceWidth, componentSize.getWidth());
-                    yService += height;
-                }
-                v.limitBoundsWithin(maximumSize);
-            }
-
-            return xService + maxServiceWidth;
-        }
-
-        private void layoutObjectIcons(final Size maximumSize, final ApplicationWorkspace view) {
-            final Size size = view.getSize();
-            size.contract(view.getPadding());
-
-            final int maxWidth = size.getWidth();
-
-            final int xObject = maxWidth - PADDING;
-            int yObject = PADDING;
-
-            final View views[] = view.getObjectIconViews();
-            for (final View v : views) {
-                final Size componentSize = v.getRequiredSize(new Size(size));
-                v.setSize(componentSize);
-                if (v.getLocation().equals(UNPLACED)) {
-                    final int height = componentSize.getHeight() + 6;
-                    v.setLocation(new Location(xObject - componentSize.getWidth(), yObject));
-                    yObject += height;
-                }
-                v.limitBoundsWithin(maximumSize);
-            }
-        }
-    }
-
-    @Override
-    public void build(final View view1, final Axes axes) {
-        final ApplicationWorkspace workspace = (ApplicationWorkspace) view1;
-
-        final PerspectiveContent perspectiveContent = (PerspectiveContent) view1.getContent();
-
-        // REVIEW is this needed?
-        workspace.clearServiceViews();
-
-        final PerspectiveEntry perspective = perspectiveContent.getPerspective();
-        for (final Object object : perspective.getObjects()) {
-            final ObjectAdapter adapter = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(object);
-            workspace.addIconFor(adapter, new Placement(ApplicationWorkspaceBuilder.UNPLACED));
-        }
-
-        for (final Object service : perspective.getServices()) {
-            final ObjectAdapter adapter = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(service);
-            if (isHidden(adapter)) {
-                continue;
-            }
-            workspace.addServiceIconFor(adapter);
-        }
-    }
-
-    private boolean isHidden(final ObjectAdapter serviceNO) {
-        final ObjectSpecification serviceNoSpec = serviceNO.getSpecification();
-        return serviceNoSpec.isHidden();
-    }
-
-    public boolean canDisplay(final ObjectAdapter object) {
-        return object instanceof ObjectAdapter && object != null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/CollectionDisplayIterator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/CollectionDisplayIterator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/CollectionDisplayIterator.java
deleted file mode 100644
index e9b7d99..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/CollectionDisplayIterator.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.dnd.viewer.basic;
-
-import java.util.Enumeration;
-
-public interface CollectionDisplayIterator {
-
-    /**
-     * Return cache to be viewed on current page
-     */
-    public Enumeration displayElements();
-
-    /**
-     * Position cursor at first element
-     */
-    public void first();
-
-    public int getDisplaySize();
-
-    /**
-     * If true there is a next page to display, and 'next' and 'last' options
-     * are valid
-     */
-    public boolean hasNext();
-
-    public boolean hasPrevious();
-
-    /**
-     * Position cursor at last
-     */
-    public void last();
-
-    /**
-     * Position cursor at beginning of next page
-     */
-    public void next();
-
-    public int position();
-
-    /**
-     * Position cursor at beginning of previous page
-     */
-    public void previous();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/DragContentSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/DragContentSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/DragContentSpecification.java
deleted file mode 100644
index 8e20462..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/DragContentSpecification.java
+++ /dev/null
@@ -1,37 +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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.icon.IconSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.border.LineBorder;
-
-public class DragContentSpecification extends IconSpecification {
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final View icon = super.createView(content, axes, sequence);
-        return new LineBorder(1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1), icon);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/FallbackView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/FallbackView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/FallbackView.java
deleted file mode 100644
index 7ef7f36..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/FallbackView.java
+++ /dev/null
@@ -1,111 +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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.ObjectView;
-
-public class FallbackView extends ObjectView {
-
-    public static class Specification implements ViewSpecification {
-        @Override
-        public boolean canDisplay(final ViewRequirement requirement) {
-            return true;
-        }
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            return new FallbackView(content, this);
-        }
-
-        @Override
-        public String getName() {
-            return "Fallback";
-        }
-
-        @Override
-        public boolean isAligned() {
-            return false;
-        }
-
-        @Override
-        public boolean isOpen() {
-            return false;
-        }
-
-        @Override
-        public boolean isReplaceable() {
-            return false;
-        }
-
-        @Override
-        public boolean isResizeable() {
-            return false;
-        }
-
-        @Override
-        public boolean isSubView() {
-            return false;
-        }
-    }
-
-    protected FallbackView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final Size size = getSize();
-        final int width = size.getWidth() - 1;
-        final int height = size.getHeight() - 1;
-        canvas.drawSolidRectangle(0, 0, width, height, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        canvas.drawSolidRectangle(0, 0, 10, height, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-        canvas.drawLine(10, 0, 10, height - 2, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-        canvas.drawRectangle(0, 0, width, height, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-        canvas.drawText(getContent().title(), 14, getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_BLACK), Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-    }
-
-    @Override
-    public int getBaseline() {
-        return 14;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(150, 20);
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        return mouseLocation.getX() <= 10 ? ViewAreaType.VIEW : ViewAreaType.CONTENT;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/Identifier.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/Identifier.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/Identifier.java
deleted file mode 100644
index 2c44e19..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/Identifier.java
+++ /dev/null
@@ -1,82 +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.dnd.viewer.basic;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator;
-
-public class Identifier extends AbstractViewDecorator {
-    private boolean identified;
-
-    public Identifier(final View wrappedView) {
-        super(wrappedView);
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.append("Identifier");
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        wrappedView.dragIn(drag);
-        markDamaged();
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        wrappedView.dragOut(drag);
-        markDamaged();
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final Size s = getSize();
-        canvas.drawSolidRectangle(0, 0, s.getWidth(), s.getHeight(), Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        wrappedView.draw(canvas);
-    }
-
-    @Override
-    public void entered() {
-        getState().setContentIdentified();
-        wrappedView.entered();
-        identified = true;
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearObjectIdentified();
-        wrappedView.exited();
-        identified = false;
-        markDamaged();
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/Identifier [identified=" + identified + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/InnerWorkspaceSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/InnerWorkspaceSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/InnerWorkspaceSpecification.java
deleted file mode 100644
index 595df22..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/InnerWorkspaceSpecification.java
+++ /dev/null
@@ -1,36 +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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class InnerWorkspaceSpecification extends WorkspaceSpecification {
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        return super.createView(content, axes, sequence);
-    }
-
-    @Override
-    public String getName() {
-        return "Workspace";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/LogoBackground.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/LogoBackground.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/LogoBackground.java
deleted file mode 100644
index 8538711..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/LogoBackground.java
+++ /dev/null
@@ -1,76 +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.dnd.viewer.basic;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Background;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.util.Properties;
-
-public class LogoBackground implements Background {
-    private static final Logger LOG = LoggerFactory.getLogger(LogoBackground.class);
-    private static final String PARAMETER_BASE = Properties.PROPERTY_BASE + "logo-background.";
-    private Location location;
-    private Image logo;
-    private Size logoSize;
-
-    public LogoBackground() {
-        final IsisConfiguration configuration = IsisContext.getConfiguration();
-
-        final String fileName = configuration.getString(PARAMETER_BASE + "image", "background");
-        logo = ImageFactory.getInstance().loadImage(fileName);
-
-        if (logo == null) {
-            logo = ImageFactory.getInstance().loadImage("poweredby-logo");
-        }
-
-        if (logo == null) {
-            LOG.debug("logo image not found: " + fileName);
-        } else {
-            location = Properties.getLocation(PARAMETER_BASE + "location", new Location(-30, -30));
-            logoSize = Properties.getSize(PARAMETER_BASE + "size", logo.getSize());
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size viewSize) {
-        if (logo != null) {
-            int x;
-            int y;
-
-            if (location.getX() == 0 && location.getY() == 0) {
-                x = viewSize.getWidth() / 2 - logoSize.getWidth() / 2;
-                y = viewSize.getHeight() / 2 - logoSize.getHeight() / 2;
-            } else {
-                x = (location.getX() >= 0) ? location.getX() : viewSize.getWidth() + location.getX() - logoSize.getWidth();
-                y = (location.getY() >= 0) ? location.getY() : viewSize.getHeight() + location.getY() - logoSize.getHeight();
-            }
-            canvas.drawImage(logo, x, y, logoSize.getWidth(), logoSize.getHeight());
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/MinimizedView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/MinimizedView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/MinimizedView.java
deleted file mode 100644
index 33910fb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/MinimizedView.java
+++ /dev/null
@@ -1,455 +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.dnd.viewer.basic;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.icon.SubviewIconSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-import org.apache.isis.viewer.dnd.view.window.WindowControl;
-
-public class MinimizedView extends AbstractView {
-    private class CloseWindowControl extends WindowControl {
-
-        public CloseWindowControl(final View target) {
-            super(new UserAction() {
-                @Override
-                public Consent disabled(final View view) {
-                    return Allow.DEFAULT;
-                }
-
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    ((MinimizedView) view).close();
-                }
-
-                @Override
-                public String getDescription(final View view) {
-                    return "Close " + view.getSpecification().getName();
-                }
-
-                @Override
-                public String getHelp(final View view) {
-                    return null;
-                }
-
-                @Override
-                public String getName(final View view) {
-                    return "Close view";
-                }
-
-                @Override
-                public ActionType getType() {
-                    return ActionType.USER;
-                }
-            }, target);
-        }
-
-        @Override
-        public void draw(final Canvas canvas) {
-            final int x = 0;
-            final int y = 0;
-            final Color crossColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-            canvas.drawLine(x + 4, y + 3, x + 10, y + 9, crossColor);
-            canvas.drawLine(x + 5, y + 3, x + 11, y + 9, crossColor);
-            canvas.drawLine(x + 10, y + 3, x + 4, y + 9, crossColor);
-            canvas.drawLine(x + 11, y + 3, x + 5, y + 9, crossColor);
-        }
-    }
-
-    private class RestoreWindowControl extends WindowControl {
-        public RestoreWindowControl(final View target) {
-            super(new UserAction() {
-
-                @Override
-                public Consent disabled(final View view) {
-                    return Allow.DEFAULT;
-                }
-
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    ((MinimizedView) view).restore();
-                }
-
-                @Override
-                public String getDescription(final View view) {
-                    return "Restore " + view.getSpecification().getName() + " to normal size";
-                }
-
-                @Override
-                public String getHelp(final View view) {
-                    return null;
-                }
-
-                @Override
-                public String getName(final View view) {
-                    return "Restore view";
-                }
-
-                @Override
-                public ActionType getType() {
-                    return ActionType.USER;
-                }
-            }, target);
-        }
-
-        @Override
-        public void draw(final Canvas canvas) {
-            final int x = 0;
-            final int y = 0;
-            final Color black = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-            canvas.drawRectangle(x + 1, y + 1, WIDTH - 1, HEIGHT - 1, black);
-            canvas.drawLine(x + 2, y + 2, x + WIDTH - 2, y + 2, black);
-            canvas.drawLine(x + 2, y + 3, x + WIDTH - 2, y + 3, black);
-        }
-    }
-
-    private static class Specification implements ViewSpecification {
-
-        @Override
-        public boolean canDisplay(final ViewRequirement requirement) {
-            return false;
-        }
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            return null;
-        }
-
-        @Override
-        public String getName() {
-            return "minimized view";
-        }
-
-        @Override
-        public boolean isAligned() {
-            return false;
-        }
-
-        @Override
-        public boolean isOpen() {
-            return false;
-        }
-
-        @Override
-        public boolean isReplaceable() {
-            return false;
-        }
-
-        @Override
-        public boolean isResizeable() {
-            return false;
-        }
-
-        @Override
-        public boolean isSubView() {
-            return false;
-        }
-
-    }
-
-    private final static int BORDER_WIDTH = 5;
-    private final WindowControl controls[];
-    private View iconView;
-
-    private final View minimizedView;
-
-    public MinimizedView(final View viewToMinimize) {
-        super(viewToMinimize.getContent(), new Specification());
-        this.minimizedView = viewToMinimize;
-        iconView = new SubviewIconSpecification().createView(viewToMinimize.getContent(), viewToMinimize.getViewAxes(), -1);
-        iconView.setParent(this);
-        controls = new WindowControl[] { new RestoreWindowControl(this), new CloseWindowControl(this) };
-    }
-
-    @Override
-    public void debug(final DebugBuilder debug) {
-        super.debug(debug);
-        debug.appendln("minimized view", minimizedView);
-        debug.appendln();
-
-        debug.appendln("icon size", iconView.getSize());
-        debug.append(iconView);
-    }
-
-    @Override
-    public void dispose() {
-        super.dispose();
-        iconView.dispose();
-        // viewToMinimize.dispose();
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        if (iconView.getBounds().contains(drag.getLocation())) {
-            drag.subtract(BORDER_WIDTH, BORDER_WIDTH);
-            return iconView.dragStart(drag);
-        } else {
-            return super.dragStart(drag);
-        }
-        // View dragOverlay = new DragViewOutline(getView());
-        // return new ViewDrag(this, new Offset(drag.getLocation()),
-        // dragOverlay);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final Size size = getSize();
-        final int width = size.getWidth();
-        final int height = size.getHeight();
-        final int left = 3;
-        final int top = 3;
-
-        final boolean hasFocus = containsFocus();
-        final Color lightColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        clearBackground(canvas, Toolkit.getColor(ColorsAndFonts.COLOR_WINDOW));
-        canvas.drawRectangle(1, 0, width - 2, height, lightColor);
-        canvas.drawRectangle(0, 1, width, height - 2, lightColor);
-        for (int i = 2; i < left; i++) {
-            canvas.drawRectangle(i, i, width - 2 * i, height - 2 * i, lightColor);
-        }
-        final ViewState state = getState();
-        if (state.isActive()) {
-            final int i = left;
-            canvas.drawRectangle(i, top, width - 2 * i, height - 2 * i - top, Toolkit.getColor(ColorsAndFonts.COLOR_ACTIVE));
-        }
-
-        final int bw = controls[0].getLocation().getX() - 3; // controls.length
-                                                             // *
-                                                             // WindowControl.WIDTH;
-        canvas.drawSolidRectangle(bw, top, width - bw - 3, height - top * 2, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        canvas.drawLine(bw - 1, top, bw - 1, height - top * 2, lightColor);
-
-        for (int i = 0; controls != null && i < controls.length; i++) {
-            final Canvas controlCanvas = canvas.createSubcanvas(controls[i].getBounds());
-            controls[i].draw(controlCanvas);
-        }
-
-        final Canvas c = canvas.createSubcanvas(iconView.getBounds());
-        iconView.draw(c);
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size size = new Size();
-
-        size.extendWidth(BORDER_WIDTH);
-        final Size iconMaximumSize = iconView.getRequiredSize(Size.createMax());
-        size.extendWidth(iconMaximumSize.getWidth());
-
-        size.extendHeight(iconMaximumSize.getHeight());
-        size.ensureHeight(WindowControl.HEIGHT);
-        size.extendHeight(BORDER_WIDTH);
-        size.extendHeight(BORDER_WIDTH);
-
-        size.extendWidth(ViewConstants.HPADDING);
-        size.extendWidth(controls.length * (WindowControl.WIDTH + ViewConstants.HPADDING));
-        size.extendWidth(BORDER_WIDTH);
-        return size;
-    }
-
-    @Override
-    public Padding getPadding() {
-        return new Padding(BORDER_WIDTH, BORDER_WIDTH, BORDER_WIDTH, BORDER_WIDTH);
-    }
-
-    @Override
-    public void layout() {
-        final Size size = getRequiredSize(Size.createMax());
-
-        layoutControls(size.getWidth());
-
-        size.contractWidth(BORDER_WIDTH * 2);
-        size.contractWidth(ViewConstants.HPADDING);
-        size.contractWidth(controls.length * (WindowControl.WIDTH + ViewConstants.HPADDING));
-
-        size.contractHeight(BORDER_WIDTH * 2);
-
-        iconView.setLocation(new Location(BORDER_WIDTH, BORDER_WIDTH));
-        iconView.setSize(size);
-    }
-
-    private void layoutControls(final int width) {
-        final int widthControl = WindowControl.WIDTH + ViewConstants.HPADDING;
-        int x = width - BORDER_WIDTH + ViewConstants.HPADDING;
-        x -= widthControl * controls.length;
-        final int y = BORDER_WIDTH;
-
-        for (final WindowControl control : controls) {
-            control.setSize(control.getRequiredSize(Size.createMax()));
-            control.setLocation(new Location(x, y));
-            x += widthControl;
-        }
-    }
-
-    private void restore() {
-        final Workspace workspace = getWorkspace();
-        final View[] views = workspace.getSubviews();
-        for (final View view : views) {
-            if (view == this) {
-                dispose();
-
-                minimizedView.setParent(workspace);
-                // workspace.removeView(this);
-                workspace.addView(minimizedView);
-                workspace.invalidateLayout();
-
-                return;
-
-            }
-        }
-    }
-
-    private void close() {
-        final Workspace workspace = getWorkspace();
-        final View[] views = workspace.getSubviews();
-        for (final View view : views) {
-            if (view == this) {
-                dispose();
-
-                minimizedView.setParent(workspace);
-                workspace.invalidateLayout();
-                workspace.addView(minimizedView);
-                minimizedView.dispose();
-
-                return;
-
-            }
-        }
-    }
-
-    @Override
-    public void removeView(final View view) {
-        if (view == iconView) {
-            iconView = null;
-        } else {
-            throw new IsisException("No view " + view + " in " + this);
-        }
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        restore();
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location location) {
-        location.subtract(BORDER_WIDTH, BORDER_WIDTH);
-        return iconView.viewAreaType(location);
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        options.add(new UserActionAbstract("Restore") {
-
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                restore();
-            }
-        });
-        super.viewMenuOptions(options);
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final View button = overControl(click.getLocation());
-        if (button == null) {
-            /*
-             * if (overBorder(click.getLocation())) { Workspace workspace =
-             * getWorkspace(); if (workspace != null) { if (click.button2()) {
-             * workspace.lower(getView()); } else if (click.button1()) {
-             * workspace.raise(getView()); } } } else { super.firstClick(click);
-             * }
-             */} else {
-            button.firstClick(click);
-        }
-
-    }
-
-    private View overControl(final Location location) {
-        for (final WindowControl control : controls) {
-            if (control.getBounds().contains(location)) {
-                return control;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        if (iconView.getBounds().contains(drag.getTargetLocation())) {
-            drag.subtract(BORDER_WIDTH, BORDER_WIDTH);
-            iconView.dragIn(drag);
-        }
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        if (iconView.getBounds().contains(drag.getTargetLocation())) {
-            drag.subtract(BORDER_WIDTH, BORDER_WIDTH);
-            iconView.dragOut(drag);
-        }
-    }
-
-    @Override
-    public View identify(final Location location) {
-        if (iconView.getBounds().contains(location)) {
-            location.subtract(BORDER_WIDTH, BORDER_WIDTH);
-            return iconView.identify(location);
-        }
-        return this;
-    }
-
-    @Override
-    public void drop(final ContentDrag drag) {
-        if (iconView.getBounds().contains(drag.getTargetLocation())) {
-            drag.subtract(BORDER_WIDTH, BORDER_WIDTH);
-            iconView.drop(drag);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/NullFocusManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/NullFocusManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/NullFocusManager.java
deleted file mode 100644
index 941953f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/NullFocusManager.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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class NullFocusManager implements FocusManager {
-    private View focus;
-
-    @Override
-    public void focusNextView() {
-    }
-
-    @Override
-    public void focusPreviousView() {
-    }
-
-    @Override
-    public void focusParentView() {
-    }
-
-    @Override
-    public void focusFirstChildView() {
-    }
-
-    @Override
-    public void focusLastChildView() {
-    }
-
-    @Override
-    public void focusInitialChildView() {
-    }
-
-    @Override
-    public View getFocus() {
-        return focus;
-    }
-
-    @Override
-    public void setFocus(final View view) {
-        focus = view;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/RootWorkspaceSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/RootWorkspaceSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/RootWorkspaceSpecification.java
deleted file mode 100644
index b128419..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/RootWorkspaceSpecification.java
+++ /dev/null
@@ -1,39 +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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class RootWorkspaceSpecification extends WorkspaceSpecification {
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        View workspace;
-        workspace = super.createView(content, axes, sequence);
-        workspace.setFocusManager(new WorkspaceFocusManager());
-        return workspace;
-    }
-
-    @Override
-    public String getName() {
-        return "Root Workspace";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/SimpleIdentifier.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/SimpleIdentifier.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/SimpleIdentifier.java
deleted file mode 100644
index 177c1b2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/SimpleIdentifier.java
+++ /dev/null
@@ -1,93 +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.dnd.viewer.basic;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator;
-
-public class SimpleIdentifier extends AbstractViewDecorator {
-
-    public SimpleIdentifier(final View wrappedView) {
-        super(wrappedView);
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.append("SimpleIdentifier");
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        wrappedView.dragIn(drag);
-        markDamaged();
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        wrappedView.dragOut(drag);
-        markDamaged();
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        Color color = null;
-        if (getState().canDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_VALID);
-        } else if (getState().cantDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_INVALID);
-        } else if (getState().isViewIdentified() || getState().isObjectIdentified()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-        }
-
-        wrappedView.draw(canvas.createSubcanvas());
-
-        if (color != null) {
-            final Size s = getSize();
-            canvas.drawRectangle(0, 0, s.getWidth() - 1, s.getHeight() - 1, color);
-            canvas.drawRectangle(1, 1, s.getWidth() - 3, s.getHeight() - 3, color);
-        }
-    }
-
-    @Override
-    public void entered() {
-        getState().setContentIdentified();
-        wrappedView.entered();
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearObjectIdentified();
-        wrappedView.exited();
-        markDamaged();
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/SimpleIdentifier";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/TableFocusManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/TableFocusManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/TableFocusManager.java
deleted file mode 100755
index 34490bf..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/TableFocusManager.java
+++ /dev/null
@@ -1,172 +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.dnd.viewer.basic;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class TableFocusManager implements FocusManager {
-    private int row;
-    private int cell;
-    private final View table;
-
-    public TableFocusManager(final View table) {
-        this.table = table;
-
-        focusInitialChildView();
-    }
-
-    @Override
-    public void focusNextView() {
-        View r = table.getSubviews()[row];
-        View[] cells = r.getSubviews();
-        for (int j = cell + 1; j < cells.length; j++) {
-            if (cells[j].canFocus()) {
-                cells[cell].markDamaged();
-                cell = j;
-                // setFocus(cells[cell]);
-                cells[j].markDamaged();
-                return;
-            }
-        }
-
-        row++;
-        if (row == table.getSubviews().length) {
-            row = 0;
-        }
-
-        r = table.getSubviews()[row];
-        cells = r.getSubviews();
-        for (int j = 0; j < cells.length; j++) {
-            if (cells[j].canFocus()) {
-                cells[cell].markDamaged();
-                cell = j;
-                cells[j].markDamaged();
-                // setFocus(cells[cell]);
-                return;
-            }
-        }
-    }
-
-    @Override
-    public void focusPreviousView() {
-        View r = table.getSubviews()[row];
-        View[] cells = r.getSubviews();
-        for (int j = cell - 1; j >= 0; j--) {
-            if (cells[j].canFocus()) {
-                cells[cell].markDamaged();
-                cell = j;
-                cells[j].markDamaged();
-                return;
-            }
-        }
-
-        row--;
-        if (row == -1) {
-            row = table.getSubviews().length - 1;
-        }
-
-        r = table.getSubviews()[row];
-        cells = r.getSubviews();
-        for (int j = cells.length - 1; j >= 0; j--) {
-            if (cells[j].canFocus()) {
-                cells[cell].markDamaged();
-                cell = j;
-                cells[j].markDamaged();
-                return;
-            }
-        }
-    }
-
-    @Override
-    public void focusParentView() {
-    }
-
-    @Override
-    public void focusFirstChildView() {
-    }
-
-    @Override
-    public void focusLastChildView() {
-    }
-
-    @Override
-    public void focusInitialChildView() {
-        row = cell = 0;
-
-        final View[] rows = table.getSubviews();
-        if (rows.length > 0) {
-            row = 0;
-            final View[] cells = rows[0].getSubviews();
-            for (int j = 0; j < cells.length; j++) {
-                if (cells[j].canFocus()) {
-                    cells[cell].markDamaged();
-                    cell = j;
-                    cells[j].markDamaged();
-                    // setFocus(cells[cell]);
-                    return;
-                }
-            }
-        }
-    }
-
-    @Override
-    public View getFocus() {
-        final View[] rows = table.getSubviews();
-        if (row < 0 || row >= rows.length) {
-            return table;
-        }
-        final View rowView = rows[row];
-        final View[] cells = rowView.getSubviews();
-        if (cell < 0 || cell >= cells.length) {
-            return rowView;
-        }
-        return cells[cell];
-    }
-
-    @Override
-    public void setFocus(final View view) {
-        if (view == table) {
-            return;
-        }
-
-        final View[] rows = table.getSubviews();
-        for (row = 0; row < rows.length; row++) {
-            final View[] cells = rows[row].getSubviews();
-            for (int j = 0; j < cells.length; j++) {
-                if (view == cells[j] && cells[j].canFocus()) {
-                    cells[cell].markDamaged();
-                    cell = j;
-                    cells[j].markDamaged();
-                    return;
-                }
-            }
-        }
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("row", row);
-        str.append("cell", cell);
-        return str.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/UnlinedTextFieldSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/UnlinedTextFieldSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/UnlinedTextFieldSpecification.java
deleted file mode 100644
index 767ce0b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/UnlinedTextFieldSpecification.java
+++ /dev/null
@@ -1,54 +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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.field.SingleLineTextField;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-/**
- * Creates a single line text field without the baseline being drawn.
- */
-public class UnlinedTextFieldSpecification extends AbstractFieldSpecification {
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isTextParseable() && ((TextParseableContent) requirement.getContent()).getNoLines() == 1;
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        return new SingleLineTextField((TextParseableContent) content, this, false);
-    }
-
-    @Override
-    public String getName() {
-        return "Single Line Text Field";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return true;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WorkspaceFocusManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WorkspaceFocusManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WorkspaceFocusManager.java
deleted file mode 100755
index 4694c3f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WorkspaceFocusManager.java
+++ /dev/null
@@ -1,64 +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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class WorkspaceFocusManager implements FocusManager {
-
-    public WorkspaceFocusManager() {
-        super();
-    }
-
-    @Override
-    public void focusNextView() {
-    }
-
-    @Override
-    public void focusPreviousView() {
-    }
-
-    @Override
-    public void focusParentView() {
-    }
-
-    @Override
-    public void focusFirstChildView() {
-    }
-
-    @Override
-    public void focusLastChildView() {
-    }
-
-    @Override
-    public void focusInitialChildView() {
-    }
-
-    @Override
-    public View getFocus() {
-        return null;
-    }
-
-    @Override
-    public void setFocus(final View view) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WorkspaceSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WorkspaceSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WorkspaceSpecification.java
deleted file mode 100644
index 1f99910..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WorkspaceSpecification.java
+++ /dev/null
@@ -1,94 +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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.service.PerspectiveContent;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.ViewBuilder;
-
-public class WorkspaceSpecification implements CompositeViewSpecification {
-    ApplicationWorkspaceBuilder builder = new ApplicationWorkspaceBuilder();
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        Workspace workspace;
-        workspace = new ApplicationWorkspace(content, axes, this, createLayout(content, axes), builder);
-        // workspace.setFocusManager(new WorkspaceFocusManager());
-        return workspace;
-    }
-
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new ApplicationWorkspaceBuilder.ApplicationLayout();
-    }
-
-    public void createAxes(final Content content, final Axes axes) {
-    }
-
-    public ViewAxis axis(final Content content) {
-        return null;
-    }
-
-    public ViewBuilder getSubviewBuilder() {
-        return builder;
-    }
-
-    @Override
-    public String getName() {
-        return "Root Workspace";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isFor(PerspectiveContent.class);
-    }
-
-}


[24/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarView.java
deleted file mode 100644
index bd3caf5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarView.java
+++ /dev/null
@@ -1,200 +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.dnd.calendar;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.field.DatePickerControl;
-import org.apache.isis.viewer.dnd.toolbar.ToolbarView;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.composite.CompositeView;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-import org.apache.isis.viewer.dnd.view.control.AbstractButtonAction;
-import org.apache.isis.viewer.dnd.view.control.Button;
-
-public class CalendarView extends CompositeView {
-    private static final Logger LOG = LoggerFactory.getLogger(CalendarView.class);
-
-    protected CalendarView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    public void doLayout(final Size maximumSize) {
-        LOG.debug("doLayout() " + maximumSize + "  " + getSize());
-        final View toolbar = getSubviews()[0];
-        maximumSize.contract(getPadding());
-        final Size toolbarSize = toolbar.getRequiredSize(maximumSize);
-        LOG.debug("   toolbar " + toolbarSize);
-        Bounds bounds = new Bounds(toolbarSize);
-        toolbar.setBounds(bounds);
-
-        final View grid = getSubviews()[1];
-        final Size gridSize = getRequiredSize(Size.createMax());
-        gridSize.contract(getPadding());
-        gridSize.contractHeight(toolbarSize.getHeight());
-        bounds = new Bounds(new Location(0, toolbarSize.getHeight()), gridSize);
-        grid.setBounds(bounds);
-        LOG.debug("   grid " + toolbarSize);
-
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-        // this.focusManager = focusManager;
-    }
-
-    @Override
-    public Size requiredSize(final Size availableSpace) {
-        final Size workspace = getWorkspace().getSize();
-        return new Size((int) (workspace.getWidth() * 0.8), (int) (workspace.getHeight() * 0.8));
-    }
-
-    @Override
-    protected void buildView() {
-        if (subviews().length == 0) {
-            final CalendarGrid grid = new CalendarGrid(getContent());
-            final ToolbarView toolbar = createToolbar(grid);
-            addView(toolbar);
-            addView(grid);
-        } else {
-            // TODO update grid view
-        }
-    }
-
-    private ToolbarView createToolbar(final CalendarGrid calendar) {
-        final ToolbarView toolbarView = new ToolbarView(getContent(), null);
-
-        toolbarView.addView(new Button(new AbstractButtonAction("+Row") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.addRow();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("-Row") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.removeRow();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Across") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.acrossFirst();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Down") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.downFirst();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Next") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.nextPeriod();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Previous") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.previousePeriod();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Day") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.showSingleDay();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Days") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.showDays();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Weeks") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.showWeeks();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Months") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.showMonths();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Years") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.showYears();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Today") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                calendar.today();
-            }
-        }, this));
-
-        toolbarView.addView(new Button(new AbstractButtonAction("Date") {
-            @Override
-            public void execute(final Workspace workspace, View view, final Location at) {
-                final Content content = new NullContent() {
-                };
-                view = DatePickerControl.getPicker(content);
-                calendar.today();
-                getViewManager().setOverlayView(view);
-            }
-        }, this));
-
-        return toolbarView;
-    }
-
-    /*
-     * public void invalidateLayout() { // super.invalidateLayout(); View parent
-     * = getParent(); if (parent != null) { // parent.invalidateLayout(); }
-     * isInvalid = true; View toolbar = getSubviews()[0];
-     * toolbar.invalidateLayout(); // View grid = getSubviews()[1]; //
-     * grid.invalidateLayout(); } protected boolean isLayoutInvalid() { return
-     * isInvalid; }
-     */
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/Cell.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/Cell.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/Cell.java
deleted file mode 100644
index 02c4577..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/Cell.java
+++ /dev/null
@@ -1,24 +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.dnd.calendar;
-
-public class Cell {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/Cells.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/Cells.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/Cells.java
deleted file mode 100644
index ba2e21a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/Cells.java
+++ /dev/null
@@ -1,74 +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.dnd.calendar;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-public abstract class Cells {
-    protected final DateFormat monthFormat = new SimpleDateFormat("MMM");
-    protected final DateFormat dayFormat = new SimpleDateFormat("EEE");
-    protected Calendar date;
-
-    public Cells(final Cells replacing) {
-        if (replacing == null) {
-            today();
-        } else {
-            date = replacing.date;
-        }
-    }
-
-    public void today() {
-        date = Calendar.getInstance();
-        roundDown();
-    }
-
-    public final void setDate(final Calendar date) {
-        this.date = date;
-    }
-
-    public void roundDown() {
-    }
-
-    abstract int defaultRows();
-
-    abstract int defaultColumns();
-
-    abstract void add(int interval);
-
-    abstract String title(int cell);
-
-    public String header(final int cell) {
-        return null;
-    }
-
-    public int getPeriodFor(final Date date) {
-        final Calendar forDate = Calendar.getInstance();
-        forDate.setTime(date);
-        final int baseline = period(this.date);
-        final int comparativePeriod = period(forDate);
-        return baseline - comparativePeriod;
-    }
-
-    protected abstract int period(Calendar forDate);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/DayCells.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/DayCells.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/DayCells.java
deleted file mode 100644
index 3913c08..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/DayCells.java
+++ /dev/null
@@ -1,71 +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.dnd.calendar;
-
-import java.util.Calendar;
-
-public class DayCells extends Cells {
-
-    public DayCells(final Cells replacing) {
-        super(replacing);
-    }
-
-    @Override
-    public int defaultColumns() {
-        return 7;
-    }
-
-    @Override
-    public int defaultRows() {
-        return 2;
-    }
-
-    @Override
-    public void add(final int interval) {
-        date.add(Calendar.DAY_OF_WEEK, interval);
-    }
-
-    @Override
-    public void roundDown() {
-        final int offset = date.get(Calendar.DAY_OF_WEEK) - date.getFirstDayOfWeek();
-        date.add(Calendar.DAY_OF_MONTH, -offset);
-    }
-
-    @Override
-    public String title(final int cell) {
-        final Calendar d = (Calendar) date.clone();
-        d.add(Calendar.DAY_OF_WEEK, cell);
-        final String displayName = dayFormat.format(d.getTime()) + " " + d.get(Calendar.DAY_OF_MONTH) + " " + monthFormat.format(d.getTime());
-        return displayName;
-    }
-
-    @Override
-    public String header(final int cell) {
-        final Calendar d = (Calendar) date.clone();
-        d.add(Calendar.DAY_OF_WEEK, cell);
-        return dayFormat.format(d.getTime());
-    }
-
-    @Override
-    protected int period(final Calendar forDate) {
-        return forDate.get(Calendar.YEAR) * 12 - forDate.get(Calendar.DAY_OF_YEAR);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/MonthCells.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/MonthCells.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/MonthCells.java
deleted file mode 100644
index 7596e63..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/MonthCells.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.dnd.calendar;
-
-import java.util.Calendar;
-
-public class MonthCells extends Cells {
-
-    public MonthCells(final Cells replacing) {
-        super(replacing);
-    }
-
-    @Override
-    public int defaultColumns() {
-        return 4;
-    }
-
-    @Override
-    public int defaultRows() {
-        return 3;
-    }
-
-    @Override
-    public void roundDown() {
-        date.set(Calendar.MONTH, 0);
-    }
-
-    @Override
-    public void add(final int interval) {
-        date.add(Calendar.MONTH, interval);
-    }
-
-    @Override
-    public String title(final int cell) {
-        final Calendar d = (Calendar) date.clone();
-        d.add(Calendar.MONTH, cell);
-        final String displayName = monthFormat.format(d.getTime()) + " " + d.get(Calendar.YEAR);
-        return displayName;
-    }
-
-    @Override
-    protected int period(final Calendar forDate) {
-        return forDate.get(Calendar.YEAR) * 12 - forDate.get(Calendar.MONTH);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/SingleDayCells.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/SingleDayCells.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/SingleDayCells.java
deleted file mode 100644
index 2726017..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/SingleDayCells.java
+++ /dev/null
@@ -1,58 +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.dnd.calendar;
-
-import java.util.Calendar;
-
-public class SingleDayCells extends Cells {
-
-    public SingleDayCells(final Cells replacing) {
-        super(replacing);
-    }
-
-    @Override
-    public int defaultColumns() {
-        return 1;
-    }
-
-    @Override
-    public int defaultRows() {
-        return 1;
-    }
-
-    @Override
-    public void add(final int interval) {
-        date.add(Calendar.DAY_OF_WEEK, interval);
-    }
-
-    @Override
-    public String title(final int cell) {
-        final Calendar d = (Calendar) date.clone();
-        d.add(Calendar.DAY_OF_WEEK, cell);
-        final String displayName = dayFormat.format(d.getTime()) + " " + d.get(Calendar.DAY_OF_MONTH) + " " + monthFormat.format(d.getTime());
-        return displayName;
-    }
-
-    @Override
-    protected int period(final Calendar forDate) {
-        return forDate.get(Calendar.YEAR) * 12 - forDate.get(Calendar.DAY_OF_YEAR);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/WeekCells.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/WeekCells.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/WeekCells.java
deleted file mode 100644
index 2e7c221..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/WeekCells.java
+++ /dev/null
@@ -1,61 +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.dnd.calendar;
-
-import java.util.Calendar;
-
-public class WeekCells extends Cells {
-
-    public WeekCells(final Cells replacing) {
-        super(replacing);
-    }
-
-    @Override
-    public int defaultColumns() {
-        return 4;
-    }
-
-    @Override
-    public int defaultRows() {
-        return 3;
-    }
-
-    @Override
-    public void add(final int interval) {
-        add(date, interval);
-    }
-
-    public void add(final Calendar d, final int interval) {
-        d.add(Calendar.DAY_OF_MONTH, 7 * interval);
-    }
-
-    @Override
-    public String title(final int cell) {
-        final Calendar d = (Calendar) date.clone();
-        add(d, cell);
-        final String displayName = d.get(Calendar.DAY_OF_MONTH) + " " + monthFormat.format(d.getTime());
-        return "w/b " + displayName;
-    }
-
-    @Override
-    protected int period(final Calendar forDate) {
-        return forDate.get(Calendar.YEAR) * 12 - forDate.get(Calendar.WEEK_OF_YEAR);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/YearCells.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/YearCells.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/YearCells.java
deleted file mode 100644
index 09f828a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/YearCells.java
+++ /dev/null
@@ -1,57 +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.dnd.calendar;
-
-import java.util.Calendar;
-
-public class YearCells extends Cells {
-
-    public YearCells(final Cells replacing) {
-        super(replacing);
-    }
-
-    @Override
-    public int defaultColumns() {
-        return 4;
-    }
-
-    @Override
-    public int defaultRows() {
-        return 2;
-    }
-
-    @Override
-    public void add(final int interval) {
-        date.add(Calendar.YEAR, interval);
-    }
-
-    @Override
-    public String title(final int cell) {
-        final Calendar d = (Calendar) date.clone();
-        d.add(Calendar.YEAR, cell);
-        final String displayName = d.get(Calendar.YEAR) + "";
-        return displayName;
-    }
-
-    @Override
-    protected int period(final Calendar forDate) {
-        return forDate.get(Calendar.YEAR);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/ExpandableListSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/ExpandableListSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/ExpandableListSpecification.java
deleted file mode 100644
index 710bb8e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/ExpandableListSpecification.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.dnd.combined;
-
-import org.apache.isis.viewer.dnd.form.ExpandableViewBorder;
-import org.apache.isis.viewer.dnd.icon.IconElementFactory;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.composite.AbstractCollectionViewSpecification;
-
-public class ExpandableListSpecification extends AbstractCollectionViewSpecification {
-
-    public ExpandableListSpecification() {
-        builder.addSubviewDecorator(new ExpandableViewBorder.Factory());
-    }
-
-    @Override
-    protected ViewFactory createElementFactory() {
-        return new IconElementFactory();
-    }
-
-    @Override
-    public String getName() {
-        return "Expanding List (experimental)";
-    }
-
-    // TODO this should be available if an item can be given more space
-    /*
-     * @Override public boolean canDisplay(final Content content,
-     * ViewRequirement requirement) { return content.isCollection() &&
-     * requirement.is(ViewRequirement.CLOSED) &&
-     * requirement.is(ViewRequirement.SUBVIEW) &&
-     * requirement.is(ViewRequirement.SUBVIEW); }
-     */
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java
deleted file mode 100644
index 4c10e78..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java
+++ /dev/null
@@ -1,114 +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.dnd.combined;
-
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.form.FormSpecification;
-import org.apache.isis.viewer.dnd.table.InternalTableSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.GridLayout;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-
-public class FormWithTableSpecification extends SplitViewSpecification {
-
-    // REVIEW: confirm this rendering context
-    final Where where = Where.OBJECT_FORMS;
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    @Override
-    View createMainView(final Axes axes, final Content mainContent, final Content secondaryContent) {
-        final View form1 = new FormSpecification() {
-            @Override
-            protected boolean include(final Content content, final int sequence) {
-                return !secondaryContent.getId().equals(content.getId());
-            };
-
-            @Override
-            public Layout createLayout(final Content content, final Axes axes) {
-                final GridLayout gridLayout = new GridLayout();
-                gridLayout.setSize(2);
-                return gridLayout;
-            }
-        }.createView(mainContent, axes, -1);
-        return form1;
-    }
-
-    @Override
-    View createSecondaryView(final Axes axes, final Content fieldContent) {
-        return new InternalTableSpecification().createView(fieldContent, axes, -1);
-    }
-
-    @Override
-    Content determineSecondaryContent(final Content content) {
-        final ObjectSpecification spec = content.getSpecification();
-        final ObjectAdapter target = content.getAdapter();
-        final AuthenticationSession session = IsisContext.getAuthenticationSession();
-        final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.dynamicallyVisible(session, target, where));
-        for (final ObjectAssociation field : fields) {
-            if (field.isOneToManyAssociation()) {
-                return Toolkit.getContentFactory().createFieldContent(field, target);
-            }
-        }
-        return null;
-    }
-
-    /*
-     * 
-     * @Override protected void init() { addSubviewDecorator(new
-     * FieldLabelsDecorator() { public View decorate(Axes axes, View view) { if
-     * (view.getContent().isCollection()) { return view; } else { return
-     * super.decorate(axes, view); } } }); addViewDecorator(new
-     * IconBorder.Factory()); }
-     * 
-     * @Override protected SubviewSpec createFieldFactory() { return new
-     * SubviewSpec() { public View createView(final Content content, Axes axes,
-     * int sequence) { if (content.isCollection()) { return new
-     * InternalTableSpecification().createView(content, axes, sequence); } else
-     * { final ViewFactory factory = Toolkit.getViewFactory(); int requirement =
-     * ViewRequirement.CLOSED | ViewRequirement.SUBVIEW; ViewRequirement
-     * viewRequirement = new ViewRequirement(content, requirement); return
-     * factory.createView(viewRequirement); } } }; }
-     */
-    @Override
-    public String getName() {
-        return "Form with table (experimental)";
-    }
-
-    @Override
-    boolean validField(final ObjectAssociation field) {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewAccess.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewAccess.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewAccess.java
deleted file mode 100644
index 3363563..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewAccess.java
+++ /dev/null
@@ -1,39 +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.dnd.combined;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-
-public class SplitViewAccess implements ViewAxis {
-
-    private final List<ObjectAssociation> fields;
-
-    public SplitViewAccess(final List<ObjectAssociation> fields) {
-        this.fields = fields;
-    }
-
-    public List<ObjectAssociation> getFields() {
-        return fields;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewBuilder.java
deleted file mode 100644
index 63a549d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewBuilder.java
+++ /dev/null
@@ -1,73 +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.dnd.combined;
-
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.composite.AbstractViewBuilder;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-class SplitViewBuilder extends AbstractViewBuilder {
-
-    private final SplitViewSpecification splitViewSpecification;
-
-    public SplitViewBuilder(final SplitViewSpecification splitViewSpecification) {
-        this.splitViewSpecification = splitViewSpecification;
-    }
-
-    @Override
-    public void createAxes(final Axes axes, final Content content) {
-        super.createAxes(axes, content);
-        axes.add(new SplitViewAccess(splitViewSpecification.determineAvailableFields(content)));
-    }
-
-    @Override
-    public void build(final View view, final Axes axes) {
-        if (view.getSubviews().length == 0) {
-            final Content content = view.getContent();
-            final Content fieldContent = splitViewSpecification.determineSecondaryContent(content);
-
-            final View form1 = splitViewSpecification.createMainView(axes, content, fieldContent);
-            view.addView(form1);
-
-            final View labelledForm = splitViewSpecification.createSecondaryView(axes, fieldContent);
-            view.addView(labelledForm);
-        }
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options, final View view) {
-        super.viewMenuOptions(options, view);
-
-        final SplitViewAccess axis = view.getViewAxes().getAxis(SplitViewAccess.class);
-        for (final ObjectAssociation field : axis.getFields()) {
-            options.add(new UserActionAbstract("Select " + field.getName()) {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                }
-            });
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java
deleted file mode 100644
index 66c5a4e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java
+++ /dev/null
@@ -1,90 +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.dnd.combined;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-
-public abstract class SplitViewSpecification extends CompositeViewSpecification {
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    final Where where = Where.ANYWHERE;
-
-    public SplitViewSpecification() {
-        builder = new SplitViewBuilder(this);
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        if (requirement.isObject() && requirement.is(ViewRequirement.OPEN) && !requirement.isSubview()) {
-            final Content fieldContent = determineSecondaryContent(requirement.getContent());
-            return fieldContent != null && fieldContent.getAdapter() != null;
-        } else {
-            return false;
-        }
-    }
-
-    abstract View createMainView(Axes axes, Content mainContent, final Content secondaryContent);
-
-    abstract View createSecondaryView(Axes axes, final Content fieldContent);
-
-    abstract Content determineSecondaryContent(Content content);
-
-    Content field(final ObjectAssociation field, final Content content) {
-        final ObjectSpecification spec = content.getSpecification();
-        final ObjectAdapter target = content.getAdapter();
-        return Toolkit.getContentFactory().createFieldContent(field, target);
-    }
-
-    List<ObjectAssociation> determineAvailableFields(final Content content) {
-        final ObjectSpecification spec = content.getSpecification();
-        final ObjectAdapter target = content.getAdapter();
-        final AuthenticationSession session = IsisContext.getAuthenticationSession();
-        final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.dynamicallyVisible(session, target, where));
-        final List<ObjectAssociation> selectableFields = new ArrayList<ObjectAssociation>();
-        for (final ObjectAssociation field : fields) {
-            if (validField(field)) {
-                selectableFields.add(field);
-            }
-        }
-        return selectableFields;
-    }
-
-    abstract boolean validField(ObjectAssociation field);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.java
deleted file mode 100644
index 302451e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.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.dnd.combined;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.form.FormSpecification;
-import org.apache.isis.viewer.dnd.form.InternalFormSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.axis.LabelAxis;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.LabelBorder;
-import org.apache.isis.viewer.dnd.view.composite.ColumnLayout;
-
-public class TwoPartViewSpecification extends SplitViewSpecification {
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new ColumnLayout();
-    }
-
-    @Override
-    View createMainView(final Axes axes, final Content mainContent, final Content secondaryContent) {
-        final View form1 = new FormSpecification() {
-            @Override
-            protected boolean include(final Content content, final int sequence) {
-                return !secondaryContent.getId().equals(content.getId());
-            };
-        }.createView(mainContent, axes, -1);
-        return form1;
-    }
-
-    @Override
-    View createSecondaryView(final Axes axes, final Content fieldContent) {
-        final View form = new InternalFormSpecification().createView(fieldContent, axes, -1);
-        final View labelledForm = LabelBorder.createFieldLabelBorder(new LabelAxis(), form);
-        return labelledForm;
-    }
-
-    @Override
-    @Deprecated
-    Content determineSecondaryContent(final Content content) {
-        final ObjectSpecification spec = content.getSpecification();
-        final ObjectAdapter target = content.getAdapter();
-        final AuthenticationSession session = IsisContext.getAuthenticationSession();
-        final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.dynamicallyVisible(session, target, where));
-        for (final ObjectAssociation field : fields) {
-            if (validField(field)) {
-                return Toolkit.getContentFactory().createFieldContent(field, target);
-            }
-        }
-        return null;
-    }
-
-    @Override
-    boolean validField(final ObjectAssociation field) {
-        return field.isOneToOneAssociation() && !field.getSpecification().isParseable();
-    }
-
-    @Override
-    public String getName() {
-        return "Two part object (experimental)";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableCompositeViewBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableCompositeViewBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableCompositeViewBorder.java
deleted file mode 100644
index 32ffc80..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableCompositeViewBorder.java
+++ /dev/null
@@ -1,138 +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.dnd.configurable;
-
-import java.util.Enumeration;
-
-import org.apache.isis.core.commons.factory.InstanceUtil;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.configurable.GridListSpecification.ElementFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.UserViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class ConfigurableCompositeViewBorder extends AbstractBorder {
-
-    public static class Factory implements CompositeViewDecorator {
-        private final ElementFactory elementSpecification;
-
-        public Factory(final ElementFactory elementSpecification) {
-            this.elementSpecification = elementSpecification;
-        }
-
-        @Override
-        public View decorate(final View view, final Axes axes) {
-            final ConfigurationAxis axis = new ConfigurationAxis();
-            // TODO load previously saved settings for the type of elements
-            // axis.loadSettings(view.getContent());
-            axes.add(axis);
-            return new ConfigurableCompositeViewBorder(view, elementSpecification);
-        }
-    }
-
-    private ViewSpecification elementSpecification;
-
-    protected ConfigurableCompositeViewBorder(final View view, final ElementFactory elementFactory) {
-        super(view);
-    }
-
-    @Override
-    public void loadOptions(final Options viewOptions) {
-        super.loadOptions(viewOptions);
-        final String elementsClass = viewOptions.getString("elements");
-        if (elementsClass != null) {
-            ViewSpecification specification;
-            if (elementsClass.startsWith("user:")) {
-                final String name = elementsClass.substring("user:".length());
-                final String wrappedSpecificationClass = Properties.getUserViewSpecificationOptions(name).getString("wrapped-specification");
-                final ViewSpecification wrappedSpectification = (ViewSpecification) InstanceUtil.createInstance(wrappedSpecificationClass);
-                specification = new UserViewSpecification(wrappedSpectification, name);
-            } else {
-                specification = (ViewSpecification) InstanceUtil.createInstance(elementsClass);
-            }
-            if (specification != null) {
-                getViewAxes().getAxis(ConfigurationAxis.class).setElementSpecification(specification);
-            }
-        }
-    }
-
-    @Override
-    public void saveOptions(final Options viewOptions) {
-        super.saveOptions(viewOptions);
-        if (elementSpecification != null) {
-            final boolean isUserSpecification = elementSpecification instanceof UserViewSpecification;
-            String name;
-            if (isUserSpecification) {
-                name = "user:" + elementSpecification.getName();
-            } else {
-                name = elementSpecification.getClass().getName();
-            }
-            viewOptions.addOption("elements", name);
-        }
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        super.viewMenuOptions(menuOptions);
-        final UserActionSet subOptions = menuOptions.addNewActionSet("Elements as");
-        final View firstSubview = getSubviews()[0];
-        final int status = ViewRequirement.OPEN | ViewRequirement.CLOSED | ViewRequirement.SUBVIEW | ViewRequirement.FIXED;
-        final ViewRequirement viewRequirement = new ViewRequirement(firstSubview.getContent(), status);
-        final Enumeration<ViewSpecification> possibleViews = Toolkit.getViewFactory().availableViews(viewRequirement);
-        while (possibleViews.hasMoreElements()) {
-            addElementAsOption(subOptions, possibleViews.nextElement());
-        }
-    }
-
-    private void addElementAsOption(final UserActionSet subOptions, final ViewSpecification specification) {
-        if (specification != elementSpecification) {
-            subOptions.add(new UserActionAbstract(specification.getName()) {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    replaceElementViews(specification, view);
-                }
-            });
-        }
-    }
-
-    private void replaceElementViews(final ViewSpecification specification, final View view) {
-        elementSpecification = specification;
-        removeAllSubviews(view);
-        getViewAxes().getAxis(ConfigurationAxis.class).setElementSpecification(specification);
-        invalidateContent();
-    }
-
-    private void removeAllSubviews(final View view) {
-        final View[] subviews = view.getSubviews();
-        for (final View subview : subviews) {
-            view.removeView(subview);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableFieldBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableFieldBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableFieldBorder.java
deleted file mode 100644
index 96cd86b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableFieldBorder.java
+++ /dev/null
@@ -1,154 +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.dnd.configurable;
-
-import java.util.Enumeration;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.axis.LabelAxis;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.BlankView;
-import org.apache.isis.viewer.dnd.view.border.LabelBorder;
-import org.apache.isis.viewer.dnd.view.option.ReplaceViewOption;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class ConfigurableFieldBorder extends AbstractBorder {
-    public static final class Factory implements SubviewDecorator {
-        @Override
-        public ViewAxis createAxis(final Content content) {
-            return null;
-        }
-
-        @Override
-        public View decorate(final Axes axes, final View view) {
-            return new ConfigurableFieldBorder(view);
-        }
-    }
-
-    private static final int BORDER = 10;
-
-    protected ConfigurableFieldBorder(final View view) {
-        super(view);
-        right = BORDER;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        super.viewMenuOptions(menuOptions);
-
-        menuOptions.add(new UserActionAbstract("Hide") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final View parent = wrappedView.getParent();
-                wrappedView = new BlankView(getContent());
-                wrappedView.setParent(parent);
-                wrappedView.setView(ConfigurableFieldBorder.this);
-                invalidateLayout();
-            }
-
-        });
-
-        menuOptions.add(new UserActionAbstract("Show label") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                if (wrappedView instanceof LabelBorder) {
-                    wrappedView = ((LabelBorder) wrappedView).getWrapped();
-                } else {
-                    wrappedView = LabelBorder.createFieldLabelBorder(view.getParent().getViewAxes().getAxis(LabelAxis.class), wrappedView);
-                }
-                wrappedView.setView(ConfigurableFieldBorder.this);
-                getView().invalidateLayout();
-            }
-        });
-
-        replaceOptions(Toolkit.getViewFactory().availableViews(new ViewRequirement(getContent(), ViewRequirement.OPEN | ViewRequirement.CLOSED | ViewRequirement.SUBVIEW)), menuOptions); // openSubviews(content,
-                                                                                                                                                                                          // this),
-                                                                                                                                                                                          // options);
-
-    }
-
-    // TODO copied from AbstractView
-    protected void replaceOptions(final Enumeration possibleViews, final UserActionSet options) {
-        if (possibleViews.hasMoreElements()) {
-            final UserActionSet suboptions = options.addNewActionSet("Replace with");
-            while (possibleViews.hasMoreElements()) {
-                final ViewSpecification specification = (ViewSpecification) possibleViews.nextElement();
-
-                if (specification != getSpecification()) {
-                    final UserAction viewAs = new ReplaceViewOption(specification) {
-                        @Override
-                        protected void replace(final View view, final View withReplacement) {
-                            final View parent = wrappedView.getParent();
-                            wrappedView = LabelBorder.createFieldLabelBorder(view.getParent().getViewAxes().getAxis(LabelAxis.class), withReplacement);
-                            wrappedView.setParent(parent);
-                            wrappedView.setView(ConfigurableFieldBorder.this);
-                            invalidateLayout();
-                        }
-                    };
-                    suboptions.add(viewAs);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final ViewState state = getState();
-        if (state.isViewIdentified()) {
-            final Size s = getSize();
-            final int xExtent = s.getWidth();
-            if (state.isViewIdentified()) {
-                canvas.drawSolidRectangle(xExtent - BORDER + 1, top, BORDER - 2, s.getHeight() - 2 * top, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-            }
-        }
-    }
-
-    @Override
-    public void entered() {
-        getState().setViewIdentified();
-        wrappedView.entered();
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearViewIdentified();
-        wrappedView.exited();
-        markDamaged();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableObjectViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableObjectViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableObjectViewSpecification.java
deleted file mode 100644
index 18e5f51..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurableObjectViewSpecification.java
+++ /dev/null
@@ -1,61 +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.dnd.configurable;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.FieldLabelsDecorator;
-import org.apache.isis.viewer.dnd.view.composite.GridLayout;
-import org.apache.isis.viewer.dnd.view.composite.GridLayoutControlBorder;
-import org.apache.isis.viewer.dnd.view.composite.ObjectFieldBuilder;
-import org.apache.isis.viewer.dnd.view.composite.StandardFields;
-
-public class ConfigurableObjectViewSpecification extends CompositeViewSpecification {
-
-    public ConfigurableObjectViewSpecification() {
-        builder = new ObjectFieldBuilder(new StandardFields());
-        addSubviewDecorator(new FieldLabelsDecorator());
-        addSubviewDecorator(new ConfigurableFieldBorder.Factory());
-        addViewDecorator(new GridLayoutControlBorder.Factory());
-        addViewDecorator(new IconBorder.Factory());
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && requirement.isOpen() && requirement.isExpandable() && requirement.isDesign();
-    }
-
-    @Override
-    public String getName() {
-        return "Configurable (experimental)";
-    }
-
-    /*
-     * protected View decorateView(View view) { return new IconBorder(view); }
-     */
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new GridLayout();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurationAxis.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurationAxis.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurationAxis.java
deleted file mode 100644
index 53744d0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ConfigurationAxis.java
+++ /dev/null
@@ -1,35 +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.dnd.configurable;
-
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public class ConfigurationAxis implements ViewAxis {
-    private ViewSpecification elementSpecification;
-
-    public void setElementSpecification(final ViewSpecification elementSpecification) {
-        this.elementSpecification = elementSpecification;
-    }
-
-    public ViewSpecification getElementSpecification() {
-        return elementSpecification;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/FieldLayoutRequirement.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/FieldLayoutRequirement.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/FieldLayoutRequirement.java
deleted file mode 100644
index 81e4969..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/FieldLayoutRequirement.java
+++ /dev/null
@@ -1,38 +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.dnd.configurable;
-
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public class FieldLayoutRequirement {
-    private View view;
-
-    private boolean visible;
-    private int columnSpan;
-    private int rowSpan;
-
-    private ViewSpecification spec;
-    private boolean showLabel;
-    private boolean mergeWithNext;
-
-    private boolean allowGrowing;
-    private boolean allowScrolling;
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/GridListSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/GridListSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/GridListSpecification.java
deleted file mode 100644
index 768e81b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/GridListSpecification.java
+++ /dev/null
@@ -1,82 +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.dnd.configurable;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.GlobalViewFactory;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.CollectionElementBuilder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.GridLayout;
-import org.apache.isis.viewer.dnd.view.composite.GridLayoutControlBorder;
-
-public class GridListSpecification extends CompositeViewSpecification implements ViewFactory {
-
-    protected static class ElementFactory implements ViewFactory {
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            final GlobalViewFactory factory = Toolkit.getViewFactory();
-
-            final ViewSpecification elementSpecification = axes.getAxis(ConfigurationAxis.class).getElementSpecification();
-            if (elementSpecification == null) {
-                final int defaultRequirement = ViewRequirement.CLOSED | ViewRequirement.SUBVIEW;
-                final ViewRequirement viewRequirement = new ViewRequirement(content, defaultRequirement);
-                return factory.createView(viewRequirement);
-            } else {
-                return elementSpecification.createView(content, axes, sequence);
-            }
-        }
-    }
-
-    public GridListSpecification() {
-        final ElementFactory factory = new ElementFactory();
-        builder = new CollectionElementBuilder(factory);
-        // TODO allow to be switched on so that user can change the view for a
-        // single element. This type of
-        // view used for an element would not be stored.
-        if (false) {
-            addSubviewDecorator(new ConfigurableFieldBorder.Factory());
-        }
-
-        addViewDecorator(new ConfigurableCompositeViewBorder.Factory(factory));
-        addViewDecorator(new GridLayoutControlBorder.Factory());
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isCollection() && requirement.isOpen() && !requirement.isSubview() && requirement.isDesign();
-    }
-
-    @Override
-    public String getName() {
-        return "Grid List";
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new GridLayout();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectField.java
deleted file mode 100644
index 468dc1c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectField.java
+++ /dev/null
@@ -1,51 +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.dnd.configurable;
-
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.core.runtime.userprofile.OptionsClient;
-
-public class NewObjectField implements OptionsClient {
-
-    private final ObjectAssociation field;
-
-    public NewObjectField(final ObjectAssociation field) {
-        this.field = field;
-    }
-
-    public boolean includeLabel() {
-        return true;
-    }
-
-    public ObjectAssociation getField() {
-        return field;
-    }
-
-    @Override
-    public void loadOptions(final Options viewOptions) {
-    }
-
-    @Override
-    public void saveOptions(final Options viewOptions) {
-        viewOptions.addOption("field", field.getId());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java
deleted file mode 100644
index 5ffa53c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java
+++ /dev/null
@@ -1,114 +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.dnd.configurable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.axis.LabelAxis;
-import org.apache.isis.viewer.dnd.view.border.LabelBorder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeView;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public class NewObjectView extends CompositeView {
-    StackLayout layout = new StackLayout();
-    LabelAxis labelAxis = new LabelAxis();
-    List<NewObjectField> fields = new ArrayList<NewObjectField>();
-
-    public NewObjectView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    void addField(final NewObjectField field) {
-        fields.add(field);
-        addFieldView(field);
-        invalidateContent();
-    }
-
-    @Override
-    protected void buildView() {
-        if (getSubviews().length == 0) {
-            final ObjectAdapter object = getContent().getAdapter();
-            final List<ObjectAssociation> associations = getContent().getSpecification().getAssociations(Contributed.EXCLUDED);
-
-            final ObjectAssociation field = associations.get(0);
-
-            addFieldView(object, field);
-            addFieldView(object, associations.get(2));
-        }
-    }
-
-    private void addFieldView(final ObjectAdapter object, final ObjectAssociation field) {
-        final FieldContent fieldContent = (FieldContent) Toolkit.getContentFactory().createFieldContent(field, object);
-        final ViewRequirement requirement = new ViewRequirement(fieldContent, ViewRequirement.CLOSED | ViewRequirement.SUBVIEW);
-        View fieldView = Toolkit.getViewFactory().createView(requirement);
-
-        fieldView = LabelBorder.createFieldLabelBorder(labelAxis, fieldView);
-
-        addView(fieldView);
-    }
-
-    private void addFieldView(final NewObjectField field) {
-        final ObjectAdapter object = getContent().getAdapter();
-        final FieldContent fieldContent = (FieldContent) Toolkit.getContentFactory().createFieldContent(field.getField(), object);
-        final ViewRequirement requirement = new ViewRequirement(fieldContent, ViewRequirement.CLOSED | ViewRequirement.SUBVIEW);
-        View fieldView = Toolkit.getViewFactory().createView(requirement);
-        if (field.includeLabel()) {
-            fieldView = LabelBorder.createFieldLabelBorder(labelAxis, fieldView);
-        }
-        addView(fieldView);
-    }
-
-    @Override
-    protected void doLayout(final Size maximumSize) {
-        layout.layout(this, maximumSize);
-    }
-
-    @Override
-    protected Size requiredSize(final Size availableSpace) {
-        return layout.getRequiredSize(this);
-    }
-
-    @Override
-    public void loadOptions(final Options viewOptions) {
-        final Options options = viewOptions.getOptions("fields");
-        // options.options()
-
-    }
-
-    @Override
-    public void saveOptions(final Options viewOptions) {
-        for (final NewObjectField field : fields) {
-            field.saveOptions(viewOptions.getOptions("fields"));
-        }
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewViewSpecification.java
deleted file mode 100644
index 0329c80..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewViewSpecification.java
+++ /dev/null
@@ -1,82 +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.dnd.configurable;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-
-public class NewViewSpecification implements ViewSpecification {
-
-    protected Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && requirement.isOpen();
-    }
-
-    @Override
-    public String getName() {
-        return "Object View";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final NewObjectView view = new NewObjectView(content, this);
-        View view2 = new IconBorder(view, Toolkit.getText(ColorsAndFonts.TEXT_TITLE));
-        view2 = new ViewDesignBorder(view2, view);
-        return view2;
-    }
-
-}


[13/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/ViewUpdateNotifierImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/ViewUpdateNotifierImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/ViewUpdateNotifierImpl.java
deleted file mode 100644
index 24bb7af..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/ViewUpdateNotifierImpl.java
+++ /dev/null
@@ -1,273 +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.dnd.view.base;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
-import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewUpdateNotifier;
-import org.apache.isis.viewer.dnd.view.collection.RootCollection;
-
-public class ViewUpdateNotifierImpl implements ViewUpdateNotifier {
-    
-    private static final Logger LOG = LoggerFactory.getLogger(ViewUpdateNotifierImpl.class);
-    
-    protected Map<ObjectAdapter, List<View>> viewListByAdapter = Maps.newHashMap();
-
-    @Override
-    public void add(final View view) {
-        final Content content = view.getContent();
-        if (content != null && content.isObject()) {
-            final ObjectAdapter adapter = content.getAdapter();
-
-            if (adapter != null) {
-                List<View> viewsToNotify;
-
-                if (viewListByAdapter.containsKey(adapter)) {
-                    viewsToNotify = viewListByAdapter.get(adapter);
-                } else {
-                    viewsToNotify = new Vector<View>();
-                    viewListByAdapter.put(adapter, viewsToNotify);
-                }
-
-                if (viewsToNotify.contains(view)) {
-                    throw new IsisException(view + " already being notified");
-                }
-                viewsToNotify.add(view);
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("added " + view + " to observers for " + adapter);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void debugData(final DebugBuilder buf) {
-        for(Map.Entry<ObjectAdapter, List<View>> mapEntry: viewListByAdapter.entrySet()) {
-            final ObjectAdapter objectAdapter = mapEntry.getKey();
-            final List<View> viewsToNotify = mapEntry.getValue();
-            
-            buf.append("Views for " + objectAdapter + " \n");
-
-            for(View view: viewsToNotify) {
-                buf.append("        " + view);
-                buf.append("\n");
-            }
-            buf.append("\n");
-        }
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Views for object details (observers)";
-    }
-
-    @Override
-    public void remove(final View view) {
-        final Content content = view.getContent();
-        if (content == null || !content.isObject()) {
-            // nothing to do
-            return;
-        }
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("removing " + content + " for " + view);
-        }
-
-        final ObjectAdapter object = ((ObjectContent) content).getObject();
-        if (object != null) {
-            if (!viewListByAdapter.containsKey(object)) {
-                throw new IsisException("Tried to remove a non-existant view " + view + " from observers for " + object);
-            }
-            
-            List<View> viewsToNotify = viewListByAdapter.get(object);
-            for(View v: viewsToNotify) {
-                if (view == v.getView()) {
-                    viewsToNotify.remove(v);
-                    LOG.debug("removed " + view + " from observers for " + object);
-                    break;
-                }
-            }
-
-            if (viewsToNotify.size() == 0) {
-                viewListByAdapter.remove(object);
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("removed observer list for " + object);
-                }
-
-                // TODO need to do garbage collection instead
-                // ObjectAdapterLoader loader = Isis.getObjectLoader();
-                // loader.unloaded((ObjectAdapter) object);
-            }
-        }
-    }
-
-    public void shutdown() {
-        viewListByAdapter.clear();
-    }
-
-    @Override
-    public void invalidateViewsForChangedObjects() {
-        for (final ObjectAdapter object : getUpdateNotifier().getChangedObjects()) {
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("invalidate views for " + object);
-            }
-            final List<View> viewsVector = viewListByAdapter.get(object);
-            if (viewsVector == null) {
-                continue;
-            }
-            for(View view: viewsVector) {
-                LOG.debug("   - " + view);
-                view.getView().invalidateContent();
-            }
-        }
-    }
-
-    @Override
-    public void removeViewsForDisposedObjects() {
-        for (final ObjectAdapter objectToDispose : getUpdateNotifier().getDisposedObjects()) {
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("dispose views for " + objectToDispose);
-            }
-            final List<View> viewsForObject = viewListByAdapter.get(objectToDispose);
-            if (viewsForObject == null) {
-                continue;
-            }
-            removeViews(viewsForObject);
-            final List<View> remainingViews = viewListByAdapter.get(objectToDispose);
-            if (remainingViews != null && remainingViews.size() > 0) {
-                getMessageBroker().addWarning("There are still views (within other views) for the disposed object " + objectToDispose.titleString() + ".  Only objects that are shown as root views can be properly disposed of");
-            } else {
-                getPersistenceSession().removeAdapter(objectToDispose);
-            }
-        }
-    }
-
-    private void removeViews(final List<View> viewsForObject) {
-        //final View[] viewsArray = new View[viewsForObject.size()];
-        //viewsForObject.copyInto(viewsArray);
-        
-        final List<View> viewsArray = Lists.newArrayList(viewsForObject); // take a copy
-        
-        final View[] viewsOnWorkspace = viewsArray.get(0).getWorkspace().getSubviews();
-        
-        for (final View element : viewsArray) {
-            final View view = element.getView();
-            for (final View viewOnWorkspace : viewsOnWorkspace) {
-                if (view == viewOnWorkspace) {
-                    LOG.debug("   (root removed) " + view);
-                    view.getView().dispose();
-                    break;
-                }
-            }
-
-            for (final View element2 : viewsOnWorkspace) {
-                if (element2.getContent() instanceof RootCollection) {
-                    final View[] subviewsOfRootView = element2.getSubviews();
-                    for (final View element3 : subviewsOfRootView) {
-                        if (element3 == view) {
-                            LOG.debug("   (element removed) " + view);
-                            view.getView().dispose();
-                        }
-                    }
-                }
-            }
-
-            for (final View element2 : viewsOnWorkspace) {
-                if (element2.contains(view)) {
-                    LOG.debug("   (invalidated) " + view);
-                    final View parent = view.getParent();
-                    parent.invalidateContent();
-                }
-            }
-
-        }
-
-    }
-
-    // ////////////////////////////////////////////////////////////////
-    // Dependencies (from singleton)
-    // ////////////////////////////////////////////////////////////////
-
-    private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    private static AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    private static MessageBroker getMessageBroker() {
-        return IsisContext.getMessageBroker();
-    }
-
-    private static UpdateNotifier getUpdateNotifier() {
-        return IsisContext.inSession() ? IsisContext.getUpdateNotifier() : new NoOpUpdateNotifier();
-    }
-
-}
-
-class NoOpUpdateNotifier implements UpdateNotifier {
-
-    @Override
-    public void addChangedObject(final ObjectAdapter object) {
-    }
-
-    @Override
-    public void addDisposedObject(final ObjectAdapter adapter) {
-    }
-
-    @Override
-    public void clear() {
-    }
-
-    @Override
-    public void ensureEmpty() {
-    }
-
-    @Override
-    public List<ObjectAdapter> getChangedObjects() {
-        return new ArrayList<ObjectAdapter>();
-    }
-
-    @Override
-    public List<ObjectAdapter> getDisposedObjects() {
-        return new ArrayList<ObjectAdapter>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/BackgroundBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/BackgroundBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/BackgroundBorder.java
deleted file mode 100644
index 2f2dbf0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/BackgroundBorder.java
+++ /dev/null
@@ -1,63 +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.dnd.view.border;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-/**
- * A background border provides a coloured background to a view of a specified
- * colour.
- */
-public class BackgroundBorder extends AbstractBorder {
-    private Color background;
-
-    /**
-     * Creates a background border with a default colour of white.
-     */
-    public BackgroundBorder(final View wrappedView) {
-        super(wrappedView);
-        background = Toolkit.getColor(ColorsAndFonts.COLOR_WHITE);
-    }
-
-    public BackgroundBorder(final Color background, final View wrappedView) {
-        super(wrappedView);
-        this.background = background;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        clearBackground(canvas, background);
-        super.draw(canvas);
-    }
-
-    public void setBackground(final Color color) {
-        this.background = color;
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/BackgroundBorder";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/BorderDrawing.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/BorderDrawing.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/BorderDrawing.java
deleted file mode 100644
index d50b2b8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/BorderDrawing.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.dnd.view.border;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewState;
-
-public interface BorderDrawing {
-
-    public abstract void debugDetails(final DebugBuilder debug);
-
-    public abstract void layoutControls(final Size size, View[] controls);
-
-    public abstract void draw(final Canvas canvas, Size s, boolean hasFocus, final ViewState state, View[] controls, String title);
-
-    public abstract void drawTransientMarker(Canvas canvas, Size size);
-
-    public abstract void getRequiredSize(Size size, String title, View[] controls);
-
-    public abstract int getLeft();
-
-    public abstract int getRight();
-
-    public abstract int getTop();
-
-    public abstract int getBottom();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ButtonBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ButtonBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ButtonBorder.java
deleted file mode 100644
index 366c0ca..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ButtonBorder.java
+++ /dev/null
@@ -1,199 +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.dnd.view.border;
-
-import java.awt.event.KeyEvent;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.ButtonAction;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.control.Button;
-
-public class ButtonBorder extends AbstractBorder {
-    private static final int BUTTON_SPACING = 5;
-    private final View[] buttons;
-    private ButtonAction defaultAction;
-
-    public ButtonBorder(final ButtonAction[] actions, final View view) {
-        super(view);
-
-        buttons = new View[actions.length];
-        for (int i = 0; i < actions.length; i++) {
-            final ButtonAction action = actions[i];
-            buttons[i] = new Button(action, view);
-            if (action.isDefault()) {
-                defaultAction = action;
-            }
-        }
-        // space for: line & button with whitespace
-        bottom = 1 + ViewConstants.VPADDING + buttons[0].getRequiredSize(new Size()).getHeight() + ViewConstants.VPADDING;
-
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        // draw buttons
-        for (final View button : buttons) {
-            final Canvas buttonCanvas = canvas.createSubcanvas(button.getBounds());
-            button.draw(buttonCanvas);
-            final int buttonWidth = button.getSize().getWidth();
-            buttonCanvas.offset(BUTTON_SPACING + buttonWidth, 0);
-        }
-
-        // draw rest
-        super.draw(canvas);
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final View button = overButton(click.getLocation());
-        if (button == null) {
-            super.firstClick(click);
-        } else {
-            button.firstClick(click);
-        }
-    }
-
-    public View[] getButtons() {
-        return buttons;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        final Size size = super.getRequiredSize(maximumSize);
-        size.ensureWidth(totalButtonWidth());
-        size.extendWidth(BUTTON_SPACING * 2);
-        return size;
-    }
-
-    @Override
-    public View identify(final Location location) {
-        for (final View button : buttons) {
-            if (button.getBounds().contains(location)) {
-                return button;
-            }
-        }
-        return super.identify(location);
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (key.getKeyCode() == KeyEvent.VK_ENTER) {
-            if (defaultAction != null && defaultAction.disabled(getView()).isAllowed()) {
-                key.consume();
-                defaultAction.execute(getWorkspace(), getView(), getLocation());
-            }
-        }
-
-        super.keyPressed(key);
-    }
-
-    public void layout(final int width) {
-        int x = width / 2 - totalButtonWidth() / 2;
-        final int y = getSize().getHeight() - ViewConstants.VPADDING - buttons[0].getRequiredSize(new Size()).getHeight();
-
-        for (int i = 0; i < buttons.length; i++) {
-            buttons[i] = buttons[i];
-            buttons[i].setSize(buttons[i].getRequiredSize(new Size()));
-            buttons[i].setLocation(new Location(x, y));
-
-            x += buttons[i].getSize().getWidth();
-            x += BUTTON_SPACING;
-        }
-    }
-
-    @Override
-    public void mouseDown(final Click click) {
-        final View button = overButton(click.getLocation());
-        if (button == null) {
-            super.mouseDown(click);
-        } else {
-            button.mouseDown(click);
-        }
-    }
-
-    @Override
-    public void mouseUp(final Click click) {
-        final View button = overButton(click.getLocation());
-        if (button == null) {
-            super.mouseUp(click);
-        } else {
-            button.mouseUp(click);
-        }
-    }
-
-    /**
-     * Finds the action button under the pointer; returning null if none.
-     */
-    private View overButton(final Location location) {
-        for (final View button : buttons) {
-            if (button.getBounds().contains(location)) {
-                return button;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        final View button = overButton(click.getLocation());
-        if (button == null) {
-            super.secondClick(click);
-        }
-    }
-
-    @Override
-    public void setBounds(final Bounds bounds) {
-        super.setBounds(bounds);
-        layout(bounds.getWidth());
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        super.setSize(size);
-        layout(size.getWidth());
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-        final View button = overButton(click.getLocation());
-        if (button == null) {
-            super.thirdClick(click);
-        }
-    }
-
-    private int totalButtonWidth() {
-        int totalButtonWidth = 0;
-        for (int i = 0; i < buttons.length; i++) {
-            final int buttonWidth = buttons[i].getRequiredSize(new Size()).getWidth();
-            totalButtonWidth += i > 0 ? BUTTON_SPACING : 0;
-            totalButtonWidth += buttonWidth;
-        }
-        return totalButtonWidth;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DisposedObjectBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DisposedObjectBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DisposedObjectBorder.java
deleted file mode 100644
index 85741ec..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DisposedObjectBorder.java
+++ /dev/null
@@ -1,94 +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.dnd.view.border;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-public class DisposedObjectBorder extends AbstractBorder {
-
-    public DisposedObjectBorder(final int size, final View wrappedView) {
-        super(wrappedView);
-        top = size;
-        left = size;
-        bottom = size;
-        right = size;
-    }
-
-    public DisposedObjectBorder(final View wrappedView) {
-        this(2, wrappedView);
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        debug.append("DisposedObjectBorder " + top + " pixels");
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        return super.dragStart(drag);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        Color color = null;
-        color = Toolkit.getColor(ColorsAndFonts.COLOR_INVALID);
-        final Size s = getSize();
-
-        final int w = s.getWidth();
-        final int xExtent = s.getWidth() - left;
-        for (int i = 0; i < left; i++) {
-            canvas.drawRectangle(i, i, xExtent - 2 * i, s.getHeight() - 2 * i, color);
-        }
-        for (int i = 0; i < 15; i++) {
-            canvas.drawLine(left, top + i, left + i, top, color);
-            canvas.drawLine(w - left - right - 1, s.getHeight() - top - i - 1, w - left - right - i - 1, s.getHeight() - top - 1, color);
-        }
-    }
-
-    @Override
-    public void entered() {
-        wrappedView.entered();
-        getFeedbackManager().setError("Destroyed objects cannot be used");
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        wrappedView.exited();
-        getFeedbackManager().setError("");
-        markDamaged();
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/DisposedObjectBorder [" + getSpecification() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DragViewBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DragViewBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DragViewBorder.java
deleted file mode 100644
index d8c033d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DragViewBorder.java
+++ /dev/null
@@ -1,112 +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.dnd.view.border;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.interaction.ViewDragImpl;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.DragViewOutline;
-
-/**
- * A drag view border provides a line and handle that appears when the mouse
- * moves over the contained view and allows the view to be dragged.
- */
-public class DragViewBorder extends AbstractBorder {
-    private final int handleWidth = 14;
-
-    public DragViewBorder(final View wrappedView) {
-        this(1, wrappedView);
-    }
-
-    public DragViewBorder(final int size, final View wrappedView) {
-        super(wrappedView);
-
-        top = size;
-        left = size;
-        bottom = size;
-        right = size + handleWidth;
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        debug.append("SimpleBorder " + top + " pixels\n");
-        debug.append("           handle " + handleWidth + " pixels");
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        if (overBorder(drag.getLocation())) {
-            final Location location = drag.getLocation();
-            final DragViewOutline dragOverlay = new DragViewOutline(getView());
-            return new ViewDragImpl(this, new Offset(location.getX(), location.getY()), dragOverlay);
-        } else {
-            return super.dragStart(drag);
-        }
-    }
-
-    @Override
-    public void entered() {
-        getState().setContentIdentified();
-        getState().setViewIdentified();
-        wrappedView.entered();
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearObjectIdentified();
-        getState().clearViewIdentified();
-        wrappedView.exited();
-        markDamaged();
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        if (getState().isViewIdentified()) {
-            final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-            final Size s = getSize();
-            final int width = s.getWidth();
-            for (int i = 0; i < left; i++) {
-                canvas.drawRectangle(i, i, width - 2 * i - 1, s.getHeight() - 2 * i - 1, color);
-            }
-            final int w2 = width - left - 2;
-            final int w3 = w2 - handleWidth;
-            for (int x = w2; x > w3; x -= 2) {
-                canvas.drawLine(x, top, x, s.getHeight() - top, color);
-            }
-        }
-        super.draw(canvas);
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/SimpleBorder";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DroppableLabelBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DroppableLabelBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DroppableLabelBorder.java
deleted file mode 100644
index 281f777..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/DroppableLabelBorder.java
+++ /dev/null
@@ -1,172 +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.dnd.view.border;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.action.ParameterContent;
-import org.apache.isis.viewer.dnd.view.axis.LabelAxis;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public class DroppableLabelBorder extends LabelBorder {
-
-    public static View createObjectFieldLabelBorder(final LabelAxis axis, final View wrappedView) {
-        final FieldContent fieldContent = (FieldContent) wrappedView.getContent();
-        return new DroppableLabelBorder(fieldContent, axis, wrappedView);
-    }
-
-    public static View createObjectParameterLabelBorder(final LabelAxis axis, final View wrappedView) {
-        final ParameterContent parameterContent = (ParameterContent) wrappedView.getContent();
-        return new DroppableLabelBorder(parameterContent, axis, wrappedView);
-    }
-
-    private final ViewState labelState = new ViewState();
-    private boolean overContent;
-
-    public DroppableLabelBorder(final FieldContent fieldContent, final LabelAxis axis, final View wrappedView) {
-        super(fieldContent, axis, wrappedView);
-    }
-
-    public DroppableLabelBorder(final ParameterContent fieldContent, final LabelAxis axis, final View wrappedView) {
-        super(fieldContent, axis, wrappedView);
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location location) {
-        if (overBorder(location)) {
-            return ViewAreaType.CONTENT; // used to ensure menu options for
-                                         // contained object are shown
-        } else {
-            return super.viewAreaType(location);
-        }
-    }
-
-    @Override
-    public void dragCancel(final InternalDrag drag) {
-        super.dragCancel(drag);
-        labelState.clearViewIdentified();
-    }
-
-    @Override
-    public void drag(final ContentDrag drag) {
-        final Location targetLocation = drag.getTargetLocation();
-        if (overContent(targetLocation) && overContent == false) {
-            overContent = true;
-            super.dragIn(drag);
-            dragOutOfLabel();
-        } else if (overBorder(targetLocation) && overContent == true) {
-            overContent = false;
-            super.dragOut(drag);
-            dragInToLabel(drag.getSourceContent());
-        }
-
-        super.drag(drag);
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        if (overContent(drag.getTargetLocation())) {
-            super.dragIn(drag);
-        } else {
-            final Content sourceContent = drag.getSourceContent();
-            dragInToLabel(sourceContent);
-            markDamaged();
-        }
-    }
-
-    private void dragInToLabel(final Content sourceContent) {
-        overContent = false;
-        final Consent canDrop = canDrop(sourceContent);
-        if (canDrop.isAllowed()) {
-            labelState.setCanDrop();
-        } else {
-            labelState.setCantDrop();
-        }
-        final String actionText = canDrop.isVetoed() ? canDrop.getReason() : "Set to " + sourceContent.title();
-        getFeedbackManager().setAction(actionText);
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        super.dragOut(drag);
-        dragOutOfLabel();
-    }
-
-    private void dragOutOfLabel() {
-        labelState.clearObjectIdentified();
-        markDamaged();
-    }
-
-    @Override
-    public void drop(final ContentDrag drag) {
-        if (overContent(drag.getTargetLocation())) {
-            super.drop(drag);
-        } else {
-            dragOutOfLabel();
-            final Content sourceContent = drag.getSourceContent();
-            if (canDrop(sourceContent).isAllowed()) {
-                drop(sourceContent);
-            }
-        }
-    }
-
-    protected Consent canDrop(final Content dropContent) {
-        if (dropContent instanceof ObjectContent) {
-            final ObjectAdapter source = ((ObjectContent) dropContent).getObject();
-            final ObjectContent content = (ObjectContent) getContent();
-            return content.canSet(source);
-        } else {
-            return Veto.DEFAULT;
-        }
-    }
-
-    protected void drop(final Content dropContent) {
-        if (dropContent instanceof ObjectContent) {
-            final ObjectAdapter object = ((ObjectContent) dropContent).getObject();
-            ((ObjectContent) getContent()).setObject(object);
-            getParent().invalidateContent();
-        }
-    }
-
-    @Override
-    protected Color textColor() {
-        Color color;
-        if (labelState.canDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_VALID);
-        } else if (labelState.cantDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_INVALID);
-        } else {
-            color = super.textColor();
-        }
-        return color;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/EmptyBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/EmptyBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/EmptyBorder.java
deleted file mode 100644
index 4c28283..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/EmptyBorder.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.dnd.view.border;
-
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-public class EmptyBorder extends AbstractBorder {
-
-    public EmptyBorder(final int width, final View view) {
-        super(view);
-        left = top = right = bottom = width;
-    }
-
-    public EmptyBorder(final int topBottom, final int leftRight, final View view) {
-        super(view);
-        left = right = bottom = leftRight;
-        top = bottom = topBottom;
-    }
-
-    public EmptyBorder(final int left, final int top, final int right, final int bottom, final View view) {
-        super(view);
-        this.left = left;
-        this.top = top;
-        this.right = right;
-        this.bottom = bottom;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/FieldOrderBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/FieldOrderBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/FieldOrderBorder.java
deleted file mode 100644
index 3f509dd..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/FieldOrderBorder.java
+++ /dev/null
@@ -1,64 +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.dnd.view.border;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class FieldOrderBorder extends AbstractViewDecorator {
-
-    private boolean isReversed;
-
-    public FieldOrderBorder(final View wrappedView) {
-        super(wrappedView);
-    }
-
-    @Override
-    public View[] getSubviews() {
-        View[] subviews = super.getSubviews();
-        if (isReversed) {
-            final View[] v = new View[subviews.length];
-            for (int i = 0; i < v.length; i++) {
-                v[i] = subviews[v.length - i - 1];
-            }
-            subviews = v;
-        }
-
-        return subviews;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        super.viewMenuOptions(menuOptions);
-
-        menuOptions.add(new UserActionAbstract("Reverse view order") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                isReversed = !isReversed;
-                invalidateLayout();
-            }
-        });
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/IconBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/IconBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/IconBorder.java
deleted file mode 100644
index 48f51e6..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/IconBorder.java
+++ /dev/null
@@ -1,170 +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.dnd.view.border;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.view.text.ObjectTitleText;
-import org.apache.isis.viewer.dnd.view.text.TitleText;
-
-public class IconBorder extends AbstractBorder {
-
-    public static class Factory implements CompositeViewDecorator {
-        private final Text textStyle;
-
-        public Factory() {
-            this(Toolkit.getText(ColorsAndFonts.TEXT_TITLE));
-        }
-
-        public Factory(final Text textStyle) {
-            this.textStyle = textStyle;
-        }
-
-        @Override
-        public View decorate(final View child, final Axes axes) {
-            return new IconBorder(child, textStyle);
-        }
-    }
-
-    private final int baseline;
-    private final int titlebarHeight;
-    private final IconGraphic icon;
-    private final TitleText text;
-
-    public IconBorder(final View wrappedView, final Text style) {
-        this(wrappedView, null, null, style);
-    }
-
-    public IconBorder(final View wrappedView, final TitleText titleText, final IconGraphic iconGraphic, final Text style) {
-        super(wrappedView);
-
-        icon = iconGraphic == null ? new IconGraphic(this, style) : iconGraphic;
-        text = titleText == null ? new ObjectTitleText(this, style) : titleText;
-        titlebarHeight = ViewConstants.VPADDING + icon.getSize().getHeight() + 1;
-
-        top = titlebarHeight + ViewConstants.VPADDING;
-        left = right = ViewConstants.HPADDING;
-        bottom = ViewConstants.VPADDING;
-
-        baseline = ViewConstants.VPADDING + icon.getBaseline() + 1;
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        debug.appendln("titlebar", top - titlebarHeight);
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        if (overBorder(drag.getLocation())) {
-            return Toolkit.getViewFactory().createDragContentOutline(this, drag.getLocation());
-        } else {
-            return super.dragStart(drag);
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        int x = left - 2;
-
-        if (Toolkit.debug) {
-            canvas.drawDebugOutline(new Bounds(getSize()), baseline, Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_DRAW));
-        }
-
-        // icon & title
-        icon.draw(canvas, x, baseline);
-        x += icon.getSize().getWidth();
-        x += ViewConstants.HPADDING;
-        final int maxWidth = getSize().getWidth() - x - right;
-        text.draw(canvas, x, baseline, maxWidth);
-
-        // components
-        super.draw(canvas);
-    }
-
-    @Override
-    public int getBaseline() {
-        return baseline; // wrappedView.getBaseline() + baseline +
-                         // titlebarHeight;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size size = super.getRequiredSize(availableSpace);
-        size.ensureWidth(left + icon.getSize().getWidth() + ViewConstants.HPADDING + text.getSize().getWidth() + right);
-        return size;
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final int y = click.getLocation().getY();
-        if (y < top && click.button2()) {
-            final Location location = new Location(click.getLocationWithinViewer());
-            getViewManager().showInOverlay(getContent(), location);
-        } else {
-            super.firstClick(click);
-        }
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        final int y = click.getLocation().getY();
-        if (y < top) {
-            getWorkspace().addWindowFor(getContent().getAdapter(), new Placement(this));
-        } else {
-            super.secondClick(click);
-        }
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        final Bounds title = new Bounds(new Location(), icon.getSize());
-        title.extendWidth(left);
-        title.extendWidth(text.getSize().getWidth());
-        if (title.contains(mouseLocation)) {
-            return ViewAreaType.CONTENT;
-        } else {
-            return super.viewAreaType(mouseLocation);
-        }
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/IconBorder [" + getSpecification() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/LabelBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/LabelBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/LabelBorder.java
deleted file mode 100644
index 68c54d6..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/LabelBorder.java
+++ /dev/null
@@ -1,148 +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.dnd.view.border;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.lang.ObjectExtensions;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.action.ParameterContent;
-import org.apache.isis.viewer.dnd.view.axis.LabelAxis;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public class LabelBorder extends AbstractBorder {
-    public static final int NORMAL = 0;
-    public static final int DISABLED = 1;
-    public static final int MANDATORY = 2;
-
-    public static View createFieldLabelBorder(final LabelAxis axis, final View wrappedView) {
-        final FieldContent fieldContent = (FieldContent) wrappedView.getContent();
-        return new LabelBorder(fieldContent, axis, wrappedView);
-    }
-
-    public static View createValueParameterLabelBorder(final LabelAxis axis, final View wrappedView) {
-        final ParameterContent fieldContent = (ParameterContent) wrappedView.getContent();
-        return new LabelBorder(fieldContent, axis, wrappedView);
-    }
-
-    private final String label;
-    private Text style;
-    private Color color;
-    private final LabelAxis axis;
-
-    protected LabelBorder(final FieldContent fieldContent, final LabelAxis axis, final View wrappedView) {
-        super(wrappedView);
-        this.axis = axis;
-        if (fieldContent.isEditable().isVetoed()) {
-            setDisabledStyling();
-        } else if (fieldContent.isMandatory()) {
-            setMandatoryStyling();
-        } else {
-            setOptionalStyling();
-        }
-
-        final String name = fieldContent.getFieldName();
-        this.label = name + ":";
-
-        final int width = ViewConstants.HPADDING + style.stringWidth(this.label) + ViewConstants.HPADDING;
-        if (axis == null) {
-            left = width;
-        } else {
-            axis.accommodateWidth(width);
-        }
-    }
-
-    protected LabelBorder(final ParameterContent fieldContent, final LabelAxis axis, final View wrappedView) {
-        super(wrappedView);
-        this.axis = axis;
-        if (fieldContent.isRequired()) {
-            setMandatoryStyling();
-        } else {
-            setOptionalStyling();
-        }
-
-        final String name = fieldContent.getParameterName();
-        this.label = name + ":";
-
-        final int width = ViewConstants.HPADDING + style.stringWidth(this.label) + ViewConstants.HPADDING;
-        if (axis == null) {
-            left = width;
-        } else {
-            axis.accommodateWidth(width);
-        }
-    }
-
-    private void setOptionalStyling() {
-        style = Toolkit.getText(ColorsAndFonts.TEXT_LABEL);
-        color = Toolkit.getColor(ColorsAndFonts.COLOR_LABEL);
-    }
-
-    private void setMandatoryStyling() {
-        style = Toolkit.getText(ColorsAndFonts.TEXT_LABEL_MANDATORY);
-        color = Toolkit.getColor(ColorsAndFonts.COLOR_LABEL_MANDATORY);
-    }
-
-    private void setDisabledStyling() {
-        style = Toolkit.getText(ColorsAndFonts.TEXT_LABEL_DISABLED);
-        color = Toolkit.getColor(ColorsAndFonts.COLOR_LABEL_DISABLED);
-    }
-
-    @Override
-    protected int getLeft() {
-        if (axis == null) {
-            return left;
-        } else {
-            return axis.getWidth();
-        }
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        debug.appendln("label", "'" + label + "'");
-        debug.appendln("axis", axis);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final Color color = textColor();
-        canvas.drawText(label, left, wrappedView.getBaseline(), color, style);
-        super.draw(canvas);
-    }
-
-    protected Color textColor() {
-        return color;
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/" + ObjectExtensions.classBaseName(this);
-    }
-
-    public View getWrapped() {
-        return wrappedView;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/LineBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/LineBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/LineBorder.java
deleted file mode 100644
index 563af18..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/LineBorder.java
+++ /dev/null
@@ -1,110 +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.dnd.view.border;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-/**
- * A line border draws a simple box around a view of a given width and color.
- */
-public class LineBorder extends AbstractBorder {
-    private Color color;
-    private final int arcRadius;
-    private int width;
-    private int padding;
-
-    public LineBorder(final View wrappedView) {
-        this(1, wrappedView);
-    }
-
-    public LineBorder(final int size, final View wrappedView) {
-        this(size, 0, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK), wrappedView);
-    }
-
-    public LineBorder(final int size, final int arcRadius, final View wrappedView) {
-        this(size, arcRadius, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK), wrappedView);
-    }
-
-    public LineBorder(final Color color, final View wrappedView) {
-        this(1, 0, color, wrappedView);
-    }
-
-    public LineBorder(final int width, final Color color, final View wrappedView) {
-        this(width, 0, color, wrappedView);
-    }
-
-    public LineBorder(final int width, final int arcRadius, final Color color, final View wrappedView) {
-        super(wrappedView);
-        setWidth(width);
-        this.arcRadius = arcRadius;
-        this.color = color;
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        debug.append("LineBorder " + top + " pixels\n");
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-        final Size s = getSize();
-        final int width = s.getWidth();
-        for (int i = 0; i < left - padding; i++) {
-            // canvas.drawRectangle(i, i, width - 2 * i, s.getHeight() - 2 * i,
-            // color);
-            canvas.drawRoundedRectangle(i, i, width - 2 * i, s.getHeight() - 2 * i, arcRadius, arcRadius, color);
-        }
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/LineBorder";
-    }
-
-    public void setWidth(final int width) {
-        this.width = width;
-        calculateBorderWidth();
-    }
-
-    public void setPadding(final int padding) {
-        this.padding = padding;
-        calculateBorderWidth();
-    }
-
-    private void calculateBorderWidth() {
-        top = width + padding;
-        left = width + padding;
-        bottom = width + padding;
-        right = width + padding;
-    }
-
-    public void setColor(final Color color) {
-        this.color = color;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ObjectBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ObjectBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ObjectBorder.java
deleted file mode 100644
index a17e970..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ObjectBorder.java
+++ /dev/null
@@ -1,167 +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.dnd.view.border;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.interaction.ViewDragImpl;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.DragViewOutline;
-
-/**
- * A border for objects providing
- * <ol>
- * <li>Ability to drag out a new view of the object.</li>
- * <li>State change when moving over object.
- * <li>Feedback of the state of the view, eg drop valid, identified etc.
- * </ol>
- */
-public class ObjectBorder extends AbstractBorder {
-    private static final int BORDER = 13;
-
-    public ObjectBorder(final int size, final View wrappedView) {
-        super(wrappedView);
-
-        top = size;
-        left = size;
-        bottom = size;
-        right = size + BORDER;
-    }
-
-    public ObjectBorder(final View wrappedView) {
-        this(1, wrappedView);
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        debug.appendln("line thickness", left);
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        if (drag.getLocation().getX() > getSize().getWidth() - right) {
-            if (getContent().getAdapter() == null) {
-                return null;
-            }
-            final View dragOverlay = new DragViewOutline(getView());
-            return new ViewDragImpl(this, new Offset(drag.getLocation()), dragOverlay);
-        } else {
-            return super.dragStart(drag);
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        Color color = null;
-        final ViewState state = getState();
-        final boolean hasFocus = getViewManager().hasFocus(getView());
-        if (state.canDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_VALID);
-        } else if (state.cantDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_INVALID);
-        } else if (hasFocus) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED);
-        } else if (state.isObjectIdentified()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        }
-        final Size s = getSize();
-
-        if (getContent().isPersistable() && getContent().isTransient()) {
-            final int x = s.getWidth() - 13;
-            final int y = 0;
-            final Image icon = ImageFactory.getInstance().loadIcon("transient", 8, null);
-            if (icon == null) {
-                canvas.drawText("*", x, y + Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getAscent(), Toolkit.getColor(ColorsAndFonts.COLOR_BLACK), Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-            } else {
-                canvas.drawImage(icon, x, y, 12, 12);
-            }
-        }
-
-        if (color != null) {
-            if (hasFocus) {
-                final int xExtent = s.getWidth() - left;
-                for (int i = 0; i < left; i++) {
-                    canvas.drawRectangle(i, i, xExtent - 2 * i, s.getHeight() - 2 * i, color);
-                }
-            } else {
-                final int xExtent = s.getWidth();
-                for (int i = 0; i < left; i++) {
-                    canvas.drawRectangle(i, i, xExtent - 2 * i, s.getHeight() - 2 * i, color);
-                }
-                canvas.drawLine(xExtent - BORDER, top, xExtent - BORDER, top + s.getHeight(), color);
-                canvas.drawSolidRectangle(xExtent - BORDER + 1, top, BORDER - 2, s.getHeight() - 2 * top, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-            }
-        }
-    }
-
-    @Override
-    public void entered() {
-        getState().setContentIdentified();
-        getState().setViewIdentified();
-        wrappedView.entered();
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearObjectIdentified();
-        getState().clearViewIdentified();
-        wrappedView.exited();
-        markDamaged();
-    }
-
-    /*
-     * @Override public void viewMenuOptions(final UserActionSet options) {
-     * super.viewMenuOptions(options); Content content = getContent();
-     * UserActionSet suboptions = options.addNewActionSet("Replace with");
-     * replaceOptions(Toolkit.getViewFactory().availableViews(new
-     * ViewRequirement(content, ViewRequirement.OPEN |
-     * ViewRequirement.REPLACEABLE | ViewRequirement.SUBVIEW)), suboptions);
-     * replaceOptions(Toolkit.getViewFactory().availableViews(new
-     * ViewRequirement(content, ViewRequirement.CLOSED |
-     * ViewRequirement.REPLACEABLE | ViewRequirement.SUBVIEW)), suboptions); }
-     * 
-     * protected void replaceOptions(final Enumeration possibleViews, final
-     * UserActionSet options) { if (possibleViews.hasMoreElements()) { while
-     * (possibleViews.hasMoreElements()) { final ViewSpecification specification
-     * = (ViewSpecification) possibleViews.nextElement(); if (specification !=
-     * getSpecification()) { options.add(new ReplaceViewOption(specification) {
-     * protected void replace(View view, View withReplacement) {
-     * replaceWrappedView(withReplacement); } }); } } } }
-     */
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/ObjectBorder [" + getSpecification() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeBorder.java
deleted file mode 100644
index 553120f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeBorder.java
+++ /dev/null
@@ -1,244 +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.dnd.view.border;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public abstract class ResizeBorder extends AbstractBorder {
-    private static final Logger LOG = LoggerFactory.getLogger(ResizeBorder.class);
-    private static final Logger UI_LOG = LoggerFactory.getLogger("ui." + ResizeBorder.class.getName());
-    public static final int LEFT = 1;
-    public static final int RIGHT = 2;
-    public static final int UP = 4;
-    public static final int DOWN = 8;
-    private int width;
-    private int height;
-    private int requiredDirection;
-    private final int allowDirections;
-    protected boolean resizing;
-    private int onBorder;
-
-    // TODO allow a minimum and maximum sizes to be specified and then ensure
-    // the user doesn't go outside them.
-    public ResizeBorder(final View view, final int allowDirections, final int widthOnMovingSides, final int widthOnStaticSides) {
-        super(view);
-        this.allowDirections = allowDirections;
-        top = canExtend(UP) ? widthOnMovingSides : widthOnStaticSides;
-        bottom = canExtend(DOWN) ? widthOnMovingSides : widthOnStaticSides;
-        left = canExtend(LEFT) ? widthOnMovingSides : widthOnStaticSides;
-        right = canExtend(RIGHT) ? widthOnMovingSides : widthOnStaticSides;
-
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        debug.appendln("width", width == 0 ? "no change" : Integer.toString(width));
-        debug.appendln("height ", height == 0 ? "no change" : Integer.toString(height));
-        debug.appendln("resizable ", (canExtend(UP) ? "Up " : "") + (canExtend(DOWN) ? "Down " : "") + (canExtend(LEFT) ? "Left " : "") + (canExtend(RIGHT) ? "Right " : ""));
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final Size size = getSize();
-        final int width = size.getWidth();
-        final int height = size.getHeight();
-        drawResizeBorder(canvas, size);
-
-        final Canvas subCanvas = canvas.createSubcanvas(left, top, width - left - right, height - top - bottom);
-        wrappedView.draw(subCanvas);
-    }
-
-    protected abstract void drawResizeBorder(final Canvas canvas, final Size size);
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        if (isOnBorder()) {
-            return ViewAreaType.INTERNAL;
-        }
-        return super.viewAreaType(mouseLocation);
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        super.viewMenuOptions(menuOptions);
-        menuOptions.add(new UserActionAbstract("Clear resizing") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                width = 0;
-                height = 0;
-                invalidateLayout();
-            }
-        });
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        final Location location = drag.getLocation();
-        if (overBorder(location)) {
-            requiredDirection = onBorder(location);
-            if (requiredDirection > 0) {
-                return new ResizeDrag(this, new Bounds(getAbsoluteLocation(), getView().getSize()), requiredDirection);
-            }
-            return null;
-        } else {
-            return super.dragStart(drag);
-        }
-    }
-
-    @Override
-    public void drag(final InternalDrag drag) {
-        final ViewResizeOutline outline = ((ViewResizeOutline) drag.getOverlay());
-        if (outline == null) {
-            super.drag(drag);
-        }
-    }
-
-    @Override
-    public void dragTo(final InternalDrag drag) {
-        getFeedbackManager().showDefaultCursor();
-        final ViewResizeOutline outline = ((ViewResizeOutline) drag.getOverlay());
-        if (outline != null) {
-            resizing = false;
-            onBorder = 0;
-
-            if (requiredDirection == ResizeDrag.RIGHT || requiredDirection == ResizeDrag.BOTTOM_RIGHT) {
-                width = outline.getSize().getWidth();
-            }
-            if (requiredDirection == ResizeDrag.BOTTOM || requiredDirection == ResizeDrag.BOTTOM_RIGHT) {
-                height = outline.getSize().getHeight();
-            }
-
-            LOG.debug("resizing view " + width + "," + height);
-            invalidateLayout();
-        } else {
-            super.dragTo(drag);
-        }
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        maximumSize.contract(getLeft() + getRight(), getTop() + getBottom());
-        if (width > 0 && maximumSize.getWidth() > width) {
-            maximumSize.setWidth(width);
-        }
-        if (height > 0 && maximumSize.getHeight() > height) {
-            maximumSize.setHeight(height);
-        }
-        final Size size = wrappedView.getRequiredSize(maximumSize);
-        size.extend(getLeft() + getRight(), getTop() + getBottom());
-        if (width > 0) {
-            size.setWidth(width);
-        }
-        if (height > 0) {
-            size.setHeight(height);
-        }
-        return size;
-    }
-
-    /**
-     * Detects whether the point is on the resize border, and if so changes the
-     * cursor to show it can be resized.
-     */
-    @Override
-    public void mouseMoved(final Location at) {
-        final int onBorder = onBorder(at);
-        if (this.onBorder != onBorder) {
-            switch (onBorder) {
-            case ResizeDrag.RIGHT:
-                getFeedbackManager().showResizeRightCursor();
-                resizing = true;
-                markDamaged();
-                break;
-
-            case ResizeDrag.BOTTOM:
-                getFeedbackManager().showResizeDownCursor();
-                resizing = true;
-                markDamaged();
-                break;
-
-            case ResizeDrag.BOTTOM_RIGHT:
-                getFeedbackManager().showResizeDownRightCursor();
-                resizing = true;
-                markDamaged();
-                break;
-
-            default:
-                getFeedbackManager().showDefaultCursor();
-                super.mouseMoved(at);
-                resizing = false;
-                markDamaged();
-                break;
-            }
-            UI_LOG.debug("on resize border " + onBorder + " " + resizing);
-        }
-        this.onBorder = onBorder;
-    }
-
-    @Override
-    public void exited() {
-        getFeedbackManager().showDefaultCursor();
-        resizing = false;
-        onBorder = 0;
-        markDamaged();
-        UI_LOG.debug("off resize border " + onBorder + " " + resizing);
-        super.exited();
-    }
-
-    private int onBorder(final Location at) {
-        final Bounds area = contentArea();
-        final boolean right = canExtend(RIGHT) && at.getX() >= area.getWidth() && at.getX() <= area.getWidth() + getRight();
-        final boolean bottom = canExtend(DOWN) && at.getY() >= area.getHeight() && at.getY() <= area.getHeight() + getBottom();
-
-        final int status;
-        if (right && bottom) {
-            status = ResizeDrag.BOTTOM_RIGHT;
-        } else if (right) {
-            status = ResizeDrag.RIGHT;
-        } else if (bottom) {
-            status = ResizeDrag.BOTTOM;
-        } else {
-            status = 0;
-        }
-
-        return status;
-    }
-
-    private boolean canExtend(final int extend) {
-        return (extend & allowDirections) == extend;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeDrag.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeDrag.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeDrag.java
deleted file mode 100644
index 902b738..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeDrag.java
+++ /dev/null
@@ -1,215 +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.dnd.view.border;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.interaction.DragImpl;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Viewer;
-
-public class ResizeDrag extends DragImpl implements InternalDrag {
-    public static final int BOTTOM = 2;
-    public static final int BOTTOM_LEFT = 7;
-    public static final int BOTTOM_RIGHT = 8;
-    public static final int LEFT = 3;
-    public static final int RIGHT = 4;
-    public static final int TOP = 1;
-    public static final int TOP_LEFT = 5;
-    public static final int TOP_RIGHT = 6;
-    /**
-     * the location of the corner opposite the pointer that will form the
-     * resizing rectangle.
-     */
-    private final Location anchor;
-    private final int direction;
-    private final ViewResizeOutline overlay;
-    private final View view;
-    private final Size minimumSize;
-    private final Size maximumSize;
-
-    public ResizeDrag(final View view, final Bounds resizeArea, final int direction) {
-        this(view, resizeArea, direction, null, null);
-    }
-
-    public ResizeDrag(final View view, final Bounds resizeArea, final int direction, final Size minimumSize, final Size maximumSize) {
-        this.view = view;
-        this.direction = direction;
-        this.anchor = resizeArea.getLocation();
-        this.minimumSize = minimumSize;
-        this.maximumSize = maximumSize;
-        overlay = new ViewResizeOutline(resizeArea);
-        overlay.setLocation(resizeArea.getLocation());
-    }
-
-    @Override
-    public void cancel(final Viewer viewer) {
-        view.dragCancel(this);
-    }
-
-    @Override
-    public void drag(final View target, final Location location, final int mods) {
-
-        switch (direction) {
-        case TOP:
-            extendUpward(location);
-            break;
-
-        case BOTTOM:
-            extendDownward(location);
-            break;
-
-        case LEFT:
-            extendLeft(location);
-            break;
-
-        case RIGHT:
-            extendRight(location);
-            break;
-
-        case TOP_RIGHT:
-            extendRight(location);
-            extendUpward(location);
-            break;
-
-        case BOTTOM_RIGHT:
-            extendRight(location);
-            extendDownward(location);
-            break;
-
-        case TOP_LEFT:
-            extendLeft(location);
-            extendUpward(location);
-            break;
-
-        case BOTTOM_LEFT:
-            extendLeft(location);
-            extendDownward(location);
-            break;
-
-        default:
-            break;
-        }
-    }
-
-    @Override
-    public void end(final Viewer viewer) {
-        view.dragTo(this);
-        view.getViewManager().clearOverlayView(view);
-    }
-
-    /*
-     * public ViewResizeOutline(View forView, int direction) { this(forView,
-     * direction, forView.getAbsoluteLocation(), forView.getSize()); }
-     * 
-     * public ViewResizeOutline(View forView, int direction, Location location,
-     * Size size) { super(forView.getContent(), null, null);
-     * 
-     * LoggerFactory.getLogger(getClass()).debug("drag outline for " + forView);
-     * setLocation(location); setSize(size);
-     * 
-     * LoggerFactory.getLogger(getClass()).debug("drag outline initial size " +
-     * getSize() + " " + forView.getSize());
-     * 
-     * origin = getBounds();
-     * 
-     * switch (direction) { case TOP: getViewManager().showResizeUpCursor();
-     * break;
-     * 
-     * case BOTTOM: getViewManager().showResizeDownCursor(); break;
-     * 
-     * case LEFT: getViewManager().showResizeLeftCursor(); break;
-     * 
-     * case RIGHT: getViewManager().showResizeRightCursor(); break;
-     * 
-     * case TOP_LEFT: getViewManager().showResizeUpLeftCursor(); break;
-     * 
-     * case TOP_RIGHT: getViewManager().showResizeUpRightCursor(); break;
-     * 
-     * case BOTTOM_LEFT: getViewManager().showResizeDownLeftCursor(); break;
-     * 
-     * case BOTTOM_RIGHT: getViewManager().showResizeDownRightCursor(); break;
-     * 
-     * case CENTER: getViewManager().showMoveCursor(); break;
-     * 
-     * default : break; } }
-     */
-
-    private void extendDownward(final Location location) {
-        overlay.markDamaged();
-        final int height = location.getY() - anchor.getY();
-        final int width = overlay.getSize().getWidth();
-        overlay.setSize(new Size(width, height));
-        overlay.markDamaged();
-    }
-
-    private void extendLeft(final Location location) {
-        overlay.markDamaged();
-        final int height = overlay.getSize().getHeight();
-        final int width = anchor.getX() - location.getX();
-        overlay.setSize(new Size(width, height));
-        final int x = anchor.getX() - width;
-        final int y = anchor.getY();
-        overlay.setBounds(new Bounds(x, y, width, height));
-        overlay.markDamaged();
-    }
-
-    private void extendRight(final Location location) {
-        overlay.markDamaged();
-        final int height = overlay.getSize().getHeight();
-        int width = location.getX() - anchor.getX();
-        if (maximumSize != null && width > maximumSize.getWidth()) {
-            width = maximumSize.getWidth();
-        }
-        if (minimumSize != null && width < minimumSize.getWidth()) {
-            width = minimumSize.getWidth();
-        }
-        overlay.setSize(new Size(width, height));
-        overlay.markDamaged();
-    }
-
-    private void extendUpward(final Location location) {
-        overlay.markDamaged();
-        final int height = anchor.getY() - location.getY();
-        final int width = overlay.getSize().getWidth();
-        overlay.setSize(new Size(width, height));
-        final int x = anchor.getX();
-        final int y = anchor.getY() - height;
-        overlay.setBounds(new Bounds(x, y, width, height));
-        overlay.markDamaged();
-    }
-
-    public int getDirection() {
-        return direction;
-    }
-
-    @Override
-    public Location getLocation() {
-        final Size size = overlay.getSize();
-        return new Location(size.getWidth(), size.getHeight());
-    }
-
-    @Override
-    public View getOverlay() {
-        return overlay;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeViewRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeViewRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeViewRender.java
deleted file mode 100644
index 5e245f2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/border/ResizeViewRender.java
+++ /dev/null
@@ -1,28 +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.dnd.view.border;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-
-public interface ResizeViewRender {
-
-    void draw(Canvas canvas, int x, int width, int height, boolean hasFocus);
-
-}


[18/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/ColumnWidthStrategy.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/ColumnWidthStrategy.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/ColumnWidthStrategy.java
deleted file mode 100644
index ddfe959..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/ColumnWidthStrategy.java
+++ /dev/null
@@ -1,30 +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.dnd.table;
-
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-
-public interface ColumnWidthStrategy {
-    int getMinimumWidth(int i, ObjectAssociation specification);
-
-    int getPreferredWidth(int i, ObjectAssociation specification);
-
-    int getMaximumWidth(int i, ObjectAssociation specification);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/DefaultColumnWidthStrategy.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/DefaultColumnWidthStrategy.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/DefaultColumnWidthStrategy.java
deleted file mode 100644
index 5c5c4b5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/DefaultColumnWidthStrategy.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.dnd.table;
-
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-
-public class DefaultColumnWidthStrategy implements ColumnWidthStrategy {
-
-    private final int minimum;
-    private final int preferred;
-    private final int maximum;
-
-    public DefaultColumnWidthStrategy() {
-        this(18, 70, 250);
-    }
-
-    public DefaultColumnWidthStrategy(final int minimum, final int preferred, final int maximum) {
-        if (minimum <= 0) {
-            throw new IllegalArgumentException("minimum width must be greater than zero");
-        }
-        if (preferred <= minimum || preferred >= maximum) {
-            throw new IllegalArgumentException("preferred width must be greater than minimum and less than maximum");
-        }
-        this.minimum = minimum;
-        this.preferred = preferred;
-        this.maximum = maximum;
-    }
-
-    @Override
-    public int getMinimumWidth(final int i, final ObjectAssociation specification) {
-        return minimum;
-    }
-
-    @Override
-    public int getPreferredWidth(final int i, final ObjectAssociation specification) {
-        return preferred;
-    }
-
-    @Override
-    public int getMaximumWidth(final int i, final ObjectAssociation specification) {
-        return maximum;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/InternalTableSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/InternalTableSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/InternalTableSpecification.java
deleted file mode 100644
index ffaef29..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/InternalTableSpecification.java
+++ /dev/null
@@ -1,76 +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.dnd.table;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-import org.apache.isis.viewer.dnd.viewer.basic.TableFocusManager;
-
-public class InternalTableSpecification extends AbstractTableSpecification {
-    public InternalTableSpecification() {
-        addViewDecorator(new CompositeViewDecorator() {
-            @Override
-            public View decorate(final View view, final Axes axes) {
-                final ScrollBorder scrollingView = new ScrollBorder(view);
-                // note - the next call needs to be after the creation of the
-                // window border
-                // so that it exists when the header is set up
-                scrollingView.setTopHeader(new TableHeader(view.getContent(), axes.getAxis(TableAxis.class)));
-                scrollingView.setFocusManager(new TableFocusManager(scrollingView));
-                return scrollingView;
-
-            }
-        });
-
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    // TODO remove
-    /*
-     * @Override public View doCreateView(final View view, final Content
-     * content, final ViewAxis axis) { final ScrollBorder scrollingView = new
-     * ScrollBorder(view); // note - the next call needs to be after the
-     * creation of the window border // so that it exists when the header is set
-     * up scrollingView.setTopHeader(new TableHeader(content));
-     * scrollingView.setFocusManager(new TableFocusManager(scrollingView));
-     * return scrollingView; }
-     * 
-     * protected View decorateView(View view) { super.decorateView(view);
-     * 
-     * final ScrollBorder scrollingView = new ScrollBorder(view); // note - the
-     * next call needs to be after the creation of the window border // so that
-     * it exists when the header is set up scrollingView.setTopHeader(new
-     * TableHeader(view.getContent())); scrollingView.setFocusManager(new
-     * TableFocusManager(scrollingView)); return scrollingView; }
-     */
-    @Override
-    public String getName() {
-        return "Table";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxis.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxis.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxis.java
deleted file mode 100644
index 5a5c676..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxis.java
+++ /dev/null
@@ -1,68 +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.dnd.table;
-
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-
-public interface TableAxis extends ViewAxis {
-
-    void ensureOffset(final int offset);
-
-    /**
-     * Returns the number of the column found at the specificied position,
-     * ignoring the columns two borders. Returns 0 for the first column, 1 for
-     * second column, etc.
-     * 
-     * If over the column border then returns -1.
-     */
-    int getColumnAt(final int xPosition);
-
-    /**
-     * Returns 0 for left side of first column, 1 for right side of first
-     * column, 2 for right side of second column, etc.
-     * 
-     * If no column border is identified then returns -1.
-     */
-    int getColumnBorderAt(final int xPosition);
-
-    int getColumnCount();
-
-    String getColumnName(final int column);
-
-    int getColumnWidth(final int column);
-
-    ObjectAssociation getFieldForColumn(final int column);
-
-    int getHeaderOffset();
-
-    int getLeftEdge(final int resizeColumn);
-
-    void invalidateLayout();
-
-    void setOffset(final int offset);
-
-    void setRoot(final View view);
-
-    void setupColumnWidths(final ColumnWidthStrategy strategy);
-
-    void setWidth(final int index, final int width);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java
deleted file mode 100644
index c9d2854..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java
+++ /dev/null
@@ -1,217 +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.dnd.table;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-
-public class TableAxisImpl implements TableAxis {
-    private final List<ObjectAssociation> columns;
-    private final String[] columnName;
-    private int rowHeaderOffet;
-    private View table;
-    private final int[] widths;
-
-    public TableAxisImpl(final CollectionContent content) {
-        // TODO create axis first, then after view built set up the axis
-        // details?
-        final ObjectSpecification elementSpecification = (content).getElementSpecification();
-        final List<ObjectAssociation> accessibleFields = elementSpecification.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.VISIBLE_AT_LEAST_SOMETIMES);
-
-        this.columns = tableFields(accessibleFields, content);
-        widths = new int[columns.size()];
-        columnName = new String[columns.size()];
-        for (int i = 0; i < widths.length; i++) {
-            columnName[i] = columns.get(i).getName();
-        }
-
-        // TODO make the setting of the column width strategy external so it can
-        // be changed
-        setupColumnWidths(new TypeBasedColumnWidthStrategy());
-    }
-
-    /*
-     * public TableAxis(final ObjectAssociation[] columns) { this.columns =
-     * columns; widths = new int[columns.length]; columnName = new
-     * String[columns.length]; for (int i = 0; i < widths.length; i++) {
-     * columnName[i] = columns[i].getName(); } }
-     */
-    private List<ObjectAssociation> tableFields(final List<ObjectAssociation> viewFields, final CollectionContent content) {
-        for (int i = 0; i < viewFields.size(); i++) {
-            // final ObjectAssociation objectAssociation = viewFields[i];
-            // TODO reinstate check to skip unsuitable types
-            /*
-             * if (viewFields[i].getSpecification().isOfType(
-             * IsisContext.getSpecificationLoader
-             * ().loadSpecification(ImageValue.class))) { continue; }
-             */
-
-            // if
-            // (!objectAssociation.isVisible(IsisContext.getAuthenticationSession(),
-            // content.getAdapter()).isAllowed()) {
-            // continue;
-            // }
-            // LOG.debug("column " + objectAssociation.getSpecification());
-            // if(viewFields[i].getSpecification().isOfType(Isis.getSpecificationLoader().lo));
-        }
-
-        final List<ObjectAssociation> tableFields = Lists.newArrayList();
-        for (int i = 0; i < viewFields.size(); i++) {
-            if (!(viewFields.get(i) instanceof OneToManyAssociation)) {
-                tableFields.add(viewFields.get(i));
-            }
-        }
-
-        return tableFields;
-    }
-
-    @Override
-    public void ensureOffset(final int offset) {
-        rowHeaderOffet = Math.max(rowHeaderOffet, offset + 5);
-    }
-
-    /**
-     * Returns the number of the column found at the specificied position,
-     * ignoring the columns two borders. Returns 0 for the first column, 1 for
-     * second column, etc.
-     * 
-     * If over the column border then returns -1.
-     */
-    @Override
-    public int getColumnAt(final int xPosition) {
-        int edge = getHeaderOffset();
-        for (int i = 0, cols = getColumnCount() + 1; i < cols; i++) {
-            if (xPosition >= edge - 1 && xPosition <= edge + 1) {
-                return -1;
-            }
-            if (xPosition < edge - 1) {
-                return i;
-            }
-            edge += getColumnWidth(i);
-        }
-
-        return -1;
-    }
-
-    /**
-     * Returns 0 for left side of first column, 1 for right side of first
-     * column, 2 for right side of second column, etc.
-     * 
-     * If no column border is identified then returns -1.
-     */
-    @Override
-    public int getColumnBorderAt(final int xPosition) {
-        int edge = getHeaderOffset();
-        for (int i = 0, cols = getColumnCount(); i < cols; i++) {
-            if (xPosition >= edge - 1 && xPosition <= edge + 1) {
-                return i;
-            }
-            edge += getColumnWidth(i);
-        }
-        if (xPosition >= edge - 1 && xPosition <= edge + 1) {
-            return getColumnCount();
-        }
-
-        return -1;
-    }
-
-    @Override
-    public int getColumnCount() {
-        return columnName.length;
-    }
-
-    @Override
-    public String getColumnName(final int column) {
-        return columnName[column];
-    }
-
-    @Override
-    public int getColumnWidth(final int column) {
-        return widths[column];
-    }
-
-    @Override
-    public ObjectAssociation getFieldForColumn(final int column) {
-        return columns.get(column);
-    }
-
-    @Override
-    public int getHeaderOffset() {
-        return rowHeaderOffet;
-    }
-
-    @Override
-    public int getLeftEdge(final int resizeColumn) {
-        int width = getHeaderOffset();
-        for (int i = 0, cols = getColumnCount(); i < resizeColumn && i < cols; i++) {
-            width += getColumnWidth(i);
-        }
-        return width;
-    }
-
-    @Override
-    public void invalidateLayout() {
-        final View[] rows = table.getSubviews();
-        for (final View row : rows) {
-            row.invalidateLayout();
-        }
-        table.invalidateLayout();
-    }
-
-    @Override
-    public void setOffset(final int offset) {
-        rowHeaderOffet = offset;
-    }
-
-    @Override
-    public void setRoot(final View view) {
-        table = view;
-    }
-
-    @Override
-    public void setupColumnWidths(final ColumnWidthStrategy strategy) {
-        for (int i = 0; i < widths.length; i++) {
-            widths[i] = strategy.getPreferredWidth(i, columns.get(i));
-        }
-    }
-
-    @Override
-    public void setWidth(final int index, final int width) {
-        widths[index] = width;
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("columns", columnName.length);
-        str.append("header offset", rowHeaderOffet);
-        str.append("table", table);
-        return str.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableCellBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableCellBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableCellBuilder.java
deleted file mode 100644
index eb65a03..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableCellBuilder.java
+++ /dev/null
@@ -1,203 +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.dnd.table;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.core.commons.exceptions.UnknownTypeException;
-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.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.progmodel.facets.value.booleans.BooleanValueFacet;
-import org.apache.isis.core.progmodel.facets.value.image.ImageValueFacet;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.field.CheckboxField;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.GlobalViewFactory;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.BlankView;
-import org.apache.isis.viewer.dnd.view.base.FieldErrorView;
-import org.apache.isis.viewer.dnd.view.composite.AbstractViewBuilder;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.field.OneToOneFieldImpl;
-import org.apache.isis.viewer.dnd.view.field.TextParseableFieldImpl;
-import org.apache.isis.viewer.dnd.viewer.basic.UnlinedTextFieldSpecification;
-
-class TableCellBuilder extends AbstractViewBuilder {
-    private static final Logger LOG = LoggerFactory.getLogger(TableCellBuilder.class);
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with
-    // @Hidden(where=Where.ALL_TABLES) will indeed be hidden from all tables
-    // but will be shown (perhaps incorrectly) if annotated with Where.PARENTED_TABLE
-    // or Where.STANDALONE_TABLE
-    private final Where where = Where.ALL_TABLES;
-    
-
-    private void addField(final View view, final Axes axes, final ObjectAdapter object, final ObjectAssociation field) {
-        final ObjectAdapter value = field.get(object);
-        View fieldView;
-        fieldView = createFieldView(view, axes, object, field, value);
-        if (fieldView != null) {
-            view.addView(decorateSubview(axes, fieldView));
-        } else {
-            view.addView(new FieldErrorView("No field for " + value));
-        }
-    }
-
-    @Override
-    public void build(final View view, final Axes axes) {
-        Assert.assertEquals("ensure the view is complete decorated view", view.getView(), view);
-
-        final Content content = view.getContent();
-        final ObjectAdapter object = ((ObjectContent) content).getObject();
-
-        if (view.getSubviews().length == 0) {
-            initialBuild(object, view, axes);
-        } else {
-            updateBuild(object, view, axes);
-        }
-    }
-
-    private void updateBuild(final ObjectAdapter object, final View view, final Axes axes) {
-        final TableAxis viewAxis = axes.getAxis(TableAxis.class);
-
-        LOG.debug("update view " + view + " for " + object);
-        final View[] subviews = view.getSubviews();
-        final ObjectSpecification spec = object.getSpecification();
-        for (int i = 0; i < subviews.length; i++) {
-            final ObjectAssociation field = fieldFromActualSpec(spec, viewAxis.getFieldForColumn(i));
-            final View subview = subviews[i];
-            final ObjectAdapter value = field.get(object);
-
-            // if the field is parseable then it may have been modified; we need
-            // to replace what was
-            // typed in with the actual title.
-            if (field.getSpecification().isParseable()) {
-                final boolean visiblityChange = !field.isVisible(IsisContext.getAuthenticationSession(), object, where).isAllowed() ^ (subview instanceof BlankView);
-                final ObjectAdapter adapter = subview.getContent().getAdapter();
-                final boolean valueChange = value != null && value.getObject() != null && !value.getObject().equals(adapter.getObject());
-
-                if (visiblityChange || valueChange) {
-                    final View fieldView = createFieldView(view, axes, object, field, value);
-                    view.replaceView(subview, decorateSubview(axes, fieldView));
-                }
-                subview.refresh();
-            } else if (field.isOneToOneAssociation()) {
-                final ObjectAdapter existing = ((ObjectContent) subviews[i].getContent()).getObject();
-                final boolean changedValue = value != existing;
-                if (changedValue) {
-                    View fieldView;
-                    fieldView = createFieldView(view, axes, object, field, value);
-                    if (fieldView != null) {
-                        view.replaceView(subview, decorateSubview(axes, fieldView));
-                    } else {
-                        view.addView(new FieldErrorView("No field for " + value));
-                    }
-                }
-            }
-        }
-    }
-
-    private ObjectAssociation fieldFromActualSpec(final ObjectSpecification spec, final ObjectAssociation field) {
-        final String fieldName = field.getId();
-        return spec.getAssociation(fieldName);
-    }
-
-    private void initialBuild(final ObjectAdapter object, final View view, final Axes axes) {
-        final TableAxis viewAxis = axes.getAxis(TableAxis.class);
-        LOG.debug("build view " + view + " for " + object);
-        final int len = viewAxis.getColumnCount();
-        final ObjectSpecification spec = object.getSpecification();
-        for (int f = 0; f < len; f++) {
-            if (f > 3) {
-                continue;
-            }
-            final ObjectAssociation field = fieldFromActualSpec(spec, viewAxis.getFieldForColumn(f));
-            addField(view, axes, object, field);
-        }
-    }
-
-    private View createFieldView(final View view, final Axes axes, final ObjectAdapter object, final ObjectAssociation field, final ObjectAdapter value) {
-        if (field == null) {
-            throw new NullPointerException();
-        }
-        final GlobalViewFactory factory = Toolkit.getViewFactory();
-        ViewSpecification cellSpec;
-        Content content;
-        if (field instanceof OneToManyAssociation) {
-            throw new UnexpectedCallException("no collections allowed");
-        } else if (field instanceof OneToOneAssociation) {
-
-            final ObjectSpecification fieldSpecification = field.getSpecification();
-            if (fieldSpecification.isParseable()) {
-                content = new TextParseableFieldImpl(object, value, (OneToOneAssociation) field);
-                // REVIEW how do we deal with IMAGES?
-                if (content.getAdapter() instanceof ImageValueFacet) {
-                    return new BlankView(content);
-                }
-
-                if (!field.isVisible(IsisContext.getAuthenticationSession(), object, where).isAllowed()) {
-                    return new BlankView(content);
-                }
-                if (((TextParseableContent) content).getNoLines() > 0) {
-                    /*
-                     * TODO remove this after introducing constraints into view
-                     * specs that allow the parent view to specify what kind of
-                     * subviews it can deal
-                     */
-
-                    if (fieldSpecification.containsFacet(BooleanValueFacet.class)) {
-                        cellSpec = new CheckboxField.Specification();
-                    } else {
-                        cellSpec = new UnlinedTextFieldSpecification();
-                    }
-                } else {
-                    return factory.createView(new ViewRequirement(content, ViewRequirement.CLOSED));
-                }
-            } else {
-                content = new OneToOneFieldImpl(object, value, (OneToOneAssociation) field);
-                
-                if (!field.isVisible(IsisContext.getAuthenticationSession(), object, where).isAllowed()) {
-                    return new BlankView(content);
-                }
-                return factory.createView(new ViewRequirement(content, ViewRequirement.CLOSED | ViewRequirement.SUBVIEW));
-
-            }
-
-        } else {
-            throw new UnknownTypeException(field);
-        }
-
-        return cellSpec.createView(content, axes, -1);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableHeader.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableHeader.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableHeader.java
deleted file mode 100644
index 14d66cc..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableHeader.java
+++ /dev/null
@@ -1,241 +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.dnd.table;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Shape;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.border.ResizeDrag;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-
-public class TableHeader extends AbstractView {
-    private final TableAxis axis;
-    private final int height;
-    private int resizeColumn;
-
-    public TableHeader(final Content content, final TableAxis axis) {
-        super(content, null);
-        this.axis = axis;
-        height = ViewConstants.VPADDING + Toolkit.getText(ColorsAndFonts.TEXT_LABEL).getTextHeight() + ViewConstants.VPADDING;
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        if (click.getLocation().getY() <= height) {
-            final int column = axis.getColumnAt(click.getLocation().getX()) - 1;
-            if (column == -2) {
-                super.firstClick(click);
-            } else if (column == -1) {
-                ((CollectionContent) getContent()).setOrderByElement();
-                invalidateContent();
-            } else {
-                final ObjectAssociation field = axis.getFieldForColumn(column);
-                ((CollectionContent) getContent()).setOrderByField(field);
-                invalidateContent();
-            }
-        } else {
-            super.firstClick(click);
-        }
-    }
-
-    @Override
-    public void invalidateContent() {
-        getParent().invalidateContent();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(-1, height);
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        if (isOverColumnBorder(drag.getLocation())) {
-            resizeColumn = axis.getColumnBorderAt(drag.getLocation().getX());
-            final Bounds resizeArea = new Bounds(getView().getAbsoluteLocation(), getSize());
-            resizeArea.translate(getView().getPadding().getLeft(), getView().getPadding().getTop());
-            if (resizeColumn == 0) {
-                resizeArea.setWidth(axis.getHeaderOffset());
-            } else {
-                resizeArea.translate(axis.getLeftEdge(resizeColumn - 1), 0);
-                resizeArea.setWidth(axis.getColumnWidth(resizeColumn - 1));
-            }
-
-            final Size minimumSize = new Size(70, 0);
-            return new ResizeDrag(this, resizeArea, ResizeDrag.RIGHT, minimumSize, null);
-        } else if (drag.getLocation().getY() <= height) {
-            return null;
-        } else {
-            return super.dragStart(drag);
-        }
-    }
-
-    @Override
-    public void dragTo(final InternalDrag drag) {
-        if (drag.getOverlay() == null) {
-            throw new IsisException("No overlay for drag: " + drag);
-        }
-        int newWidth = drag.getOverlay().getSize().getWidth();
-        newWidth = Math.max(70, newWidth);
-        getViewManager().getSpy().addAction("Resize column to " + newWidth);
-
-        if (resizeColumn == 0) {
-            axis.setOffset(newWidth);
-        } else {
-            axis.setWidth(resizeColumn - 1, newWidth);
-        }
-        axis.invalidateLayout();
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas.createSubcanvas());
-
-        final int y = ViewConstants.VPADDING + Toolkit.getText(ColorsAndFonts.TEXT_LABEL).getAscent();
-
-        int x = axis.getHeaderOffset() - 2;
-
-        if (((CollectionContent) getContent()).getOrderByElement()) {
-            drawOrderIndicator(canvas, axis, x - 10);
-        }
-
-        final Color secondary1 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        canvas.drawLine(0, 0, getSize().getWidth() - 1, 0, secondary1);
-        canvas.drawLine(0, height - 1, getSize().getWidth() - 1, height - 1, secondary1);
-        canvas.drawLine(x, 0, x, getSize().getHeight() - 1, secondary1);
-        x++;
-        final int columns = axis.getColumnCount();
-        final ObjectAssociation fieldSortOrder = ((CollectionContent) getContent()).getFieldSortOrder();
-        for (int i = 0; i < columns; i++) {
-            if (fieldSortOrder == axis.getFieldForColumn(i)) {
-                drawOrderIndicator(canvas, axis, x + axis.getColumnWidth(i) - 10);
-            }
-
-            canvas.drawLine(0, 0, 0, getSize().getHeight() - 1, secondary1);
-            canvas.drawLine(x, 0, x, getSize().getHeight() - 1, secondary1);
-            final Canvas headerCanvas = canvas.createSubcanvas(x, 0, axis.getColumnWidth(i) - 1, height);
-            headerCanvas.drawText(axis.getColumnName(i), ViewConstants.HPADDING, y, secondary1, Toolkit.getText(ColorsAndFonts.TEXT_LABEL));
-            x += axis.getColumnWidth(i);
-        }
-        // Color secondary2 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        // canvas.drawLine(x, 0, x, getSize().getHeight() - 1, secondary2);
-        // canvas.drawRectangle(0, height, getSize().getWidth() - 1,
-        // getSize().getHeight() - height - 1, secondary2);
-    }
-
-    private void drawOrderIndicator(final Canvas canvas, final TableAxis axis, final int x) {
-        Shape arrow;
-        arrow = new Shape();
-        if (((CollectionContent) getContent()).getReverseSortOrder()) {
-            arrow.addPoint(0, 7);
-            arrow.addPoint(3, 0);
-            arrow.addPoint(6, 7);
-        } else {
-            arrow.addPoint(0, 0);
-            arrow.addPoint(6, 0);
-            arrow.addPoint(3, 7);
-        }
-        // canvas.drawRectangle(x + axis.getColumnWidth(i) - 10, 3, 7, 8,
-        // Toolkit.getColor("secondary3"));
-        canvas.drawShape(arrow, x, 3, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-    }
-
-    @Override
-    public View identify(final Location location) {
-        getViewManager().getSpy().addTrace("Identify over column " + location);
-        if (isOverColumnBorder(location)) {
-            getViewManager().getSpy().addAction("Identified over column ");
-            return getView();
-        }
-        return super.identify(location);
-    }
-
-    private boolean isOverColumnBorder(final Location at) {
-        final int x = at.getX();
-        return axis.getColumnBorderAt(x) >= 0;
-    }
-
-    @Override
-    public void mouseMoved(final Location at) {
-        if (isOverColumnBorder(at)) {
-            getFeedbackManager().showResizeRightCursor();
-        } else {
-            super.mouseMoved(at);
-            getFeedbackManager().showDefaultCursor();
-        }
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        if (isOverColumnBorder(click.getLocation())) {
-            final int column = axis.getColumnBorderAt(click.getLocation().getX()) - 1;
-            if (column == -1) {
-                final View[] subviews = getSubviews();
-                for (final View row : subviews) {
-                    axis.ensureOffset(((TableRowBorder) row).requiredTitleWidth());
-                }
-
-            } else {
-                final View[] subviews = getSubviews();
-                int max = 0;
-                for (final View row : subviews) {
-                    final View cell = row.getSubviews()[column];
-                    max = Math.max(max, cell.getRequiredSize(new Size()).getWidth());
-                }
-                axis.setWidth(column, max);
-            }
-            axis.invalidateLayout();
-        } else {
-            super.secondClick(click);
-        }
-    }
-
-    @Override
-    public String toString() {
-        return "TableHeader";
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location at) {
-        final int x = at.getX();
-
-        if (axis.getColumnBorderAt(x) >= 0) {
-            return ViewAreaType.INTERNAL;
-        } else {
-            return super.viewAreaType(at);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowBorder.java
deleted file mode 100644
index 05810c1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowBorder.java
+++ /dev/null
@@ -1,205 +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.dnd.table;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.interaction.ViewDragImpl;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.DragViewOutline;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.text.ObjectTitleText;
-import org.apache.isis.viewer.dnd.view.text.TitleText;
-
-// REVIEW can we use ObjectBorder to provide the basic functionality
-public class TableRowBorder extends AbstractBorder {
-    public static class Factory implements SubviewDecorator {
-        @Override
-        public ViewAxis createAxis(final Content content) {
-            final TableAxis axis = new TableAxisImpl((CollectionContent) content);
-            return axis;
-        }
-
-        @Override
-        public View decorate(final Axes axes, final View view) {
-            return new TableRowBorder(axes, view);
-        }
-    }
-
-    private static final int BORDER = 13;
-
-    private final int baseline;
-    private final IconGraphic icon;
-    private final TitleText title;
-
-    private final TableAxis axis;
-
-    public TableRowBorder(final Axes axes, final View wrappedRow) {
-        super(wrappedRow);
-
-        final Text text = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-        icon = new IconGraphic(this, text);
-        title = new ObjectTitleText(this, text);
-        baseline = icon.getBaseline();
-
-        left = requiredTitleWidth() + BORDER;
-
-        axis = axes.getAxis(TableAxis.class);
-        axis.ensureOffset(left);
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("RowBorder " + left + " pixels");
-        debug.appendln("Axis", axis);
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        final int x = drag.getLocation().getX();
-        final int left = axis.getHeaderOffset();
-        ;
-        if (x < left - BORDER) {
-            return Toolkit.getViewFactory().createDragContentOutline(this, drag.getLocation());
-        } else if (x < left) {
-            final View dragOverlay = new DragViewOutline(getView());
-            return new ViewDragImpl(this, new Offset(drag.getLocation()), dragOverlay);
-        } else {
-            return super.dragStart(drag);
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final int baseline = getBaseline();
-
-        final int width = axis.getHeaderOffset();
-        final Size s = getSize();
-        final Canvas subcanvas = canvas.createSubcanvas(0, 0, width, s.getHeight());
-        int offset = ViewConstants.HPADDING;
-        icon.draw(subcanvas, offset, baseline);
-        offset += icon.getSize().getWidth() + ViewConstants.HPADDING + 0 + ViewConstants.HPADDING;
-        title.draw(subcanvas, offset, baseline, getLeft() - offset);
-
-        final int columns = axis.getColumnCount();
-        int x = -1;
-        x += axis.getHeaderOffset();
-        final Color secondary1 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        canvas.drawLine(x - 1, 0, x - 1, s.getHeight() - 1, secondary1);
-        canvas.drawLine(x, 0, x, s.getHeight() - 1, secondary1);
-        for (int i = 0; i < columns; i++) {
-            x += axis.getColumnWidth(i);
-            canvas.drawLine(x, 0, x, s.getHeight() - 1, secondary1);
-        }
-        canvas.drawLine(0, 0, 0, s.getHeight() - 1, secondary1);
-
-        final int y = s.getHeight() - 1;
-        final Color secondary2 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        canvas.drawLine(0, y, s.getWidth(), y, secondary2);
-
-        if (getState().isObjectIdentified()) {
-            final int xExtent = width - 1;
-            canvas.drawLine(xExtent - BORDER, top, xExtent - BORDER, top + s.getHeight() - 1, secondary2);
-            canvas.drawSolidRectangle(xExtent - BORDER + 1, top, BORDER - 2, s.getHeight() - 2 * top - 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        }
-
-        // components
-        super.draw(canvas);
-    }
-
-    @Override
-    public int getBaseline() {
-        return baseline;
-    }
-
-    @Override
-    protected int getLeft() {
-        return axis.getHeaderOffset();
-    }
-
-    protected int requiredTitleWidth() {
-        return ViewConstants.HPADDING + icon.getSize().getWidth() + ViewConstants.HPADDING + title.getSize().getWidth() + ViewConstants.HPADDING;
-    }
-
-    @Override
-    public void entered() {
-        getState().setContentIdentified();
-        getState().setViewIdentified();
-        wrappedView.entered();
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearObjectIdentified();
-        getState().clearViewIdentified();
-        wrappedView.exited();
-        markDamaged();
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        final int left = axis.getHeaderOffset();
-        ;
-        final int x = click.getLocation().getX();
-        if (x <= left) {
-            final Location location = getAbsoluteLocation();
-            location.translate(click.getLocation());
-            getWorkspace().objectActionResult(getContent().getAdapter(), new Placement(this));
-        } else {
-            super.secondClick(click);
-        }
-    }
-
-    @Override
-    public String toString() {
-        return "RowBorder/" + wrappedView;
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        if (mouseLocation.getX() <= left) {
-            return ViewAreaType.CONTENT;
-        } else if (mouseLocation.getX() >= getSize().getWidth() - right) {
-            return ViewAreaType.VIEW;
-        } else {
-            return super.viewAreaType(mouseLocation);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowLayout.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowLayout.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowLayout.java
deleted file mode 100644
index 9c4d26a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowLayout.java
+++ /dev/null
@@ -1,93 +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.dnd.table;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-
-public class TableRowLayout implements Layout {
-    private final TableAxis axis;
-
-    public TableRowLayout(final TableAxis axis) {
-        this.axis = axis;
-    }
-
-    @Override
-    public Size getRequiredSize(final View row) {
-        int maxHeight = 0;
-        int totalWidth = 0;
-        final View[] cells = row.getSubviews();
-        final int maxBaseline = maxBaseline(cells);
-
-        for (int i = 0; i < cells.length; i++) {
-            totalWidth += axis.getColumnWidth(i);
-
-            final Size s = cells[i].getRequiredSize(Size.createMax());// TODO
-                                                                      // Need to
-                                                                      // pass in
-                                                                      // a max
-                                                                      // size
-                                                                      // (is 0
-                                                                      // at the
-                                                                      // moment)
-            final int b = cells[i].getBaseline();
-            final int baselineOffset = Math.max(0, maxBaseline - b);
-            maxHeight = Math.max(maxHeight, s.getHeight() + baselineOffset);
-        }
-
-        return new Size(totalWidth, maxHeight);
-    }
-
-    @Override
-    public void layout(final View row, final Size maximumSize) {
-        final View[] cells = row.getSubviews();
-        final int maxBaseline = maxBaseline(cells);
-
-        int x = 0;
-        for (int i = 0; i < cells.length; i++) {
-            final View cell = cells[i];
-            final Size s = cell.getRequiredSize(Size.createMax()); // TODO Need
-                                                                   // to pass in
-                                                                   // a max size
-                                                                   // (is 0 at
-                                                                   // the
-                                                                   // moment)
-            s.setWidth(axis.getColumnWidth(i));
-            cell.setSize(s);
-
-            final int b = cell.getBaseline();
-            final int baselineOffset = Math.max(0, maxBaseline - b);
-            cell.setLocation(new Location(x, baselineOffset));
-
-            x += s.getWidth();
-        }
-    }
-
-    private int maxBaseline(final View[] cells) {
-        int maxBaseline = 0;
-        for (final View cell : cells) {
-            maxBaseline = Math.max(maxBaseline, cell.getBaseline());
-        }
-        return maxBaseline;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowSpecification.java
deleted file mode 100644
index 3e1ea41..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableRowSpecification.java
+++ /dev/null
@@ -1,57 +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.dnd.table;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-
-public class TableRowSpecification extends CompositeViewSpecification {
-    public TableRowSpecification() {
-        builder = new TableCellBuilder();
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new TableRowLayout(axes.getAxis(TableAxis.class));
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject();
-    }
-
-    @Override
-    public String getName() {
-        return "Table Row";
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TypeBasedColumnWidthStrategy.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TypeBasedColumnWidthStrategy.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TypeBasedColumnWidthStrategy.java
deleted file mode 100644
index 29cb6a5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TypeBasedColumnWidthStrategy.java
+++ /dev/null
@@ -1,71 +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.dnd.table;
-
-import java.util.Hashtable;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-
-public class TypeBasedColumnWidthStrategy implements ColumnWidthStrategy {
-    private final Hashtable<ObjectSpecification, Integer> types = new Hashtable<ObjectSpecification, Integer>();
-
-    public TypeBasedColumnWidthStrategy() {
-        /*
-         * ObjectSpecificationLoader loader = Isis.getSpecificationLoader();
-         * addWidth(loader.loadSpecification(Logical.class), 25);
-         * addWidth(loader.loadSpecification(Date.class), 65);
-         * addWidth(loader.loadSpecification(Time.class), 38);
-         * addWidth(loader.loadSpecification(DateTime.class), 100);
-         * addWidth(loader.loadSpecification(TextString.class), 80);
-         */
-    }
-
-    public void addWidth(final ObjectSpecification specification, final int width) {
-        types.put(specification, new Integer(width));
-    }
-
-    @Override
-    public int getMaximumWidth(final int i, final ObjectAssociation specification) {
-        return 0;
-    }
-
-    @Override
-    public int getMinimumWidth(final int i, final ObjectAssociation specification) {
-        return 15;
-    }
-
-    // TODO improve the width determination
-    @Override
-    public int getPreferredWidth(final int i, final ObjectAssociation specification) {
-        final ObjectSpecification type = specification.getSpecification();
-        if (type == null) {
-            return 200;
-        }
-        final Integer t = types.get(type);
-        if (t != null) {
-            return t.intValue();
-        } else if (type.isNotCollection()) {
-            return 120;
-        } else {
-            return 100;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/WindowTableSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/WindowTableSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/WindowTableSpecification.java
deleted file mode 100644
index 94a4d08..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/WindowTableSpecification.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.dnd.table;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.viewer.basic.TableFocusManager;
-
-public class WindowTableSpecification extends AbstractTableSpecification {
-    public WindowTableSpecification() {
-        addViewDecorator(new CompositeViewDecorator() {
-            @Override
-            public View decorate(final View view, final Axes axes) {
-                final ScrollBorder scrollingView = new ScrollBorder(view);
-                final View viewWithWindowBorder = scrollingView;
-                // note - the next call needs to be after the creation of the
-                // window border so
-                // that it exists when the header is set up
-                scrollingView.setTopHeader(new TableHeader(view.getContent(), axes.getAxis(TableAxis.class)));
-                viewWithWindowBorder.setFocusManager(new TableFocusManager(viewWithWindowBorder));
-                return viewWithWindowBorder;
-            }
-        });
-
-    }
-
-    /*
-     * @Override public View doCreateView(final View view, final Content
-     * content, final ViewAxis axis) { if (true) return view;
-     * 
-     * final ScrollBorder scrollingView = new ScrollBorder(view); View
-     * viewWithWindowBorder = scrollingView; // note - the next call needs to be
-     * after the creation of the window border so // that it exists when the
-     * header is set up scrollingView.setTopHeader(new TableHeader(content,
-     * view.getViewAxisForChildren())); viewWithWindowBorder.setFocusManager(new
-     * TableFocusManager(viewWithWindowBorder)); return viewWithWindowBorder; }
-     * 
-     * protected View decorateView(View view) { super.decorateView(view);
-     * 
-     * final ScrollBorder scrollingView = new ScrollBorder(view); View
-     * viewWithWindowBorder = scrollingView; // note - the next call needs to be
-     * after the creation of the window border so // that it exists when the
-     * header is set up scrollingView.setTopHeader(new
-     * TableHeader(view.getContent(), view.getViewAxisForChildren()));
-     * viewWithWindowBorder.setFocusManager(new
-     * TableFocusManager(viewWithWindowBorder)); return viewWithWindowBorder; }
-     */
-    @Override
-    public String getName() {
-        return "Table";
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/toolbar/ToolbarView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/toolbar/ToolbarView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/toolbar/ToolbarView.java
deleted file mode 100644
index ad1b393..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/toolbar/ToolbarView.java
+++ /dev/null
@@ -1,79 +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.dnd.toolbar;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.CompositeView;
-
-public class ToolbarView extends CompositeView {
-
-    public ToolbarView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    protected void buildView() {
-    }
-
-    @Override
-    protected void doLayout(final Size maximumSize) {
-        int x = ViewConstants.HPADDING;
-        int y = 0;
-        int lineHeight = 0;
-        for (final View button : getSubviews()) {
-            final Size buttonSize = button.getRequiredSize(Size.createMax());
-            if (x + buttonSize.getWidth() >= maximumSize.getWidth()) {
-                x = ViewConstants.HPADDING;
-                y += lineHeight + ViewConstants.VPADDING;
-                lineHeight = 0;
-            }
-            button.setSize(buttonSize);
-            button.setLocation(new Location(x, y));
-            x += buttonSize.getWidth() + ViewConstants.HPADDING;
-            lineHeight = Math.max(lineHeight, buttonSize.getHeight());
-        }
-    }
-
-    @Override
-    public Size requiredSize(final Size availableSpace) {
-        int lineHeight = 0;
-        int lineWidth = ViewConstants.HPADDING;
-        final Size requiredSize = new Size();
-        for (final View button : getSubviews()) {
-            final Size buttonSize = button.getRequiredSize(availableSpace);
-            lineWidth += buttonSize.getWidth() + ViewConstants.HPADDING;
-            if (lineWidth >= availableSpace.getWidth()) {
-                lineWidth = ViewConstants.HPADDING;
-                requiredSize.extendHeight(lineHeight + ViewConstants.VPADDING);
-                lineHeight = 0;
-            }
-            lineHeight = Math.max(lineHeight, buttonSize.getHeight());
-            requiredSize.ensureWidth(lineWidth);
-        }
-        requiredSize.extendHeight(lineHeight + ViewConstants.VPADDING);
-        return requiredSize;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedCollectionNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedCollectionNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedCollectionNodeSpecification.java
deleted file mode 100644
index 152ea53..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedCollectionNodeSpecification.java
+++ /dev/null
@@ -1,65 +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.dnd.tree;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-
-/**
- * Specification for a tree node that will display a closed collection as a root
- * node or within an object.
- * 
- * @see org.apache.isis.viewer.dnd.tree.OpenCollectionNodeSpecification for
- *      displaying an open collection within an object.
- */
-public class ClosedCollectionNodeSpecification extends NodeSpecification {
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isCollection() && requirement.hasReference();
-    }
-
-    @Override
-    public int canOpen(final Content content) {
-        final ObjectAdapter collection = ((CollectionContent) content).getCollection();
-        if (collection.isGhost()) {
-            return UNKNOWN;
-        } else {
-            final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
-            return facet.size(collection) > 0 ? CAN_OPEN : CANT_OPEN;
-        }
-    }
-
-    @Override
-    protected View createNodeView(final Content content, final Axes axes) {
-        final View treeLeafNode = new LeafNodeView(content, this);
-        return treeLeafNode;
-    }
-
-    @Override
-    public String getName() {
-        return "Collection tree node - closed";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java
deleted file mode 100644
index 4a59069..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java
+++ /dev/null
@@ -1,97 +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.dnd.tree;
-
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.object.bounded.ChoicesFacetUtils;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.border.SelectObjectBorder;
-
-/**
- * Specification for a tree node that will display a closed object as a root
- * node or within an object. This will indicate that the created view can be
- * opened if: one of it fields is a collection; it is set up to show objects
- * within objects and one of the fields is an object but it is not a lookup.
- * 
- * @see org.apache.isis.viewer.dnd.tree.OpenObjectNodeSpecification for
- *      displaying an open collection as part of an object.
- */
-class ClosedObjectNodeSpecification extends NodeSpecification {
-    private final boolean showObjectContents;
-    private final SubviewDecorator decorator = new SelectObjectBorder.Factory();
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    private final Where where = Where.ANYWHERE;
-
-    public ClosedObjectNodeSpecification(final boolean showObjectContents) {
-        this.showObjectContents = showObjectContents;
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && requirement.hasReference();
-    }
-
-    @Override
-    public int canOpen(final Content content) {
-        final ObjectAdapter object = ((ObjectContent) content).getObject();
-        final List<ObjectAssociation> fields = object.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
-        for (int i = 0; i < fields.size(); i++) {
-            if (fields.get(i).isOneToManyAssociation()) {
-                return CAN_OPEN;
-            }
-
-            // TODO: rather than looking for the ChoicesFacet on the type, 
-            // should look for the appropriate PropertyChoicesFacet, ActionParameterChoicesFacet or 
-            // PropertyAutoCompleteFacet or ActionParameterAutoCompleteFacet
-            if (showObjectContents && fields.get(i).isOneToOneAssociation() && !(ChoicesFacetUtils.hasChoices(object.getSpecification()))) {
-                return CAN_OPEN;
-            }
-        }
-        return CANT_OPEN;
-    }
-
-    @Override
-    protected View createNodeView(final Content content, final Axes axes) {
-        View treeLeafNode = new LeafNodeView(content, this);
-        treeLeafNode = decorator.decorate(axes, treeLeafNode);
-        return treeLeafNode;
-    }
-
-    @Override
-    public String getName() {
-        return "Object tree node - closed";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/CompositeNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/CompositeNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/CompositeNodeSpecification.java
deleted file mode 100644
index d824cbf..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/CompositeNodeSpecification.java
+++ /dev/null
@@ -1,66 +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.dnd.tree;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewUsingBuilder;
-import org.apache.isis.viewer.dnd.view.composite.ViewBuilder;
-
-public abstract class CompositeNodeSpecification extends NodeSpecification implements CompositeViewSpecification {
-    protected ViewBuilder builder;
-    private NodeSpecification collectionLeafNodeSpecification;
-    private NodeSpecification objectLeafNodeSpecification;
-
-    public void setCollectionSubNodeSpecification(final NodeSpecification collectionLeafNodeSpecification) {
-        this.collectionLeafNodeSpecification = collectionLeafNodeSpecification;
-    }
-
-    public void setObjectSubNodeSpecification(final NodeSpecification objectLeafNodeSpecification) {
-        this.objectLeafNodeSpecification = objectLeafNodeSpecification;
-    }
-
-    public void createAxes(final Content content, final Axes axes) {
-    }
-
-    @Override
-    protected View createNodeView(final Content content, final Axes axes) {
-        final CompositeViewUsingBuilder view = new CompositeViewUsingBuilder(content, this, axes, createLayout(content, axes), builder);
-        return view;
-    }
-
-    protected abstract Layout createLayout(Content content, Axes axes);
-
-    /*
-     * public View createView(final Content content, Axes axes, int fieldNumber)
-     * { ViewRequirement requirement = new ViewRequirement(content,
-     * ViewRequirement.CLOSED); if
-     * (collectionLeafNodeSpecification.canDisplay(content, requirement )) {
-     * return collectionLeafNodeSpecification.createView(content, axes, -1); }
-     * 
-     * if (objectLeafNodeSpecification.canDisplay(content, requirement)) {
-     * return objectLeafNodeSpecification.createView(content, axes, -1); }
-     * 
-     * return null; }
-     */
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/EmptyNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/EmptyNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/EmptyNodeSpecification.java
deleted file mode 100644
index 98349b5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/EmptyNodeSpecification.java
+++ /dev/null
@@ -1,54 +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.dnd.tree;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-
-/**
- * A simple specification that always returns false when asked if it can display
- * any content.
- * 
- * @see #canDisplay(ViewRequirement)
- */
-public class EmptyNodeSpecification extends NodeSpecification {
-
-    @Override
-    public int canOpen(final Content content) {
-        return CANT_OPEN;
-    }
-
-    @Override
-    protected View createNodeView(final Content content, final Axes axes) {
-        return null;
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return false;
-    }
-
-    @Override
-    public String getName() {
-        return "Empty tree node";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/LeafNodeView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/LeafNodeView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/LeafNodeView.java
deleted file mode 100644
index f461111..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/LeafNodeView.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.dnd.tree;
-
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.ObjectView;
-
-class LeafNodeView extends ObjectView {
-
-    private FocusManager focusManager;
-
-    public LeafNodeView(final Content content, final ViewSpecification design) {
-        super(content, design);
-    }
-
-    @Override
-    public FocusManager getFocusManager() {
-        return focusManager;
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-        this.focusManager = focusManager;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ListWithDetailSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ListWithDetailSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ListWithDetailSpecification.java
deleted file mode 100644
index 2fdb08c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ListWithDetailSpecification.java
+++ /dev/null
@@ -1,79 +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.dnd.tree;
-
-import org.apache.isis.viewer.dnd.list.SimpleListSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.border.SelectObjectBorder;
-import org.apache.isis.viewer.dnd.view.composite.MasterDetailPanel;
-
-public class ListWithDetailSpecification implements ViewSpecification {
-    private final SimpleListSpecification leftHandSideSpecification;
-
-    public ListWithDetailSpecification() {
-        leftHandSideSpecification = new SimpleListSpecification();
-        leftHandSideSpecification.addSubviewDecorator(new SelectObjectBorder.Factory());
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isCollection() && requirement.isOpen();
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        return new MasterDetailPanel(content, this, leftHandSideSpecification);
-    }
-
-    @Override
-    public String getName() {
-        return "List and details";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return true;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-}


[39/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/pom.xml b/mothballed/component/objectstore/xml/pom.xml
deleted file mode 100644
index 39b7a5d..0000000
--- a/mothballed/component/objectstore/xml/pom.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-    <parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.6.0-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-	</parent>
-
-	<groupId>org.apache.isis.objectstore</groupId>
-	<artifactId>isis-objectstore-xml</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-	<name>Isis XML ObjectStore</name>
-
-	<properties>
-        <skipTests>true</skipTests>
-        <siteBaseDir>.</siteBaseDir>
-		<relativeUrl/>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.10</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-	                        <exclude>**/xml/tmp/**</exclude>
-	                        <exclude>**/xml/xml/objects/services.xml</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-
-    <dependencyManagement>
-    	<!-- for benefit of application developers, using scope=import -->
-    	<dependencies>
-			<dependency>
-			    <groupId>org.apache.isis.objectstore</groupId>
-			    <artifactId>isis-objectstore-xml</artifactId>
-				<version>1.0.0-SNAPSHOT</version>
-			</dependency>
-    	</dependencies>
-    </dependencyManagement>
-
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-metamodel</artifactId>
-			<type>test-jar</type>
-			<scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-unittestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-bytecode-cglib</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-		</dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-integtestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-tck-dom</artifactId>
-        </dependency>
-
-	</dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/appended-resources/supplemental-models.xml b/mothballed/component/objectstore/xml/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/mothballed/component/objectstore/xml/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-   	<!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
-    <project>
-		<groupId>org.datanucleus</groupId>
-	    <artifactId>datanucleus-jodatime</artifactId>
-	    <version>3.1.1</version>
-          <licenses>
-			<license>
-	            <name>The Apache Software License, Version 2.0</name>
-	            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-	        </license>
-	    </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>org.scannotation</groupId>
-      <artifactId>scannotation</artifactId>
-      <version>1.0.3</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-    
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>net.jcip</groupId>
-      <artifactId>jcip-annotations</artifactId>
-      <version>1.0</version>
-      <licenses>
-        <license>
-            <name>Creative Commons Attribution 2.5 License</name>
-            <url>http://creativecommons.org/licenses/by/2.5/</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  
-
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.0</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
- 
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java
deleted file mode 100644
index 735f09c..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java
+++ /dev/null
@@ -1,461 +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.objectstore.xml;
-
-import java.text.MessageFormat;
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.xml.XmlFile;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.ResolveState;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
-import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.persistence.PersistorUtil;
-import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryBuiltIn;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.objectstore.xml.internal.clock.Clock;
-import org.apache.isis.objectstore.xml.internal.commands.XmlCreateObjectCommand;
-import org.apache.isis.objectstore.xml.internal.commands.XmlDestroyObjectCommand;
-import org.apache.isis.objectstore.xml.internal.commands.XmlUpdateObjectCommand;
-import org.apache.isis.objectstore.xml.internal.data.CollectionData;
-import org.apache.isis.objectstore.xml.internal.data.Data;
-import org.apache.isis.objectstore.xml.internal.data.DataManager;
-import org.apache.isis.objectstore.xml.internal.data.ListOfRootOid;
-import org.apache.isis.objectstore.xml.internal.data.ObjectData;
-import org.apache.isis.objectstore.xml.internal.data.ObjectDataVector;
-import org.apache.isis.objectstore.xml.internal.data.xml.Utils;
-import org.apache.isis.objectstore.xml.internal.data.xml.XmlDataManager;
-import org.apache.isis.objectstore.xml.internal.services.ServiceManager;
-import org.apache.isis.objectstore.xml.internal.services.xml.XmlServiceManager;
-import org.apache.isis.objectstore.xml.internal.version.FileVersion;
-
-public class XmlObjectStore implements ObjectStoreSpi {
-
-    private static final Logger LOG = LoggerFactory.getLogger(XmlObjectStore.class);
-    private static final String XMLOS_DIR = ConfigurationConstants.ROOT + "xmlos.dir";
-    private final DataManager dataManager;
-    private final ServiceManager serviceManager;
-    private boolean isFixturesInstalled;
-
-    public XmlObjectStore(final IsisConfiguration configuration) {
-        final String charset = Utils.lookupCharset(configuration);
-        final String directory = configuration.getString(XMLOS_DIR, "xml/objects");
-        final XmlFile xmlFile = new XmlFile(charset, directory);
-        dataManager = new XmlDataManager(xmlFile);
-        serviceManager = new XmlServiceManager(xmlFile);
-        serviceManager.loadServices();
-    }
-
-    public XmlObjectStore(final DataManager dataManager, final ServiceManager serviceManager) {
-        this.dataManager = dataManager;
-        this.serviceManager = serviceManager;
-        serviceManager.loadServices();
-    }
-
-    // /////////////////////////////////////////////////////////
-    // name
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public String name() {
-        return "XML";
-    }
-
-    // /////////////////////////////////////////////////////////
-    // close
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public void close() {
-        LOG.info("close " + this);
-    }
-
-    // /////////////////////////////////////////////////////////
-    // reset
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public void reset() {
-    }
-
-    // /////////////////////////////////////////////////////////
-    // init, shutdown, finalize
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public boolean hasInstances(final ObjectSpecification cls) {
-        LOG.debug("checking instance of " + cls);
-        final ObjectData data = new ObjectData(RootOidDefault.create(cls.getSpecId(), "---dummy-value-never-used---"), null);
-        return dataManager.numberOfInstances(data) > 0;
-    }
-
-    @Override
-    public void open() throws ObjectPersistenceException {
-        isFixturesInstalled = dataManager.isFixturesInstalled();
-    }
-
-    @Override
-    public boolean isFixturesInstalled() {
-        return isFixturesInstalled;
-    }
-
-    private void initObject(final ObjectAdapter adapter, final ObjectData data) {
-        if (!adapter.canTransitionToResolving()) {
-            return;
-        } 
-        try {
-            PersistorUtil.startResolving(adapter);
-            final List<ObjectAssociation> fields = adapter.getSpecification().getAssociations(Contributed.EXCLUDED);
-            for (int i = 0; i < fields.size(); i++) {
-                final ObjectAssociation field = fields.get(i);
-                if (field.isNotPersisted()) {
-                    continue;
-                }
-
-                final ObjectSpecification fieldSpecification = field.getSpecification();
-                if (fieldSpecification.isEncodeable()) {
-                    final EncodableFacet encoder = fieldSpecification.getFacet(EncodableFacet.class);
-                    ObjectAdapter value;
-                    final String valueData = data.value(field.getId());
-                    if (valueData != null) {
-                        if (valueData.equals("NULL")) {
-                            value = null;
-                        } else {
-                            value = encoder.fromEncodedString(valueData);
-                        }
-                        ((OneToOneAssociation) field).initAssociation(adapter, value);
-                    }
-                } else if (field.isOneToManyAssociation()) {
-                    initObjectSetupCollection(adapter, data, field);
-                } else if (field.isOneToOneAssociation()) {
-                    initObjectSetupReference(adapter, data, field);
-                }
-            }
-            adapter.setVersion(data.getVersion());
-        } finally {
-            PersistorUtil.toEndState(adapter);
-        }
-    }
-
-    private void initObjectSetupReference(final ObjectAdapter object, final ObjectData data, final ObjectAssociation field) {
-    	
-        final RootOid referencedOid = (RootOidDefault) data.get(field.getId());
-        if(LOG.isDebugEnabled()) {
-            LOG.debug("setting up field " + field + " with " + referencedOid);
-        }
-        if (referencedOid == null) {
-            return;
-        }
-
-        final Data fieldData = dataManager.loadData(referencedOid);
-
-        final ObjectAdapter referencedAdapter = getAdapterManager().adapterFor(referencedOid);
-        if (fieldData == null) {
-            if (!referencedAdapter.isDestroyed()) {
-                referencedAdapter.changeState(ResolveState.DESTROYED);
-            }
-            LOG.warn("No data found for " + referencedOid + " so field '" + field.getName() + "' not set in object '" + object.titleString() + "'");
-        }
-        ((OneToOneAssociation) field).initAssociation(object, referencedAdapter);
-
-        // REVIEW: what was this commented out code for?
-        /*
-         * if (loadedObjects().isLoaded(referenceOid)) { ObjectAdapter
-         * loadedObject = loadedObjects().getLoadedObject(referenceOid);
-         * LOG.debug("using loaded object " + loadedObject);
-         * object.initAssociation((OneToOneAssociation) field, loadedObject); }
-         * else { ObjectAdapter fieldObject; Data fieldData = (Data)
-         * dataManager.loadData((SerialOid) referenceOid);
-         * 
-         * if (fieldData != null) { fieldObject = (ObjectAdapter)
-         * specFor(fieldData).acquireInstance(); } else { fieldObject =
-         * (ObjectAdapter) field.getSpecification().acquireInstance(); }
-         * 
-         * fieldObject.setOid(referenceOid);
-         * 
-         * if (fieldObject instanceof CollectionAdapter) {
-         * fieldObject.setResolved(); }
-         * 
-         * loadedObjects().loaded(fieldObject);
-         * object.initAssociation((OneToOneAssociation) field, fieldObject); }
-         */
-    }
-
-    private void initObjectSetupCollection(final ObjectAdapter objectAdapter, final ObjectData data, final ObjectAssociation field) {
-        /*
-         * The internal collection is already a part of the object, and
-         * therefore cannot be recreated, but its oid must be set
-         */
-        final ListOfRootOid refs = (ListOfRootOid) data.get(field.getId());
-        
-        final ObjectAdapter collectionAdapter = field.get(objectAdapter);
-        if (!collectionAdapter.canTransitionToResolving()) {
-            return;
-        } 
-        
-        try {
-            PersistorUtil.startResolving(collectionAdapter);
-            final int size = refs == null ? 0 : refs.size();
-            final ObjectAdapter[] elements = new ObjectAdapter[size];
-            for (int j = 0; j < size; j++) {
-                final RootOid elementOid = refs.elementAt(j);
-                ObjectAdapter adapter;
-                adapter = getAdapterManager().getAdapterFor(elementOid);
-                if (adapter == null) {
-                    adapter = loadInstanceAndAdapt(elementOid);
-                }
-                elements[j] = adapter;
-            }
-            final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collectionAdapter);
-            facet.init(collectionAdapter, elements);
-        } finally {
-            PersistorUtil.toEndState(collectionAdapter);
-        }
-    }
-
-    // /////////////////////////////////////////////////////////
-    // Transaction Management
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public void startTransaction() {
-        LOG.debug("start transaction");
-    }
-
-    @Override
-    public void endTransaction() {
-        LOG.debug("end transaction");
-    }
-
-    @Override
-    public void abortTransaction() {
-        LOG.debug("transaction aborted");
-    }
-
-    // /////////////////////////////////////////////////////////
-    // createXxxCommands
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public CreateObjectCommand createCreateObjectCommand(final ObjectAdapter object) {
-        return new XmlCreateObjectCommand(object, dataManager);
-    }
-
-    @Override
-    public SaveObjectCommand createSaveObjectCommand(final ObjectAdapter object) {
-        return new XmlUpdateObjectCommand(object, dataManager);
-    }
-
-    @Override
-    public DestroyObjectCommand createDestroyObjectCommand(final ObjectAdapter object) {
-        return new XmlDestroyObjectCommand(object, dataManager);
-    }
-
-    // /////////////////////////////////////////////////////////
-    // execute, flush
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public void execute(final List<PersistenceCommand> commands) {
-        LOG.debug("start execution of transaction");
-        for (final PersistenceCommand command : commands) {
-            command.execute(null);
-        }
-        LOG.debug("end execution");
-    }
-
-    // /////////////////////////////////////////////////////////
-    // getObject, resolveImmediately, resolveField
-    // /////////////////////////////////////////////////////////
-
-
-    @Override
-    public ObjectAdapter loadInstanceAndAdapt(final TypedOid oid) {
-        LOG.debug("getObject " + oid);
-        final Data data = dataManager.loadData((RootOidDefault) oid);
-        LOG.debug("  data read " + data);
-
-        ObjectAdapter object;
-
-        if (data instanceof ObjectData) {
-            object = recreateAdapter((ObjectData) data);
-        } else if (data instanceof CollectionData) {
-            throw new IsisException();
-        } else {
-            throw new ObjectNotFoundException(oid);
-        }
-        return object;
-    }
-
-    @Override
-    public void resolveField(final ObjectAdapter object, final ObjectAssociation field) {
-        final ObjectAdapter reference = field.get(object);
-        resolveImmediately(reference);
-    }
-
-    @Override
-    public void resolveImmediately(final ObjectAdapter object) {
-        final ObjectData data = (ObjectData) dataManager.loadData((RootOidDefault) object.getOid());
-        Assert.assertNotNull("Not able to read in data during resolve", object, data);
-        initObject(object, data);
-    }
-
-    /*
-     * The ObjectData holds all references for internal collections, so the
-     * object should haves its internal collection populated by this method.
-     */
-    private ObjectAdapter recreateAdapter(final ObjectData data) {
-        final RootOid oid = data.getRootOid();
-        final ObjectAdapter adapter = getAdapterManager().adapterFor(oid);
-        initObject(adapter, data);
-        return adapter;
-    }
-
-    // /////////////////////////////////////////////////////////
-    // getInstances, allInstances
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public List<ObjectAdapter> loadInstancesAndAdapt(final PersistenceQuery persistenceQuery) {
-
-        if (!(persistenceQuery instanceof PersistenceQueryBuiltIn)) {
-            throw new IllegalArgumentException(MessageFormat.format("Provided PersistenceQuery not supported; was {0}; " + "the XML object store only supports {1}", persistenceQuery.getClass().getName(), PersistenceQueryBuiltIn.class.getName()));
-        }
-        final PersistenceQueryBuiltIn builtIn = (PersistenceQueryBuiltIn) persistenceQuery;
-
-        final ObjectSpecification objSpec = builtIn.getSpecification();
-        LOG.debug("getInstances of " + objSpec + " where " + builtIn);
-        final RootOid oid = RootOidDefault.create(objSpec.getSpecId(), "dummy");
-        final ObjectData patternData = new ObjectData(oid, null);
-        return getInstances(patternData, builtIn);
-    }
-
-    private List<ObjectAdapter> getInstances(final ObjectData patternData, final PersistenceQueryBuiltIn persistenceQuery) {
-        final ObjectDataVector data = dataManager.getInstances(patternData);
-        final List<ObjectAdapter> instances = Lists.newArrayList();
-        
-        for (int i = 0; i < data.size(); i++) {
-            final ObjectData instanceData = data.element(i);
-            if(LOG.isDebugEnabled()) {
-                LOG.debug("instance data " + instanceData);
-            }
-
-            final RootOid oid = instanceData.getRootOid();
-
-            final ObjectAdapter adapter = getAdapterManager().adapterFor(oid);
-            if(LOG.isDebugEnabled()) {
-                LOG.debug("recreated instance " + adapter);
-            }
-            initObject(adapter, instanceData);
-
-            if (persistenceQuery == null || persistenceQuery.matches(adapter)) {
-                instances.add(adapter);
-            }
-        }
-        return instances;
-    }
-
-    // /////////////////////////////////////////////////////////
-    // services
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public RootOid getOidForService(ObjectSpecification serviceSpec) {
-        return serviceManager.getOidForService(serviceSpec.getSpecId());
-    }
-
-    @Override
-    public void registerService(final RootOid rootOid) {
-        serviceManager.registerService(rootOid);
-    }
-
-    // /////////////////////////////////////////////////////////
-    // debugging
-    // /////////////////////////////////////////////////////////
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendTitle("Business Objects");
-        debug.appendln(dataManager.getDebugData());
-    }
-
-    @Override
-    public String debugTitle() {
-        return "XML Object Store";
-    }
-
-    // /////////////////////////////////////////////////////////
-    // Dependencies (injected)
-    // /////////////////////////////////////////////////////////
-
-    /**
-     * Set the clock used to generate sequence numbers and last changed dates
-     * for version objects.
-     */
-    public void setClock(final Clock clock) {
-        FileVersion.setClock(clock);
-    }
-
-    // /////////////////////////////////////////////////////////
-    // Dependencies (from singleton)
-    // /////////////////////////////////////////////////////////
-
-    protected SpecificationLoader getSpecificationLookup() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-    private AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlPersistenceMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlPersistenceMechanismInstaller.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlPersistenceMechanismInstaller.java
deleted file mode 100644
index d3c430f..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlPersistenceMechanismInstaller.java
+++ /dev/null
@@ -1,57 +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.objectstore.xml;
-
-import java.util.Date;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapterFactory;
-import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract;
-import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.core.runtime.system.persistence.AdapterManagerSpi;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGenerator;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGeneratorDefault;
-import org.apache.isis.objectstore.xml.internal.clock.DefaultClock;
-
-public class XmlPersistenceMechanismInstaller extends PersistenceMechanismInstallerAbstract {
-
-    public static final String NAME = "xml";
-    
-    private XmlObjectStore objectStore;
-
-    public XmlPersistenceMechanismInstaller() {
-        super(NAME);
-    }
-
-    @Override
-    protected ObjectStoreSpi createObjectStore(final IsisConfiguration configuration, final ObjectAdapterFactory objectFactory, final AdapterManagerSpi adapterManager) {
-        if (objectStore == null) {
-            objectStore = new XmlObjectStore(configuration);
-            objectStore.setClock(new DefaultClock());
-        }
-        return objectStore;
-    }
-
-    @Override
-    public IdentifierGenerator createIdentifierGenerator(final IsisConfiguration configuration) {
-        final long currentTime = new Date().getTime();
-        return new IdentifierGeneratorDefault(currentTime);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/clock/Clock.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/clock/Clock.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/clock/Clock.java
deleted file mode 100644
index 8d31534..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/clock/Clock.java
+++ /dev/null
@@ -1,26 +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.objectstore.xml.internal.clock;
-
-public interface Clock {
-
-    long getTime();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/clock/DefaultClock.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/clock/DefaultClock.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/clock/DefaultClock.java
deleted file mode 100644
index 81bb4cc..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/clock/DefaultClock.java
+++ /dev/null
@@ -1,28 +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.objectstore.xml.internal.clock;
-
-public class DefaultClock implements Clock {
-    @Override
-    public long getTime() {
-        return System.currentTimeMillis();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java
deleted file mode 100644
index 38fd3b4..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java
+++ /dev/null
@@ -1,99 +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.objectstore.xml.internal.commands;
-
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandAbstract;
-import org.apache.isis.objectstore.xml.internal.data.DataManager;
-import org.apache.isis.objectstore.xml.internal.data.ObjectData;
-
-abstract class AbstractXmlPersistenceCommand extends PersistenceCommandAbstract {
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractXmlPersistenceCommand.class);
-
-    private final DataManager dataManager;
-
-    public AbstractXmlPersistenceCommand(final ObjectAdapter adapter, final DataManager dataManager) {
-        super(adapter);
-        this.dataManager = dataManager;
-    }
-
-    protected DataManager getDataManager() {
-        return dataManager;
-    }
-
-    protected ObjectData createObjectData(final ObjectAdapter adapter, final boolean ensurePersistent) {
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("compiling object data for " + adapter);
-        }
-
-        final ObjectSpecification adapterSpec = adapter.getSpecification();
-        final ObjectData data = new ObjectData((RootOidDefault) adapter.getOid(), adapter.getVersion());
-
-        final List<ObjectAssociation> associations = adapterSpec.getAssociations(Contributed.EXCLUDED);
-        for (final ObjectAssociation association : associations) {
-            if (association.isNotPersisted()) {
-                continue;
-            }
-
-            final ObjectAdapter associatedObject = association.get(adapter);
-            final boolean isEmpty = association.isEmpty(adapter);
-            final String associationId = association.getId();
-
-            if (association.isOneToManyAssociation()) {
-                saveCollection(associationId, data, associatedObject, ensurePersistent);
-            } else if (association.getSpecification().isEncodeable()) {
-                saveEncoded(data, associationId, associatedObject, isEmpty);
-            } else if (association.isOneToOneAssociation()) {
-                saveReference(data, associationId, associatedObject, ensurePersistent);
-            }
-        }
-
-        return data;
-    }
-
-    private void saveReference(final ObjectData data, final String associationId, final ObjectAdapter associatedObject, final boolean ensurePersistent) {
-        data.addAssociation(associatedObject, associationId, ensurePersistent);
-    }
-
-    private void saveCollection(final String associationId, final ObjectData data, final ObjectAdapter associatedObject, final boolean ensurePersistent) {
-        data.addInternalCollection(associatedObject, associationId, ensurePersistent);
-    }
-
-    private void saveEncoded(final ObjectData data, final String associationId, final ObjectAdapter associatedObject, final boolean isEmpty) {
-        if (associatedObject == null || isEmpty) {
-            data.saveValue(associationId, isEmpty, null);
-        } else {
-            final EncodableFacet facet = associatedObject.getSpecification().getFacet(EncodableFacet.class);
-            final String encodedValue = facet.toEncodedString(associatedObject);
-            data.saveValue(associationId, isEmpty, encodedValue);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlCreateObjectCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlCreateObjectCommand.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlCreateObjectCommand.java
deleted file mode 100644
index 9cab4c9..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlCreateObjectCommand.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.objectstore.xml.internal.commands;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.objectstore.xml.internal.data.DataManager;
-import org.apache.isis.objectstore.xml.internal.data.ObjectData;
-import org.apache.isis.objectstore.xml.internal.version.FileVersion;
-
-public final class XmlCreateObjectCommand extends AbstractXmlPersistenceCommand implements CreateObjectCommand {
-    private static final Logger LOG = LoggerFactory.getLogger(XmlCreateObjectCommand.class);
-
-    public XmlCreateObjectCommand(final ObjectAdapter adapter, final DataManager dataManager) {
-        super(adapter, dataManager);
-    }
-
-    @Override
-    public void execute(final PersistenceCommandContext context) throws ObjectPersistenceException {
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("  create object " + onAdapter());
-        }
-        final String user = getAuthenticationSession().getUserName();
-        onAdapter().setVersion(FileVersion.create(user));
-        final ObjectData data = createObjectData(onAdapter(), true);
-        getDataManager().insertObject(data);
-    }
-
-    @Override
-    public String toString() {
-        return "CreateObjectCommand [object=" + onAdapter() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlDestroyObjectCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlDestroyObjectCommand.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlDestroyObjectCommand.java
deleted file mode 100644
index e210443..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlDestroyObjectCommand.java
+++ /dev/null
@@ -1,53 +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.objectstore.xml.internal.commands;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.objectstore.xml.internal.data.DataManager;
-
-public final class XmlDestroyObjectCommand extends AbstractXmlPersistenceCommand implements DestroyObjectCommand {
-    private static final Logger LOG = LoggerFactory.getLogger(XmlDestroyObjectCommand.class);
-
-    public XmlDestroyObjectCommand(final ObjectAdapter adapter, final DataManager dataManager) {
-        super(adapter, dataManager);
-    }
-
-    @Override
-    public void execute(final PersistenceCommandContext context) throws ObjectPersistenceException {
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("  destroy object " + onAdapter());
-        }
-        final RootOidDefault oid = (RootOidDefault) onAdapter().getOid();
-        getDataManager().remove(oid);
-        onAdapter().setVersion(null);
-    }
-
-    @Override
-    public String toString() {
-        return "DestroyObjectCommand [object=" + onAdapter() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlUpdateObjectCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlUpdateObjectCommand.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlUpdateObjectCommand.java
deleted file mode 100644
index 2a0e3a1..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/XmlUpdateObjectCommand.java
+++ /dev/null
@@ -1,58 +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.objectstore.xml.internal.commands;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
-import org.apache.isis.objectstore.xml.internal.data.Data;
-import org.apache.isis.objectstore.xml.internal.data.DataManager;
-import org.apache.isis.objectstore.xml.internal.version.FileVersion;
-
-public final class XmlUpdateObjectCommand extends AbstractXmlPersistenceCommand implements SaveObjectCommand {
-
-    private static final Logger LOG = LoggerFactory.getLogger(XmlUpdateObjectCommand.class);
-
-    public XmlUpdateObjectCommand(final ObjectAdapter adapter, final DataManager dataManager) {
-        super(adapter, dataManager);
-    }
-
-    @Override
-    public void execute(final PersistenceCommandContext context) throws ObjectPersistenceException {
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("  save object " + onAdapter());
-        }
-        final String user = getAuthenticationSession().getUserName();
-        onAdapter().setVersion(FileVersion.create(user));
-
-        final Data data = createObjectData(onAdapter(), true);
-        getDataManager().save(data);
-    }
-
-    @Override
-    public String toString() {
-        return "SaveObjectCommand [object=" + onAdapter() + "]";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/CollectionData.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/CollectionData.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/CollectionData.java
deleted file mode 100644
index e77096b..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/CollectionData.java
+++ /dev/null
@@ -1,51 +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.objectstore.xml.internal.data;
-
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-
-/**
- * A logical collection of elements of a specified type
- */
-public class CollectionData extends Data {
-    private final ListOfRootOid elements = new ListOfRootOid();
-
-    public CollectionData(final RootOid oid, final Version version) {
-        super(oid, version);
-    }
-
-    public void addElement(final RootOid elementOid) {
-        elements.add(elementOid);
-    }
-
-    public void removeElement(final RootOid elementOid) {
-        elements.remove(elementOid);
-    }
-
-    public ListOfRootOid references() {
-        return elements;
-    }
-
-    @Override
-    public String toString() {
-        return "CollectionData[type=" + getObjectSpecId() + ",elements=" + elements + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/Data.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/Data.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/Data.java
deleted file mode 100644
index 03fd257..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/Data.java
+++ /dev/null
@@ -1,79 +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.objectstore.xml.internal.data;
-
-import com.google.common.base.Objects;
-
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-
-public abstract class Data {
-    
-    private final RootOid oid;
-    private final Version version;
-
-    Data(final RootOid oid, final Version version) {
-        this.oid = oid;
-        this.version = version;
-    }
-
-    public RootOid getRootOid() {
-        return oid;
-    }
-
-    public Version getVersion() {
-        return version;
-    }
-
-    public ObjectSpecification getSpecification(SpecificationLoader specificationLookup) {
-        final ObjectSpecId objectSpecId = oid.getObjectSpecId();
-        return specificationLookup.lookupBySpecId(objectSpecId);
-    }
-
-    public ObjectSpecId getObjectSpecId() {
-        return getRootOid().getObjectSpecId();
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj == this) {
-            return true;
-        }
-
-        if (obj instanceof Data) {
-            final Data data = (Data) obj;
-            return Objects.equal(data.getObjectSpecId(), getObjectSpecId()) && Objects.equal(data.oid, oid);
-        }
-
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        int h = 17;
-        h = 37 * h + getObjectSpecId().hashCode();
-        h = 37 * h + oid.hashCode();
-        return h;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/DataManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/DataManager.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/DataManager.java
deleted file mode 100644
index 4f3ab9b..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/DataManager.java
+++ /dev/null
@@ -1,57 +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.objectstore.xml.internal.data;
-
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-
-public interface DataManager {
-
-    void shutdown();
-
-    /**
-     * Return data for all instances that match the pattern.
-     */
-    public ObjectDataVector getInstances(final ObjectData pattern);
-
-    /**
-     * Return the number of instances that match the specified data
-     */
-    public int numberOfInstances(final ObjectData pattern);
-
-    public Data loadData(final RootOid oid);
-
-    /**
-     * Save the data for an object and adds the reference to a list of instances
-     */
-    void insertObject(ObjectData data);
-
-    void remove(RootOid oid) throws ObjectNotFoundException, ObjectPersistenceException;
-
-    /**
-     * Save the data for latter retrieval.
-     */
-    void save(Data data);
-
-    String getDebugData();
-
-    boolean isFixturesInstalled();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ListOfRootOid.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ListOfRootOid.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ListOfRootOid.java
deleted file mode 100644
index 5197678..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ListOfRootOid.java
+++ /dev/null
@@ -1,75 +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.objectstore.xml.internal.data;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-
-public class ListOfRootOid {
-    
-    private final List<RootOid> elements = Lists.newArrayList();
-
-    public void add(final RootOid oid) {
-        elements.add(oid);
-    }
-
-    public void remove(final RootOid oid) {
-        elements.remove(oid);
-    }
-
-    public int size() {
-        return elements.size();
-    }
-
-    public RootOid elementAt(final int index) {
-        return elements.get(index);
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj == this) {
-            return true;
-        }
-
-        if (obj instanceof ListOfRootOid) {
-            return ((ListOfRootOid) obj).elements.equals(elements);
-        }
-
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        int h = 17;
-        h = 37 * h + elements.hashCode();
-        return h;
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("refs", elements);
-        return str.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ObjectData.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ObjectData.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ObjectData.java
deleted file mode 100644
index 62cc7aa..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ObjectData.java
+++ /dev/null
@@ -1,157 +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.objectstore.xml.internal.data;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
-
-/**
- * A logical collection of elements of a specified type
- */
-public class ObjectData extends Data {
-    private final Map<String, Object> fieldById;
-
-    public ObjectData(final RootOid oid, final Version version) {
-        super(oid, version);
-        fieldById = new HashMap<String, Object>();
-    }
-
-    public Iterable<String> fields() {
-        return fieldById.keySet();
-    }
-
-    // ////////////////////////////////////////////////////////
-    // id
-    // ////////////////////////////////////////////////////////
-
-    public String id(final String fieldId) {
-        final Object field = get(fieldId);
-        return field == null ? null : "" + ((RootOidDefault) field).getIdentifier();
-    }
-
-    // ////////////////////////////////////////////////////////
-    // value
-    // ////////////////////////////////////////////////////////
-
-    public void set(final String fieldId, final String value) {
-        fieldById.put(fieldId, value);
-    }
-
-    public void saveValue(final String fieldId, final boolean isEmpty, final String encodedString) {
-        if (isEmpty) {
-            fieldById.remove(fieldId);
-        } else {
-            fieldById.put(fieldId, encodedString);
-        }
-    }
-
-    public String value(final String fieldId) {
-        return (String) get(fieldId);
-    }
-
-    // ////////////////////////////////////////////////////////
-    // reference
-    // ////////////////////////////////////////////////////////
-
-    public Object get(final String fieldId) {
-        return fieldById.get(fieldId);
-    }
-
-    public void set(final String fieldId, final Object oid) {
-        if (oid == null) {
-            fieldById.remove(fieldId);
-        } else {
-            fieldById.put(fieldId, oid);
-        }
-    }
-
-    // ////////////////////////////////////////////////////////
-    // collection
-    // ////////////////////////////////////////////////////////
-
-    public void initCollection(final String fieldId) {
-        fieldById.put(fieldId, new ListOfRootOid());
-    }
-
-    public void addElement(final String fieldId, final RootOidDefault elementOid) {
-        if (!fieldById.containsKey(fieldId)) {
-            throw new IsisException("Field " + fieldId + " not found  in hashtable");
-        }
-
-        final ListOfRootOid v = (ListOfRootOid) fieldById.get(fieldId);
-        v.add(elementOid);
-    }
-
-    public ListOfRootOid elements(final String fieldId) {
-        return (ListOfRootOid) fieldById.get(fieldId);
-    }
-
-    public void addAssociation(final ObjectAdapter fieldContent, final String fieldId, final boolean ensurePersistent) {
-        final boolean notAlreadyPersistent = fieldContent != null && fieldContent.isTransient();
-        if (ensurePersistent && notAlreadyPersistent) {
-            throw new IllegalStateException("Cannot save an object that is not persistent: " + fieldContent);
-        }
-        // LOG.debug("adding reference field " + fieldId +" " + fieldContent);
-        set(fieldId, fieldContent == null ? null : fieldContent.getOid());
-    }
-
-    public void addInternalCollection(final ObjectAdapter collection, final String fieldId, final boolean ensurePersistent) {
-        /*
-         * if (ensurePersistent && collection != null && collection.getOid() ==
-         * null) { throw new
-         * IllegalStateException("Cannot save a collection that is not persistent: "
-         * + collection); }
-         */
-
-        initCollection(fieldId);
-
-        // int size = collection.size();
-
-        final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
-        for (final ObjectAdapter element : facet.iterable(collection)) {
-            // LOG.debug("adding element to internal collection field " +
-            // fieldId +" " + element);
-            final Object elementOid = element.getOid();
-            if (elementOid == null) {
-                throw new IllegalStateException("Element is not persistent " + element);
-            }
-
-            addElement(fieldId, (RootOidDefault) elementOid);
-        }
-    }
-
-    // ////////////////////////////////////////////////////////
-    // toString
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public String toString() {
-        return "ObjectData[type=" + getObjectSpecId() + ",oid=" + getRootOid() + ",fields=" + fieldById + "]";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataVector.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataVector.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataVector.java
deleted file mode 100644
index 83942cf..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/ObjectDataVector.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.objectstore.xml.internal.data;
-
-import java.util.Vector;
-
-public class ObjectDataVector {
-    Vector elements = new Vector();
-
-    public void addElement(final ObjectData instanceData) {
-        elements.addElement(instanceData);
-    }
-
-    public int size() {
-        return elements.size();
-    }
-
-    public ObjectData element(final int i) {
-        return (ObjectData) elements.elementAt(i);
-    }
-
-    public boolean contains(final ObjectData data) {
-        return elements.contains(data);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/PersistorException.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/PersistorException.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/PersistorException.java
deleted file mode 100644
index e81a9d2..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/PersistorException.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.objectstore.xml.internal.data;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class PersistorException extends IsisException {
-    private static final long serialVersionUID = 1L;
-
-    public PersistorException() {
-        super();
-    }
-
-    public PersistorException(final String message) {
-        super(message);
-    }
-
-    public PersistorException(final String message, final Throwable cause) {
-        super(message, cause);
-    }
-
-    public PersistorException(final Throwable cause) {
-        super(cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/xml/Utils.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/xml/Utils.java b/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/xml/Utils.java
deleted file mode 100644
index 7c39d1e..0000000
--- a/mothballed/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/data/xml/Utils.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.objectstore.xml.internal.data.xml;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-
-public class Utils {
-    
-    private Utils(){}
-
-    public static final String ENCODING_PROPERTY = ConfigurationConstants.ROOT + "xmlos.encoding";
-    public static final String DEFAULT_ENCODING = "ISO-8859-1";
-
-    public static String lookupCharset(final IsisConfiguration configuration) {
-        return configuration.getString(ENCODING_PROPERTY, DEFAULT_ENCODING);
-    }
-
-    public static String attribute(final String name, final String value) {
-        return appendAttribute(new StringBuilder(), name, value).toString();
-    }
-
-    public static StringBuilder appendAttribute(StringBuilder buf, final String name, final String value) {
-        return buf.append(" ").append(name).append("=\"").append(value).append("\"");
-    }
-
-    public static Writer appendAttribute(Writer buf, final String name, final String value) throws IOException {
-        buf.append(" ");
-        buf.append(name);
-        buf.append("=\"");
-        buf.append(value);
-        buf.append("\"");
-        return buf;
-    }
-
-}


[17/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/NodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/NodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/NodeSpecification.java
deleted file mode 100644
index dfe14ee..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/NodeSpecification.java
+++ /dev/null
@@ -1,76 +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.dnd.tree;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.viewer.basic.NullFocusManager;
-
-abstract class NodeSpecification implements ViewSpecification {
-    public static final int CAN_OPEN = 1;
-    public static final int CANT_OPEN = 2;
-    public static final int UNKNOWN = 0;
-    private ViewSpecification replacementNodeSpecification;
-
-    public abstract int canOpen(final Content content);
-
-    protected abstract View createNodeView(final Content content, Axes axes);
-
-    @Override
-    public final View createView(final Content content, final Axes axes, final int sequence) {
-        final View view = createNodeView(content, axes);
-        final TreeNodeBorder newView = new TreeNodeBorder(view, replacementNodeSpecification);
-        newView.setFocusManager(new NullFocusManager());
-
-        return newView;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return true;
-    }
-
-    final void setReplacementNodeSpecification(final ViewSpecification replacementNodeSpecification) {
-        this.replacementNodeSpecification = replacementNodeSpecification;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenCollectionNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenCollectionNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenCollectionNodeSpecification.java
deleted file mode 100644
index ddd8af2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenCollectionNodeSpecification.java
+++ /dev/null
@@ -1,83 +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.dnd.tree;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.CollectionElementBuilder;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-
-/**
- * Specification for a tree node that will display an open collection as a root
- * node or within an object.
- * 
- * @see org.apache.isis.viewer.dnd.tree.ClosedCollectionNodeSpecification for
- *      displaying a closed collection within an object.
- */
-public class OpenCollectionNodeSpecification extends CompositeNodeSpecification {
-    /**
-     * A collection tree can only be displayed for a collection that has
-     * elements.
-     */
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        final ObjectAdapter collection = requirement.getAdapter();
-        if (collection == null) {
-            return false;
-        } else {
-            final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
-            return facet != null && facet.size(collection) > 0;
-        }
-    }
-
-    public OpenCollectionNodeSpecification() {
-        builder = new CollectionElementBuilder(this);
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public int canOpen(final Content content) {
-        return CAN_OPEN;
-    }
-
-    @Override
-    public String getName() {
-        return "Collection tree node - open";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java
deleted file mode 100644
index 43e3a71..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java
+++ /dev/null
@@ -1,109 +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.dnd.tree;
-
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.SelectObjectBorder;
-import org.apache.isis.viewer.dnd.view.composite.ObjectFieldBuilder;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-
-/**
- * Specification for a tree node that will display an open object as a root node
- * or within an object.
- * 
- * @see org.apache.isis.viewer.dnd.tree.ClosedObjectNodeSpecification for
- *      displaying a closed collection within an object.
- */
-public class OpenObjectNodeSpecification extends CompositeNodeSpecification {
-
-    private final SubviewDecorator decorator = new SelectObjectBorder.Factory();
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    private final Where where = Where.ANYWHERE;
-
-    public OpenObjectNodeSpecification() {
-        builder = new ObjectFieldBuilder(this);
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    /**
-     * This is only used to control root nodes. Therefore a object tree can only
-     * be displayed for an object with fields that are collections.
-     */
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        if (requirement.isObject() && requirement.hasReference()) {
-            final ObjectAdapter object = requirement.getAdapter();
-            final List<ObjectAssociation> fields = object.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
-            for (int i = 0; i < fields.size(); i++) {
-                if (fields.get(i).isOneToManyAssociation()) {
-                    return true;
-                }
-            }
-        }
-
-        return false;
-    }
-
-    @Override
-    protected View createNodeView(final Content content, final Axes axes) {
-        return decorator.decorate(axes, super.createNodeView(content, axes));
-    }
-
-    @Override
-    public int canOpen(final Content content) {
-        return CAN_OPEN;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public String getName() {
-        return "Object tree node - open";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeDisplayRules.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeDisplayRules.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeDisplayRules.java
deleted file mode 100644
index bc5e938..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeDisplayRules.java
+++ /dev/null
@@ -1,93 +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.dnd.tree;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.object.bounded.ChoicesFacetUtils;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class TreeDisplayRules {
-    private static boolean showCollectionsOnly = false;
-
-    private TreeDisplayRules() {
-    }
-
-    public static void menuOptions(final UserActionSet options) {
-        // TODO fix and remove following line
-        if (true) {
-            return;
-        }
-
-        final UserAction option = new UserAction() {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                showCollectionsOnly = !showCollectionsOnly;
-            }
-
-            @Override
-            public String getName(final View view) {
-                return showCollectionsOnly ? "Show collections only" : "Show all references";
-            }
-
-            @Override
-            public Consent disabled(final View view) {
-                return Allow.DEFAULT;
-            }
-
-            @Override
-            public String getDescription(final View view) {
-                return "This option makes the system only show collections within the trees, and not single elements";
-            }
-
-            @Override
-            public ActionType getType() {
-                return ActionType.USER;
-            }
-
-            @Override
-            public String getHelp(final View view) {
-                return "";
-            }
-        };
-        options.add(option);
-    }
-
-    public static boolean isCollectionsOnly() {
-        return showCollectionsOnly;
-    }
-
-    private static boolean canDisplay(final ObjectAdapter object) {
-        // TODO: rather than looking for the ChoicesFacet on the type, 
-        // should look for the appropriate PropertyChoicesFacet, ActionParameterChoicesFacet or 
-        // PropertyAutoCompleteFacet or ActionParameterAutoCompleteFacet
-        final boolean lookupView = object != null && ChoicesFacetUtils.hasChoices(object.getSpecification());
-        final boolean showNonCollections = !TreeDisplayRules.isCollectionsOnly();
-        final boolean objectView = object instanceof ObjectAdapter && showNonCollections;
-        final boolean collectionView = object.getSpecification().isParentedOrFreeCollection();
-        return (objectView || collectionView) && !lookupView;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeNodeBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeNodeBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeNodeBorder.java
deleted file mode 100644
index 413a86b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeNodeBorder.java
+++ /dev/null
@@ -1,353 +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.dnd.tree;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.interaction.ViewDragImpl;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.DragViewOutline;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.collection.CollectionElement;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.field.OneToManyField;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-import org.apache.isis.viewer.dnd.view.text.ObjectTitleText;
-import org.apache.isis.viewer.dnd.view.text.TitleText;
-
-// TODO use ObjectBorder to provide the basic border functionality
-public class TreeNodeBorder extends AbstractBorder {
-    private static final int BORDER = 13;
-    private static final int BOX_PADDING = 2;
-    private static final int BOX_SIZE = 9;
-    private static final int BOX_X_OFFSET = 5;
-    private final static Text LABEL_STYLE = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-    private static final Logger LOG = LoggerFactory.getLogger(TreeNodeBorder.class);
-    private final int baseline;
-    private final IconGraphic icon;
-    private final ViewSpecification replaceWithSpecification;
-    private final TitleText text;
-
-    public TreeNodeBorder(final View wrappedView, final ViewSpecification replaceWith) {
-        super(wrappedView);
-
-        replaceWithSpecification = replaceWith;
-
-        icon = new IconGraphic(this, LABEL_STYLE);
-        text = new ObjectTitleText(this, LABEL_STYLE);
-        final int height = icon.getSize().getHeight();
-
-        baseline = icon.getBaseline() + 1;
-
-        left = 22;
-        right = 0 + BORDER;
-        top = height + 2;
-        bottom = 0;
-    }
-
-    private int canOpen() {
-        return ((NodeSpecification) getSpecification()).canOpen(getContent());
-    }
-
-    @Override
-    protected Bounds contentArea() {
-        return new Bounds(getLeft(), getTop(), wrappedView.getSize().getWidth(), wrappedView.getSize().getHeight());
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.append("TreeNodeBorder " + left + " pixels\n");
-        debug.append("           titlebar " + (top) + " pixels\n");
-        debug.append("           replace with  " + replaceWithSpecification);
-        debug.append("           text " + text);
-        debug.append("           icon " + icon);
-        super.debugDetails(debug);
-
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        if (drag.getLocation().getX() > getSize().getWidth() - right) {
-            final View dragOverlay = new DragViewOutline(getView());
-            return new ViewDragImpl(this, new Offset(drag.getLocation()), dragOverlay);
-        } else if (overBorder(drag.getLocation())) {
-            return Toolkit.getViewFactory().createDragContentOutline(this, drag.getLocation());
-        } else {
-            return super.dragStart(drag);
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final Color secondary1 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        final Color secondary2 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        final Color secondary3 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-        /*
-         * REVIEW if (getViewAxis(TableAxis.class) != null) { if
-         * (((SelectableViewAxis)
-         * getViewAxis(SelectableViewAxis.class)).isSelected(getView())) {
-         * canvas.drawSolidRectangle(left, 0, getSize().getWidth() - left, top,
-         * Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2)); secondary2 =
-         * secondary1; } }
-         */
-        if (getState().isObjectIdentified()) {
-            canvas.drawRectangle(left, 0, getSize().getWidth() - left, top, secondary2);
-
-            final int xExtent = getSize().getWidth();
-            canvas.drawSolidRectangle(xExtent - BORDER + 1, 1, BORDER - 2, top - 2, secondary3);
-            canvas.drawLine(xExtent - BORDER, 0, xExtent - BORDER, top - 2, secondary2);
-        }
-
-        // lines
-        int x = 0;
-        final int y = top / 2;
-        canvas.drawLine(x, y, x + left, y, secondary2);
-
-        final boolean isOpen = getSpecification().isOpen();
-        final int canOpen = canOpen();
-        final boolean addBox = isOpen || canOpen != NodeSpecification.CANT_OPEN;
-        if (addBox) {
-            x += BOX_X_OFFSET;
-            canvas.drawLine(x, y, x + BOX_SIZE - 1, y, secondary3);
-            canvas.drawSolidRectangle(x, y - BOX_SIZE / 2, BOX_SIZE, BOX_SIZE, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-            canvas.drawRectangle(x, y - BOX_SIZE / 2, BOX_SIZE, BOX_SIZE, secondary1);
-
-            if (canOpen == NodeSpecification.UNKNOWN) {
-
-            } else {
-                final Color black = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-                canvas.drawLine(x + BOX_PADDING, y, x + BOX_SIZE - 1 - BOX_PADDING, y, black);
-                if (!isOpen) {
-                    x += BOX_SIZE / 2;
-                    canvas.drawLine(x, y - BOX_SIZE / 2 + BOX_PADDING, x, y + BOX_SIZE / 2 - BOX_PADDING, black);
-                }
-            }
-        }
-
-        final View[] nodes = getSubviews();
-        if (nodes.length > 0) {
-            final int y1 = top / 2;
-            final View node = nodes[nodes.length - 1];
-            final int y2 = top + node.getLocation().getY() + top / 2;
-            canvas.drawLine(left - 1, y1, left - 1, y2, secondary2);
-        }
-
-        // icon & title
-        x = left + 1;
-        icon.draw(canvas, x, baseline);
-        x += icon.getSize().getWidth();
-        final int maxWith = getSize().getWidth() - x;
-        text.draw(canvas, x, baseline, maxWith);
-
-        if (Toolkit.debug) {
-            canvas.drawRectangleAround(getBounds(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BASELINE));
-        }
-
-        // draw components
-        super.draw(canvas);
-    }
-
-    @Override
-    public void entered() {
-        getState().setContentIdentified();
-        getState().setViewIdentified();
-        wrappedView.entered();
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearObjectIdentified();
-        getState().clearViewIdentified();
-        wrappedView.exited();
-        markDamaged();
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final int x = click.getLocation().getX();
-        final int y = click.getLocation().getY();
-
-        if (withinBox(x, y)) {
-            if (canOpen() == NodeSpecification.UNKNOWN) {
-                resolveContent();
-                markDamaged();
-            }
-            LOG.debug((getSpecification().isOpen() ? "close" : "open") + " node " + getContent().getAdapter());
-            if (canOpen() == NodeSpecification.CAN_OPEN) {
-                final View newView = replaceWithSpecification.createView(getContent(), getViewAxes(), -1);
-                getParent().replaceView(getView(), newView);
-            }
-            /*
-             * } else if (y < top && x > left && click.button1()) { if
-             * (canOpen() == NodeSpecification.UNKNOWN) { resolveContent();
-             * markDamaged(); } selectNode();
-             */
-        } else {
-            super.firstClick(click);
-        }
-    }
-
-    @Override
-    public int getBaseline() {
-        return wrappedView.getBaseline() + baseline;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        final Size size = super.getRequiredSize(maximumSize);
-        // size.extendHeight(2 * VPADDING);
-        size.ensureWidth(left + ViewConstants.HPADDING + icon.getSize().getWidth() + text.getSize().getWidth() + ViewConstants.HPADDING + right);
-        return size;
-    }
-
-    @Override
-    public void objectActionResult(final ObjectAdapter result, final Placement placement) {
-        if (getContent() instanceof OneToManyField && result instanceof ObjectAdapter) {
-            // same as InternalCollectionBorder
-            final OneToManyField internalCollectionContent = (OneToManyField) getContent();
-            final OneToManyAssociation field = internalCollectionContent.getOneToManyAssociation();
-            final ObjectAdapter target = ((ObjectContent) getParent().getContent()).getObject();
-
-            final Consent about = field.isValidToAdd(target, result);
-            if (about.isAllowed()) {
-                field.addElement(target, result);
-            }
-        }
-        super.objectActionResult(result, placement);
-    }
-
-    private void resolveContent() {
-        ObjectAdapter parent = getParent().getContent().getAdapter();
-        if (!(parent instanceof ObjectAdapter)) {
-            parent = getParent().getParent().getContent().getAdapter();
-        }
-
-        if (getContent() instanceof FieldContent) {
-            final ObjectAssociation field = ((FieldContent) getContent()).getField();
-            IsisContext.getPersistenceSession().resolveField(parent, field);
-        } else if (getContent() instanceof CollectionContent) {
-            IsisContext.getPersistenceSession().resolveImmediately(parent);
-        } else if (getContent() instanceof CollectionElement) {
-            IsisContext.getPersistenceSession().resolveImmediately(getContent().getAdapter());
-        }
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        final int x = click.getLocation().getX();
-        final int y = click.getLocation().getY();
-        if (y < top && x > left) {
-            if (canOpen() == NodeSpecification.UNKNOWN) {
-                resolveContent();
-                markDamaged();
-            }
-            final Location location = getAbsoluteLocation();
-            location.translate(click.getLocation());
-            getWorkspace().addWindowFor(getContent().getAdapter(), new Placement(this));
-        } else {
-            super.secondClick(click);
-        }
-    }
-
-    // TODO remove
-    private void selectNode() {
-        /*
-         * if (getViewAxis(SelectableViewAxis.class) != null) {
-         * ((SelectableViewAxis)
-         * getViewAxis(SelectableViewAxis.class)).selected(getView()); }
-         */
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/TreeNodeBorder";
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        final Bounds bounds = new Bounds(left + 1, 0, getSize().getWidth() - left - BORDER, top);
-        if (bounds.contains(mouseLocation)) {
-            return ViewAreaType.CONTENT;
-        } else {
-            return super.viewAreaType(mouseLocation);
-        }
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        super.viewMenuOptions(options);
-        TreeDisplayRules.menuOptions(options);
-
-        options.add(new UserActionAbstract("Select node") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                selectNode();
-            }
-
-            @Override
-            public String getDescription(final View view) {
-                return "Show this node in the right-hand pane";
-            }
-        });
-
-        final ObjectAdapter adapter = getView().getContent().getAdapter();
-        if (adapter instanceof ObjectAdapter && (adapter.isGhost() /*|| adapter.getResolveState().isPartlyResolved() */)) {
-            options.add(new UserActionAbstract("Load object") {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    resolveContent();
-                }
-            });
-        }
-    }
-
-    private boolean withinBox(final int x, final int y) {
-        return x >= BOX_X_OFFSET && x <= BOX_X_OFFSET + BOX_SIZE && y >= (top - BOX_SIZE) / 2 && y <= (top + BOX_SIZE) / 2;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeSpecification.java
deleted file mode 100644
index 29754a4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeSpecification.java
+++ /dev/null
@@ -1,104 +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.dnd.tree;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-/**
- * Specification for a tree browser frame with a tree displaying only
- * collections and objects containing collections.
- */
-public class TreeSpecification implements ViewSpecification {
-    private final OpenCollectionNodeSpecification openCollection;
-    private final OpenObjectNodeSpecification openObject;
-
-    public TreeSpecification() {
-        final ClosedObjectNodeSpecification closedObject = new ClosedObjectNodeSpecification(false); // ,
-                                                                                                     // new
-                                                                                                     // SelectObjectBorder.Factory());
-        final NodeSpecification closedCollection = new ClosedCollectionNodeSpecification();
-        final EmptyNodeSpecification noNode = new EmptyNodeSpecification();
-
-        openCollection = new OpenCollectionNodeSpecification();
-        openCollection.setCollectionSubNodeSpecification(noNode);
-        openCollection.setObjectSubNodeSpecification(closedObject);
-        openCollection.setReplacementNodeSpecification(closedCollection);
-
-        openObject = new OpenObjectNodeSpecification();
-        openObject.setCollectionSubNodeSpecification(closedCollection);
-        openObject.setObjectSubNodeSpecification(noNode);
-        openObject.setReplacementNodeSpecification(closedObject);
-
-        closedObject.setReplacementNodeSpecification(openObject);
-
-        closedCollection.setReplacementNodeSpecification(openCollection);
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.is(ViewRequirement.OPEN) && (openCollection.canDisplay(requirement) || openObject.canDisplay(requirement)) && requirement.isExpandable();
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        View rootNode;
-        final ViewRequirement requirement = new ViewRequirement(content, ViewRequirement.CLOSED);
-        if (openCollection.canDisplay(requirement)) {
-            rootNode = openCollection.createView(content, axes, -1);
-        } else {
-            rootNode = openObject.createView(content, axes, -1);
-        }
-        return rootNode;
-    }
-
-    @Override
-    public String getName() {
-        return "Tree (not working)";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeWithDetailSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeWithDetailSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeWithDetailSpecification.java
deleted file mode 100644
index 80b34ea..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/TreeWithDetailSpecification.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.dnd.tree;
-
-import org.apache.isis.viewer.dnd.tree2.CollectionTreeNodeSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.MasterDetailPanel;
-
-public class TreeWithDetailSpecification implements ViewSpecification {
-    private final ViewSpecification treeSpecification;
-
-    public TreeWithDetailSpecification() {
-        // treeSpecification = new TreeSpecification();
-        treeSpecification = CollectionTreeNodeSpecification.create()[0];
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return treeSpecification.canDisplay(requirement);
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        return new MasterDetailPanel(content, this, treeSpecification);
-    }
-
-    @Override
-    public String getName() {
-        return "Tree and details (experimental)";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return true;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/CollectionTreeNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/CollectionTreeNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/CollectionTreeNodeSpecification.java
deleted file mode 100644
index 41e5be3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/CollectionTreeNodeSpecification.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.dnd.tree2;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.form.ExpandableViewBorder;
-import org.apache.isis.viewer.dnd.icon.IconElementFactory;
-import org.apache.isis.viewer.dnd.icon.SubviewIconSpecification;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.border.SelectObjectBorder;
-import org.apache.isis.viewer.dnd.view.composite.AbstractCollectionViewSpecification;
-
-public class CollectionTreeNodeSpecification extends AbstractCollectionViewSpecification {
-
-    public static ViewSpecification[] create() {
-        final CollectionTreeNodeSpecification collectionNodeSpec = new CollectionTreeNodeSpecification();
-        final ObjectTreeNodeSpecification objectNodeSpec = new ObjectTreeNodeSpecification();
-        final SubviewIconSpecification iconSpec = new SubviewIconSpecification();
-
-        collectionNodeSpec.addSubviewDecorator(new SelectObjectBorder.Factory());
-        collectionNodeSpec.addSubviewDecorator(new ExpandableViewBorder.Factory(iconSpec, objectNodeSpec, null));
-        collectionNodeSpec.addViewDecorator(new IconBorder.Factory(Toolkit.getText(ColorsAndFonts.TEXT_NORMAL)));
-        objectNodeSpec.addSubviewDecorator(new SelectObjectBorder.Factory());
-        objectNodeSpec.addSubviewDecorator(new ExpandableViewBorder.Factory(iconSpec, objectNodeSpec, collectionNodeSpec));
-        // objectNodeSpec.addSubviewDecorator(new FieldLabelsDecorator());
-        objectNodeSpec.addViewDecorator(new IconBorder.Factory(Toolkit.getText(ColorsAndFonts.TEXT_NORMAL)));
-        return new ViewSpecification[] { collectionNodeSpec, objectNodeSpec };
-    }
-
-    @Override
-    protected ViewFactory createElementFactory() {
-        return new IconElementFactory();
-    }
-
-    @Override
-    public String getName() {
-        return "Collection tree (experimental)";
-    }
-
-    // TODO this should be available if an item can be given more space
-    /*
-     * @Override public boolean canDisplay(final Content content,
-     * ViewRequirement requirement) { return content.isCollection() &&
-     * requirement.is(ViewRequirement.CLOSED) &&
-     * requirement.is(ViewRequirement.SUBVIEW) &&
-     * requirement.is(ViewRequirement.SUBVIEW); }
-     */
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/ObjectTreeNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/ObjectTreeNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/ObjectTreeNodeSpecification.java
deleted file mode 100644
index ede0af1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/ObjectTreeNodeSpecification.java
+++ /dev/null
@@ -1,43 +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.dnd.tree2;
-
-import org.apache.isis.viewer.dnd.form.AbstractObjectViewSpecification;
-import org.apache.isis.viewer.dnd.icon.IconElementFactory;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-
-public class ObjectTreeNodeSpecification extends AbstractObjectViewSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return super.canDisplay(requirement) && requirement.isExpandable();
-    }
-
-    @Override
-    protected ViewFactory createFieldFactory() {
-        return new IconElementFactory();
-    }
-
-    @Override
-    public String getName() {
-        return "Object tree (experimental)";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/TreeNodeSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/TreeNodeSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/TreeNodeSpecification.java
deleted file mode 100644
index 6d1ad2b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree2/TreeNodeSpecification.java
+++ /dev/null
@@ -1,122 +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.dnd.tree2;
-
-import org.apache.isis.viewer.dnd.form.ExpandableViewBorder;
-import org.apache.isis.viewer.dnd.form.ExpandableViewBorder.Factory;
-import org.apache.isis.viewer.dnd.icon.IconElementFactory;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.CollectionElementBuilder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.ObjectFieldBuilder;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-import org.apache.isis.viewer.dnd.view.composite.ViewBuilder;
-
-public class TreeNodeSpecification extends CompositeViewSpecification {
-
-    public TreeNodeSpecification() {
-        builder = new ViewBuilder() {
-            ViewBuilder objectBuilder = new ObjectFieldBuilder(new ViewFactory() {
-                @Override
-                public View createView(final Content content, final Axes axes, final int sequence) {
-                    if (content.isTextParseable() || content.getAdapter() == null) {
-                        return null;
-                    } else if (content.isObject()) {
-                        return new IconElementFactory().createView(content, axes, 0); // TreeNodeSpecification.this.createView(content,
-                                                                                      // axes);
-                    } else {
-                        return TreeNodeSpecification.this.createView(content, axes, -1);
-                    }
-                }
-            });
-
-            ViewBuilder collectiontBuilder = new CollectionElementBuilder(new IconElementFactory());
-
-            {
-                final Factory decorator = new ExpandableViewBorder.Factory(null, TreeNodeSpecification.this, null);
-                objectBuilder.addSubviewDecorator(decorator);
-                collectiontBuilder.addSubviewDecorator(decorator);
-
-            }
-
-            @Override
-            public void addSubviewDecorator(final SubviewDecorator decorator) {
-            }
-
-            @Override
-            public void build(final View view, final Axes axes) {
-                synchronized (view) {
-                    (view.getContent().isCollection() ? collectiontBuilder : objectBuilder).build(view, axes);
-                }
-            }
-
-            @Override
-            public void createAxes(final Axes axes, final Content content) {
-            }
-
-            @Override
-            public boolean isOpen() {
-                return false;
-            }
-
-            @Override
-            public boolean isReplaceable() {
-                return true;
-            }
-
-            @Override
-            public boolean isSubView() {
-                return true;
-            }
-
-            @Override
-            public boolean canDragView() {
-                return true;
-            }
-
-            @Override
-            public void viewMenuOptions(final UserActionSet options, final View view) {
-            }
-        };
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && requirement.isExpandable();
-    }
-
-    @Override
-    public String getName() {
-        return "Tree Node (not working)";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/util/Properties.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/util/Properties.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/util/Properties.java
deleted file mode 100644
index 664f9b4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/util/Properties.java
+++ /dev/null
@@ -1,160 +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.dnd.util;
-
-import java.util.StringTokenizer;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfigurationException;
-import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public class Properties {
-
-    public static final String PROPERTY_BASE = ConfigurationConstants.ROOT + "viewer.dnd.";
-
-    public static Size getSize(final String name, final Size defaultSize) {
-        String initialSize = optionFor(name);
-        if (initialSize == null) {
-            initialSize = IsisContext.getConfiguration().getString(name);
-        }
-        if (initialSize != null) {
-            final StringTokenizer st = new StringTokenizer(initialSize, "x");
-            if (st.countTokens() == 2) {
-                int width = 0;
-                int height = 0;
-                width = Integer.valueOf(st.nextToken().trim()).intValue();
-                height = Integer.valueOf(st.nextToken().trim()).intValue();
-                return new Size(width, height);
-            } else {
-                throw new IsisConfigurationException("Size not specified correctly in " + name + ": " + initialSize);
-            }
-        }
-        return defaultSize;
-    }
-
-    public static void saveSizeOption(final String name, final Size size) {
-        final String value = size.getWidth() + "x" + size.getHeight();
-        IsisContext.getUserProfile().getOptions().addOption(name, value);
-    }
-
-    public static Location getLocation(final String name, final Location defaultLocation) {
-        String initialLocation = optionFor(name);
-        if (initialLocation == null) {
-            initialLocation = IsisContext.getConfiguration().getString(name);
-        }
-        if (initialLocation != null) {
-            final StringTokenizer st = new StringTokenizer(initialLocation, ",");
-            if (st.countTokens() == 2) {
-                int x = 0;
-                int y = 0;
-                x = Integer.valueOf(st.nextToken().trim()).intValue();
-                y = Integer.valueOf(st.nextToken().trim()).intValue();
-                return new Location(x, y);
-            } else {
-                throw new IsisConfigurationException("Location not specified correctly in " + name + ": " + initialLocation);
-            }
-        }
-        return defaultLocation;
-    }
-
-    private static String optionFor(final String name) {
-        return IsisContext.inSession() ? IsisContext.getUserProfile().getOptions().getString(name) : null;
-    }
-
-    public static void saveLocationOption(final String name, final Location location) {
-        final String value = location.getX() + "," + location.getY();
-        IsisContext.getUserProfile().getOptions().addOption(name, value);
-    }
-
-    public static String getString(final String name) {
-        String value = optionFor(PROPERTY_BASE + name);
-        if (value == null) {
-            value = IsisContext.getConfiguration().getString(PROPERTY_BASE + name);
-        }
-        return value;
-    }
-
-    public static void setStringOption(final String name, final String value) {
-        IsisContext.getUserProfile().getOptions().addOption(PROPERTY_BASE + name, value);
-    }
-
-    public static Options getOptions(final String name) {
-        return IsisContext.getUserProfile().getOptions().getOptions(name);
-    }
-
-    public static String getDefaultIconViewOptions() {
-        return getString("view.icon-default");
-    }
-
-    public static String getDefaultObjectViewOptions() {
-        return getString("view.object-default");
-    }
-
-    public static String getDefaultCollectionViewOptions() {
-        return getString("view.collection-default");
-    }
-
-    public static Options getViewConfigurationOptions(final ViewSpecification specification) {
-        final Options settingsOptions = getOptions("views.configuration");
-        final String specificationName = specification.getName();
-        return settingsOptions.getOptions(specificationName);
-    }
-
-    public static Options getDefaultViewOptions(final ObjectSpecification specification) {
-        final Options settingsOptions = getOptions("views.type-default");
-        String name;
-        if (specification.isParentedOrFreeCollection()) {
-            name = "collection:" + specification.getFacet(TypeOfFacet.class).valueSpec().getFullIdentifier();
-        } else {
-            name = specification.getFullIdentifier();
-        }
-        final Options viewOptions = settingsOptions.getOptions(name);
-        return viewOptions;
-    }
-
-    public static Options getUserViewSpecificationOptions(final String specificationName) {
-        final Options settingsOptions = getOptions("views.user-defined");
-        return settingsOptions.getOptions(specificationName);
-    }
-
-    public static Object loadClass(final Options viewOptions, final String name) {
-        final String specificationName = viewOptions.getString(name);
-        if (specificationName != null) {
-            try {
-                final Class<?> specificationClass = Class.forName(specificationName);
-                return specificationClass.newInstance();
-            } catch (final ClassNotFoundException e) {
-                throw new ViewerException(e);
-            } catch (final InstantiationException e) {
-                throw new ViewerException(e);
-            } catch (final IllegalAccessException e) {
-                throw new ViewerException(e);
-            }
-        }
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/util/ViewerException.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/util/ViewerException.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/util/ViewerException.java
deleted file mode 100644
index dd3a66d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/util/ViewerException.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.dnd.util;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class ViewerException extends IsisException {
-    private static final long serialVersionUID = 1L;
-
-    public ViewerException() {
-    }
-
-    public ViewerException(final String message) {
-        super(message);
-    }
-
-    public ViewerException(final String messageFormat, final Object... args) {
-        super(messageFormat, args);
-    }
-
-    public ViewerException(final String message, final Throwable cause) {
-        super(message, cause);
-    }
-
-    public ViewerException(final Throwable cause) {
-        super(cause);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Axes.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Axes.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Axes.java
deleted file mode 100644
index 11a71ae..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Axes.java
+++ /dev/null
@@ -1,76 +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.dnd.view;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.util.ViewerException;
-
-public class Axes {
-    private static final Logger LOG = LoggerFactory.getLogger(Axes.class);
-    private final Map<Class<?>, ViewAxis> axes = new HashMap<Class<?>, ViewAxis>();
-
-    public void add(final ViewAxis axis) {
-        if (axis != null) {
-            final Class<? extends ViewAxis> cls = axis.getClass();
-            add(axis, cls);
-        }
-    }
-
-    public void add(final ViewAxis axis, final Class<? extends ViewAxis> cls) {
-        final ViewAxis previous = axes.put(cls, axis);
-        if (previous != null) {
-            LOG.debug(axis + " replacing " + previous);
-        } else {
-            LOG.debug("adding " + axis);
-        }
-    }
-
-    public <T extends ViewAxis> T getAxis(final Class<T> axisClass) {
-        final ViewAxis viewAxis = axes.get(axisClass);
-        if (viewAxis == null) {
-            throw new ViewerException("No axis of type " + axisClass + " in " + this);
-        }
-        return (T) viewAxis;
-    }
-
-    public boolean contains(final Class<? extends ViewAxis> axisClass) {
-        return axes.containsKey(axisClass);
-    }
-
-    public void add(final Axes axes) {
-        this.axes.putAll(axes.axes);
-    }
-
-    @Override
-    public String toString() {
-        // TODO provide flag to list as elements, rather than fields
-        final ToString s = new ToString(this);
-        for (final ViewAxis axis : axes.values()) {
-            s.append(axis.toString());
-        }
-        return s.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/BackgroundTask.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/BackgroundTask.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/BackgroundTask.java
deleted file mode 100644
index 0b7f5bb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/BackgroundTask.java
+++ /dev/null
@@ -1,28 +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.dnd.view;
-
-public interface BackgroundTask {
-    void execute();
-
-    String getName();
-
-    String getDescription();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ButtonAction.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ButtonAction.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ButtonAction.java
deleted file mode 100644
index f030197..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ButtonAction.java
+++ /dev/null
@@ -1,26 +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.dnd.view;
-
-public interface ButtonAction extends UserAction {
-
-    boolean isDefault();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Click.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Click.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Click.java
deleted file mode 100644
index d16bcf7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Click.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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-public interface Click {
-
-    Location getLocationWithinViewer();
-
-    Location getLocation();
-
-    boolean button2();
-
-    boolean button1();
-
-    boolean button3();
-
-    boolean isAlt();
-
-    boolean isShift();
-
-    boolean isCtrl();
-
-    void subtract(int left, int top);
-
-    void subtract(Location location);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Command.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Command.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Command.java
deleted file mode 100644
index feff988..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Command.java
+++ /dev/null
@@ -1,30 +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.dnd.view;
-
-public interface Command {
-    String getDescription();
-
-    void undo();
-
-    void execute();
-
-    String getName();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/CompositeViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/CompositeViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/CompositeViewSpecification.java
deleted file mode 100644
index d99660f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/CompositeViewSpecification.java
+++ /dev/null
@@ -1,24 +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.dnd.view;
-
-public interface CompositeViewSpecification extends ViewSpecification {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Content.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Content.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Content.java
deleted file mode 100644
index 958b332..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Content.java
+++ /dev/null
@@ -1,116 +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.dnd.view;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.drawing.Image;
-
-public interface Content {
-
-    /**
-     * Determines if the specified content can be drop on this content.
-     */
-    Consent canDrop(Content sourceContent);
-
-    /**
-     * Allows this content to add menu options to the set of menu options the
-     * user will see for this content.
-     * 
-     * @see #viewMenuOptions(UserActionSet)
-     */
-    void contentMenuOptions(UserActionSet options);
-
-    void debugDetails(DebugBuilder debug);
-
-    /**
-     * Implements the response to the dropping of the specified content onto
-     * this content.
-     */
-    ObjectAdapter drop(Content sourceContent);
-
-    String getDescription();
-
-    String getHelp();
-
-    /**
-     * The name of the icon to use to respresent the object represented by this
-     * content.
-     */
-    String getIconName();
-
-    /**
-     * The icon to use to respresent the object represented by this content.
-     */
-    Image getIconPicture(int iconHeight);
-
-    String getId();
-
-    /**
-     * The object represented by this content.
-     */
-    ObjectAdapter getAdapter();
-
-    ObjectAdapter[] getOptions();
-
-    /**
-     * The specification of the object represented by this content.
-     */
-    ObjectSpecification getSpecification();
-
-    /**
-     * Returns true if this content represents a CollectionAdapter.
-     */
-    boolean isCollection();
-
-    /**
-     * Returns true if this content represents a ObjectAdapter.
-     */
-    boolean isObject();
-
-    /**
-     * Returns true if the object represented by this content can be persisted.
-     */
-    boolean isPersistable();
-
-    boolean isOptionEnabled();
-
-    /**
-     * Returns true if the object represented by this content is transient; has
-     * not been persisted yet.
-     */
-    boolean isTransient();
-
-    boolean isTextParseable();
-
-    String title();
-
-    /**
-     * Allows this content to add menu options to the set of menu options the
-     * user will see for this view.
-     * 
-     * @see #contentMenuOptions(UserActionSet)
-     */
-    void viewMenuOptions(UserActionSet options);
-
-    String windowTitle();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ContentDrag.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ContentDrag.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ContentDrag.java
deleted file mode 100644
index 9f4f0f0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ContentDrag.java
+++ /dev/null
@@ -1,45 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-/**
- * Details a drag event that affects a view's content (as opposed to the view
- * itself).
- */
-public interface ContentDrag extends Drag {
-
-    Content getSourceContent();
-
-    boolean isShift();
-
-    Location getTargetLocation();
-
-    Location getOffset();
-
-    void subtract(int borderWidth, int borderWidth2);
-
-    View getTargetView();
-
-    // TODO rename to getSourceView
-    View getSource();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ContentFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ContentFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ContentFactory.java
deleted file mode 100644
index 1f63aee..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ContentFactory.java
+++ /dev/null
@@ -1,30 +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.dnd.view;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-
-public interface ContentFactory {
-
-    Content createRootContent(ObjectAdapter object);
-
-    Content createFieldContent(ObjectAssociation field, ObjectAdapter object);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Drag.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Drag.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Drag.java
deleted file mode 100644
index bc2c672..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Drag.java
+++ /dev/null
@@ -1,26 +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.dnd.view;
-
-/**
- * Details a drag event - from drag start to drop,
- */
-public interface Drag {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/DragEvent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/DragEvent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/DragEvent.java
deleted file mode 100644
index c6cb34c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/DragEvent.java
+++ /dev/null
@@ -1,34 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-public interface DragEvent {
-
-    void drag(View target, Location location, int modifiers);
-
-    void cancel(Viewer viewer);
-
-    void end(Viewer viewer);
-
-    View getOverlay();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/DragStart.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/DragStart.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/DragStart.java
deleted file mode 100644
index e701e55..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/DragStart.java
+++ /dev/null
@@ -1,33 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-public interface DragStart extends Drag {
-
-    Location getLocation();
-
-    void subtract(int left, int top);
-
-    void subtract(Location location);
-
-    boolean isCtrl();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Feedback.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Feedback.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Feedback.java
deleted file mode 100644
index c2a417e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Feedback.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.dnd.view;
-
-public interface Feedback {
-
-    void showException(final Throwable e);
-
-    void showArrowCursor();
-
-    void showCrosshairCursor();
-
-    void showDefaultCursor();
-
-    void showTextCursor();
-
-    void showHandCursor();
-
-    void showMoveCursor();
-
-    void showResizeDownCursor();
-
-    void showResizeDownLeftCursor();
-
-    void showResizeDownRightCursor();
-
-    void showResizeLeftCursor();
-
-    void showResizeRightCursor();
-
-    void showResizeUpCursor();
-
-    void showResizeUpLeftCursor();
-
-    void showResizeUpRightCursor();
-
-    void setBusy(final View view, BackgroundTask task);
-
-    void clearBusy(final View view);
-
-    boolean isBusy(View view);
-
-    String getStatusBarOutput();
-
-    void showMessagesAndWarnings();
-
-    void setViewDetail(String string);
-
-    void setAction(String actionText);
-
-    void addMessage(String string);
-
-    void setError(String string);
-
-    void clearAction();
-
-    void clearError();
-
-    void showBusyState(View view);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/FocusManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/FocusManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/FocusManager.java
deleted file mode 100644
index 8b6b531..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/FocusManager.java
+++ /dev/null
@@ -1,57 +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.dnd.view;
-
-/**
- * Details where to move the focus to.
- */
-public interface FocusManager {
-    /**
-     * The next view within the container to move the focus to; move to next
-     * field.
-     */
-    void focusNextView();
-
-    /**
-     * The previous view within the container to move the focus to; move to
-     * previous field.
-     */
-    void focusPreviousView();
-
-    /**
-     * The parent view within the container to move the focus to; move up to
-     * containing view in the hierachy.
-     */
-    void focusParentView();
-
-    /**
-     * The first child view within the container to move the focus to; move down
-     * to the first view within the current view.
-     */
-    void focusFirstChildView();
-
-    void focusLastChildView();
-
-    void focusInitialChildView();
-
-    View getFocus();
-
-    void setFocus(View view);
-}


[23/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/Panel.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/Panel.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/Panel.java
deleted file mode 100644
index d18ce22..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/Panel.java
+++ /dev/null
@@ -1,203 +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.dnd.configurable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class Panel {
-
-    private static enum Orientation {
-        Undefined, Horizontal, Vertical
-    };
-
-    private static interface Content {
-        public Size getRequiredSize(Size availableSpace);
-
-        public void setLocation(Location location);
-
-        public void setSize(Size size);
-
-        public void layout(Size maximumSize);
-
-        public void debug(DebugBuilder debug);
-    }
-
-    private static class ViewContent implements Content {
-        private final View view;
-
-        public ViewContent(final View view) {
-            this.view = view;
-        }
-
-        @Override
-        public Size getRequiredSize(final Size availableSpace) {
-            return view.getRequiredSize(availableSpace);
-        }
-
-        @Override
-        public void layout(final Size maximumSize) {
-            view.layout();
-        }
-
-        @Override
-        public void setLocation(final Location location) {
-            view.setLocation(location);
-        }
-
-        @Override
-        public void setSize(final Size size) {
-            view.setSize(size);
-        }
-
-        @Override
-        public void debug(final DebugBuilder debug) {
-            debug.appendln(view.toString());
-        }
-    }
-
-    private static class PanelContent implements Content {
-        private final Panel panel;
-        private Location location;
-
-        public PanelContent(final Panel panel) {
-            this.panel = panel;
-        }
-
-        @Override
-        public Size getRequiredSize(final Size availableSpace) {
-            return panel.getRequiredSize(availableSpace);
-        }
-
-        @Override
-        public void layout(final Size maximumSize) {
-            panel.layout(location, maximumSize);
-        }
-
-        @Override
-        public void setLocation(final Location location) {
-            this.location = location;
-        }
-
-        @Override
-        public void setSize(final Size size) {
-        }
-
-        @Override
-        public void debug(final DebugBuilder debug) {
-            panel.debug(debug);
-        }
-    }
-
-    private List<Content> contents = new ArrayList<Content>();
-    private Orientation orientation;
-
-    public void debug(final DebugBuilder debug) {
-        debug.appendln("orientation", orientation);
-        debug.appendln("size", getRequiredSize(Size.createMax()));
-        debug.indent();
-        for (final Content content : contents) {
-            content.debug(debug);
-        }
-        debug.unindent();
-    }
-
-    public void addView(final View view, final PanelView.Position position) {
-        if (contents.isEmpty() || position == null) {
-            addToContents(view, false);
-        } else if (position == PanelView.Position.East || position == PanelView.Position.West) {
-            if (orientation == Orientation.Undefined) {
-                orientation = Orientation.Horizontal;
-            }
-            if (orientation == Orientation.Horizontal) {
-                addToContents(view, position == PanelView.Position.West);
-            } else {
-                replaceViewsWithPanel(view, position == PanelView.Position.West);
-            }
-        } else if (position == PanelView.Position.South || position == PanelView.Position.North) {
-            if (orientation == Orientation.Undefined) {
-                orientation = Orientation.Vertical;
-            }
-            if (orientation == Orientation.Horizontal) {
-                replaceViewsWithPanel(view, position == PanelView.Position.North);
-            } else {
-                addToContents(view, position == PanelView.Position.North);
-            }
-        }
-    }
-
-    private void addToContents(final View view, final boolean atBeginning) {
-        if (atBeginning) {
-            contents.add(0, new ViewContent(view));
-        } else {
-            contents.add(new ViewContent(view));
-        }
-    }
-
-    private void replaceViewsWithPanel(final View view, final boolean atBeginning) {
-        final Panel panel = new Panel();
-        panel.contents = contents;
-        contents = new ArrayList<Content>();
-        contents.add(new PanelContent(panel));
-        addToContents(view, atBeginning);
-        panel.orientation = orientation;
-        orientation = orientation == Orientation.Horizontal ? Orientation.Vertical : Orientation.Horizontal;
-    }
-
-    public void layout(final Size maximumSize) {
-        final Location location = new Location();
-        layout(location, maximumSize);
-    }
-
-    private void layout(final Location location, final Size maximumSize) {
-        for (final Content content : contents) {
-            content.setLocation(new Location(location));
-            final Size requiredSize = content.getRequiredSize(maximumSize);
-            content.setSize(requiredSize);
-            content.layout(maximumSize);
-            if (orientation == Orientation.Horizontal) {
-                location.add(requiredSize.getWidth(), 0);
-            } else {
-                location.add(0, requiredSize.getHeight());
-            }
-        }
-    }
-
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size size = new Size();
-        for (final Content content : contents) {
-            final Size requiredSize = content.getRequiredSize(availableSpace);
-            if (orientation == Orientation.Horizontal) {
-                size.extendWidth(requiredSize.getWidth());
-                size.ensureHeight(requiredSize.getHeight());
-            } else {
-                size.extendHeight(requiredSize.getHeight());
-                size.ensureWidth(requiredSize.getWidth());
-            }
-        }
-        return size;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/PanelView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/PanelView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/PanelView.java
deleted file mode 100644
index 60d5de8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/PanelView.java
+++ /dev/null
@@ -1,113 +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.dnd.configurable;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewDrag;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.CompositeView;
-
-public class PanelView extends CompositeView {
-    public static enum Position {
-        North, South, East, West
-    };
-
-    private final Panel panel = new Panel();
-    private ViewSpecification initialViewSpecification;;
-
-    @Override
-    public void debug(final DebugBuilder debug) {
-        super.debug(debug);
-        debug.appendln("Panel");
-        debug.indent();
-        panel.debug(debug);
-        debug.unindent();
-    }
-
-    public void setInitialViewSpecification(final ViewSpecification initialViewSpecification) {
-        this.initialViewSpecification = initialViewSpecification;
-    }
-
-    public PanelView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    protected void buildView() {
-        // addView(getContent(), initialViewSpecification, null);
-        final View newView = initialViewSpecification.createView(getContent(), new Axes(), 0);
-        panel.addView(newView, null);
-        addView(newView);
-    }
-
-    @Override
-    protected void doLayout(final Size maximumSize) {
-        panel.layout(maximumSize);
-    }
-
-    @Override
-    public Size requiredSize(final Size availableSpace) {
-        return panel.getRequiredSize(availableSpace);
-    }
-
-    @Override
-    public void drop(final ViewDrag drag) {
-        if (drag.getSourceView() == getView() || !contains(drag.getSourceView())) {
-            super.drop(drag);
-        } else {
-            final Location dropAt = drag.getLocation();
-            dropAt.subtract(getLocation());
-            final int x = dropAt.getX();
-            final int y = dropAt.getY();
-            final int borderWdth = 45;
-            final int left = getSize().getWidth() - borderWdth;
-            final int bottom = getSize().getHeight() - borderWdth;
-            if (y < borderWdth) {
-                addView(drag.getSourceView().getContent(), Position.North);
-            } else if (y > bottom) {
-                addView(drag.getSourceView().getContent(), Position.South);
-            } else if (x < borderWdth) {
-                addView(drag.getSourceView().getContent(), Position.West);
-            } else if (x > left) {
-                addView(drag.getSourceView().getContent(), Position.East);
-            }
-        }
-    }
-
-    public void addView(final Content content, final Position position) {
-        final ViewRequirement requirement = new ViewRequirement(content, ViewRequirement.OPEN | ViewRequirement.SUBVIEW);
-        final ViewSpecification viewSpecification = Toolkit.getViewFactory().availableViews(requirement).nextElement();
-        addView(content, viewSpecification, position);
-    }
-
-    public void addView(final Content content, final ViewSpecification specification, final Position position) {
-        final View newView = specification.createView(content, new Axes(), 0);
-        // newView = new LineBorder(newView);
-        panel.addView(newView, position);
-        addView(newView);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/PanelViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/PanelViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/PanelViewSpecification.java
deleted file mode 100644
index 8ef3d32..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/PanelViewSpecification.java
+++ /dev/null
@@ -1,76 +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.dnd.configurable;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.form.InternalFormSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-
-public class PanelViewSpecification implements ViewSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && requirement.isOpen() && requirement.isExpandable() && requirement.isDesign();
-    }
-
-    @Override
-    public String getName() {
-        return "Panel (experimental)";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final PanelView wrappedView = new PanelView(content, this);
-        wrappedView.setInitialViewSpecification(new InternalFormSpecification());
-        final View newView = new IconBorder(wrappedView, Toolkit.getText(ColorsAndFonts.TEXT_TITLE));
-        return newView;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java
deleted file mode 100644
index dc118fa..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java
+++ /dev/null
@@ -1,65 +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.dnd.configurable;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class ViewDesignBorder extends AbstractBorder {
-    private final NewObjectView viewUnderControl;
-
-    protected ViewDesignBorder(final View view, final NewObjectView view2) {
-        super(view);
-        viewUnderControl = view2;
-    }
-
-    private NewObjectView getNewObjectView() {
-        return viewUnderControl;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        super.viewMenuOptions(menuOptions);
-
-        // ObjectAdapter object = getContent().getAdapter();
-        final List<ObjectAssociation> associations = getContent().getSpecification().getAssociations(Contributed.EXCLUDED);
-
-        for (final ObjectAssociation objectAssociation : associations) {
-            final ObjectAssociation f = objectAssociation;
-            final UserActionAbstract action = new UserActionAbstract("Add field " + objectAssociation.getName()) {
-
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    final NewObjectField field = new NewObjectField(f);
-                    getNewObjectView().addField(field);
-                }
-            };
-            menuOptions.add(action);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionDialogFocusManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionDialogFocusManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionDialogFocusManager.java
deleted file mode 100644
index 19f425a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionDialogFocusManager.java
+++ /dev/null
@@ -1,45 +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.dnd.dialog;
-
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractFocusManager;
-import org.apache.isis.viewer.dnd.view.border.ButtonBorder;
-
-public class ActionDialogFocusManager extends AbstractFocusManager {
-    private final ButtonBorder buttonBorder;
-
-    public ActionDialogFocusManager(final ButtonBorder buttonBorder) {
-        super(buttonBorder.getView());
-        this.buttonBorder = buttonBorder;
-
-    }
-
-    @Override
-    protected View[] getChildViews() {
-        final View[] subviews = container.getSubviews();
-        final View[] buttons = buttonBorder.getButtons();
-
-        final View[] views = new View[subviews.length + buttons.length];
-        System.arraycopy(subviews, 0, views, 0, subviews.length);
-        System.arraycopy(buttons, 0, views, subviews.length, buttons.length);
-        return views;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionDialogSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionDialogSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionDialogSpecification.java
deleted file mode 100644
index c1be3ff..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionDialogSpecification.java
+++ /dev/null
@@ -1,205 +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.dnd.dialog;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.BackgroundTask;
-import org.apache.isis.viewer.dnd.view.ButtonAction;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.GlobalViewFactory;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.action.ActionContent;
-import org.apache.isis.viewer.dnd.view.action.BackgroundWork;
-import org.apache.isis.viewer.dnd.view.action.ObjectParameter;
-import org.apache.isis.viewer.dnd.view.action.ParameterContent;
-import org.apache.isis.viewer.dnd.view.action.TextParseableParameter;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.ButtonBorder;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-import org.apache.isis.viewer.dnd.view.control.AbstractButtonAction;
-import org.apache.isis.viewer.dnd.view.control.CancelAction;
-
-public class ActionDialogSpecification extends CompositeViewSpecification {
-    private static final Logger LOG = LoggerFactory.getLogger(ActionDialogSpecification.class);
-
-    private static class DialogFormSubviews implements ViewFactory {
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int fieldNumber) {
-            if (content instanceof TextParseableParameter) {
-                final GlobalViewFactory factory = Toolkit.getViewFactory();
-                return factory.createView(new ViewRequirement(content, ViewRequirement.CLOSED | ViewRequirement.SUBVIEW));
-            } else if (content instanceof ObjectParameter) {
-                final GlobalViewFactory factory = Toolkit.getViewFactory();
-                return factory.createView(new ViewRequirement(content, ViewRequirement.CLOSED | ViewRequirement.SUBVIEW));
-            }
-
-            return null;
-        }
-    }
-
-    private static class ExecuteAction extends AbstractButtonAction {
-        public ExecuteAction() {
-            this("Apply");
-        }
-
-        public ExecuteAction(final String name) {
-            super(name, true);
-        }
-
-        @Override
-        public Consent disabled(final View view) {
-            final View[] subviews = view.getSubviews();
-            final StringBuffer missingFields = new StringBuffer();
-            final StringBuffer invalidFields = new StringBuffer();
-            for (final View field : subviews) {
-                final ParameterContent content = ((ParameterContent) field.getContent());
-                final boolean isEmpty = content.getAdapter() == null;
-                if (content.isRequired() && isEmpty) {
-                    final String parameterName = content.getParameterName();
-                    if (missingFields.length() > 0) {
-                        missingFields.append(", ");
-                    }
-                    missingFields.append(parameterName);
-
-                } else if (field.getState().isInvalid()) {
-                    final String parameterName = content.getParameterName();
-                    if (invalidFields.length() > 0) {
-                        invalidFields.append(", ");
-                    }
-                    invalidFields.append(parameterName);
-                }
-            }
-            if (missingFields.length() > 0) {
-                // TODO: move logic into Facet
-                return new Veto(String.format("Fields needed: %s", missingFields));
-            }
-            if (invalidFields.length() > 0) {
-                // TODO: move logic into Facet
-                return new Veto(String.format("Invalid fields: %s", invalidFields));
-            }
-
-            final ActionContent actionContent = ((ActionContent) view.getContent());
-            return actionContent.disabled();
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            final BackgroundTask task = new BackgroundTask() {
-                @Override
-                public void execute() {
-                    final ActionContent actionContent = ((ActionContent) view.getContent());
-                    final ObjectAdapter result = actionContent.execute();
-                    LOG.debug("action invoked with result " + result);
-                    if (result != null) {
-                        view.objectActionResult(result, new Placement(view.getAbsoluteLocation()));
-                    }
-                    view.getViewManager().disposeUnneededViews();
-                    view.getFeedbackManager().showMessagesAndWarnings();
-                }
-
-                @Override
-                public String getName() {
-                    return ((ActionContent) view.getContent()).getActionName();
-                }
-
-                @Override
-                public String getDescription() {
-                    return "Running action " + getName() + " on  " + view.getContent().getAdapter();
-                }
-            };
-            LOG.debug("  ... created task " + task);
-
-            BackgroundWork.runTaskInBackground(view, task);
-        }
-
-        protected void move(final Location at) {
-            at.move(30, 60);
-        }
-    }
-
-    private static class ExecuteAndCloseAction extends ExecuteAction {
-        public ExecuteAndCloseAction() {
-            super("OK");
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            LOG.debug("executing action " + this);
-            view.dispose();
-            LOG.debug("  ... disposed view, now executing");
-            super.execute(workspace, view, at);
-            view.getViewManager().setKeyboardFocus(workspace);
-            // view.getViewManager().clearKeyboardFocus();
-        }
-
-        @Override
-        protected void move(final Location at) {
-        }
-    }
-
-    public ActionDialogSpecification() {
-        builder = new ActionFieldBuilder(new DialogFormSubviews());
-        addSubviewDecorator(new ParametersLabelDecorator());
-        addViewDecorator(new CompositeViewDecorator() {
-            @Override
-            public View decorate(final View view, final Axes axes) {
-                // TODO reintroduce the 'Apply' notion, but under control from
-                // the method declaration
-                final ButtonAction[] actions = new ButtonAction[] { new ExecuteAndCloseAction(), new CancelAction() };
-                final ButtonBorder buttonBorder = new ButtonBorder(actions, new IconBorder(view, Toolkit.getText(ColorsAndFonts.TEXT_TITLE_SMALL)));
-                buttonBorder.setFocusManager(new ActionDialogFocusManager(buttonBorder));
-                return buttonBorder;
-            }
-        });
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.getContent() instanceof ActionContent;
-    }
-
-    @Override
-    public String getName() {
-        return "Action Dialog";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionFieldBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionFieldBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionFieldBuilder.java
deleted file mode 100644
index 15fa6a8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ActionFieldBuilder.java
+++ /dev/null
@@ -1,111 +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.dnd.dialog;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.action.ActionContent;
-import org.apache.isis.viewer.dnd.view.action.ObjectParameter;
-import org.apache.isis.viewer.dnd.view.action.ObjectParameterImpl;
-import org.apache.isis.viewer.dnd.view.action.ParameterContent;
-import org.apache.isis.viewer.dnd.view.action.TextParseableParameter;
-import org.apache.isis.viewer.dnd.view.composite.AbstractViewBuilder;
-
-public class ActionFieldBuilder extends AbstractViewBuilder {
-    private static final Logger LOG = LoggerFactory.getLogger(ActionFieldBuilder.class);
-    private final ViewFactory subviewDesign;
-
-    public ActionFieldBuilder(final ViewFactory subviewDesign) {
-        this.subviewDesign = subviewDesign;
-    }
-
-    @Override
-    public void build(final View view, final Axes axes) {
-        Assert.assertEquals(view.getView(), view);
-
-        final ActionContent actionContent = ((ActionContent) view.getContent());
-        if (view.getSubviews().length == 0) {
-            initialBuild(view, actionContent);
-        } else {
-            updateBuild(view, actionContent);
-        }
-
-    }
-
-    private View createFieldView(final View view, final ParameterContent parameter, final int sequence) {
-        final View fieldView = subviewDesign.createView(parameter, null, sequence);
-        if (fieldView == null) {
-            throw new IsisException("All parameters must be shown");
-        }
-        return fieldView;
-    }
-
-    private void initialBuild(final View view, final ActionContent actionContent) {
-        LOG.debug("build new view " + view + " for " + actionContent);
-        final int noParameters = actionContent.getNoParameters();
-        View focusOn = null;
-        for (int f = 0; f < noParameters; f++) {
-            final ParameterContent parameter = actionContent.getParameterContent(f);
-            final View fieldView = createFieldView(view, parameter, f);
-            final View decoratedSubview = decorateSubview(view.getViewAxes(), fieldView);
-            view.addView(decoratedSubview);
-
-            // set focus to first value field
-            if (focusOn == null && parameter instanceof TextParseableParameter && fieldView.canFocus()) {
-                focusOn = decoratedSubview;
-            }
-        }
-
-        if (focusOn != null) {
-            view.getViewManager().setKeyboardFocus(focusOn);
-        }
-    }
-
-    private void updateBuild(final View view, final ActionContent actionContent) {
-        LOG.debug("rebuild view " + view + " for " + actionContent);
-        final View[] subviews = view.getSubviews();
-
-        for (int i = 0; i < subviews.length; i++) {
-            final View subview = subviews[i];
-            final Content content = subview.getContent();
-
-            final ObjectAdapter subviewsObject = subview.getContent().getAdapter();
-            final ObjectAdapter invocationsObject = ((ActionContent) view.getContent()).getParameterObject(i);
-
-            if (content instanceof ObjectParameter) {
-                if (subviewsObject != invocationsObject) {
-                    final ObjectParameter parameter = new ObjectParameterImpl((ObjectParameterImpl) content, invocationsObject);
-                    final View fieldView = createFieldView(view, parameter, i);
-                    view.replaceView(subview, decorateSubview(view.getViewAxes(), fieldView));
-                }
-            } else {
-                subview.refresh();
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ParametersLabelDecorator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ParametersLabelDecorator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ParametersLabelDecorator.java
deleted file mode 100644
index f61b886..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/dialog/ParametersLabelDecorator.java
+++ /dev/null
@@ -1,47 +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.dnd.dialog;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.axis.LabelAxis;
-import org.apache.isis.viewer.dnd.view.border.DroppableLabelBorder;
-import org.apache.isis.viewer.dnd.view.border.LabelBorder;
-
-public class ParametersLabelDecorator implements SubviewDecorator {
-
-    @Override
-    public ViewAxis createAxis(final Content content) {
-        return new LabelAxis();
-    }
-
-    @Override
-    public View decorate(final Axes axes, final View view) {
-        final LabelAxis axis = axes.getAxis(LabelAxis.class);
-        if (view.getContent().isObject() && !view.getContent().isTextParseable()) {
-            return DroppableLabelBorder.createObjectParameterLabelBorder(axis, view);
-        } else {
-            return LabelBorder.createValueParameterLabelBorder(axis, view);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Background.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Background.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Background.java
deleted file mode 100644
index 5cc9037..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Background.java
+++ /dev/null
@@ -1,27 +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.dnd.drawing;
-
-/**
- * A strategy for rendering the background of the application window.
- */
-public interface Background {
-    void draw(Canvas canvas, Size size);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Bounds.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Bounds.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Bounds.java
deleted file mode 100644
index 2ef1530..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Bounds.java
+++ /dev/null
@@ -1,331 +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.dnd.drawing;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Bounds represent a rectangular area on the screen. The top-left corner is
- * represented by the location (available using getLocation(), and getX() and
- * getY()). The extent of the bounds is specified by its height and width
- * (available using getHeight() and getWidth()). The bottom-right point is the
- * offset from the top-left point by width -1 and hieght - 1 pixels.
- * 
- * For example a bounds created as follows
- * 
- * new Bounds(5, 10, 10, 20)
- * 
- * Would represent a rectangle at location (5, 10), with a width of 10 pixels
- * and a height of 20. Note, hower that the lower-right corner would be at (14,
- * 29), as there are 10 pixels between pixel 5 and pixel 14, and 20 between 10
- * and 29.
- */
-public class Bounds {
-    Logger LOG = LoggerFactory.getLogger("Bounds");
-    int x;
-    int y;
-    int height;
-    int width;
-
-    public Bounds() {
-        x = 0;
-        y = 0;
-        width = 0;
-        height = 0;
-    }
-
-    public Bounds(final Bounds bounds) {
-        this(bounds.x, bounds.y, bounds.width, bounds.height);
-    }
-
-    public Bounds(final int x, final int y, final int width, final int height) {
-        super();
-        this.x = x;
-        this.y = y;
-        this.width = width;
-        this.height = height;
-    }
-
-    public Bounds(final Location location, final Size size) {
-        this(location.x, location.y, size.width, size.height);
-    }
-
-    public Bounds(final Size size) {
-        this(0, 0, size.width, size.height);
-    }
-
-    public boolean contains(final Location location) {
-        final int xp = location.getX();
-        final int yp = location.getY();
-        final int xMax = x + width - 1;
-        final int yMax = y + height - 1;
-
-        return xp >= x && xp <= xMax && yp >= y && yp <= yMax;
-    }
-
-    public void contract(final int width, final int height) {
-        this.width -= width;
-        this.height -= height;
-    }
-
-    public void contract(final Padding padding) {
-        height -= padding.top + padding.bottom;
-        width -= padding.left + padding.right;
-        x += padding.left;
-        y += padding.top;
-    }
-
-    public void contract(final Size size) {
-        this.width -= size.width;
-        this.height -= size.height;
-    }
-
-    public void contractHeight(final int height) {
-        this.height -= height;
-    }
-
-    public void contractWidth(final int width) {
-        this.width -= width;
-    }
-
-    public void ensureHeight(final int height) {
-        this.height = Math.max(this.height, height);
-    }
-
-    public void ensureWidth(final int width) {
-        this.width = Math.max(this.width, width);
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj == this) {
-            return true;
-        }
-
-        if (obj instanceof Bounds) {
-            final Bounds b = (Bounds) obj;
-
-            return b.x == x && b.y == y && b.width == width && b.height == height;
-        }
-
-        return false;
-    }
-
-    public void extend(final int width, final int height) {
-        this.width += width;
-        this.height += height;
-    }
-
-    public void extend(final Padding padding) {
-        this.width += padding.getLeftRight();
-        this.height += padding.getTopBottom();
-    }
-
-    public void extend(final Size size) {
-        this.width += size.width;
-        this.height += size.height;
-    }
-
-    public void extendHeight(final int height) {
-        this.height += height;
-    }
-
-    public void extendWidth(final int width) {
-        this.width += width;
-    }
-
-    public int getHeight() {
-        return height;
-    }
-
-    public Location getLocation() {
-        return new Location(x, y);
-    }
-
-    public Size getSize() {
-        return new Size(width, height);
-    }
-
-    public int getWidth() {
-        return width;
-    }
-
-    public int getX() {
-        return x;
-    }
-
-    public int getX2() {
-        return x + width - 1;
-    }
-
-    public int getY() {
-        return y;
-    }
-
-    public int getY2() {
-        return y + height - 1;
-    }
-
-    /**
-     * Determines whether this bounds overlaps the specified bounds. If any area
-     * is shared by the two bounds then this will return true. As the edges of
-     * the bounds are of a finite size the bounds overlap if any of the edges
-     * overlap.
-     */
-    public boolean intersects(final Bounds bounds) {
-        final int tx1 = this.x;
-        final int tx2 = this.x + this.width - 1;
-        final int ox1 = bounds.x;
-        final int ox2 = bounds.x + bounds.width - 1;
-
-        // tx1 < ox1 < tx2 || tx1 < ox2 < tx2
-        final boolean xOverlap = (tx1 <= ox1 && ox1 <= tx2) || (tx1 <= ox2 && ox1 <= tx2) || (ox1 <= tx1 && tx1 <= ox2) || (ox1 <= tx2 && tx1 <= ox2);
-
-        final int ty1 = this.y;
-        final int ty2 = this.y + this.height - 1;
-        final int oy1 = bounds.y;
-        final int oy2 = bounds.y + bounds.height - 1;
-        final boolean yOverlap = (ty1 <= oy1 && oy1 <= ty2) || (ty1 <= oy2 && oy1 <= ty2) || (oy1 <= ty1 && ty1 <= oy2) || (oy1 <= ty2 && ty1 <= oy2);
-        return xOverlap && yOverlap;
-
-    }
-
-    public void limitLocation(final Size bounds) {
-        if (x + width > bounds.width) {
-            x = bounds.width - width;
-        }
-        if (y + height > bounds.height) {
-            y = bounds.height - height;
-        }
-    }
-
-    /**
-     * Limits the specified bounds so that it fits within this bounds.
-     */
-    public boolean limitBounds(final Bounds toLimit) {
-        boolean limited = false;
-        final Location location = toLimit.getLocation();
-        final Size size = toLimit.getSize();
-
-        int viewLeft = location.getX();
-        int viewTop = location.getY();
-        int viewRight = viewLeft + size.getWidth();
-        int viewBottom = viewTop + size.getHeight();
-
-        final Size wd = getSize();
-
-        final int limitLeft = x;
-        final int limitTop = y;
-        final int limitRight = x + width;
-        final int limitBottom = y + height;
-
-        if (viewRight > limitRight) {
-            viewLeft = limitRight - size.getWidth();
-            limited = true;
-            LOG.info("right side oustide limits, moving left to " + viewLeft);
-        }
-
-        if (viewLeft < limitLeft) {
-            viewLeft = limitLeft;
-            limited = true;
-            LOG.info("left side outside limit, moving left to " + viewLeft);
-        }
-
-        if (viewBottom > limitBottom) {
-            viewTop = limitBottom - size.getHeight();
-            limited = true;
-            LOG.info("bottom outside limit, moving top to " + viewTop);
-        }
-
-        if (viewTop < limitTop) {
-            viewTop = limitTop;
-            limited = true;
-            LOG.info("top outside limit, moving top to " + viewTop);
-        }
-
-        toLimit.setX(viewLeft);
-        toLimit.setY(viewTop);
-
-        viewBottom = viewTop + size.getHeight();
-        viewRight = viewLeft + size.getWidth();
-
-        if (viewRight > limitRight) {
-            toLimit.width = wd.width;
-            limited = true;
-            LOG.info("width outside limit, reducing width to " + viewTop);
-        }
-
-        if (viewBottom > limitBottom) {
-            toLimit.height = wd.height;
-            limited = true;
-            LOG.info("height outside limit, reducing height to " + viewTop);
-        }
-
-        if (limited) {
-            LOG.info("limited " + toLimit);
-        }
-        return limited;
-    }
-
-    public void setBounds(final Bounds bounds) {
-        x = bounds.x;
-        y = bounds.y;
-        width = bounds.width;
-        height = bounds.height;
-
-    }
-
-    public void setHeight(final int height) {
-        this.height = height;
-    }
-
-    public void setWidth(final int width) {
-        this.width = width;
-    }
-
-    public void setX(final int x) {
-        this.x = x;
-    }
-
-    public void setY(final int y) {
-        this.y = y;
-    }
-
-    @Override
-    public String toString() {
-        return x + "," + y + " " + width + "x" + height;
-    }
-
-    public void translate(final int x, final int y) {
-        this.x += x;
-        this.y += y;
-    }
-
-    public void union(final Bounds bounds) {
-        final int newX = Math.min(x, bounds.x);
-        final int newY = Math.min(y, bounds.y);
-        width = Math.max(x + width, bounds.x + bounds.width) - newX;
-        height = Math.max(y + height, bounds.y + bounds.height) - newY;
-        x = newX;
-        y = newY;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Canvas.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Canvas.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Canvas.java
deleted file mode 100644
index 4271de1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Canvas.java
+++ /dev/null
@@ -1,68 +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.dnd.drawing;
-
-public interface Canvas {
-    Canvas createSubcanvas();
-
-    Canvas createSubcanvas(Bounds bounds);
-
-    Canvas createSubcanvas(int x, int y, int width, int height);
-
-    void draw3DRectangle(int x, int y, int width, int height, Color color, boolean raised);
-
-    void drawDebugOutline(Bounds bounds, int baseline, Color color);
-
-    void drawImage(Image image, int x, int y);
-
-    void drawImage(Image image, int x, int y, int width, int height);
-
-    void drawLine(int x, int y, int x2, int y2, Color color);
-
-    void drawLine(Location start, int xExtent, int yExtent, Color color);
-
-    void drawOval(int x, int y, int width, int height, Color color);
-
-    void drawRectangle(int x, int y, int width, int height, Color color);
-
-    void drawRectangleAround(Bounds bounds, Color color);
-
-    void drawRoundedRectangle(int x, int y, int width, int height, int arcWidth, int arcHeight, Color color);
-
-    void drawShape(Shape shape, Color color);
-
-    void drawShape(Shape shape, int x, int y, Color color);
-
-    void drawSolidOval(int x, int y, int width, int height, Color color);
-
-    void drawSolidRectangle(int x, int y, int width, int height, Color color);
-
-    void drawSolidShape(Shape shape, Color color);
-
-    void drawSolidShape(Shape shape, int x, int y, Color color);
-
-    void drawText(String text, int x, int y, Color color, Text style);
-
-    void drawText(String text, int x, int y, int maxWidth, Color color, Text style);
-
-    void offset(int x, int y);
-
-    boolean overlaps(Bounds bounds);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Color.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Color.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Color.java
deleted file mode 100644
index cadf826..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Color.java
+++ /dev/null
@@ -1,30 +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.dnd.drawing;
-
-public interface Color {
-
-    Color brighter();
-
-    Color darker();
-
-    String getName();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/ColorsAndFonts.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/ColorsAndFonts.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/ColorsAndFonts.java
deleted file mode 100644
index 5cc4866..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/ColorsAndFonts.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.dnd.drawing;
-
-/**
- * A look-up for font and color details.
- * 
- */
-public interface ColorsAndFonts {
-    public final static String COLOR_BLACK = "color.black";
-    public final static String COLOR_WHITE = "color.white";
-    public final static String COLOR_PRIMARY1 = "color.primary1";
-    public final static String COLOR_PRIMARY2 = "color.primary2";
-    public final static String COLOR_PRIMARY3 = "color.primary3";
-    public final static String COLOR_SECONDARY1 = "color.secondary1";
-    public final static String COLOR_SECONDARY2 = "color.secondary2";
-    public final static String COLOR_SECONDARY3 = "color.secondary3";
-
-    // background colors
-    public final static String COLOR_APPLICATION = "color.background.application";
-    public final static String COLOR_WINDOW = "color.background.window";
-    public final static String COLOR_MENU_VALUE = "color.background.menu.value";
-    public final static String COLOR_MENU_CONTENT = "color.background.menu.content";
-    public final static String COLOR_MENU_VIEW = "color.background.menu.view";
-    public final static String COLOR_MENU_WORKSPACE = "color.background.menu.workspace";
-
-    // menu colors
-    public final static String COLOR_MENU = "color.menu.normal";
-    public final static String COLOR_MENU_DISABLED = "color.menu.disabled";
-    public final static String COLOR_MENU_REVERSED = "color.menu.reversed";
-
-    // label colors
-    public final static String COLOR_LABEL = "color.label.normal";
-    public final static String COLOR_LABEL_DISABLED = "color.label.disabled";
-    public final static String COLOR_LABEL_MANDATORY = "color.label.mandatory";
-
-    // state colors
-    public final static String COLOR_IDENTIFIED = "color.identified";
-    public final static String COLOR_VALID = "color.valid";
-    public final static String COLOR_INVALID = "color.invalid";
-    public final static String COLOR_ERROR = "color.error";
-    public final static String COLOR_ACTIVE = "color.active";
-    public final static String COLOR_OUT_OF_SYNC = "color.out-of-sync";
-
-    // text colors
-    public final static String COLOR_TEXT_SAVED = "color.text.saved";
-    public final static String COLOR_TEXT_EDIT = "color.text.edit";
-    public final static String COLOR_TEXT_CURSOR = "color.text.cursor";
-    public final static String COLOR_TEXT_HIGHLIGHT = "color.text.highlight";
-
-    // debug outline colors
-    public final static String COLOR_DEBUG_BASELINE = "color.debug.baseline";
-    public final static String COLOR_DEBUG_BOUNDS_BORDER = "color.debug.bounds.border";
-    public final static String COLOR_DEBUG_BOUNDS_DRAW = "color.debug.bounds.draw";
-    public final static String COLOR_DEBUG_BOUNDS_REPAINT = "color.debug.bounds.repaint";
-    public final static String COLOR_DEBUG_BOUNDS_VIEW = "color.debug.bounds.view";
-
-    // fonts
-    public final static String TEXT_DEFAULT = "text.default";
-    public final static String TEXT_CONTROL = "text.control";
-    public final static String TEXT_TITLE = "text.title";
-    public final static String TEXT_TITLE_SMALL = "text.title.small";
-    public final static String TEXT_DEBUG = "text.debug";
-    public final static String TEXT_STATUS = "text.status";
-    public final static String TEXT_ICON = "text.icon";
-    public final static String TEXT_LABEL = "text.label";
-    public final static String TEXT_LABEL_MANDATORY = "text.label.mandatory";
-    public final static String TEXT_LABEL_DISABLED = "text.label.disabled";
-    public final static String TEXT_MENU = "text.menu";
-    public final static String TEXT_NORMAL = "text.normal";
-
-    int defaultBaseline();
-
-    int defaultFieldHeight();
-
-    Color getColor(int rgbColor);
-
-    Color getColor(String name);
-
-    Text getText(String name);
-
-    void init();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DebugCanvas.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DebugCanvas.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DebugCanvas.java
deleted file mode 100644
index 7cc7656..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DebugCanvas.java
+++ /dev/null
@@ -1,187 +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.dnd.drawing;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-
-public class DebugCanvas implements Canvas {
-    private final DebugBuilder buffer;
-    private final int level;
-
-    public DebugCanvas(final DebugBuilder buffer, final Bounds bounds) {
-        this(buffer, 0);
-    }
-
-    private DebugCanvas(final DebugBuilder buffer, final int level) {
-        this.level = level;
-        this.buffer = buffer;
-    }
-
-    @Override
-    public Canvas createSubcanvas() {
-        buffer.blankLine();
-        indent();
-        buffer.appendln("Create subcanvas for same area");
-        return new DebugCanvas(buffer, level + 1);
-    }
-
-    @Override
-    public Canvas createSubcanvas(final Bounds bounds) {
-        return createSubcanvas(bounds.getX(), bounds.getY(), bounds.getWidth(), bounds.getHeight());
-    }
-
-    @Override
-    public Canvas createSubcanvas(final int x, final int y, final int width, final int height) {
-        buffer.blankLine();
-        indent();
-        buffer.appendln("Create subcanvas for area " + x + "," + y + " " + width + "x" + height);
-        return new DebugCanvas(buffer, level + 1);
-    }
-
-    @Override
-    public void draw3DRectangle(final int x, final int y, final int width, final int height, final Color color, final boolean raised) {
-        indent();
-        buffer.appendln("Rectangle (3D) " + x + "," + y + " " + width + "x" + height);
-    }
-
-    @Override
-    public void drawImage(final Image image, final int x, final int y) {
-        indent();
-        buffer.appendln("Icon " + x + "," + y + " " + image.getWidth() + "x" + image.getHeight());
-    }
-
-    @Override
-    public void drawImage(final Image image, final int x, final int y, final int width, final int height) {
-        indent();
-        buffer.appendln("Icon " + x + "," + y + " " + width + "x" + height);
-    }
-
-    @Override
-    public void drawLine(final int x, final int y, final int x2, final int y2, final Color color) {
-        indent();
-        buffer.appendln("Line from " + x + "," + y + " to " + x2 + "," + y2 + " " + color);
-    }
-
-    @Override
-    public void drawLine(final Location start, final int xExtent, final int yExtent, final Color color) {
-        indent();
-        buffer.appendln("Line from " + start.getX() + "," + start.getY() + " to " + (start.getX() + xExtent) + "," + (start.getY() + yExtent) + " " + color);
-    }
-
-    @Override
-    public void drawOval(final int x, final int y, final int width, final int height, final Color color) {
-        indent();
-        buffer.appendln("Oval " + x + "," + y + " " + width + "x" + height + " " + color);
-    }
-
-    @Override
-    public void drawRectangle(final int x, final int y, final int width, final int height, final Color color) {
-        indent();
-        buffer.appendln("Rectangle " + x + "," + y + " " + width + "x" + height + " " + color);
-    }
-
-    @Override
-    public void drawRectangleAround(final Bounds bounds, final Color color) {
-        indent();
-        buffer.appendln("Rectangle 0,0 " + bounds.getWidth() + "x" + bounds.getHeight() + " " + color);
-    }
-
-    @Override
-    public void drawRoundedRectangle(final int x, final int y, final int width, final int height, final int arcWidth, final int arcHeight, final Color color) {
-        indent();
-        buffer.appendln("Rounded Rectangle " + x + "," + y + " " + (x + width) + "x" + (y + height) + " " + color);
-    }
-
-    @Override
-    public void drawShape(final Shape shape, final Color color) {
-        indent();
-        buffer.appendln("Shape " + shape + " " + color);
-    }
-
-    @Override
-    public void drawShape(final Shape shape, final int x, final int y, final Color color) {
-        indent();
-        buffer.appendln("Shape " + shape + " at " + x + "/" + y + " (left, top)" + " " + color);
-    }
-
-    @Override
-    public void drawSolidOval(final int x, final int y, final int width, final int height, final Color color) {
-        indent();
-        buffer.appendln("Oval (solid) " + x + "," + y + " " + width + "x" + height + " " + color);
-    }
-
-    @Override
-    public void drawSolidRectangle(final int x, final int y, final int width, final int height, final Color color) {
-        indent();
-        buffer.appendln("Rectangle (solid) " + x + "," + y + " " + width + "x" + height + " " + color);
-    }
-
-    @Override
-    public void drawSolidShape(final Shape shape, final Color color) {
-        indent();
-        buffer.appendln("Shape (solid) " + shape + " " + color);
-    }
-
-    @Override
-    public void drawSolidShape(final Shape shape, final int x, final int y, final Color color) {
-        indent();
-        buffer.appendln("Shape (solid)" + shape + " at " + x + "/" + y + " (left, top)" + " " + color);
-    }
-
-    @Override
-    public void drawText(final String text, final int x, final int y, final Color color, final Text style) {
-        indent();
-        buffer.appendln("Text " + x + "," + y + " \"" + text + "\" " + style + " " + color);
-    }
-
-    @Override
-    public void drawText(final String text, final int x, final int y, final int maxWidth, final Color color, final Text style) {
-        indent();
-        buffer.appendln("Text " + x + "," + y + " +" + maxWidth + "xh \"" + text + "\" " + style + " " + color);
-    }
-
-    private void indent() {
-        // buffer.append("\n");
-        for (int i = 0; i < level; i++) {
-            buffer.append("   ");
-        }
-    }
-
-    @Override
-    public void offset(final int x, final int y) {
-        indent();
-        buffer.appendln("Offset by " + x + "/" + y + " (left, top)");
-    }
-
-    @Override
-    public boolean overlaps(final Bounds bounds) {
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        return "Canvas";
-    }
-
-    @Override
-    public void drawDebugOutline(final Bounds bounds, final int baseline, final Color color) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DebugCanvasAbsolute.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DebugCanvasAbsolute.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DebugCanvasAbsolute.java
deleted file mode 100644
index e9fba46..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DebugCanvasAbsolute.java
+++ /dev/null
@@ -1,257 +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.dnd.drawing;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.StringTokenizer;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-
-public class DebugCanvasAbsolute implements Canvas {
-    private final DebugBuilder buffer;
-    private final int level;
-    private int offsetX;
-    private int offsetY;
-
-    public DebugCanvasAbsolute(final DebugBuilder buffer, final Bounds bounds) {
-        this(buffer, 0, bounds.getX(), bounds.getY());
-    }
-
-    private DebugCanvasAbsolute(final DebugBuilder buffer, final int level, final int x, final int y) {
-        this.level = level;
-        this.buffer = buffer;
-        offsetX = x;
-        offsetY = y;
-    }
-
-    @Override
-    public Canvas createSubcanvas() {
-        buffer.blankLine();
-        indent();
-        buffer.appendln("Create subcanvas for same area");
-        return new DebugCanvasAbsolute(buffer, level + 1, offsetX, offsetY);
-    }
-
-    @Override
-    public Canvas createSubcanvas(final Bounds bounds) {
-        return createSubcanvas(bounds.getX(), bounds.getY(), bounds.getWidth(), bounds.getHeight());
-    }
-
-    @Override
-    public Canvas createSubcanvas(final int x, final int y, final int width, final int height) {
-        // buffer.blankLine();
-        indent();
-        final int dx = offsetX + x;
-        final int qx = dx + width - 1;
-        final int dy = offsetY + y;
-        final int qy = dy + height - 1;
-        buffer.appendln("Canvas " + dx + "," + dy + " " + width + "x" + height + " (" + qx + "," + qy + ") " + line());
-        // buffer.appendln(line());
-        return new DebugCanvasAbsolute(buffer, level + 1, dx, dy);
-    }
-
-    @Override
-    public void draw3DRectangle(final int x, final int y, final int width, final int height, final Color color, final boolean raised) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        final int qx = px + width - 1;
-        final int qy = py + height - 1;
-        buffer.appendln("Rectangle (3D) " + px + "," + py + " " + width + "x" + height + " (" + qx + "," + qy + ") " + line());
-    }
-
-    @Override
-    public void drawImage(final Image image, final int x, final int y) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        final int qx = px + image.getWidth() - 1;
-        final int qy = py + image.getHeight() - 1;
-        buffer.appendln("Icon " + px + "," + py + " " + image.getWidth() + "x" + image.getHeight() + " (" + qx + "," + qy + ") " + line());
-    }
-
-    @Override
-    public void drawImage(final Image image, final int x, final int y, final int width, final int height) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        final int qx = px + width - 1;
-        final int qy = py + height - 1;
-        buffer.appendln("Icon " + px + "," + py + " " + width + "x" + height + " (" + qx + "," + qy + ") " + line());
-    }
-
-    @Override
-    public void drawLine(final int x, final int y, final int x2, final int y2, final Color color) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        final int qx = offsetX + x2;
-        final int qy = offsetY + y2;
-        buffer.appendln("Line from " + px + "," + py + " to " + qx + "," + qy + " " + color + line());
-    }
-
-    @Override
-    public void drawLine(final Location start, final int xExtent, final int yExtent, final Color color) {
-        indent();
-        buffer.appendln("Line from " + start.getX() + "," + start.getY() + " to " + (start.getX() + xExtent) + "," + (start.getY() + yExtent) + " " + color + line());
-    }
-
-    @Override
-    public void drawOval(final int x, final int y, final int width, final int height, final Color color) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        buffer.appendln("Oval " + px + "," + py + " " + width + "x" + height + " " + color + line());
-    }
-
-    @Override
-    public void drawRectangle(final int x, final int y, final int width, final int height, final Color color) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        final int qx = px + width - 1;
-        final int qy = py + height - 1;
-
-        buffer.appendln("Rectangle " + px + "," + py + " " + width + "x" + height + " (" + qx + "," + qy + ") " + color + line());
-    }
-
-    private String line() {
-        final RuntimeException e = new RuntimeException();
-        StringWriter s;
-        final PrintWriter p = new PrintWriter(s = new StringWriter());
-        e.printStackTrace(p);
-        final StringTokenizer st = new StringTokenizer(s.toString(), "\n\r");
-        st.nextElement();
-        st.nextElement();
-        st.nextElement();
-        final String line = st.nextToken();
-        return line.substring(line.indexOf('('));
-    }
-
-    @Override
-    public void drawRectangleAround(final Bounds bounds, final Color color) {
-        indent();
-        buffer.appendln("Rectangle 0,0 " + bounds.getWidth() + "x" + bounds.getHeight() + " " + color + line());
-    }
-
-    @Override
-    public void drawRoundedRectangle(final int x, final int y, final int width, final int height, final int arcWidth, final int arcHeight, final Color color) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        final int qx = px + width - 1;
-        final int qy = py + height - 1;
-        buffer.appendln("Rounded Rectangle " + px + "," + py + " " + width + "x" + height + " (" + qx + "," + qy + ") " + color + line());
-    }
-
-    @Override
-    public void drawShape(final Shape shape, final Color color) {
-        indent();
-        buffer.appendln("Shape " + shape + " " + color);
-    }
-
-    @Override
-    public void drawShape(final Shape shape, final int x, final int y, final Color color) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        buffer.appendln("Shape " + shape + " at " + px + "," + py + " (left, top)" + " " + color + line());
-    }
-
-    @Override
-    public void drawSolidOval(final int x, final int y, final int width, final int height, final Color color) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        final int qx = px + width - 1;
-        final int qy = py + height - 1;
-        buffer.appendln("Oval (solid) " + px + "," + py + " " + width + "x" + height + " (" + qx + "," + qy + ") " + color + line());
-    }
-
-    @Override
-    public void drawSolidRectangle(final int x, final int y, final int width, final int height, final Color color) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        final int qx = px + width - 1;
-        final int qy = py + height - 1;
-        buffer.appendln("Rectangle (solid) " + px + "," + py + " " + width + "x" + height + " (" + qx + "," + qy + ") " + color + line());
-    }
-
-    @Override
-    public void drawSolidShape(final Shape shape, final Color color) {
-        indent();
-        buffer.appendln("Shape (solid) " + shape + " " + color);
-    }
-
-    @Override
-    public void drawSolidShape(final Shape shape, final int x, final int y, final Color color) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        buffer.appendln("Shape (solid)" + shape + " at " + px + "," + py + " (left, top)" + " " + color + line());
-    }
-
-    @Override
-    public void drawText(final String text, final int x, final int y, final Color color, final Text style) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        buffer.appendln("Text " + px + "," + py + " \"" + text + "\" " + color + line());
-    }
-
-    @Override
-    public void drawText(final String text, final int x, final int y, final int maxWidth, final Color color, final Text style) {
-        indent();
-        final int px = offsetX + x;
-        final int py = offsetY + y;
-        buffer.appendln("Text " + px + "," + py + " +" + maxWidth + "xh \"" + text + "\" " + color + line());
-    }
-
-    private void indent() {
-        for (int i = 0; i < level; i++) {
-            buffer.append("   ");
-        }
-    }
-
-    @Override
-    public void offset(final int x, final int y) {
-        // indent();
-        offsetX += x;
-        offsetY += y;
-        // buffer.appendln("Offset by " + x + "/" + y + " (left, top)");
-    }
-
-    @Override
-    public boolean overlaps(final Bounds bounds) {
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        return "Canvas";
-    }
-
-    @Override
-    public void drawDebugOutline(final Bounds bounds, final int baseline, final Color color) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DrawingUtil.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DrawingUtil.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DrawingUtil.java
deleted file mode 100644
index 69e1b48..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/DrawingUtil.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.dnd.drawing;
-
-public class DrawingUtil {
-    public static void drawHatching(final Canvas canvas, final int x, final int y, final int width, final int height, final Color foreground, final Color shadow) {
-        final int bottom = y + height;
-        for (int p = y; p < bottom; p += 4) {
-            drawDots(canvas, x, p, width, foreground, shadow);
-            if (p + 2 < bottom) {
-                drawDots(canvas, x + 2, p + 2, width - 2, foreground, shadow);
-            }
-        }
-    }
-
-    private static void drawDots(final Canvas canvas, final int x, final int y, final int width, final Color foreground, final Color shadow) {
-        final int x2 = x + width;
-        for (int p = x; p < x2; p += 4) {
-            canvas.drawLine(p, y, p, y, shadow);
-            canvas.drawLine(p + 1, y + 1, p + 1, y + 1, foreground);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Image.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Image.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Image.java
deleted file mode 100644
index 33d25f2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/drawing/Image.java
+++ /dev/null
@@ -1,28 +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.dnd.drawing;
-
-public interface Image {
-    int getHeight();
-
-    int getWidth();
-
-    Size getSize();
-}


[07/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/SwingLook.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/SwingLook.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/SwingLook.java
deleted file mode 100644
index 73b05f0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/SwingLook.java
+++ /dev/null
@@ -1,49 +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.dnd.view.look.swing;
-
-import org.apache.isis.viewer.dnd.view.Look;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.border.ViewResizeBorder;
-import org.apache.isis.viewer.dnd.view.control.Button;
-import org.apache.isis.viewer.dnd.view.window.AbstractWindowBorder;
-import org.apache.isis.viewer.dnd.view.window.CloseWindowControl;
-import org.apache.isis.viewer.dnd.view.window.IconizeWindowControl;
-import org.apache.isis.viewer.dnd.view.window.ResizeWindowControl;
-
-public class SwingLook implements Look {
-
-    @Override
-    public void install() {
-        Button.setButtonRender(new Button3DStyleRender());
-        AbstractWindowBorder.setBorderRenderer(new SwingStyleWindowBorder());
-        CloseWindowControl.setRender(new CloseWindow3DRender());
-        ResizeWindowControl.setRender(new ResizeWindow3DRender());
-        IconizeWindowControl.setRender(new IconizeWindow3DRender());
-        ViewResizeBorder.setRender(new ResizeView3DRender());
-        ScrollBorder.setRender(new ScrollBar3DRender());
-    }
-
-    @Override
-    public String getName() {
-        return "Swing";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/SwingStyleWindowBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/SwingStyleWindowBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/SwingStyleWindowBorder.java
deleted file mode 100644
index 1639648..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/SwingStyleWindowBorder.java
+++ /dev/null
@@ -1,167 +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.dnd.view.look.swing;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.DrawingUtil;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.border.BorderDrawing;
-import org.apache.isis.viewer.dnd.view.text.TextUtils;
-import org.apache.isis.viewer.dnd.view.window.WindowControl;
-
-public class SwingStyleWindowBorder implements BorderDrawing {
-    final protected static int LINE_THICKNESS = 5;
-    private final static Text TITLE_STYLE = Toolkit.getText(ColorsAndFonts.TEXT_TITLE_SMALL);
-
-    int titlebarHeight = Math.max(WindowControl.HEIGHT + ViewConstants.VPADDING + TITLE_STYLE.getDescent(), TITLE_STYLE.getTextHeight());
-    int baseline = LINE_THICKNESS + WindowControl.HEIGHT;
-    int left = LINE_THICKNESS;
-    int right = LINE_THICKNESS;
-    int top = LINE_THICKNESS + titlebarHeight;
-    int bottom = LINE_THICKNESS;
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("titlebar ", top - titlebarHeight);
-    }
-
-    @Override
-    public void layoutControls(final Size size, final View[] controls) {
-        int x = size.getWidth() - right - (WindowControl.WIDTH + ViewConstants.HPADDING) * controls.length;
-        final int y = LINE_THICKNESS + ViewConstants.VPADDING;
-
-        for (final View control : controls) {
-            control.setSize(control.getRequiredSize(new Size()));
-            control.setLocation(new Location(x, y));
-            x += control.getSize().getWidth() + ViewConstants.HPADDING;
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size s, final boolean hasFocus, final ViewState state, final View[] controls, final String title) {
-        final int x = left;
-        final int width = s.getWidth();
-        final int height = s.getHeight();
-
-        final Color titleBarBackgroundColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-        final Color titleBarTextColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_BLACK) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        final Color borderColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        final Color insetColorLight = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        final Color insetColorDark = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_BLACK) : Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-
-        // slightly rounded grey border
-        canvas.drawRectangle(1, 0, width - 2, height, borderColor);
-        canvas.drawRectangle(0, 1, width, height - 2, borderColor);
-
-        for (int i = 2; i < left; i++) {
-            canvas.drawRectangle(i, i, width - 2 * i, height - 2 * i, borderColor);
-        }
-
-        if (state.isActive()) {
-            // final int i = left;
-            // canvas.drawRectangle(i, top, width - 2 * i, height - 2 * i - top,
-            // Toolkit.getColor(ColorsAndFonts.COLOR_ACTIVE));
-
-            final Image busyImage = ImageFactory.getInstance().loadIcon("busy", 16, null);
-            canvas.drawImage(busyImage, width - right - 16 - 4, top + 4);
-        }
-
-        // vertical lines within border
-        canvas.drawLine(2, 15, 2, height - 15, insetColorDark);
-        canvas.drawLine(3, 16, 3, height - 14, insetColorLight);
-        canvas.drawLine(width - 3, 15, width - 3, height - 15, insetColorDark);
-        canvas.drawLine(width - 2, 16, width - 2, height - 14, insetColorLight);
-
-        // horizontal lines within border
-        canvas.drawLine(15, 2, width - 15, 2, insetColorDark);
-        canvas.drawLine(16, 3, width - 14, 3, insetColorLight);
-        canvas.drawLine(15, height - 3, width - 15, height - 3, insetColorDark);
-        canvas.drawLine(16, height - 2, width - 14, height - 2, insetColorLight);
-
-        // title bar
-        canvas.drawSolidRectangle(left, LINE_THICKNESS, width - left - right, titlebarHeight, titleBarBackgroundColor);
-        final int y = LINE_THICKNESS + titlebarHeight - 1;
-        canvas.drawLine(x, y, width - right - 1, y, borderColor);
-
-        final int controlWidth = ViewConstants.HPADDING + (WindowControl.WIDTH + ViewConstants.HPADDING) * controls.length;
-        final String text = TextUtils.limitText(title, TITLE_STYLE, width - controlWidth - LINE_THICKNESS * 2 - 2);
-        canvas.drawText(text, x + ViewConstants.HPADDING, baseline, titleBarTextColor, TITLE_STYLE);
-
-        final Color white = Toolkit.getColor(ColorsAndFonts.COLOR_WHITE);
-        final int hatchX = ViewConstants.HPADDING + TITLE_STYLE.stringWidth(title) + 10;
-        final int hatchWidth = controls[0].getLocation().getX() - hatchX - 10;
-        final int hatchY = LINE_THICKNESS + 2;
-        final int hatchHeight = titlebarHeight - 6;
-        DrawingUtil.drawHatching(canvas, hatchX, hatchY, hatchWidth, hatchHeight, borderColor, white);
-
-    }
-
-    @Override
-    public void drawTransientMarker(final Canvas canvas, final Size size) {
-        final int height = top - LINE_THICKNESS - 2;
-        final int x = size.getWidth() - 50;
-        final Image icon = ImageFactory.getInstance().loadIcon("transient", height, null);
-        if (icon == null) {
-            canvas.drawText("*", x, baseline, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK), Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-        } else {
-            canvas.drawImage(icon, x, LINE_THICKNESS + 1, height, height);
-        }
-
-    }
-
-    @Override
-    public void getRequiredSize(final Size size, final String title, final View[] controls) {
-        final int width = left + ViewConstants.HPADDING + TITLE_STYLE.stringWidth(title) + ViewConstants.HPADDING + controls.length * (WindowControl.WIDTH + ViewConstants.HPADDING) + ViewConstants.HPADDING + right;
-        // size.extendWidth(getLeft() + getRight());
-        size.ensureWidth(width);
-    }
-
-    @Override
-    public int getLeft() {
-        return left;
-    }
-
-    @Override
-    public int getRight() {
-        return right;
-    }
-
-    @Override
-    public int getTop() {
-        return top;
-    }
-
-    @Override
-    public int getBottom() {
-        return bottom;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/DisposeOverlay.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/DisposeOverlay.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/DisposeOverlay.java
deleted file mode 100644
index 8936964..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/DisposeOverlay.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.dnd.view.lookup;
-
-import java.awt.event.KeyEvent;
-
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator;
-
-public class DisposeOverlay extends AbstractViewDecorator {
-    private final SelectionListAxis axis;
-
-    public DisposeOverlay(final View wrappedView, final SelectionListAxis axis) {
-        super(wrappedView);
-        this.axis = axis;
-    }
-
-    @Override
-    public Workspace getWorkspace() {
-        final View forView = axis.getOriginalView();
-        return forView.getWorkspace();
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (key.getKeyCode() == KeyEvent.VK_ESCAPE) {
-            dispose();
-        }
-        super.keyPressed(key);
-    }
-
-    @Override
-    public void dispose() {
-        getViewManager().clearOverlayView(this);
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        super.firstClick(click);
-        dispose();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenDropDownBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenDropDownBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenDropDownBorder.java
deleted file mode 100644
index b1fb8e8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenDropDownBorder.java
+++ /dev/null
@@ -1,163 +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.dnd.view.lookup;
-
-import java.awt.event.KeyEvent;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Shape;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.BackgroundTask;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.action.BackgroundWork;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-/**
- * Field border that provides a drop-down selector.
- */
-public abstract class OpenDropDownBorder extends AbstractBorder {
-    private boolean over;
-
-    public OpenDropDownBorder(final View wrappedView) {
-        super(wrappedView);
-        right = 18;
-    }
-
-    protected abstract View createDropDownView();
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final Size size = getSize();
-        final int x = size.getWidth() - right + 5 - ViewConstants.HPADDING;
-        final int y = (size.getHeight() - 6) / 2;
-
-        if (isAvailable()) {
-            final Shape triangle = new Shape(0, 0);
-            triangle.addPoint(6, 6);
-            triangle.addPoint(12, 0);
-
-            canvas.drawShape(triangle, x, y, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-            if (over) {
-                final Color color = over ? Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1) : Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2);
-                canvas.drawSolidShape(triangle, x, y, color);
-            }
-        }
-
-        super.draw(canvas);
-    }
-
-    @Override
-    public void exited() {
-        if (over) {
-            markDamaged();
-        }
-        over = false;
-        super.exited();
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final float x = click.getLocation().getX() - 2;
-        final float boundary = getSize().getWidth() - right;
-        if (x >= boundary) {
-            if (isAvailable()) {
-                open();
-            }
-        } else {
-            super.firstClick(click);
-        }
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        maximumSize.contractWidth(ViewConstants.HPADDING);
-        final Size size = super.getRequiredSize(maximumSize);
-        return size;
-    }
-
-    protected boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public boolean canFocus() {
-        return isAvailable();
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (key.getKeyCode() == KeyEvent.VK_DOWN && isAvailable()) {
-            open();
-            key.consume();
-        }
-
-        super.keyPressed(key);
-    }
-
-    @Override
-    public void mouseMoved(final Location at) {
-        if (at.getX() >= getSize().getWidth() - right) {
-            getFeedbackManager().showDefaultCursor();
-            if (!over) {
-                markDamaged();
-            }
-            over = true;
-        } else {
-            if (over) {
-                markDamaged();
-            }
-            over = false;
-            super.mouseMoved(at);
-        }
-    }
-
-    private void open() {
-        BackgroundWork.runTaskInBackground(this, new BackgroundTask() {
-            @Override
-            public void execute() {
-                final View overlay = createDropDownView();
-                final Location location = getView().getAbsoluteLocation();
-                location.add(getView().getPadding().getLeft() - 1, getSize().getHeight() + 2);
-                overlay.setLocation(location);
-                getViewManager().setOverlayView(overlay);
-            }
-
-            @Override
-            public String getDescription() {
-                return "";
-            }
-
-            @Override
-            public String getName() {
-                return "Opening selector";
-            }
-        });
-    }
-
-    // TODO move into abstract subclass for selection list
-    protected abstract void setSelection(OptionContent selectedContent);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenObjectDropDownBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenObjectDropDownBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenObjectDropDownBorder.java
deleted file mode 100644
index 2a1f13a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenObjectDropDownBorder.java
+++ /dev/null
@@ -1,70 +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.dnd.view.lookup;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.action.ParameterContent;
-import org.apache.isis.viewer.dnd.view.field.OneToOneField;
-
-public class OpenObjectDropDownBorder extends OpenDropDownBorder {
-    private final SelectionListSpecification listSpecification;
-
-    public OpenObjectDropDownBorder(final View wrappedView, final ViewSpecification spec) {
-        super(wrappedView);
-        listSpecification = new SelectionListSpecification() {
-            @Override
-            protected View createElementView(final Content content) {
-                return spec.createView(content, null, 0);
-            }
-        };
-    }
-
-    @Override
-    protected View createDropDownView() {
-        final Axes viewAxes = getViewAxes();
-        viewAxes.add(new SelectionListAxis(this), SelectionListAxis.class);
-        return listSpecification.createView(getContent(), viewAxes, -1);
-    }
-
-    @Override
-    protected boolean isAvailable() {
-        final Content content = getContent();
-        if (content instanceof OneToOneField) {
-            final OneToOneField oneToOneField = ((OneToOneField) content);
-            return oneToOneField.isEditable().isAllowed();
-        } else if (content instanceof ParameterContent) {
-            return true;
-        } else {
-            return false;
-        }
-
-    }
-
-    @Override
-    protected void setSelection(final OptionContent selectedContent) {
-        final ObjectAdapter option = selectedContent.getAdapter();
-        ((ObjectContent) getContent()).setObject(option);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenValueDropDownBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenValueDropDownBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenValueDropDownBorder.java
deleted file mode 100644
index 89e1c14..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OpenValueDropDownBorder.java
+++ /dev/null
@@ -1,71 +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.dnd.view.lookup;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.action.ParameterContent;
-import org.apache.isis.viewer.dnd.view.base.TextView;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.field.TextParseableField;
-
-public class OpenValueDropDownBorder extends OpenDropDownBorder {
-    private static final SelectionListSpecification spec = new SelectionListSpecification() {
-        @Override
-        protected View createElementView(final Content content) {
-            return new TextView(content, this);
-        }
-    };
-
-    public OpenValueDropDownBorder(final View wrappedView) {
-        super(wrappedView);
-    }
-
-    @Override
-    protected View createDropDownView() {
-        final Axes viewAxes = getViewAxes();
-        viewAxes.add(new SelectionListAxis(this), SelectionListAxis.class);
-        return spec.createView(getContent(), viewAxes, -1);
-    }
-
-    @Override
-    protected boolean isAvailable() {
-        final Content content = getContent();
-        if (content instanceof TextParseableField) {
-            final TextParseableField oneToOneField = ((TextParseableField) content);
-            return oneToOneField.isEditable().isAllowed();
-        } else if (content instanceof ParameterContent) {
-            return true;
-        } else {
-            return false;
-        }
-
-    }
-
-    @Override
-    protected void setSelection(final OptionContent selectedContent) {
-        final ObjectAdapter option = selectedContent.getAdapter();
-        final TextParseableContent content = (TextParseableContent) getContent();
-        content.parseTextEntry(option.titleString());
-        content.entryComplete();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OptionContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OptionContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OptionContent.java
deleted file mode 100644
index 515d912..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/OptionContent.java
+++ /dev/null
@@ -1,123 +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.dnd.view.lookup;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.content.AbstractContent;
-
-public class OptionContent extends AbstractContent {
-    private final ObjectAdapter adapter;
-
-    public OptionContent(final ObjectAdapter adapter) {
-        this.adapter = adapter;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public String getDescription() {
-        return null;
-    }
-
-    @Override
-    public String getHelp() {
-        return null;
-    }
-
-    @Override
-    public String getIconName() {
-        return adapter.getIconName();
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        if (adapter instanceof ObjectAdapter) {
-            final ObjectAdapter adapter = this.adapter;
-            if (adapter == null) {
-                return ImageFactory.getInstance().loadIcon("empty-field", iconHeight, null);
-            }
-            final ObjectSpecification specification = adapter.getSpecification();
-            Image icon = ImageFactory.getInstance().loadIcon(specification, iconHeight, null);
-            if (icon == null) {
-                icon = ImageFactory.getInstance().loadDefaultIcon(iconHeight, null);
-            }
-            return icon;
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public String getId() {
-        return "OptionContent " + adapter;
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return adapter;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return adapter.getSpecification();
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return false;
-    }
-
-    public void parseTextEntry(final String entryText) {
-    }
-
-    @Override
-    public String title() {
-        return adapter.titleString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionItemSelector.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionItemSelector.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionItemSelector.java
deleted file mode 100644
index b300c48..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionItemSelector.java
+++ /dev/null
@@ -1,83 +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.dnd.view.lookup;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator;
-
-class SelectionItemSelector extends AbstractViewDecorator {
-
-    private final SelectionListAxis axis;
-
-    protected SelectionItemSelector(final View wrappedView, final SelectionListAxis axis) {
-        super(wrappedView);
-        this.axis = axis;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        if (getState().isViewIdentified()) {
-            final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-            final Bounds bounds = getBounds();
-            canvas.drawSolidRectangle(0, 0, bounds.getWidth(), bounds.getHeight(), color);
-        }
-        canvas.offset(ViewConstants.HPADDING, 0);
-        super.draw(canvas);
-    }
-
-    @Override
-    public void entered() {
-        getState().setContentIdentified();
-        getState().setViewIdentified();
-        wrappedView.entered();
-        markDamaged();
-    }
-
-    @Override
-    public void exited() {
-        getState().clearObjectIdentified();
-        getState().clearViewIdentified();
-        wrappedView.exited();
-        markDamaged();
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        axis.setSelection((OptionContent) getContent());
-        final View view = axis.getOriginalView();
-        view.getParent().updateView();
-        view.getParent().invalidateContent();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        final Size size = super.getRequiredSize(maximumSize);
-        size.extendWidth(ViewConstants.HPADDING * 2);
-        return size;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListAxis.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListAxis.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListAxis.java
deleted file mode 100644
index f4d857c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListAxis.java
+++ /dev/null
@@ -1,38 +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.dnd.view.lookup;
-
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-
-public class SelectionListAxis implements ViewAxis {
-    private final OpenDropDownBorder view;
-
-    public SelectionListAxis(final OpenDropDownBorder originalView) {
-        this.view = originalView;
-    }
-
-    public OpenDropDownBorder getOriginalView() {
-        return view;
-    }
-
-    public void setSelection(final OptionContent selectedContent) {
-        getOriginalView().setSelection(selectedContent);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListBuilder.java
deleted file mode 100644
index 7e369b0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListBuilder.java
+++ /dev/null
@@ -1,54 +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.dnd.view.lookup;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.composite.AbstractViewBuilder;
-
-public class SelectionListBuilder extends AbstractViewBuilder {
-    private final ViewFactory subviewSpecification;
-
-    public SelectionListBuilder(final ViewFactory subviewSpecification) {
-        this.subviewSpecification = subviewSpecification;
-    }
-
-    @Override
-    public void build(final View view, final Axes axes) {
-        final Content content = view.getContent();
-        final ObjectAdapter[] options = content.getOptions();
-
-        // TODO sort list
-        for (int i = 0; i < options.length; i++) {
-            final Content subContent = new OptionContent(options[i]);
-            final View subview = subviewSpecification.createView(subContent, axes, i);
-            view.addView(subview);
-        }
-    }
-
-    @Override
-    public boolean canDragView() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListFocusBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListFocusBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListFocusBorder.java
deleted file mode 100644
index bed21a0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListFocusBorder.java
+++ /dev/null
@@ -1,135 +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.dnd.view.lookup;
-
-import java.awt.event.InputEvent;
-import java.awt.event.KeyEvent;
-
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-// TODO incorporate this big hack into the rewrite of the focus mechanism
-class SelectionListFocusBorder extends AbstractBorder {
-    final SelectionListAxis axis;
-
-    protected SelectionListFocusBorder(final View view, final SelectionListAxis axis) {
-        super(view);
-        this.axis = axis;
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (key.getKeyCode() == KeyEvent.VK_DOWN) {
-            final View[] subviews = getSubviews();
-            for (int i = 0; i < subviews.length; i++) {
-                if (subviews[i].getState().isViewIdentified() || i == subviews.length - 1) {
-                    subviews[i].exited();
-                    subviews[i + 1 >= subviews.length ? 0 : i + 1].entered();
-                    break;
-                }
-            }
-        } else if (key.getKeyCode() == KeyEvent.VK_UP) {
-            final View[] subviews = getSubviews();
-            for (int i = 0; i < subviews.length; i++) {
-                if (subviews[i].getState().isViewIdentified() || i == subviews.length - 1) {
-                    subviews[i].exited();
-                    subviews[i == 0 ? subviews.length - 1 : i - 1].entered();
-                    break;
-                }
-            }
-        } else if (key.getKeyCode() == KeyEvent.VK_ENTER) {
-            selectOption();
-        } else if (key.getKeyCode() == KeyEvent.VK_TAB) {
-            selectOption();
-
-            final View view = axis.getOriginalView();
-            final View parentView = view.getParent();
-            if (key.getModifiers() == InputEvent.SHIFT_MASK) {
-                parentView.getFocusManager().focusPreviousView();
-            } else {
-                parentView.getFocusManager().focusNextView();
-            }
-        }
-    }
-
-    private void selectOption() {
-        final View[] subviews = getSubviews();
-        for (final View subview : subviews) {
-            if (subview.getState().isViewIdentified()) {
-                axis.setSelection((OptionContent) subview.getContent());
-                final View view = axis.getOriginalView();
-                final View parentView = view.getParent();
-
-                // remember which view has the focus so we can re-establish it
-                // later
-                final View[] parentsSubviews = parentView.getSubviews();
-                int index = 0;
-                for (int j = 0; j < parentsSubviews.length; j++) {
-                    if (view == parentsSubviews[j]) {
-                        index = j;
-                        break;
-                    }
-                }
-
-                parentView.updateView();
-                parentView.invalidateContent();
-                parentView.getFocusManager().setFocus(parentView.getSubviews()[index]);
-                getView().dispose();
-                break;
-            }
-        }
-    }
-
-    @Override
-    public void keyTyped(final KeyboardAction action) {
-        final View[] subviews = getSubviews();
-        int i;
-        int old = 0;
-        for (i = 0; i < subviews.length; i++) {
-            if (subviews[i].getState().isViewIdentified()) {
-                old = i;
-                i = i + 1 >= subviews.length ? 0 : i + 1;
-                break;
-            }
-        }
-        if (i == subviews.length) {
-            i = 0;
-        }
-
-        final String startsWith = ("" + action.getKeyCode()).toLowerCase();
-        for (int j = i; j < subviews.length; j++) {
-            if (subviews[j].getContent().title().toLowerCase().startsWith(startsWith)) {
-                subviews[old].exited();
-                subviews[j].entered();
-                return;
-            }
-        }
-        for (int j = 0; j < i; j++) {
-            if (subviews[j].getContent().title().toLowerCase().startsWith(startsWith)) {
-                subviews[old].exited();
-                subviews[j].entered();
-                return;
-            }
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListSpecification.java
deleted file mode 100644
index b57d5aa..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/lookup/SelectionListSpecification.java
+++ /dev/null
@@ -1,76 +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.dnd.view.lookup;
-
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.BackgroundBorder;
-import org.apache.isis.viewer.dnd.view.border.LineBorder;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-
-public abstract class SelectionListSpecification extends CompositeViewSpecification {
-
-    public SelectionListSpecification() {
-        builder = new SelectionListBuilder(new ViewFactory() {
-            @Override
-            public View createView(final Content content, final Axes axes, final int fieldNumber) {
-                final View elementView = createElementView(content);
-                final SelectionListAxis axis = axes.getAxis(SelectionListAxis.class);
-                axes.add(axis);
-                return new SelectionItemSelector(elementView, axis);
-            }
-
-        });
-        addViewDecorator(new CompositeViewDecorator() {
-            @Override
-            public View decorate(final View view, final Axes axes) {
-                final SelectionListAxis axis = axes.getAxis(SelectionListAxis.class);
-                final View list = new SelectionListFocusBorder(view, axis);
-                return new DisposeOverlay(new BackgroundBorder(new LineBorder(new ScrollBorder(list))), axis);
-            }
-        });
-    }
-
-    protected abstract View createElementView(Content content);
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout(true);
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        throw new UnexpectedCallException();
-    }
-
-    @Override
-    public String getName() {
-        return "Object Drop Down Overlay";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/PopupMenu.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/PopupMenu.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/PopupMenu.java
deleted file mode 100644
index ab214ba..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/PopupMenu.java
+++ /dev/null
@@ -1,607 +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.dnd.view.menu;
-
-import java.awt.event.KeyEvent;
-import java.util.Vector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.drawing.Shape;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.AbstractContent;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-import org.apache.isis.viewer.dnd.view.window.SubviewFocusManager;
-
-public class PopupMenu extends AbstractView {
-
-    private static class Item {
-        public static Item createDivider() {
-            final Item item = new Item();
-            item.isBlank = true;
-            return item;
-        }
-
-        public static Item createNoOption() {
-            final Item item = new Item();
-            item.name = "no options";
-            return item;
-        }
-
-        public static Item createOption(final UserAction action, final Object object, final View view, final Location location) {
-            final Item item = new Item();
-            if (action == null) {
-                item.isBlank = true;
-            } else {
-                item.isBlank = false;
-                item.action = action;
-                item.view = view;
-                item.name = action.getName(view);
-                item.description = action.getDescription(view);
-                final Consent consent = action.disabled(view);
-                item.isDisabled = consent.isVetoed();
-                item.reasonDisabled = consent.getReason();
-            }
-            return item;
-        }
-
-        UserAction action;
-        String description;
-        boolean isBlank;
-        boolean isDisabled;
-        String name;
-        String reasonDisabled;
-        View view;
-
-        private Item() {
-        }
-
-        public String getHelp() {
-            return action.getHelp(view);
-        }
-
-        @Override
-        public String toString() {
-            return isBlank ? "NONE" : (name + " " + (isDisabled ? "DISABLED " : " " + action));
-        }
-    }
-
-    private class PopupContent extends AbstractContent {
-
-        public PopupContent() {
-        }
-
-        @Override
-        public Consent canDrop(final Content sourceContent) {
-            return Veto.DEFAULT;
-        }
-
-        @Override
-        public void debugDetails(final DebugBuilder debug) {
-        }
-
-        @Override
-        public ObjectAdapter drop(final Content sourceContent) {
-            return null;
-        }
-
-        @Override
-        public String getDescription() {
-            final int optionNo = getOption();
-            return items[optionNo].description;
-        }
-
-        @Override
-        public String getHelp() {
-            final int optionNo = getOption();
-            return items[optionNo].getHelp();
-        }
-
-        @Override
-        public String getIconName() {
-            return null;
-        }
-
-        @Override
-        public Image getIconPicture(final int iconHeight) {
-            return null;
-        }
-
-        @Override
-        public String getId() {
-            return null;
-        }
-
-        @Override
-        public ObjectAdapter getAdapter() {
-            return null;
-        }
-
-        @Override
-        public boolean isOptionEnabled() {
-            return false;
-        }
-
-        @Override
-        public ObjectSpecification getSpecification() {
-            return null;
-        }
-
-        @Override
-        public boolean isTransient() {
-            return false;
-        }
-
-        public void parseTextEntry(final String entryText) {
-        }
-
-        @Override
-        public String title() {
-            final int optionNo = getOption();
-            return items[optionNo].name;
-        }
-
-        @Override
-        public ObjectAdapter[] getOptions() {
-            return null;
-        }
-    }
-
-    private static class PopupSpecification implements ViewSpecification {
-        @Override
-        public boolean canDisplay(final ViewRequirement requirement) {
-            return false;
-        }
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            return null;
-        }
-
-        @Override
-        public String getName() {
-            return "Popup Menu";
-        }
-
-        @Override
-        public boolean isAligned() {
-            return false;
-        }
-
-        @Override
-        public boolean isOpen() {
-            return true;
-        }
-
-        @Override
-        public boolean isReplaceable() {
-            return false;
-        }
-
-        @Override
-        public boolean isResizeable() {
-            return false;
-        }
-
-        @Override
-        public boolean isSubView() {
-            return false;
-        }
-    }
-
-    private static final Logger LOG = LoggerFactory.getLogger(PopupMenu.class);
-    private Color backgroundColor;
-    private View forView;
-    private Item[] items = new Item[0];
-    private int optionIdentified;
-    private final FocusManager simpleFocusManager;
-
-    public PopupMenu(final PopupMenuContainer parent) {
-        super(new NullContent(), new PopupSpecification());
-        // REVIEW should this content be used as param 1 above?
-        setContent(new PopupContent());
-        setParent(parent);
-        simpleFocusManager = new SubviewFocusManager(this);
-    }
-
-    private void addItems(final View target, final UserAction[] options, final int len, final Vector<Item> list, final ActionType type) {
-        final int initialSize = list.size();
-        for (int i = 0; i < len; i++) {
-            if (options[i].getType() == type) {
-                if (initialSize > 0 && list.size() == initialSize) {
-                    list.addElement(Item.createDivider());
-                }
-                list.addElement(Item.createOption(options[i], null, target, getLocation()));
-            }
-        }
-    }
-
-    protected Color backgroundColor() {
-        return backgroundColor;
-    }
-
-    @Override
-    public Consent canChangeValue() {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public boolean canFocus() {
-        return true;
-    }
-
-    protected Color disabledColor() {
-        return Toolkit.getColor(ColorsAndFonts.COLOR_MENU_DISABLED);
-    }
-
-    /**
-     * Draws the popup menu
-     * 
-     * @see java.awt.Component#paint(java.awt.Graphics)
-     */
-    @Override
-    public void draw(final Canvas canvas) {
-        final Size coreSize = getSize();
-        final int width = coreSize.getWidth();
-        final int height = coreSize.getHeight();
-        canvas.drawSolidRectangle(0, 0, width, height, backgroundColor);
-        canvas.draw3DRectangle(0, 0, width, height, backgroundColor, true);
-
-        final int itemHeight = style().getLineHeight() + ViewConstants.VPADDING;
-        // int baseLine = itemHeight / 2 + style().getAscent() / 2 +
-        // getPadding().getTop();
-        int baseLine = style().getAscent() + getPadding().getTop() + 1;
-        final int left = getPadding().getLeft();
-        for (int i = 0; i < items.length; i++) {
-            if (items[i].isBlank) {
-                final int y = baseLine - (style().getAscent() / 2);
-                canvas.drawLine(1, y, width - 2, y, backgroundColor.brighter());
-                canvas.drawLine(1, y - 1, width - 2, y - 1, backgroundColor.darker());
-            } else {
-                Color color;
-                if (items[i].isDisabled || items[i].action == null) {
-                    color = disabledColor();
-                } else if (getOption() == i) {
-                    final int top = getPadding().getTop() + i * itemHeight;
-                    final int depth = style().getLineHeight() + 2;
-                    canvas.drawSolidRectangle(2, top, width - 4, depth, backgroundColor.darker());
-                    canvas.draw3DRectangle(2, top, width - 4, depth + 1, backgroundColor.brighter(), false);
-                    // canvas.drawText(items[i].name, left, baseLine,
-                    // normalColor(), style());
-
-                    color = reversedColor();
-                } else {
-                    color = normalColor();
-                }
-                canvas.drawText(items[i].name, left, baseLine, color, style());
-                if (items[i].action instanceof UserActionSet) {
-                    Shape arrow;
-                    arrow = new Shape(0, 0);
-                    arrow.addVector(4, 4);
-                    arrow.addVector(-4, 4);
-                    canvas.drawSolidShape(arrow, width - 10, baseLine - 8, color);
-                }
-            }
-
-            baseLine += itemHeight;
-        }
-
-        // canvas.drawRectangleAround(this,
-        // Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_VIEW));
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        if (click.button1() || click.button2()) {
-            mouseMoved(click.getLocation());
-            invoke();
-        }
-    }
-
-    @Override
-    public void focusLost() {
-    }
-
-    @Override
-    public void focusReceived() {
-    }
-
-    @Override
-    public FocusManager getFocusManager() {
-        return simpleFocusManager;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size size = new Size();
-
-        for (final Item item : items) {
-            final int itemWidth = item.isBlank ? 0 : style().stringWidth(item.name);
-            size.ensureWidth(itemWidth);
-            size.extendHeight(style().getLineHeight() + ViewConstants.VPADDING);
-        }
-
-        size.extend(getPadding());
-        size.extendWidth(ViewConstants.HPADDING * 2);
-        return size;
-    }
-
-    public int getOption() {
-        return optionIdentified;
-    }
-
-    public int getOptionPostion() {
-        final int itemHeight = style().getLineHeight() + ViewConstants.VPADDING;
-        return itemHeight * getOption();
-    }
-
-    public int getOptionCount() {
-        return items.length;
-    }
-
-    @Override
-    public Padding getPadding() {
-        final Padding in = super.getPadding();
-        in.extendTop(ViewConstants.VPADDING);
-        in.extendBottom(ViewConstants.VPADDING);
-        in.extendLeft(ViewConstants.HPADDING + 5);
-        in.extendRight(ViewConstants.HPADDING + 5);
-
-        return in;
-    }
-
-    @Override
-    public Workspace getWorkspace() {
-        return forView.getWorkspace();
-    }
-
-    @Override
-    public boolean hasFocus() {
-        return false;
-    }
-
-    private void invoke() {
-        final int option = getOption();
-        final Item item = items[option];
-        if (item.isBlank || item.action == null || item.action.disabled(forView).isVetoed()) {
-            return;
-
-        } else if (item.action instanceof UserActionSet) {
-            final UserAction[] menuOptions = ((UserActionSet) item.action).getUserActions();
-            ((PopupMenuContainer) getParent()).openSubmenu(menuOptions);
-        } else {
-            final Workspace workspace = getWorkspace();
-
-            final Location location = new Location(getAbsoluteLocation());
-            location.subtract(workspace.getView().getAbsoluteLocation());
-            final Padding padding = workspace.getView().getPadding();
-            location.move(-padding.getLeft(), -padding.getTop());
-
-            final int itemHeight = style().getLineHeight() + ViewConstants.VPADDING;
-            final int baseLine = itemHeight * option;
-            location.add(0, baseLine);
-
-            getParent().dispose();
-            LOG.debug("execute " + item.name + " on " + forView + " in " + workspace);
-            item.action.execute(workspace, forView, location);
-        }
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        final int keyCode = key.getKeyCode();
-
-        if (keyCode == KeyEvent.VK_ESCAPE) {
-            if (getParent() == null) {
-                dispose();
-            }
-
-            key.consume();
-
-        } else if (keyCode == KeyEvent.VK_ENTER) {
-            key.consume();
-            invoke();
-
-        } else if (keyCode == KeyEvent.VK_RIGHT && items[getOption()].action instanceof UserActionSet) {
-            key.consume();
-            invoke();
-
-        } else if (keyCode == KeyEvent.VK_UP) {
-            key.consume();
-            if (optionIdentified == 0) {
-                optionIdentified = items.length;
-            }
-
-            for (int i = optionIdentified - 1; i >= 0; i--) {
-                if (items[i].isBlank) {
-                    continue;
-                }
-                if (items[i].isDisabled) {
-                    continue;
-                }
-                setOption(i);
-                break;
-            }
-
-        } else if (keyCode == KeyEvent.VK_DOWN) {
-            key.consume();
-            if (optionIdentified == items.length - 1) {
-                optionIdentified = -1;
-            }
-
-            for (int i = optionIdentified + 1; i < items.length; i++) {
-                if (items[i].isBlank) {
-                    continue;
-                }
-                if (items[i].isDisabled) {
-                    continue;
-                }
-                setOption(i);
-                break;
-            }
-        }
-
-    }
-
-    @Override
-    public void keyReleased(final KeyboardAction action) {
-    }
-
-    @Override
-    public void keyTyped(final KeyboardAction action) {
-    }
-
-    /*
-     * @Override public void layout(final Size maximumSize) { coreSize = new
-     * Bounds(getCoreRequiredSize());
-     * 
-     * final int option = getOption(); final int itemHeight =
-     * style().getLineHeight() + VPADDING; int menuWidth = coreSize.getWidth();
-     * // Location menuLocation = new Location(menuWidth - 4, itemHeight *
-     * option); Location menuLocation = new Location(0, itemHeight * option);
-     * 
-     * if (submenu != null) { submenu.layout(maximumSize);
-     * submenu.setLocation(menuLocation);
-     * 
-     * //coreSize.setX(submenu.getSize().getWidth() - 4); //getLocation() }
-     * setSize(getMaximumSize()); }
-     */
-    public View makeView(final ObjectAdapter object, final ObjectAssociation field) throws CloneNotSupportedException {
-        throw new RuntimeException();
-    }
-
-    @Override
-    public void markDamaged() {
-        if (getParent() == null) {
-            super.markDamaged();
-        } else {
-            getParent().markDamaged();
-        }
-        // markDamaged(new Bounds(getAbsoluteLocation(), getSize()));
-        // ///getView().getBounds());
-    }
-
-    @Override
-    public void mouseMoved(final Location at) {
-        int option = (at.getY() - getPadding().getTop()) / (style().getLineHeight() + ViewConstants.VPADDING);
-        option = Math.max(option, 0);
-        option = Math.min(option, items.length - 1);
-        if (option >= 0 && optionIdentified != option) {
-            // LOG.debug("mouse over option " + option + " " + this);
-            setOption(option);
-            markDamaged();
-        }
-    }
-
-    protected Color normalColor() {
-        return Toolkit.getColor(ColorsAndFonts.COLOR_MENU);
-    }
-
-    protected Color reversedColor() {
-        return Toolkit.getColor(ColorsAndFonts.COLOR_MENU_REVERSED);
-    }
-
-    public void setOption(final int option) {
-        if (option != optionIdentified) {
-            optionIdentified = option;
-            markDamaged();
-            updateFeedback();
-        }
-    }
-
-    private void updateFeedback() {
-        final Item item = items[optionIdentified];
-        if (item.isBlank) {
-            getFeedbackManager().clearAction();
-        } else if (isEmpty(item.reasonDisabled)) {
-            getFeedbackManager().setAction(item.description == null ? "" : item.description);
-        } else {
-            getFeedbackManager().setAction(item.reasonDisabled);
-        }
-    }
-
-    private boolean isEmpty(final String str) {
-        return str == null || str.length() == 0;
-    }
-
-    void show(final View target, final UserAction[] options, final Color color) {
-        this.forView = target;
-
-        optionIdentified = 0;
-        backgroundColor = color;
-
-        final int len = options.length;
-        if (len == 0) {
-            items = new Item[] { Item.createNoOption() };
-        } else {
-            final Vector list = new Vector();
-            addItems(target, options, len, list, ActionType.USER);
-            addItems(target, options, len, list, ActionType.EXPLORATION);
-            addItems(target, options, len, list, ActionType.PROTOTYPE);
-            addItems(target, options, len, list, ActionType.DEBUG);
-            items = new Item[list.size()];
-            list.copyInto(items);
-        }
-
-        updateFeedback();
-    }
-
-    protected Text style() {
-        return Toolkit.getText(ColorsAndFonts.TEXT_MENU);
-    }
-
-    @Override
-    public String toString() {
-        return "PopupMenu [location=" + getLocation() + ",item=" + optionIdentified + ",itemCount=" + (items == null ? 0 : items.length) + "]";
-    }
-
-    protected boolean transparentBackground() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/PopupMenuContainer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/PopupMenuContainer.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/PopupMenuContainer.java
deleted file mode 100644
index 1e2f29c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/PopupMenuContainer.java
+++ /dev/null
@@ -1,304 +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.dnd.view.menu;
-
-import java.awt.event.KeyEvent;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.MenuOptions;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-import org.apache.isis.viewer.dnd.view.debug.DebugOption;
-
-public class PopupMenuContainer extends AbstractView {
-    private static final int MENU_OVERLAP = 4;
-    private static final UserAction DEBUG_OPTION = new DebugOption();
-    private PopupMenu menu;
-    private PopupMenu submenu;
-    private Color backgroundColor;
-    private final View target;
-    private final Vector options = new Vector();
-    private final Location at;
-    private boolean isLayoutInvalid;
-
-    public PopupMenuContainer(final View target, final Location at) {
-        super(new NullContent());
-        this.target = target;
-        this.at = at;
-        setLocation(at);
-        isLayoutInvalid = true;
-    }
-
-    @Override
-    public void debug(final DebugBuilder debug) {
-        super.debug(debug);
-        debug.appendTitle("Submenu");
-        debug.append(submenu);
-        debug.append("\n");
-    }
-
-    @Override
-    public void dispose() {
-        if (getParent() == null) {
-            super.dispose();
-            getViewManager().clearOverlayView(this);
-        } else {
-            getParent().dispose();
-        }
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size size = menu.getRequiredSize(Size.createMax());
-        if (submenu != null) {
-            final Size subviewSize = submenu.getRequiredSize(Size.createMax());
-            size.extendWidth(subviewSize.getWidth() - MENU_OVERLAP);
-            size.ensureHeight(submenuOffset() + subviewSize.getHeight());
-        }
-        return size;
-    }
-
-    @Override
-    public void layout() {
-        if (isLayoutInvalid) {
-            menu.layout();
-            final Size menuSize = menu.getRequiredSize(Size.createMax());
-            menu.setSize(menuSize);
-            menu.setLocation(new Location(0, 0));
-
-            final Location containerLocation = new Location(at);
-            final Size bounds = getViewManager().getOverlaySize();
-            if (containerLocation.getX() < 0) {
-                containerLocation.setX(0);
-            } else if (containerLocation.getX() + menuSize.getWidth() > bounds.getWidth()) {
-                containerLocation.setX(bounds.getWidth() - menuSize.getWidth());
-            }
-
-            if (containerLocation.getY() < 0) {
-                containerLocation.setY(0);
-            } else if (containerLocation.getY() + menuSize.getHeight() > bounds.getHeight()) {
-                containerLocation.setY(bounds.getHeight() - menuSize.getHeight());
-            }
-
-            if (submenu != null) {
-                submenu.layout();
-                final Size submenuSize = submenu.getRequiredSize(Size.createMax());
-                submenu.setSize(submenuSize);
-
-                int submenuOffset = submenuOffset();
-                final Location menuLocation = new Location();
-
-                final int containerBottom = containerLocation.getY() + submenuOffset + submenuSize.getHeight();
-                if (containerBottom > bounds.getHeight()) {
-                    final int overstretch = containerBottom - bounds.getHeight();
-                    submenuOffset -= overstretch;
-                }
-                final Location submenuLocation = new Location(0, submenuOffset);
-
-                final boolean placeToLeft = at.getX() + menuSize.getWidth() + submenuSize.getWidth() < getViewManager().getOverlaySize().getWidth();
-                if (placeToLeft) {
-                    submenuLocation.setX(menuSize.getWidth() - MENU_OVERLAP);
-                } else {
-                    menuLocation.setX(submenuSize.getWidth() - MENU_OVERLAP);
-                    containerLocation.move(-submenu.getSize().getWidth() + MENU_OVERLAP, 0);
-                }
-
-                if (containerLocation.getY() + menuSize.getHeight() > bounds.getHeight()) {
-                    containerLocation.setY(bounds.getHeight() - menuSize.getHeight());
-                }
-
-                submenu.setLocation(submenuLocation); // // !
-                menu.setLocation(menuLocation); // / !
-
-            }
-
-            setLocation(containerLocation);
-
-        }
-    }
-
-    private int submenuOffset() {
-        return menu.getOptionPostion();
-    }
-
-    @Override
-    public void mouseMoved(final Location at) {
-        if (menu.getBounds().contains(at)) {
-            at.subtract(menu.getLocation());
-            menu.mouseMoved(at);
-        } else if (submenu != null && submenu.getBounds().contains(at)) {
-            at.subtract(submenu.getLocation());
-            submenu.mouseMoved(at);
-        }
-    }
-
-    public void show(final boolean forView, final boolean includeDebug, final boolean includeExploration, final boolean includePrototype) {
-        final boolean withExploration = getViewManager().isRunningAsExploration() && includeExploration;
-        final boolean withPrototype = getViewManager().isRunningAsPrototype() && includePrototype;
-
-        final UserActionSet optionSet = new UserActionSetImpl(withExploration, withPrototype, includeDebug, ActionType.USER);
-        if (forView) {
-            target.viewMenuOptions(optionSet);
-        } else {
-            target.contentMenuOptions(optionSet);
-        }
-        optionSet.add(DEBUG_OPTION);
-        final Enumeration e = options.elements();
-        while (e.hasMoreElements()) {
-            final MenuOptions element = (MenuOptions) e.nextElement();
-            element.menuOptions(optionSet);
-        }
-
-        menu = new PopupMenu(this);
-
-        backgroundColor = optionSet.getColor();
-        menu.show(target, optionSet.getUserActions(), backgroundColor);
-        getViewManager().setOverlayView(this);
-
-        if (target != null) {
-            final String status = changeStatus(target, forView, withExploration, includeDebug);
-            getFeedbackManager().setViewDetail(status);
-        }
-    }
-
-    private String changeStatus(final View over, final boolean forView, final boolean includeExploration, final boolean includeDebug) {
-        final StringBuffer status = new StringBuffer("Menu for ");
-        if (forView) {
-            status.append("view ");
-            status.append(over.getSpecification().getName());
-        } else {
-            status.append("object");
-            final Content content = over.getContent();
-            if (content != null) {
-                status.append(" '");
-                status.append(content.title());
-                status.append("'");
-            }
-
-        }
-        if (includeDebug || includeExploration) {
-            status.append(" (includes ");
-            if (includeExploration) {
-                status.append("exploration");
-            }
-            if (includeDebug) {
-                if (includeExploration) {
-                    status.append(" & ");
-                }
-                status.append("debug");
-            }
-            status.append(" options)");
-        }
-        return status.toString();
-    }
-
-    public void addMenuOptions(final MenuOptions options) {
-        this.options.addElement(options);
-    }
-
-    void openSubmenu(final UserAction[] options) {
-        markDamaged();
-
-        submenu = new PopupMenu(this);
-        submenu.setParent(this);
-        submenu.show(target, options, backgroundColor);
-        invalidateLayout();
-        final Size size = getRequiredSize(Size.createMax());
-        setSize(size);
-        layout();
-
-        isLayoutInvalid = false;
-
-        markDamaged();
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (submenu != null) {
-            final int keyCode = key.getKeyCode();
-            if (keyCode == KeyEvent.VK_ESCAPE) {
-                markDamaged();
-                invalidateLayout();
-                submenu = null;
-                key.consume();
-
-            } else if (getParent() != null && keyCode == KeyEvent.VK_LEFT) {
-                markDamaged();
-                invalidateLayout();
-                submenu = null;
-                key.consume();
-            } else {
-                submenu.keyPressed(key);
-            }
-        } else {
-            menu.keyPressed(key);
-        }
-    }
-
-    @Override
-    public void invalidateLayout() {
-        isLayoutInvalid = true;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-        if (menu != null) {
-            final Canvas menuCanvas = canvas.createSubcanvas(menu.getBounds());
-            menu.draw(menuCanvas);
-        }
-        if (submenu != null) {
-            final Canvas submenuCanvas = canvas.createSubcanvas(submenu.getBounds());
-            submenu.draw(submenuCanvas);
-        }
-
-        if (Toolkit.debug) {
-            canvas.drawRectangleAround(getBounds(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_VIEW));
-        }
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final Location location = click.getLocation();
-        if (menu.getBounds().contains(location)) {
-            click.subtract(menu.getLocation());
-            menu.firstClick(click);
-        } else if (submenu != null && submenu.getBounds().contains(location)) {
-            click.subtract(submenu.getLocation());
-            submenu.firstClick(click);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/UserActionSetImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/UserActionSetImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/UserActionSetImpl.java
deleted file mode 100644
index 37164e3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/menu/UserActionSetImpl.java
+++ /dev/null
@@ -1,170 +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.dnd.view.menu;
-
-import java.util.Vector;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.action.OptionFactory;
-
-public class UserActionSetImpl implements UserActionSet {
-
-    private Color backgroundColor;
-
-    private final String groupName;
-    private final boolean includeDebug;
-    private final boolean includeExploration;
-    private final boolean includePrototype;
-    private final Vector options = new Vector();
-    private final ActionType type;
-
-    public UserActionSetImpl(final boolean includeExploration, final boolean includePrototype, final boolean includeDebug, final ActionType type) {
-        this("", type, includeExploration, includePrototype, includeDebug, Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BASELINE));
-    }
-
-    private UserActionSetImpl(final String groupName, final UserActionSetImpl parent) {
-        this(groupName, parent, parent.getType());
-    }
-
-    private UserActionSetImpl(final String groupName, final UserActionSetImpl parent, final ActionType type) {
-        this(groupName, type, parent.includeExploration, parent.includePrototype, parent.includeDebug, parent.getColor());
-    }
-
-    private UserActionSetImpl(final String groupName, final ActionType type, final boolean includeExploration, final boolean includePrototype, final boolean includeDebug, final Color backgroundColor) {
-        this.groupName = groupName;
-        this.type = type;
-        this.includeExploration = includeExploration;
-        this.includePrototype = includePrototype;
-        this.includeDebug = includeDebug;
-        this.backgroundColor = backgroundColor;
-    }
-
-    @Override
-    public UserActionSet addNewActionSet(final String name) {
-        final UserActionSetImpl set = new UserActionSetImpl(name, this);
-        add(set);
-        return set;
-    }
-
-    @Override
-    public UserActionSet addNewActionSet(final String name, final ActionType type) {
-        final UserActionSetImpl set = new UserActionSetImpl(name, this, type);
-        add(set);
-        return set;
-    }
-
-    /**
-     * Add the specified option if it is of the right type for this menu.
-     */
-    @Override
-    public void add(final UserAction option) {
-        final ActionType section = option.getType();
-        if (section == ActionType.USER || (includeExploration && section == ActionType.EXPLORATION) || (includePrototype && section == ActionType.PROTOTYPE) || (includeDebug && section == ActionType.DEBUG)) {
-            options.addElement(option);
-        }
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        return Allow.DEFAULT;
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-    }
-
-    /**
-     * Returns the background colour for the menu
-     */
-    @Override
-    public Color getColor() {
-        return backgroundColor;
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "";
-    }
-
-    @Override
-    public String getHelp(final View view) {
-        return "";
-    }
-
-    @Override
-    public UserAction[] getUserActions() {
-        final UserAction[] v = new UserAction[options.size()];
-        for (int i = 0; i < v.length; i++) {
-            v[i] = (UserAction) options.elementAt(i);
-        }
-        return v;
-    }
-
-    @Override
-    public String getName(final View view) {
-        return groupName;
-    }
-
-    @Override
-    public ActionType getType() {
-        return type;
-    }
-
-    /**
-     * Specifies the background colour for the menu
-     */
-    @Override
-    public void setColor(final Color color) {
-        backgroundColor = color;
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("type", type);
-        for (int i = 0, size = options.size(); i < size; i++) {
-            str.append(((UserAction) options.elementAt(i)).getClass() + " ,");
-        }
-        return str.toString();
-    }
-
-    @Override
-    public void addCreateOptions(final ObjectSpecification specification) {
-        OptionFactory.addCreateOptions(specification, this);
-    }
-
-    @Override
-    public void addObjectMenuOptions(final ObjectAdapter object) {
-        OptionFactory.addObjectMenuOptions(object, this);
-    }
-}


[34/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/site/apt/jottings.apt b/mothballed/component/security/sql/src/site/apt/jottings.apt
deleted file mode 100755
index c5d1200..0000000
--- a/mothballed/component/security/sql/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/site/site.xml b/mothballed/component/security/sql/src/site/site.xml
deleted file mode 100755
index 66aa164..0000000
--- a/mothballed/component/security/sql/src/site/site.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="SQL" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="SQL Security">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Security Modules">
-            <item name="Default (No-op)" href="../dflt/index.html" />
-            <item name="File" href="../file/index.html" />
-            <item name="LDAP" href="../ldap/index.html" />
-            <item name="SQL" href="../sql/index.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/test/java/org/apache/isis/security/sql/authentication/SqlAuthenticatorTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/test/java/org/apache/isis/security/sql/authentication/SqlAuthenticatorTest.java b/mothballed/component/security/sql/src/test/java/org/apache/isis/security/sql/authentication/SqlAuthenticatorTest.java
deleted file mode 100755
index df7de99..0000000
--- a/mothballed/component/security/sql/src/test/java/org/apache/isis/security/sql/authentication/SqlAuthenticatorTest.java
+++ /dev/null
@@ -1,114 +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.security.sql.authentication;
-
-import java.util.Properties;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public class SqlAuthenticatorTest {
-    IsisConfigurationDefault configuration;
-    SqlAuthenticator saipSqlAuthenticator;
-
-    private static final String PASSWORD_FIELD = "password";
-    private static final String USERNAME_FIELD = "email";
-    private static final String USERS = "USERS";
-
-    @Before
-    public void setUp() {
-        // Setup properties files
-        final Properties properties = new Properties();
-        properties.setProperty(SqlAuthenticator.USER_TABLE, USERS);
-        properties.setProperty(SqlAuthenticator.USER_TABLE_NAME_FIELD, USERNAME_FIELD);
-        properties.setProperty(SqlAuthenticator.USER_TABLE_PASSWORD_FIELD, PASSWORD_FIELD);
-
-        properties.put(SqlAuthenticator.PROPERTY_BASE + ".jdbc.driver", "org.hsqldb.jdbcDriver");
-        properties.put(SqlAuthenticator.PROPERTY_BASE + ".jdbc.connection", "jdbc:hsqldb:file:hsql-db/authenticator-tests");
-        properties.put(SqlAuthenticator.PROPERTY_BASE + ".jdbc.user", "sa");
-        properties.put(SqlAuthenticator.PROPERTY_BASE + ".jdbc.password", "");
-
-        configuration = new IsisConfigurationDefault();
-        configuration.add(properties);
-
-        // setup configuration
-        IsisContext.setConfiguration(configuration);
-
-        // Setup database
-        String sql;
-
-        saipSqlAuthenticator = new SqlAuthenticator(configuration);
-        saipSqlAuthenticator.init();
-
-        if (saipSqlAuthenticator.isSetup()) { // clear existing data
-            sql = "DROP TABLE " + USERS;
-            saipSqlAuthenticator.update(sql);
-        }
-
-        sql = "CREATE TABLE " + USERS + " (" + USERNAME_FIELD + " VARCHAR(32), " + PASSWORD_FIELD + " VARCHAR(32)) ";
-        saipSqlAuthenticator.update(sql);
-
-        // create data
-        sql = "INSERT INTO " + USERS + " VALUES ('user1','password1')";
-        saipSqlAuthenticator.update(sql);
-
-    }
-
-    @Test
-    public void VerifyThatIsValidReturnsTrue() {
-        final AuthenticationRequestPassword request = new AuthenticationRequestPassword("user1", "password1");
-        Assert.assertTrue(saipSqlAuthenticator.isValid(request));
-    }
-
-    @Test
-    public void VerifyThatIsValidReturnsTrueInMixedCase() {
-        final AuthenticationRequestPassword request = new AuthenticationRequestPassword("uSer1", "password1");
-        Assert.assertTrue(saipSqlAuthenticator.isValid(request));
-    }
-
-    @Test
-    public void VerifyThatIsValidReturnsFalseForNoPassword() {
-        final AuthenticationRequestPassword request = new AuthenticationRequestPassword("user1", "");
-        Assert.assertFalse(saipSqlAuthenticator.isValid(request));
-    }
-
-    @Test
-    public void VerifyThatIsValidReturnsFalseForWrongPassword() {
-        final AuthenticationRequestPassword request = new AuthenticationRequestPassword("user1", "password12");
-        Assert.assertFalse(saipSqlAuthenticator.isValid(request));
-    }
-
-    @Test
-    public void VerifyThatIsValidReturnsFalseForWrongUsername() {
-        final AuthenticationRequestPassword request = new AuthenticationRequestPassword("user", "password1");
-        Assert.assertFalse(saipSqlAuthenticator.isValid(request));
-    }
-
-    @After
-    public void tearDown() {
-        saipSqlAuthenticator.shutdown();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/NOTICE b/mothballed/component/viewer/bdd/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/mothballed/component/viewer/bdd/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/pom.xml b/mothballed/component/viewer/bdd/common/pom.xml
deleted file mode 100755
index 2b8fcd8..0000000
--- a/mothballed/component/viewer/bdd/common/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-	    <groupId>org.apache.isis.viewer</groupId>
-	    <artifactId>isis-viewer-bdd</artifactId>
-	    <version>1.0.0-SNAPSHOT</version>
-	</parent>
-	
-	<artifactId>isis-viewer-bdd-common</artifactId>
-	<name>Isis BDD Viewer (Common)</name>
-
-    <properties>
-		<siteBaseDir>..</siteBaseDir>
-		<relativeUrl>common/</relativeUrl>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<dependencies>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-metamodel</artifactId>
-		</dependency>
-		
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-runtime</artifactId>
-		</dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-profilestore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-security</artifactId>
-        </dependency>
-	</dependencies>
-</project>      

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/AliasRegistry.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/AliasRegistry.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/AliasRegistry.java
deleted file mode 100644
index a4cfdd8..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/AliasRegistry.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.bdd.common;
-
-import java.util.Map;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public interface AliasRegistry extends Iterable<Map.Entry<String, ObjectAdapter>> {
-
-    public ObjectAdapter getAliased(final String alias);
-
-    public String getAlias(final ObjectAdapter adapter);
-
-    /**
-     * Holds a new {@link NakedObject adapter}, automatically assigning it a new
-     * heldAs alias.
-     */
-    public String aliasPrefixedAs(final String prefix, final ObjectAdapter adapter);
-
-    /**
-     * Holds a new {@link ObjectAdapter}
-     */
-    public void aliasAs(final String alias, final ObjectAdapter adapter);
-
-    void aliasService(final String aliasAs, final String className) throws ScenarioValueException;
-
-    public void clear();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBinding.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBinding.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBinding.java
deleted file mode 100644
index 0e7a055..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBinding.java
+++ /dev/null
@@ -1,230 +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.bdd.common;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.commons.lang.StringUtils;
-
-public abstract class CellBinding {
-
-    private boolean found = false;
-    private int column = -1;
-
-    private ScenarioCell headCell = null;
-    private ScenarioCell currentCell;
-
-    private final String name;
-    private final List<String> headTexts;
-    private final boolean autoCreate;
-    private final boolean ditto;
-    private final boolean optional;
-
-    // ///////////////////////////////////////////////////////////////
-    // Constructor
-    // ///////////////////////////////////////////////////////////////
-
-    protected CellBinding(final String name, final boolean autoCreate, final boolean ditto, final boolean optional, final String[] headTexts) {
-        this.name = name;
-        this.autoCreate = autoCreate;
-        this.ditto = ditto;
-        this.optional = optional;
-        if (headTexts.length == 0) {
-            throw new IllegalArgumentException("Require at least one heading text");
-        }
-        final List<String> headTextList = new ArrayList<String>();
-        for (final String headText : headTexts) {
-            headTextList.add(StringUtils.camel(headText).toLowerCase());
-        }
-        this.headTexts = headTextList;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public boolean isOptional() {
-        return optional;
-    }
-
-    public boolean isAutoCreate() {
-        return autoCreate;
-    }
-
-    private void ditto(final ScenarioCell previousCell) {
-        copy(previousCell, getCurrentCell());
-    }
-
-    public List<String> getHeadTexts() {
-        return headTexts;
-    }
-
-    public boolean isDitto() {
-        return ditto;
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // matches (for searching head column)
-    // ///////////////////////////////////////////////////////////////
-
-    /**
-     * For the BDD framework integration to search whether this particular
-     * {@link CellBinding} corresponds to a particular head text.
-     */
-    public boolean matches(final String candidateText) {
-        final String candidateTextCamelLower = StringUtils.camel(candidateText).toLowerCase();
-        for (final String headText : getHeadTexts()) {
-            if (headText.equalsIgnoreCase(candidateTextCamelLower)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // set Head Column
-    // ///////////////////////////////////////////////////////////////
-
-    /**
-     * For the BDD framework integration to indicate the head column, but
-     * without no {@link #getHeadCell() head cell}.
-     */
-    public void setHeadColumn(final int column) {
-        this.found = true;
-        setColumnAndHeadCell(column, null);
-    }
-
-    /**
-     * For the BDD framework integration to indicate that the head cell has been
-     * found.
-     */
-    public void setHeadColumn(final int column, final ScenarioCell headCell) {
-        this.found = true;
-        setColumnAndHeadCell(column, headCell);
-    }
-
-    /**
-     * For the BDD framework integration to indicate that the head cell was not
-     * found and has been created.
-     */
-    public void createHeadCell(final int column, final ScenarioCell headCell) {
-        setColumnAndHeadCell(column, headCell);
-    }
-
-    /**
-     * Whether the head cell was found.
-     */
-    public boolean isFound() {
-        return found;
-    }
-
-    /**
-     * The column that is found, if any.
-     */
-    public int getColumn() {
-        return column;
-    }
-
-    /**
-     * The head cell with the text, if any.
-     */
-    public ScenarioCell getHeadCell() {
-        return headCell;
-    }
-
-    private void setColumnAndHeadCell(final int column, final ScenarioCell headCell) {
-        this.column = column;
-        this.headCell = headCell;
-    }
-
-    /**
-     * Holds onto a current (body) cell.
-     */
-    public ScenarioCell getCurrentCell() {
-        return currentCell;
-    }
-
-    /**
-     * @see #getCurrentCell()
-     */
-    public void setCurrentCell(final ScenarioCell cell) {
-        this.currentCell = cell;
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // capture current value
-    // ///////////////////////////////////////////////////////////////
-
-    private boolean dittoed;
-
-    /**
-     * Captures the current value, but also checking that the column in which
-     * the {@link ScenarioCell value} has been provided corresponds to the
-     * {@link #getColumn() column} of this binding.
-     * 
-     * @see #captureCurrent(ScenarioCell)
-     */
-    public void captureCurrent(final ScenarioCell cell, final int column) {
-        if (column != getColumn()) {
-            return;
-        }
-        captureCurrent(cell);
-    }
-
-    /**
-     * Captures the current {@link ScenarioCell value} for this binding.
-     * 
-     * <p>
-     * For implementations where we already know that the value provided is for
-     * this particular binding.
-     */
-    public void captureCurrent(final ScenarioCell cell) {
-        final ScenarioCell previousCell = getCurrentCell();
-        setCurrentCell(cell);
-        final boolean shouldDitto = StringUtils.isNullOrEmpty(cell.getText());
-        final boolean canDitto = isDitto() && previousCell != null;
-        if (shouldDitto && canDitto) {
-            ditto(previousCell);
-            dittoed = true;
-        } else {
-            dittoed = false;
-        }
-    }
-
-    /**
-     * Whether the most recent call to {@link #captureCurrent(ScenarioCell)}
-     * resulted in a ditto.
-     */
-    public boolean isDittoed() {
-        return dittoed;
-    }
-
-    protected abstract void copy(final ScenarioCell from, ScenarioCell to);
-
-    // ///////////////////////////////////////////////////////////////
-    // toString
-    // ///////////////////////////////////////////////////////////////
-
-    @Override
-    public String toString() {
-        return found ? ("found, current=" + getCurrentCell().getText()) : "not found";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBindingDefault.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBindingDefault.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBindingDefault.java
deleted file mode 100644
index 254f312..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBindingDefault.java
+++ /dev/null
@@ -1,68 +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.bdd.common;
-
-public class CellBindingDefault extends CellBinding {
-
-    public static class Builder {
-        private final String name;
-        private final String[] headText;
-        private boolean autoCreate;
-        private boolean ditto;
-        private boolean optional;
-
-        public Builder(final String name, final String... headText) {
-            this.name = name;
-            this.headText = headText;
-        }
-
-        public Builder autoCreate() {
-            this.autoCreate = true;
-            return this;
-        }
-
-        public Builder ditto() {
-            this.ditto = true;
-            return this;
-        }
-
-        public Builder optional() {
-            this.optional = true;
-            return this;
-        }
-
-        public CellBindingDefault build() {
-            return new CellBindingDefault(name, autoCreate, ditto, optional, headText);
-        }
-    }
-
-    public static Builder builder(final String name, final String... headText) {
-        return new Builder(name, headText);
-    }
-
-    private CellBindingDefault(final String name, final boolean autoCreate, final boolean ditto, final boolean optional, final String[] headTexts) {
-        super(name, autoCreate, ditto, optional, headTexts);
-    }
-
-    @Override
-    protected void copy(final ScenarioCell from, final ScenarioCell to) {
-        to.setText(from.getText());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/IsisViewerConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/IsisViewerConstants.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/IsisViewerConstants.java
deleted file mode 100644
index 9167111..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/IsisViewerConstants.java
+++ /dev/null
@@ -1,82 +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.bdd.common;
-
-public final class IsisViewerConstants {
-
-    private IsisViewerConstants() {
-    }
-
-    public static final String ON_OBJECT_HEAD = "on object";
-    public static final String ON_OBJECT_HEAD_ALT1 = "object";
-    public static final String ON_OBJECT_HEAD_ALT2 = "on";
-    public static final String[] ON_OBJECT_HEAD_SET = { ON_OBJECT_HEAD, ON_OBJECT_HEAD_ALT1, ON_OBJECT_HEAD_ALT2 };
-    public static final String ON_OBJECT_NAME = ON_OBJECT_HEAD;
-
-    public static final String ALIAS_RESULT_HEAD = "alias result as";
-    public static final String ALIAS_RESULT_HEAD_ALT1 = "result=";
-    public static final String ALIAS_RESULT_HEAD_ALT2 = "alias=";
-    public static final String ALIAS_RESULT_HEAD_ALT3 = "alias as";
-    public static final String[] ALIAS_RESULT_HEAD_SET = { ALIAS_RESULT_HEAD, ALIAS_RESULT_HEAD_ALT1, ALIAS_RESULT_HEAD_ALT2, ALIAS_RESULT_HEAD_ALT3 };
-    public static final String ALIAS_RESULT_NAME = ALIAS_RESULT_HEAD;
-
-    public static final String TITLE_NAME = "Title";
-    public static final String TITLE_HEAD = "title";
-
-    public static final String TYPE_NAME = "Type";
-    public static final String TYPE_HEAD = "type";
-
-    public static final String VALUE_NAME = "Title";
-    public static final String VALUE_HEAD = "value";
-
-    public static final String PERFORM_HEAD = "perform";
-    public static final String PERFORM_HEAD_ALT1 = "do";
-    public static final String PERFORM_HEAD_ALT2 = "interaction";
-    public static final String PERFORM_HEAD_ALT3 = "interaction type";
-    public static final String[] PERFORM_HEAD_SET = { PERFORM_HEAD, PERFORM_HEAD_ALT1, PERFORM_HEAD_ALT2, PERFORM_HEAD_ALT3 };
-    public static final String PERFORM_NAME = PERFORM_HEAD;
-
-    public static final String ON_MEMBER_HEAD = "on member";
-    public static final String ON_MEMBER_HEAD_ALT1 = "using member";
-    public static final String ON_MEMBER_HEAD_ALT2 = "using";
-    public static final String ON_MEMBER_HEAD_ALT3 = "member";
-    public static final String[] ON_MEMBER_HEAD_SET = { ON_MEMBER_HEAD, ON_MEMBER_HEAD_ALT1, ON_MEMBER_HEAD_ALT2, ON_MEMBER_HEAD_ALT3 };
-    public static final String ON_MEMBER_NAME = ON_MEMBER_HEAD;
-
-    public static final String THAT_IT_HEAD = "that it";
-    public static final String THAT_IT_HEAD_ALT1 = "that";
-    public static final String THAT_IT_HEAD_ALT2 = "verb";
-    public static final String[] THAT_IT_HEAD_SET = { THAT_IT_HEAD, THAT_IT_HEAD_ALT1, THAT_IT_HEAD_ALT2 };
-    public static final String THAT_IT_NAME = THAT_IT_HEAD;
-
-    public static final String WITH_ARGUMENTS_HEAD = "with arguments";
-    public static final String WITH_ARGUMENTS_HEAD_ALT1 = "with";
-    public static final String WITH_ARGUMENTS_HEAD_ALT2 = "arguments";
-    public static final String WITH_ARGUMENTS_HEAD_ALT3 = "parameters";
-    public static final String WITH_ARGUMENTS_HEAD_ALT4 = "with parameters";
-    public static final String WITH_ARGUMENTS_HEAD_ALT5 = "for";
-    public static final String WITH_ARGUMENTS_HEAD_ALT6 = "for arguments";
-    public static final String WITH_ARGUMENTS_HEAD_ALT7 = "for parameters";
-    public static final String WITH_ARGUMENTS_HEAD_ALT8 = "value";
-    public static final String WITH_ARGUMENTS_HEAD_ALT9 = "reference";
-    public static final String[] WITH_ARGUMENTS_HEAD_SET = { WITH_ARGUMENTS_HEAD, WITH_ARGUMENTS_HEAD_ALT1, WITH_ARGUMENTS_HEAD_ALT2, WITH_ARGUMENTS_HEAD_ALT3, WITH_ARGUMENTS_HEAD_ALT4, WITH_ARGUMENTS_HEAD_ALT5, WITH_ARGUMENTS_HEAD_ALT6, WITH_ARGUMENTS_HEAD_ALT7, WITH_ARGUMENTS_HEAD_ALT8,
-            WITH_ARGUMENTS_HEAD_ALT9 };
-    public static final String WITH_ARGUMENTS_NAME = WITH_ARGUMENTS_HEAD;
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/Scenario.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/Scenario.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/Scenario.java
deleted file mode 100644
index 66420b9..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/Scenario.java
+++ /dev/null
@@ -1,312 +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.bdd.common;
-
-import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
-import static org.hamcrest.CoreMatchers.anyOf;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderFileSystem;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
-import org.apache.isis.core.profilestore.InMemoryUserProfileStoreInstaller;
-import org.apache.isis.core.progmodel.facets.value.ValueSemanticsProviderAbstractTemporal;
-import org.apache.isis.core.runtime.fixtures.FixturesInstallerNoop;
-import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
-import org.apache.isis.core.runtime.installers.InstallerLookupDefault;
-import org.apache.isis.core.runtime.runner.IsisInjectModule;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.system.IsisSystem;
-import org.apache.isis.core.runtime.system.SystemConstants;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.internal.InitialisationSession;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.viewer.bdd.common.components.BddAuthenticationManagerInstaller;
-import org.apache.isis.viewer.bdd.common.components.BddInMemoryPersistenceMechanismInstaller;
-import org.apache.isis.viewer.bdd.common.parsers.DateParser;
-import org.apache.isis.viewer.bdd.common.story.bootstrapping.OpenSession;
-import org.apache.isis.viewer.bdd.common.story.bootstrapping.RunViewer;
-import org.apache.isis.viewer.bdd.common.story.bootstrapping.SetClock;
-import org.apache.isis.viewer.bdd.common.story.bootstrapping.ShutdownIsis;
-import org.apache.isis.viewer.bdd.common.story.registries.AliasRegistryDefault;
-import org.apache.isis.viewer.bdd.common.story.registries.AliasRegistryHolder;
-
-/**
- * Holds the bootstrapped {@link IsisSystem} and provides access to the
- * {@link AliasRegistry aliases}.
- *
- * <p>
- * Typically held in a thread-local by the test framework, acting as a context
- * to the story.
- *
- * <p>
- * Implementation note: this class directly implements {@link AliasRegistrySpi},
- * though delegates to an underlying {@link AliasRegistryDefault}. This is
- * needed because the underlying {@link AliasRegistry} can change on
- * {@link #switchUserWithRoles(String, String)} (see
- * {@link #reAdapt(AliasRegistrySpi)} method).
- */
-public class Scenario implements AliasRegistryHolder {
-
-    private AliasRegistry aliasRegistry = new AliasRegistryDefault();
-
-    private DeploymentType deploymentType;
-    private String configDirectory;
-
-    private IsisSystem isisSystem;
-
-    private InstallerLookupDefault installerLookup;
-
-    private final DateParser dateParser = new DateParser();
-
-    // /////////////////////////////////////////////////////////////
-    // bootstrap / shutdown
-    // /////////////////////////////////////////////////////////////
-
-    public String getConfigDirectory() {
-        return configDirectory;
-    }
-
-    public DeploymentType getDeploymentType() {
-        return deploymentType;
-    }
-
-    public IsisSystem getSystem() {
-        return isisSystem;
-    }
-
-    public InstallerLookup getInstallerLookup() {
-        return installerLookup;
-    }
-
-    @SuppressWarnings("unchecked")
-    public void bootstrapIsis(final String configDirectory, final DeploymentType deploymentType) {
-        this.configDirectory = configDirectory;
-        this.deploymentType = ensureThatArg(deploymentType, is(anyOf(equalTo(DeploymentType.EXPLORATION), equalTo(DeploymentType.PROTOTYPE))));
-
-        final IsisConfigurationBuilderFileSystem configurationBuilder = new IsisConfigurationBuilderFileSystem(getConfigDirectory());
-
-        configurationBuilder.add(SystemConstants.DEPLOYMENT_TYPE_KEY, deploymentType.name());
-        defaultStoryComponentsInto(configurationBuilder);
-
-        getAliasRegistry().clear();
-
-        try {
-            // create system...
-            isisSystem = createSystem(deploymentType, configurationBuilder);
-
-            // ... and provide a session in order to install fixtures
-            IsisContext.openSession(new InitialisationSession());
-
-        } catch (final RuntimeException e) {
-            if (isisSystem != null) {
-                isisSystem.shutdown();
-            }
-            throw e;
-        }
-    }
-
-    private IsisSystem createSystem(final DeploymentType deploymentType, final IsisConfigurationBuilder isisConfigurationBuilder) {
-        this.installerLookup = new InstallerLookupDefault();
-        isisConfigurationBuilder.injectInto(installerLookup);
-
-        final Injector injector = createGuiceInjector(deploymentType, isisConfigurationBuilder, installerLookup);
-        final IsisSystem system = injector.getInstance(IsisSystem.class);
-        return system;
-    }
-
-    private void defaultStoryComponentsInto(final IsisConfigurationBuilder isisConfigurationBuilder) {
-        isisConfigurationBuilder.addDefaultConfigurationResources();
-        isisConfigurationBuilder.add(SystemConstants.AUTHENTICATION_INSTALLER_KEY, BddAuthenticationManagerInstaller.class.getName());
-        isisConfigurationBuilder.add(SystemConstants.OBJECT_PERSISTOR_INSTALLER_KEY, BddInMemoryPersistenceMechanismInstaller.class.getName());
-        isisConfigurationBuilder.add(SystemConstants.PROFILE_PERSISTOR_INSTALLER_KEY, InMemoryUserProfileStoreInstaller.class.getName());
-        isisConfigurationBuilder.add(SystemConstants.FIXTURES_INSTALLER_KEY, FixturesInstallerNoop.class.getName());
-        isisConfigurationBuilder.add(SystemConstants.NOSPLASH_KEY, "" + true);
-    }
-
-    private Injector createGuiceInjector(final DeploymentType deploymentType, final IsisConfigurationBuilder isisConfigurationBuilder, final InstallerLookup installerLookup) {
-        final IsisInjectModule isisModule = new IsisInjectModule(deploymentType, isisConfigurationBuilder, installerLookup);
-        return Guice.createInjector(isisModule);
-    }
-
-    public void shutdownIsis() {
-        new ShutdownIsis(this).shutdown();
-    }
-
-    // /////////////////////////////////////////////////////////////
-    // date+time / logon+switch user
-    // /////////////////////////////////////////////////////////////
-
-    public boolean dateAndTimeIs(final String dateAndTimeStr) {
-        final Date date = dateParser.parse(dateAndTimeStr);
-        if (date != null) {
-            new SetClock(this).setClock(date);
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Logon, specifying no roles.
-     * <p>
-     * Unlike the {@link LogonFixture} on regular fixtures, the logonAs is not
-     * automatically remembered until the end of the setup. It should therefore
-     * be invoked at the end of setup explicitly.
-     */
-    public void logonAsOrSwitchUserTo(final String userName) {
-        final List<String> noRoles = Collections.emptyList();
-        logonAsOrSwitchUserTo(userName, noRoles);
-    }
-
-    /**
-     * Logon, specifying roles.
-     * <p>
-     * Unlike the {@link LogonFixture} on regular Isis fixtures, the logonAs is
-     * not automatically remembered until the end of the setup. It should
-     * therefore be invoked at the end of setup explicitly.
-     */
-    public void logonAsOrSwitchUserTo(final String userName, final List<String> roleList) {
-        new OpenSession(this).openSession(userName, roleList);
-        aliasRegistry = reAdapt(aliasRegistry);
-    }
-
-    /**
-     * Need to recreate aliases whenever logout/login.
-     */
-    private AliasRegistry reAdapt(final AliasRegistry aliasesRegistry) {
-        final AliasRegistry newAliasesRegistry = new AliasRegistryDefault();
-
-        // first pass: root adapters
-        for (final Map.Entry<String, ObjectAdapter> aliasAdapter : aliasesRegistry) {
-            final String alias = aliasAdapter.getKey();
-            final ObjectAdapter oldAdapter = aliasAdapter.getValue();
-
-            if (oldAdapter.getOid() instanceof AggregatedOid) {
-                continue;
-            }
-            newAliasesRegistry.aliasAs(alias, getAdapterManager().adapterFor(oldAdapter.getObject()));
-        }
-
-        // for now, not supporting aggregated adapters (difficulty in looking up
-        // the parent adapter because the Oid changes)
-
-        // // second pass: aggregated adapters
-        // for (Map.Entry<String,NakedObject> aliasAdapter : oldAliasesRegistry)
-        // {
-        // final String alias = aliasAdapter.getKey();
-        // final ObjectAdapter oldAdapter = aliasAdapter.getValue();
-        //
-        // if(!(oldAdapter.getOid() instanceof AggregatedOid)) {
-        // continue;
-        // }
-        // AggregatedOid aggregatedOid = (AggregatedOid) oldAdapter.getOid();
-        // final Object parentOid = aggregatedOid.getParentOid();
-        // final ObjectAdapter parentAdapter =
-        // getAdapterManager().getAdapterFor(parentOid);
-        // final String fieldName = aggregatedOid.getFieldName();
-        // final NakedObjectAssociation association =
-        // parentAdapter.getSpecification().getAssociation(fieldName);
-        // final ObjectAdapter newAdapter =
-        // getAdapterManager().adapterFor(oldAdapter.getObject(), parentAdapter,
-        // association);
-        //
-        // newAliasesRegistry.put(alias, newAdapter);
-        // }
-        return newAliasesRegistry;
-    }
-
-    // /////////////////////////////////////////////////////////
-    // date parser
-    // /////////////////////////////////////////////////////////
-
-    public void usingDateFormat(final String dateFormatStr) {
-        dateParser.setDateFormat(dateFormatStr);
-        setTemporalFormat("date", dateFormatStr);
-        setTemporalFormat("datetime", dateParser.getCombinedMask());
-        setTemporalFormat("timestamp", dateParser.getCombinedMask());
-    }
-
-    public void usingTimeFormat(final String timeFormatStr) {
-        dateParser.setTimeFormat(timeFormatStr);
-        setTemporalFormat("time", timeFormatStr);
-        setTemporalFormat("datetime", dateParser.getCombinedMask());
-        setTemporalFormat("timestamp", dateParser.getCombinedMask());
-    }
-
-    private void setTemporalFormat(final String propertyType, final String formatStr) {
-        ValueSemanticsProviderAbstractTemporal.setFormat(propertyType, formatStr);
-    }
-
-    public DateParser getDateParser() {
-        return dateParser;
-    }
-
-    // /////////////////////////////////////////////////////////
-    // run viewer
-    // /////////////////////////////////////////////////////////
-
-    public void runViewer() {
-        new RunViewer(this).run();
-    }
-
-    // //////////////////////////////////////////////////////////////////
-    // AliasRegistry impl
-    // //////////////////////////////////////////////////////////////////
-
-    @Override
-    public AliasRegistry getAliasRegistry() {
-        return aliasRegistry;
-    }
-
-    // /////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // /////////////////////////////////////////////////////////
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    private AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    public IsisTransactionManager getTransactionManager() {
-        return IsisContext.getTransactionManager();
-    }
-
-    protected IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioBoundValueException.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioBoundValueException.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioBoundValueException.java
deleted file mode 100644
index 969c320..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioBoundValueException.java
+++ /dev/null
@@ -1,59 +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.bdd.common;
-
-import java.io.CharArrayWriter;
-import java.io.PrintWriter;
-
-public class ScenarioBoundValueException extends Exception {
-
-    private static final long serialVersionUID = 1L;
-
-    private final CellBinding cellBinding;
-    private final ScenarioCell storyCell;
-
-    public static ScenarioBoundValueException current(final CellBinding cellBinding, final String message) {
-        return new ScenarioBoundValueException(cellBinding, cellBinding.getCurrentCell(), message);
-    }
-
-    public static ScenarioBoundValueException arg(final CellBinding cellBinding, final ScenarioCell storyCell, final String message) {
-        return new ScenarioBoundValueException(cellBinding, storyCell, message);
-    }
-
-    private ScenarioBoundValueException(final CellBinding cellBinding, final ScenarioCell storyCell, final String message) {
-        super(message);
-        this.cellBinding = cellBinding;
-        this.storyCell = storyCell;
-    }
-
-    public CellBinding getCellBinding() {
-        return cellBinding;
-    }
-
-    public ScenarioCell getStoryCell() {
-        return storyCell;
-    }
-
-    public String asString() {
-        final CharArrayWriter caw = new CharArrayWriter();
-        this.printStackTrace(new PrintWriter(caw));
-        return caw.toString();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioCell.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioCell.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioCell.java
deleted file mode 100644
index 40ca0b9..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioCell.java
+++ /dev/null
@@ -1,38 +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.bdd.common;
-
-public interface ScenarioCell {
-
-    /**
-     * The text represented by the source.
-     */
-    public String getText();
-
-    /**
-     * Sets the text held by the source.
-     */
-    public void setText(String str);
-
-    /**
-     * The implementation-specific representation of this text.
-     */
-    public Object getSource();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioCellDefault.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioCellDefault.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioCellDefault.java
deleted file mode 100644
index b6b27fb..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioCellDefault.java
+++ /dev/null
@@ -1,51 +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.bdd.common;
-
-/**
- * Simply holds the text.
- * 
- */
-public class ScenarioCellDefault implements ScenarioCell {
-
-    private String source;
-
-    public ScenarioCellDefault(final String source) {
-        this.source = source;
-    }
-
-    @Override
-    public String getText() {
-        return source;
-    }
-
-    @Override
-    public void setText(final String str) {
-        this.source = str;
-    }
-
-    /**
-     * The implementation-specific representation of this text.
-     */
-    @Override
-    public Object getSource() {
-        return source;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioValueException.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioValueException.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioValueException.java
deleted file mode 100644
index c2a92ca..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ScenarioValueException.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.bdd.common;
-
-public class ScenarioValueException extends Exception {
-
-    private static final long serialVersionUID = 1L;
-
-    public ScenarioValueException() {
-    }
-
-    public ScenarioValueException(final String message) {
-        super(message);
-    }
-
-    public ScenarioValueException(final Throwable cause) {
-        super(cause);
-    }
-
-    public ScenarioValueException(final String message, final Throwable cause) {
-        super(message, cause);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ServiceRegistry.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ServiceRegistry.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ServiceRegistry.java
deleted file mode 100644
index 65ee3e1..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/ServiceRegistry.java
+++ /dev/null
@@ -1,23 +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.bdd.common;
-
-public interface ServiceRegistry {
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddAuthenticationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddAuthenticationManagerInstaller.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddAuthenticationManagerInstaller.java
deleted file mode 100644
index 795e57b..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddAuthenticationManagerInstaller.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.bdd.common.components;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authentication.AuthenticationManagerStandardInstallerAbstractForDfltRuntime;
-import org.apache.isis.core.runtime.authentication.standard.Authenticator;
-import org.apache.isis.core.security.authentication.AuthenticatorBypass;
-
-public class BddAuthenticationManagerInstaller extends AuthenticationManagerStandardInstallerAbstractForDfltRuntime {
-
-    public BddAuthenticationManagerInstaller() {
-        super("bdd");
-    }
-
-    @Override
-    protected List<Authenticator> createAuthenticators(final IsisConfiguration configuration) {
-        return Lists.<Authenticator> newArrayList(new AuthenticatorBypass(configuration));
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddInMemoryPersistenceMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddInMemoryPersistenceMechanismInstaller.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddInMemoryPersistenceMechanismInstaller.java
deleted file mode 100644
index 4b5af4f..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddInMemoryPersistenceMechanismInstaller.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.bdd.common.components;
-
-import org.apache.isis.core.objectstore.InMemoryPersistenceMechanismInstaller;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
-
-public class BddInMemoryPersistenceMechanismInstaller extends InMemoryPersistenceMechanismInstaller {
-
-    public BddInMemoryPersistenceMechanismInstaller() {
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Name
-    // ///////////////////////////////////////////////////////////////
-
-    @Override
-    public String getName() {
-        return "bdd";
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Hook methods
-    // ///////////////////////////////////////////////////////////////
-
-    @Override
-    public PersistenceSessionFactory createPersistenceSessionFactory(final DeploymentType deploymentType) {
-        return new BddInMemoryPersistenceSessionFactory(deploymentType, getConfiguration(), this);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddInMemoryPersistenceSessionFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddInMemoryPersistenceSessionFactory.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddInMemoryPersistenceSessionFactory.java
deleted file mode 100644
index 01210b4..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddInMemoryPersistenceSessionFactory.java
+++ /dev/null
@@ -1,47 +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.bdd.common.components;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facets.object.cached.CachedFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.objectstore.InMemoryPersistenceSessionFactory;
-import org.apache.isis.core.objectstore.internal.ObjectStorePersistedObjects;
-import org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegate;
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-/**
- * As per {@link InMemoryPersistenceSessionFactory}, but uses the
- * {@link BddObjectStorePersistedObjects} implementation which stores any
- * {@link CachedFacet cached} {@link ObjectSpecification class}es
- * <tt>static</tt>ally (and thus persisted across multiple setups/teardowns of
- * the {@link NakedObjectsContext}.
- */
-public class BddInMemoryPersistenceSessionFactory extends InMemoryPersistenceSessionFactory {
-
-    public BddInMemoryPersistenceSessionFactory(final DeploymentType deploymentType, final IsisConfiguration configuration, final PersistenceSessionFactoryDelegate persistenceSessionFactoryDelegate) {
-        super(deploymentType, configuration, persistenceSessionFactoryDelegate);
-    }
-
-    @Override
-    public ObjectStorePersistedObjects createPersistedObjects() {
-        return new BddObjectStorePersistedObjects();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddObjectStorePersistedObjects.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddObjectStorePersistedObjects.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddObjectStorePersistedObjects.java
deleted file mode 100644
index ba3336a..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/BddObjectStorePersistedObjects.java
+++ /dev/null
@@ -1,124 +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.bdd.common.components;
-
-import java.util.Map;
-
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Maps;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.facets.object.cached.CachedFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.objectstore.internal.ObjectStoreInstances;
-import org.apache.isis.core.objectstore.internal.ObjectStorePersistedObjects;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGeneratorDefault.Memento;
-
-/**
- * Stores instances in one of two maps, based on whether have their
- * specification has the {@link CachedFacet} (represents cached or reference
- * data) or not (represents operational data).
- * <p>
- * Those that are cached are stored in a <tt>static</tt> map that is never
- * {@link #clear()}ed down. Those that are operational go in a regular instance
- * cache and can be {@link #clear()}ed.
- */
-public class BddObjectStorePersistedObjects implements ObjectStorePersistedObjects {
-
-    private static final Map<ObjectSpecification, ObjectStoreInstances> cachedInstancesBySpecMap = Maps.newHashMap();
-
-    private final Map<ObjectSpecification, ObjectStoreInstances> operationalInstancesBySpecMap = Maps.newHashMap();
-    private final Map<ObjectSpecId, Oid> serviceOidByIdMap = Maps.newHashMap();
-    
-    private Memento oidGeneratorMemento;
-
-    @Override
-    public Memento getOidGeneratorMemento() {
-        return oidGeneratorMemento;
-    }
-
-    @Override
-    public void saveOidGeneratorMemento(final Memento memento) {
-        this.oidGeneratorMemento = memento;
-    }
-
-    @Override
-    public Oid getService(final ObjectSpecId objectSpecId) {
-        return serviceOidByIdMap.get(objectSpecId);
-    }
-
-    @Override
-    public void registerService(final ObjectSpecId objectSpecId, final Oid oid) {
-        final Oid oidLookedUpByName = serviceOidByIdMap.get(objectSpecId);
-        if (oidLookedUpByName != null) {
-            if (!oidLookedUpByName.equals(oid)) {
-                throw new IsisException("Already another service registered as name: " + objectSpecId + " (existing Oid: " + oidLookedUpByName + ", " + "intended: " + oid + ")");
-            }
-        } else {
-            serviceOidByIdMap.put(objectSpecId, oid);
-        }
-    }
-
-    @Override
-    public Iterable<ObjectSpecification> specifications() {
-        return Iterables.concat(BddObjectStorePersistedObjects.cachedInstancesBySpecMap.keySet(), operationalInstancesBySpecMap.keySet());
-    }
-
-    @Override
-    public Iterable<ObjectStoreInstances> instances() {
-        return Iterables.concat(BddObjectStorePersistedObjects.cachedInstancesBySpecMap.values(), operationalInstancesBySpecMap.values());
-    }
-
-    @Override
-    public ObjectStoreInstances instancesFor(final ObjectSpecification spec) {
-        if (isCached(spec)) {
-            return getFromMap(spec, BddObjectStorePersistedObjects.cachedInstancesBySpecMap);
-        } else {
-            return getFromMap(spec, operationalInstancesBySpecMap);
-        }
-    }
-
-    // //////////////////////////////////////////////////////////////////
-    // Helpers
-    // //////////////////////////////////////////////////////////////////
-
-    private ObjectStoreInstances getFromMap(final ObjectSpecification spec, final Map<ObjectSpecification, ObjectStoreInstances> map) {
-        ObjectStoreInstances ins = map.get(spec);
-        if (ins == null) {
-            ins = new ObjectStoreInstances(spec);
-            map.put(spec, ins);
-        }
-        return ins;
-    }
-
-    private boolean isCached(final ObjectSpecification spec) {
-        return spec.containsFacet(CachedFacet.class);
-    }
-
-    /**
-     * Only clears the operational instances, not the cached instances.
-     */
-    @Override
-    public void clear() {
-        operationalInstancesBySpecMap.clear();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/IsisSystemUsingInstallersWithinStory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/IsisSystemUsingInstallersWithinStory.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/IsisSystemUsingInstallersWithinStory.java
deleted file mode 100644
index ca7cc8d..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/IsisSystemUsingInstallersWithinStory.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.bdd.common.components;
-
-import org.apache.isis.core.profilestore.InMemoryUserProfileStoreInstaller;
-import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstaller;
-import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
-import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.systemusinginstallers.IsisSystemUsingInstallers;
-import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
-
-public class IsisSystemUsingInstallersWithinStory extends IsisSystemUsingInstallers {
-
-    public IsisSystemUsingInstallersWithinStory(final DeploymentType deploymentType, final InstallerLookup installerLookup) {
-        super(deploymentType, installerLookup);
-
-        final AuthenticationManagerInstaller authManagerInstaller = new BddAuthenticationManagerInstaller();
-        setAuthenticationInstaller(getInstallerLookup().injectDependenciesInto(authManagerInstaller));
-
-        final PersistenceMechanismInstaller persistorInstaller = new BddInMemoryPersistenceMechanismInstaller();
-        setPersistenceMechanismInstaller(getInstallerLookup().injectDependenciesInto(persistorInstaller));
-
-        final UserProfileStoreInstaller userProfileStoreInstaller = new InMemoryUserProfileStoreInstaller();
-        setUserProfileStoreInstaller(getInstallerLookup().injectDependenciesInto(userProfileStoreInstaller));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractFixturePeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractFixturePeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractFixturePeer.java
deleted file mode 100644
index dc3c5a8..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractFixturePeer.java
+++ /dev/null
@@ -1,88 +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.bdd.common.fixtures;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.ObjectStore;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-
-public abstract class AbstractFixturePeer {
-
-    private final AliasRegistry aliasRegistry;
-    private final List<CellBinding> cellBindings;
-
-    public AbstractFixturePeer(final AliasRegistry aliasRegistry, final CellBinding... cellBindings) {
-        this(aliasRegistry, Arrays.asList(cellBindings));
-    }
-
-    public AbstractFixturePeer(final AliasRegistry storyRegistries, final List<CellBinding> cellBindings) {
-        this.aliasRegistry = storyRegistries;
-        this.cellBindings = cellBindings;
-    }
-
-    public AliasRegistry getAliasRegistry() {
-        return aliasRegistry;
-    }
-
-    public List<CellBinding> getCellBindings() {
-        return cellBindings;
-    }
-
-    public List<Object> getServices() {
-        return IsisContext.getServices();
-    }
-
-    public SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-    public AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
-    }
-
-    public PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    protected AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    protected ObjectStore getObjectStore() {
-        return getPersistenceSession().getObjectStore();
-    }
-
-    protected IsisTransactionManager getTransactionManager() {
-        return IsisContext.getTransactionManager();
-    }
-
-    public boolean isValidAlias(final String alias) {
-        return getAliasRegistry().getAliased(alias) != null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractListFixturePeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractListFixturePeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractListFixturePeer.java
deleted file mode 100644
index 3201927..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractListFixturePeer.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.bdd.common.fixtures;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.google.common.collect.Iterables;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioValueException;
-
-public class AbstractListFixturePeer extends AbstractFixturePeer {
-
-    private final String listAlias;
-
-    /**
-     * @see #collectionAdapters()
-     */
-    private List<ObjectAdapter> objects;
-
-    public AbstractListFixturePeer(final AliasRegistry aliasesRegistry, final String listAlias, final CellBinding... cellBindings) {
-        super(aliasesRegistry, cellBindings);
-
-        this.listAlias = listAlias;
-    }
-
-    protected boolean isValidListAlias() {
-        return getListAdapter() != null && isList();
-    }
-
-    protected ObjectAdapter getListAdapter() {
-        return getAliasRegistry().getAliased(listAlias);
-    }
-
-    public void assertIsList() throws ScenarioValueException {
-        if (!(getListAdapter() != null)) {
-            throw new ScenarioValueException("no such alias");
-        }
-        if (!isList()) {
-            throw new ScenarioValueException("not a list");
-        }
-    }
-
-    public boolean isList() {
-        return getCollectionFacet() != null;
-    }
-
-    /**
-     * Lazily populated, and populated only once.
-     */
-    protected List<ObjectAdapter> collectionAdapters() {
-        if (objects == null) {
-            objects = new ArrayList<ObjectAdapter>();
-            Iterables.addAll(objects, collectionContents());
-        }
-        return objects;
-    }
-
-    private Iterable<ObjectAdapter> collectionContents() {
-        return getCollectionFacet().iterable(getListAdapter());
-    }
-
-    private CollectionFacet getCollectionFacet() {
-        return getListAdapter() != null ? getListAdapter().getSpecification().getFacet(CollectionFacet.class) : null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractSetUpFixturePeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractSetUpFixturePeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractSetUpFixturePeer.java
deleted file mode 100644
index e329f1d..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AbstractSetUpFixturePeer.java
+++ /dev/null
@@ -1,30 +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.bdd.common.fixtures;
-
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-
-public class AbstractSetUpFixturePeer extends AbstractFixturePeer {
-
-    public AbstractSetUpFixturePeer(final AliasRegistry aliasRegistry, final CellBinding... cellBindings) {
-        super(aliasRegistry, cellBindings);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AliasItemsInListPeer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AliasItemsInListPeer.java b/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AliasItemsInListPeer.java
deleted file mode 100644
index a0b8e21..0000000
--- a/mothballed/component/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/fixtures/AliasItemsInListPeer.java
+++ /dev/null
@@ -1,105 +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.bdd.common.fixtures;
-
-import org.apache.isis.core.commons.lang.StringUtils;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.bdd.common.AliasRegistry;
-import org.apache.isis.viewer.bdd.common.CellBinding;
-import org.apache.isis.viewer.bdd.common.ScenarioBoundValueException;
-import org.apache.isis.viewer.bdd.common.ScenarioCell;
-
-public class AliasItemsInListPeer extends AbstractListFixturePeer {
-
-    private final CellBinding titleBinding;
-    private final CellBinding typeBinding;
-    private final CellBinding aliasBinding;
-
-    public AliasItemsInListPeer(final AliasRegistry aliasesRegistry, final String listAlias, final CellBinding titleBinding, final CellBinding typeBinding, final CellBinding aliasBinding) {
-        super(aliasesRegistry, listAlias, titleBinding, typeBinding, aliasBinding);
-
-        this.titleBinding = titleBinding;
-        this.typeBinding = typeBinding;
-        this.aliasBinding = aliasBinding;
-    }
-
-    public CellBinding getTitleBinding() {
-        return titleBinding;
-    }
-
-    public CellBinding getTypeBinding() {
-        return typeBinding;
-    }
-
-    public CellBinding getAliasBinding() {
-        return aliasBinding;
-    }
-
-    public ScenarioCell findAndAlias() throws ScenarioBoundValueException {
-        final ObjectAdapter foundAdapter = findAdapter();
-        if (foundAdapter == null) {
-            throw ScenarioBoundValueException.current(titleBinding, "not found");
-        }
-
-        final ScenarioCell currentCell = aliasBinding.getCurrentCell();
-        final String currentCellText = currentCell.getText();
-        getAliasRegistry().aliasAs(currentCellText, foundAdapter);
-        return currentCell;
-    }
-
-    private ObjectAdapter findAdapter() {
-        for (final ObjectAdapter adapter : collectionAdapters()) {
-
-            if (!titleMatches(adapter)) {
-                continue; // keep looking
-            }
-            if (!typeMatches(adapter)) {
-                continue; // keep looking
-            }
-
-            return adapter;
-        }
-        return null;
-    }
-
-    private boolean titleMatches(final ObjectAdapter adapter) {
-        final String adapterTitle = adapter.titleString();
-        final String requiredTitle = titleBinding.getCurrentCell().getText();
-        return StringUtils.nullSafeEquals(adapterTitle, requiredTitle);
-    }
-
-    private boolean typeMatches(final ObjectAdapter adapter) {
-        if (typeBinding == null || !typeBinding.isFound()) {
-            return true;
-        }
-
-        final ObjectSpecification spec = adapter.getSpecification();
-        final String requiredTypeName = typeBinding.getCurrentCell().getText();
-        final String specFullName = spec.getFullIdentifier();
-        if (specFullName.equals(requiredTypeName)) {
-            return true;
-        }
-
-        final String simpleSpecName = StringUtils.simpleName(specFullName);
-        final String simpleRequiredType = StringUtils.simpleName(requiredTypeName);
-        return simpleSpecName.equalsIgnoreCase(simpleRequiredType);
-    }
-
-}


[16/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/GlobalViewFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/GlobalViewFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/GlobalViewFactory.java
deleted file mode 100644
index 6d52c9f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/GlobalViewFactory.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.dnd.view;
-
-import java.util.Enumeration;
-
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-/*
- * TODO this factory should always create views, not provide specifications; alternatively, this should be
- * called something else and always return the specification The caller would then need to call the create
- * method to create the object. The only case that would be slightly different would be the DragOutline one as
- * the Axis is never used.
- */
-public interface GlobalViewFactory extends DebuggableWithTitle {
-
-    void addSpecification(ViewSpecification spec);
-
-    Enumeration<ViewSpecification> availableViews(ViewRequirement viewRequirement);
-
-    Enumeration<ViewSpecification> availableDesigns(ViewRequirement viewRequirement);
-
-    View createDragViewOutline(View view);
-
-    DragEvent createDragContentOutline(View view, Location location);
-
-    View createMinimizedView(View view);
-
-    View createDialog(Content content);
-
-    View createView(ViewRequirement requirement);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InteractionSpy.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InteractionSpy.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InteractionSpy.java
deleted file mode 100644
index 34e6d98..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InteractionSpy.java
+++ /dev/null
@@ -1,153 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-public class InteractionSpy {
-    private int actionCount;
-    private String damagedArea;
-    private int event;
-    private final String label[][] = new String[2][20];
-    private final InteractionSpyWindow spyWindow;
-    private final String[] trace = new String[60];
-    private int traceIndex;
-    private boolean isVisible;
-
-    public InteractionSpy(final InteractionSpyWindow spyWindow) {
-        this.spyWindow = spyWindow;
-    }
-
-    public void addAction(final String action) {
-        if (isVisible) {
-            set(actionCount++, "Action", action);
-        }
-    }
-
-    public void addDamagedArea(final Bounds bounds) {
-        if (isVisible) {
-            damagedArea += bounds + "; ";
-            set(7, "Damaged areas", damagedArea);
-        }
-    }
-
-    public void addTrace(final String message) {
-        if (isVisible && traceIndex < trace.length) {
-            trace[traceIndex] = message;
-            traceIndex++;
-        }
-    }
-
-    public void addTrace(final View view, final String message, final Object object) {
-        if (isVisible && traceIndex < trace.length) {
-            trace[traceIndex] = view.getClass().getName() + " " + message + ": " + object;
-            traceIndex++;
-        }
-    }
-
-    public void close() {
-        if (isVisible) {
-            spyWindow.close();
-            isVisible = false;
-        }
-    }
-
-    public void reset() {
-        if (isVisible) {
-            event++;
-            traceIndex = 0;
-            actionCount = 8;
-            damagedArea = "";
-            setDownAt(null);
-            for (int i = actionCount; i < label[0].length; i++) {
-                label[0][i] = null;
-                label[1][i] = null;
-            }
-        }
-    }
-
-    private void set(final int index, final String label, final Object debug) {
-        if (spyWindow != null) {
-            this.label[0][index] = debug == null ? null : label + ":";
-            this.label[1][index] = debug == null ? null : debug.toString();
-
-            spyWindow.display(event, this.label, trace, traceIndex);
-        }
-    }
-
-    public void setAbsoluteLocation(final Location absoluteLocation) {
-        if (isVisible) {
-            set(6, "Absolute view location", absoluteLocation);
-        }
-    }
-
-    public void setDownAt(final Location downAt) {
-        if (isVisible) {
-            set(0, "Down at", downAt);
-        }
-    }
-
-    public void setLocationInView(final Location internalLocation) {
-        if (isVisible) {
-            set(3, "Relative mouse location", internalLocation);
-        }
-    }
-
-    public void setLocationInViewer(final Location mouseLocation) {
-        if (isVisible) {
-            set(1, "Mouse location", mouseLocation);
-        }
-    }
-
-    public void setOver(final Object data) {
-        if (isVisible) {
-            set(2, "Mouse over", data);
-        }
-    }
-
-    public void setType(final ViewAreaType type) {
-        if (isVisible) {
-            set(4, "Area type", type);
-        }
-    }
-
-    public void setViewLocation(final Location locationWithinViewer) {
-        if (isVisible) {
-            set(5, "View location", locationWithinViewer);
-        }
-    }
-
-    public void open() {
-        if (!isVisible) {
-            spyWindow.open();
-            isVisible = true;
-        }
-    }
-
-    public boolean isVisible() {
-        return isVisible;
-    }
-
-    public void redraw(final String redrawArea, final int redrawCount) {
-        set(8, "Redraw", "#" + redrawCount + "  " + redrawArea);
-        damagedArea = "";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InteractionSpyWindow.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InteractionSpyWindow.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InteractionSpyWindow.java
deleted file mode 100644
index 882b956..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InteractionSpyWindow.java
+++ /dev/null
@@ -1,29 +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.dnd.view;
-
-public interface InteractionSpyWindow {
-
-    void close();
-
-    void display(int event, String label[][], String[] trace, int traceIndex);
-
-    void open();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InternalDrag.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InternalDrag.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InternalDrag.java
deleted file mode 100644
index 4f1ac7f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/InternalDrag.java
+++ /dev/null
@@ -1,31 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-/**
- * Details a drag event that is internal to view.
- */
-public interface InternalDrag extends Drag {
-    Location getLocation();
-
-    View getOverlay();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/KeyboardAction.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/KeyboardAction.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/KeyboardAction.java
deleted file mode 100644
index b7eb41e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/KeyboardAction.java
+++ /dev/null
@@ -1,39 +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.dnd.view;
-
-public interface KeyboardAction {
-    public static final int NONE = 0;
-    public static final int ABORT = 1;
-    public static final int NEXT_VIEW = 2;
-    public static final int NEXT_WINDOW = 3;
-    public static final int PREVIOUS_VIEW = 4;
-    public final static int PREVIOUS_WINDOW = 5;
-
-    int getKeyCode();
-
-    char getKeyChar();
-
-    int getModifiers();
-
-    void consume();
-
-    boolean isConsumed();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Look.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Look.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Look.java
deleted file mode 100644
index 97743fd..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Look.java
+++ /dev/null
@@ -1,26 +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.dnd.view;
-
-public interface Look {
-    void install();
-
-    String getName();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/MenuOptions.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/MenuOptions.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/MenuOptions.java
deleted file mode 100644
index 90d9d6f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/MenuOptions.java
+++ /dev/null
@@ -1,26 +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.dnd.view;
-
-public interface MenuOptions {
-
-    public abstract void menuOptions(final UserActionSet options);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ObjectContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ObjectContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ObjectContent.java
deleted file mode 100644
index 86f5263..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ObjectContent.java
+++ /dev/null
@@ -1,37 +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.dnd.view;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-
-public interface ObjectContent extends Content {
-
-    Consent canClear();
-
-    Consent canSet(final ObjectAdapter dragSource);
-
-    void clear();
-
-    ObjectAdapter getObject();
-
-    void setObject(final ObjectAdapter object);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Placement.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Placement.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Placement.java
deleted file mode 100644
index 18bae8d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Placement.java
+++ /dev/null
@@ -1,82 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-/**
- * Used to determine the placement of a new view on the workspace. It can be: an
- * absolute placement given a Location; a position relative to a given view; or
- * in the center. A relative placement uses the PlacementStrategy to determine
- * an optimum location.
- */
-public class Placement {
-    private static final int ABSOLUTE = 1;
-    private static final int RELATIVE = 2;
-    public static final int CENTER = 3;
-    private static PlacementStrategy placementStrategy = new PlacementStrategyImpl();
-    private final Location location;
-    private final View relativeTo;
-    private final int position;
-
-    public Placement(final Location location) {
-        this.location = location;
-        relativeTo = null;
-        position = ABSOLUTE;
-    }
-
-    public Placement(final View relativeTo) {
-        this.relativeTo = relativeTo.getView();
-        location = null;
-        position = RELATIVE;
-    }
-
-    public Placement(final int position) {
-        this.relativeTo = null;
-        location = null;
-        this.position = position;
-    }
-
-    private Location center(final View workspace, final View view) {
-        final Size rootSize = workspace.getSize();
-        final Location location = new Location(rootSize.getWidth() / 2, rootSize.getHeight() / 2);
-        final Size dialogSize = view.getRequiredSize(new Size(rootSize));
-        location.subtract(dialogSize.getWidth() / 2, dialogSize.getHeight() / 2);
-        return location;
-    }
-
-    public void position(final Workspace workspace, final View view) {
-        switch (position) {
-        case ABSOLUTE:
-            view.setLocation(location);
-            break;
-
-        case RELATIVE:
-            view.setLocation(placementStrategy.determinePlacement(workspace, relativeTo, view));
-            break;
-
-        case CENTER:
-            view.setLocation(center(workspace, view));
-            break;
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/PlacementStrategy.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/PlacementStrategy.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/PlacementStrategy.java
deleted file mode 100644
index 24260fc..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/PlacementStrategy.java
+++ /dev/null
@@ -1,31 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-/**
- * Determines an option location for a new view relative to an existing view,
- * 
- * @see Placement
- */
-public interface PlacementStrategy {
-    Location determinePlacement(Workspace workspace, final View relativeToView, final View view);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/PlacementStrategyImpl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/PlacementStrategyImpl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/PlacementStrategyImpl.java
deleted file mode 100644
index c368b52..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/PlacementStrategyImpl.java
+++ /dev/null
@@ -1,95 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-// TODO move out of this package and inject it
-public class PlacementStrategyImpl implements PlacementStrategy {
-    private static final int PADDING = 10;
-
-    @Override
-    public Location determinePlacement(final Workspace workspace, final View relativeToView, final View newView) {
-        if (relativeToView == null) {
-            return new Location();
-        }
-
-        final Size workspaceSize = workspace.getSize();
-        final View rootView = rootView(workspace, relativeToView);
-        final Location rootViewLocation = rootView.getLocation();
-        final Size rootViewSize = rootView.getSize();
-        final Location newLocation = new Location(rootViewLocation);
-        final Size requiredSize = newView.getView().getRequiredSize(Size.createMax());
-
-        if (rootViewLocation.getX() + rootViewSize.getWidth() + PADDING + requiredSize.getWidth() < workspaceSize.getWidth()) {
-            newLocation.add(rootViewSize.getWidth() + PADDING, 0);
-        } else if (rootViewLocation.getY() + rootViewSize.getHeight() + PADDING + requiredSize.getHeight() < workspaceSize.getHeight()) {
-            newLocation.add(0, rootViewSize.getHeight() + PADDING);
-        } else if (requiredSize.getWidth() + PADDING < rootViewLocation.getX()) {
-            newLocation.subtract(requiredSize.getWidth() + PADDING, 0);
-        } else if (requiredSize.getHeight() + PADDING < rootViewLocation.getY()) {
-            newLocation.subtract(0, requiredSize.getHeight() + PADDING);
-        } else {
-            newLocation.add(PADDING * 6, PADDING * 6);
-        }
-
-        final int maxSpaceToLeft = workspaceSize.getWidth() - requiredSize.getWidth();
-        final int maxSpaceAbove = workspaceSize.getHeight() - requiredSize.getHeight();
-
-        ensureWidth(newLocation, maxSpaceToLeft);
-        ensureHeight(newLocation, maxSpaceAbove);
-
-        final Location firstAttempt = new Location(newLocation);
-
-        while (workspace.subviewFor(newLocation) != null && workspace.subviewFor(newLocation).getLocation().equals(newLocation)) {
-            newLocation.add(PADDING * 4, PADDING * 4);
-            ensureWidth(newLocation, maxSpaceToLeft);
-            ensureHeight(newLocation, maxSpaceAbove);
-
-            if (newLocation.equals(firstAttempt)) {
-                break;
-            }
-        }
-        return newLocation;
-    }
-
-    private void ensureHeight(final Location ofLocation, final int availableHeight) {
-        final int yoffset = availableHeight - ofLocation.getY();
-        if (yoffset < 0) {
-            ofLocation.add(0, yoffset);
-            ofLocation.setY(Math.max(0, ofLocation.getY()));
-        }
-    }
-
-    private void ensureWidth(final Location ofLocation, final int availableWifth) {
-        final int xoffset = availableWifth - ofLocation.getX();
-        if (xoffset < 0) {
-            ofLocation.add(xoffset, 0);
-            ofLocation.setX(Math.max(0, ofLocation.getX()));
-        }
-    }
-
-    private View rootView(final View workspace, final View relativeTo) {
-        final View parent = relativeTo.getParent().getView();
-        return parent == null || parent == workspace ? relativeTo : rootView(workspace, parent);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Selectable.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Selectable.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Selectable.java
deleted file mode 100644
index 04fa82c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Selectable.java
+++ /dev/null
@@ -1,28 +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.dnd.view;
-
-public interface Selectable {
-
-    int getId();
-
-    void setSelectedNode(View selectedView);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ShutdownListener.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ShutdownListener.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ShutdownListener.java
deleted file mode 100644
index f6a0b33..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ShutdownListener.java
+++ /dev/null
@@ -1,27 +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.dnd.view;
-
-public interface ShutdownListener {
-
-    void quit();
-
-    void logOut();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/SubviewDecorator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/SubviewDecorator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/SubviewDecorator.java
deleted file mode 100644
index d342f22..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/SubviewDecorator.java
+++ /dev/null
@@ -1,26 +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.dnd.view;
-
-public interface SubviewDecorator {
-    ViewAxis createAxis(Content content);
-
-    View decorate(Axes axes, View view);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Toolkit.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Toolkit.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Toolkit.java
deleted file mode 100644
index f761721..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Toolkit.java
+++ /dev/null
@@ -1,95 +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.dnd.view;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-
-public abstract class Toolkit {
-    public static boolean debug = false;
-    private static Toolkit instance;
-
-    public static int defaultBaseline() {
-        return getInstance().colorsAndFonts.defaultBaseline();
-    }
-
-    public static int defaultFieldHeight() {
-        return getInstance().colorsAndFonts.defaultFieldHeight();
-    }
-
-    public static Color getColor(final int rgbColor) {
-        return getInstance().colorsAndFonts.getColor(rgbColor);
-    }
-
-    public static Color getColor(final String name) {
-        final Color color = getInstance().colorsAndFonts.getColor(name);
-        if (color == null) {
-            throw new IsisException("No such color: " + name);
-        }
-        return color;
-    }
-
-    public static ContentFactory getContentFactory() {
-        return getInstance().contentFactory;
-    }
-
-    protected static Toolkit getInstance() {
-        return instance;
-    }
-
-    public static Text getText(final String name) {
-        final Text text = getInstance().colorsAndFonts.getText(name);
-        if (text == null) {
-            throw new IsisException("No such text style: " + name);
-        }
-        return text;
-    }
-
-    public static Viewer getViewer() {
-        return getInstance().viewer;
-    }
-
-    public static Feedback getFeedbackManager() {
-        return getInstance().feedbackManager;
-    }
-
-    public static GlobalViewFactory getViewFactory() {
-        return getInstance().viewFactory;
-    }
-
-    protected ContentFactory contentFactory;
-    protected ColorsAndFonts colorsAndFonts;
-    protected Viewer viewer;
-    protected Feedback feedbackManager;
-    protected GlobalViewFactory viewFactory;
-
-    protected Toolkit() {
-        if (instance != null) {
-            throw new IllegalStateException("Toolkit already instantiated");
-        }
-        instance = this;
-        init();
-    }
-
-    protected abstract void init();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UndoStack.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UndoStack.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UndoStack.java
deleted file mode 100644
index 586f450..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UndoStack.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.dnd.view;
-
-import java.util.Vector;
-
-public class UndoStack {
-
-    private final Vector<Command> commands = new Vector<Command>();
-
-    public void add(final Command command) {
-        commands.addElement(command);
-        command.execute();
-    }
-
-    public void undoLastCommand() {
-        final Command lastCommand = commands.lastElement();
-        lastCommand.undo();
-        commands.removeElement(lastCommand);
-    }
-
-    public String descriptionOfUndo() {
-        final Command lastCommand = commands.lastElement();
-        return lastCommand.getDescription();
-    }
-
-    public boolean isEmpty() {
-        return commands.isEmpty();
-    }
-
-    public String getNameOfUndo() {
-        final Command lastCommand = commands.lastElement();
-        return lastCommand.getName();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UserAction.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UserAction.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UserAction.java
deleted file mode 100644
index 240492c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UserAction.java
+++ /dev/null
@@ -1,57 +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.dnd.view;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-public interface UserAction {
-
-    /**
-     * Returns the type of action: user, exploration, debug, or a set.
-     */
-    ActionType getType();
-
-    /**
-     * Indicate that this action is disabled
-     */
-    Consent disabled(View view);
-
-    /**
-     * Invoke this action.
-     */
-    void execute(Workspace workspace, View view, Location at);
-
-    /**
-     * Returns the description of the action.
-     */
-    String getDescription(View view);
-
-    /**
-     * Returns the help text for the action.
-     */
-    String getHelp(View view);
-
-    /**
-     * Returns the name of the action as the user will refer to it.
-     */
-    String getName(View view);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UserActionSet.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UserActionSet.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UserActionSet.java
deleted file mode 100644
index a3d7048..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/UserActionSet.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.dnd.view;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.drawing.Color;
-
-public interface UserActionSet extends UserAction {
-
-    void add(UserAction userAction);
-
-    void addObjectMenuOptions(ObjectAdapter object);
-
-    void addCreateOptions(ObjectSpecification specification);
-
-    UserActionSet addNewActionSet(String name);
-
-    UserActionSet addNewActionSet(String name, ActionType type);
-
-    UserAction[] getUserActions();
-
-    Color getColor();
-
-    void setColor(Color color);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/View.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/View.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/View.java
deleted file mode 100644
index 406405d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/View.java
+++ /dev/null
@@ -1,396 +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.dnd.view;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.runtime.userprofile.OptionsClient;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-public interface View extends Cloneable, OptionsClient {
-    
-    void addView(View view);
-
-    /**
-     * Determines if the user is able to change the held value.
-     */
-    Consent canChangeValue();
-
-    /**
-     * Determines whether this view accepts keyboard focus. If so focusLost and
-     * focusReceived will be called.
-     */
-    boolean canFocus();
-
-    boolean contains(View view);
-
-    boolean containsFocus();
-
-    /**
-     * Called when the popup menu is being populated for this view. Any content
-     * options that need to appear on the menu should be added to the
-     * <code>menuOptions</code> object.
-     */
-    void contentMenuOptions(UserActionSet menuOptions);
-
-    void debug(DebugBuilder debug);
-
-    void debugStructure(DebugBuilder debug);
-
-    /**
-     * Called when a view is no longer needed and its resources can be disposed
-     * of. Dissociates this view from its parent, and removes itself from the
-     * list of views that need to be updated.
-     * 
-     * @see #removeView(View)
-     */
-    void dispose();
-
-    /**
-     * Called as mouse is dragged within and without this view. This only occurs
-     * when no content or view is being dragged.
-     */
-    void drag(InternalDrag drag);
-
-    void drag(ViewDrag drag);
-
-    void dragCancel(InternalDrag drag);
-
-    View dragFrom(Location location);
-
-    /**
-     * Called as the content being dragged is dragged into this view. This only
-     * occurs when view contents are being dragged, and not when views
-     * themselves are being dragged.
-     */
-    void dragIn(ContentDrag drag);
-
-    /**
-     * Called as the content being dragged is dragged out of this view. This
-     * only occurs when view contents are being dragged, and not when views
-     * themselves are being dragged.
-     */
-    void dragOut(ContentDrag drag);
-
-    DragEvent dragStart(DragStart drag);
-
-    /**
-     * Called as the drag ends within and without this view. This only occurs
-     * when no content or view is being dragged.
-     */
-    void dragTo(InternalDrag drag);
-
-    /**
-     * Called by the frame, or the parent view, when this view must redraw
-     * itself.
-     */
-    void draw(Canvas canvas);
-
-    /**
-     * Called as another view's contents (the source) is dropped on this view's
-     * contents (the target). The source view can be obtained from the ViewDrag
-     * object.
-     */
-    void drop(ContentDrag drag);
-
-    /**
-     * Called as another view (the source) is dropped on this view (the target).
-     * The source view can be obtained from the ViewDrag object.
-     */
-    void drop(ViewDrag drag);
-
-    /**
-     * Indicates that editing has been completed and the entry should be saved.
-     * Will be called by the view manager when other action place within the
-     * parent.
-     * 
-     * @param moveFocus
-     *            flags that focus should be moved from this field after the
-     *            entry has been processed.
-     * @param toNextField
-     *            flags that the focus should be moved to the next field (if
-     *            <code>true</code>) or to the previous field (if
-     *            <code>false</code>). This parameter is ignored if the
-     *            moveFocus parameter is <code>false</code>.
-     */
-    void editComplete(boolean moveFocus, boolean toNextField);
-
-    /**
-     * Called as the mouse crosses the bounds, and ends up inside, of this view.
-     * Is also called as the mouse returns into this view from a contained view.
-     */
-    void entered();
-
-    /**
-     * Called as the mouse crosses the bounds, and ends up outside, of this
-     * view.
-     */
-    void exited();
-
-    /**
-     * Called when the user clicks the mouse buttone within this view.
-     * 
-     * @param click
-     *            the location within the current view where the mouse click
-     *            took place
-     */
-    void firstClick(Click click);
-
-    void focusLost();
-
-    void focusReceived();
-
-    Location getAbsoluteLocation();
-
-    int getBaseline();
-
-    /**
-     * Returns the bounding rectangle that describes where (within it parent),
-     * and how big, this view is.
-     * 
-     * @see #getSize()
-     * @see #getLocation()
-     * @return Bounds
-     */
-    Bounds getBounds();
-
-    /**
-     * get the object that this view represents
-     */
-    Content getContent();
-
-    FocusManager getFocusManager();
-
-    int getId();
-
-    /**
-     * Determines the location relative to this object's containing view
-     * 
-     * @see #getBounds()
-     */
-    Location getLocation();
-
-    Padding getPadding();
-
-    View getParent();
-
-    Size getRequiredSize(Size availableSpace);
-
-    /**
-     * Determines the size of this view.
-     * 
-     * @see #getBounds()
-     */
-    Size getSize();
-
-    ViewSpecification getSpecification();
-
-    ViewState getState();
-
-    View[] getSubviews();
-
-    /**
-     * returns the topmost decorator in the chain, or the view itself if not
-     * decorated.
-     */
-    View getView();
-
-    Viewer getViewManager();
-
-    Axes getViewAxes();
-
-    Feedback getFeedbackManager();
-
-    Workspace getWorkspace();
-
-    boolean hasFocus();
-
-    View identify(Location mouseLocation);
-
-    /**
-     * Flags that the views do not properly represent the content, and hence it
-     * needs rebuilding. Contrast this with invalidateLayout(), which deals with
-     * an a complete view, but one that is not showing properly.
-     * 
-     * @see #invalidateLayout()
-     */
-    void invalidateContent();
-
-    /**
-     * Flags that the views are possibly not displaying the content fully - too
-     * small, wrong place etc - although views exists for all the content.
-     * Contrast this with invalidateContent(), which deals with an incomplete
-     * view.
-     * 
-     * @see #invalidateContent()
-     */
-    void invalidateLayout();
-
-    /**
-     * Called when the user presses any key on the keyboard while this view has
-     * the focus.
-     */
-    void keyPressed(KeyboardAction key);
-
-    /**
-     * Called when the user releases any key on the keyboard while this view has
-     * the focus.
-     */
-    void keyReleased(KeyboardAction action);
-
-    /**
-     * Called when the user presses a non-control key (i.e. data entry keys and
-     * not shift, up-arrow etc). Such a key press will result in a prior call to
-     * <code>keyPressed</code> and a subsequent call to <code>keyReleased</code>
-     * .
-     */
-    void keyTyped(KeyboardAction action);
-
-    void layout();
-
-    /**
-     * Limits the bounds of this view (normally when being moved or dropped) so
-     * it never extends beyond the bounds of a view of the specified size.
-     */
-    void limitBoundsWithin(Size size);
-
-    void markDamaged();
-
-    void markDamaged(Bounds bounds);
-
-    /**
-     * Called as the mouse button is pressed down within this view. Does
-     * nothing; should be overriden when needed. the position relative to the
-     * top-left of this view
-     */
-    void mouseDown(Click click);
-
-    /**
-     * Called as the mouse is moved around within this view. Does nothing;
-     * should be overriden when needed.
-     * 
-     * @param location
-     *            the position relative to the top-left of this view
-     */
-    void mouseMoved(Location location);
-
-    /**
-     * Called as the mouse button is released within this view (assuming that it
-     * was pressed in this view). Does nothing; should be overridden when
-     * needed.
-     */
-    void mouseUp(Click click);
-
-    /**
-     * Called when an action generates a result, allowing this view to decide
-     * what to do with it.
-     */
-    void objectActionResult(ObjectAdapter result, Placement placement);
-
-    /**
-     * Called as the drag of this view's content starts.
-     */
-    View pickupContent(Location location);
-
-    /**
-     * Called as the drag of this view starts.
-     */
-    View pickupView(Location location);
-
-    void print(Canvas canvas);
-
-    /**
-     * Refreshes this view by reaccessing its content and redisplaying it.
-     */
-    void refresh();
-
-    /**
-     * Removes the specifed view from the subviews contained by this view.
-     */
-    void removeView(View view);
-
-    void replaceView(View toReplace, View replacement);
-
-    /**
-     * Called when the user double-clicked this view. This method will have been
-     * preceded by a call to <code>click</code>.
-     */
-    void secondClick(Click click);
-
-    void setBounds(Bounds bounds);
-
-    void setFocusManager(FocusManager focusManager);
-
-    /**
-     * Specifies the location of this view, relative to its enclosing view.
-     */
-    void setLocation(Location point);
-
-    void setParent(View view);
-
-    void setSize(Size size);
-
-    void setView(View view);
-
-    /**
-     * Identifies the subview that contains the specified location within its
-     * bounds. Returns null if no subview exists for that location.
-     */
-    View subviewFor(Location location);
-
-    /**
-     * Called when the user triple-clicks the mouse buttone within this view.
-     * This method will have been preceded by a call to <code>doubleClick</code>
-     * .
-     */
-    void thirdClick(Click click);
-
-    /**
-     * notification that the content of this view has changed
-     */
-    void update(ObjectAdapter object);
-
-    void updateView();
-
-    /**
-     * Determines if the user is invoking an action relating to this view,
-     * rather than to whatever this view represents.
-     * 
-     * @param mouseLocation
-     * @return true if the user is targeting the view itself, false if the user
-     *         is targeting what is being represented
-     */
-    ViewAreaType viewAreaType(Location mouseLocation);
-
-    /**
-     * Called when the popup menu is being populated for this view. Any view
-     * options that need to appear on the menu should be added to the
-     * <code>menuOptions</code> object.
-     */
-    void viewMenuOptions(UserActionSet menuOptions);
-
-    void drag(ContentDrag contentDrag);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewAreaType.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewAreaType.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewAreaType.java
deleted file mode 100644
index 4f0e337..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewAreaType.java
+++ /dev/null
@@ -1,37 +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.dnd.view;
-
-public class ViewAreaType {
-    public static final ViewAreaType VIEW = new ViewAreaType("View");
-    public static final ViewAreaType CONTENT = new ViewAreaType("Content");
-    public static final ViewAreaType INTERNAL = new ViewAreaType("Internal");
-    private final String name;
-
-    public ViewAreaType(final String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String toString() {
-        return name;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewAxis.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewAxis.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewAxis.java
deleted file mode 100644
index 9fdfdc0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewAxis.java
+++ /dev/null
@@ -1,23 +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.dnd.view;
-
-public interface ViewAxis {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewConstants.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewConstants.java
deleted file mode 100644
index baf083d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewConstants.java
+++ /dev/null
@@ -1,31 +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.dnd.view;
-
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.util.Properties;
-
-public final class ViewConstants {
-
-    /** Horizontal padding (||) between two components */
-    public static final int HPADDING = IsisContext.getConfiguration().getInteger(Properties.PROPERTY_BASE + "hpadding", 3);
-    /** Vertical padding (=) between two components */
-    public static final int VPADDING = IsisContext.getConfiguration().getInteger(Properties.PROPERTY_BASE + "vpadding", 3);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewDrag.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewDrag.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewDrag.java
deleted file mode 100644
index 316efde..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewDrag.java
+++ /dev/null
@@ -1,43 +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.dnd.view;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-/**
- * Details a drag event that affects a view. The target of a ViewDrag is always
- * the workspace of the source view.
- * 
- * <p>
- * An overlay view, as returned by the pickup() method on the source view, is
- * moved by this drag objects so its location follows the pointer by an offset
- * equivalent to the mouse location within the view.
- */
-public interface ViewDrag extends Drag {
-
-    View getSourceView();
-
-    Location getLocation();
-
-    Location getViewDropLocation();
-
-    void subtract(int left, int top);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewFactory.java
deleted file mode 100644
index e0557b4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewFactory.java
+++ /dev/null
@@ -1,29 +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.dnd.view;
-
-public interface ViewFactory {
-    /**
-     * Create a new view to this specification for the specified context, and
-     * using the specified axis if specified (which can be null).
-     */
-
-    View createView(Content content, Axes axes, int sequence);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewRequirement.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewRequirement.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewRequirement.java
deleted file mode 100644
index 87fef3f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewRequirement.java
+++ /dev/null
@@ -1,123 +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.dnd.view;
-
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-public class ViewRequirement {
-    public static final int NONE = 0;
-    public static final int CLOSED = 0x01;
-    // public static final int SUMMARY = 0x02;
-    public static final int OPEN = 0x04;
-
-    public static final int EDITABLE = 0x10;
-
-    public static final int FIXED = 0x100;
-    public static final int EXPANDABLE = 0x200;
-
-    public static final int ROOT = 0x1000;
-    public static final int SUBVIEW = 0x2000;
-
-    public static final int DESIGN = 0x10000;
-
-    private final Content content;
-    private final int status;
-
-    public ViewRequirement(final Content content, int status) {
-        Assert.assertNotNull(content);
-        this.content = content;
-        this.status = status;
-        status = CLOSED;
-    }
-
-    public Content getContent() {
-        return content;
-    }
-
-    public boolean is(final int status) {
-        return (this.status & status) == status;
-    }
-
-    public boolean isClosed() {
-        return is(CLOSED);
-    }
-
-    public boolean isOpen() {
-        return is(OPEN);
-    }
-
-    public boolean isFixed() {
-        return is(FIXED);
-    }
-
-    public boolean isExpandable() {
-        return is(EXPANDABLE);
-    }
-
-    public boolean isSubview() {
-        return is(SUBVIEW);
-    }
-
-    public boolean isEditable() {
-        return is(EDITABLE);
-    }
-
-    @Deprecated
-    public boolean isDesign() {
-        return true;
-    }
-
-    public boolean isObject() {
-        return content.isObject();
-    }
-
-    public boolean isCollection() {
-        return content.isCollection();
-    }
-
-    public boolean isTextParseable() {
-        return content.isTextParseable();
-    }
-
-    public boolean isFor(final Class<?> cls) {
-        return cls.isAssignableFrom(content.getClass());
-    }
-
-    public boolean hasReference() {
-        return content.getAdapter() != null;
-    }
-
-    public boolean isForValueType(final Class<? extends Facet> cls) {
-        final ObjectSpecification specification = content.getSpecification();
-        return specification != null && specification.containsFacet(cls);
-    }
-
-    public ObjectSpecification getSpecification() {
-        return content.getAdapter().getSpecification();
-    }
-
-    public ObjectAdapter getAdapter() {
-        return content.getAdapter();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewSpecification.java
deleted file mode 100644
index 05ec850..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewSpecification.java
+++ /dev/null
@@ -1,65 +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.dnd.view;
-
-/**
- * Describes a view, and how it is built.
- */
-public interface ViewSpecification extends ViewFactory {
-
-    String getName();
-
-    /**
-     * Determines if the view created to this specification can display the
-     * specified type. Returns true if it can.
-     */
-    boolean canDisplay(ViewRequirement requirement);
-
-    /**
-     * Indicates whether views to this specification are open - displaying the
-     * attributes of the content object - or are closed - display only the title
-     * of the content object.
-     */
-    boolean isOpen();
-
-    /**
-     * Indicates whether this view can be replaced with another view (for the
-     * same value or reference).
-     * 
-     * @return true if it can be replaced by another view; false if it can't be
-     *         replaces
-     */
-    boolean isReplaceable();
-
-    boolean isSubView();
-
-    /**
-     * Return true if the generated views are to have their sizes adjusted so
-     * they are consistent with surrounding views.
-     */
-    // TODO rename
-    boolean isAligned();
-
-    /**
-     * Indicates if this view can handled being resized. If it can't then the
-     * viewer can put it in a scroll border.
-     */
-    boolean isResizeable();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewState.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewState.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewState.java
deleted file mode 100644
index cc76f88..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewState.java
+++ /dev/null
@@ -1,158 +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.dnd.view;
-
-public class ViewState implements Cloneable {
-    private static final short CAN_DROP = 0x10;
-    private static final short CANT_DROP = 0x08;
-    private static final short CONTENT_IDENTIFIED = 0x04;
-    private static final short ROOT_VIEW_IDENTIFIED = 0x01;
-    private static final short VIEW_IDENTIFIED = 0x02;
-    private static final short INVALID = 0x40;
-    private static final short ACTIVE = 0x20;
-    private static final short OUT_OF_SYNCH = 0x80;
-
-    private short state;
-
-    public void setCanDrop() {
-        state |= CAN_DROP;
-    }
-
-    public void setCantDrop() {
-        state |= CANT_DROP;
-    }
-
-    public void setContentIdentified() {
-        state |= CONTENT_IDENTIFIED;
-    }
-
-    public boolean isObjectIdentified() {
-        return (state & CONTENT_IDENTIFIED) > 0;
-    }
-
-    public void setRootViewIdentified() {
-        state |= ROOT_VIEW_IDENTIFIED;
-    }
-
-    public boolean isRootViewIdentified() {
-        return (state & ROOT_VIEW_IDENTIFIED) > 0;
-    }
-
-    public void setViewIdentified() {
-        state |= VIEW_IDENTIFIED;
-    }
-
-    public boolean isViewIdentified() {
-        return (state & VIEW_IDENTIFIED) > 0;
-    }
-
-    public boolean canDrop() {
-        return (state & CAN_DROP) == CAN_DROP;
-    }
-
-    public boolean cantDrop() {
-        return (state & CANT_DROP) == CANT_DROP;
-    }
-
-    public void clearObjectIdentified() {
-        state &= ~(CONTENT_IDENTIFIED | CAN_DROP | CANT_DROP);
-    }
-
-    public void clearRootViewIdentified() {
-        state &= ~ROOT_VIEW_IDENTIFIED;
-    }
-
-    public void clearViewIdentified() {
-        state &= ~(VIEW_IDENTIFIED | CONTENT_IDENTIFIED | CAN_DROP | CANT_DROP);
-    }
-
-    @Override
-    protected Object clone() throws CloneNotSupportedException {
-        return super.clone();
-    }
-
-    @Override
-    public String toString() {
-        String str = "";
-        if (state == 0) {
-            str = "Normal";
-        } else {
-            str += isObjectIdentified() ? "Object-Identified " : "";
-            str += isViewIdentified() ? "View-identified " : "";
-            str += isRootViewIdentified() ? "Root-view-identified " : "";
-            str += canDrop() ? "Can-drop " : "";
-            str += cantDrop() ? "Cant-drop " : "";
-            str += isActive() ? "Active " : "";
-            str += isInvalid() ? "Invalid " : "";
-            str += isOutOfSynch() ? "Out-of-synch " : "";
-            str += " " + Integer.toBinaryString(state);
-        }
-        return str;
-    }
-
-    public void setActive() {
-        setFlag(ACTIVE);
-    }
-
-    public void setInactive() {
-        resetFlag(ACTIVE);
-    }
-
-    public boolean isActive() {
-        return isFlagSet(ACTIVE);
-    }
-
-    private boolean isFlagSet(final short flag) {
-        return (state & flag) > 0;
-    }
-
-    public void clearInvalid() {
-        resetFlag(INVALID);
-    }
-
-    private void setFlag(final short flag) {
-        state |= flag;
-    }
-
-    public void setInvalid() {
-        setFlag(INVALID);
-    }
-
-    private void resetFlag(final short flag) {
-        state &= ~flag;
-    }
-
-    public boolean isInvalid() {
-        return isFlagSet(INVALID);
-    }
-
-    public boolean isOutOfSynch() {
-        return isFlagSet(OUT_OF_SYNCH);
-    }
-
-    public void setOutOfSynch() {
-        setFlag(OUT_OF_SYNCH);
-    }
-
-    public void clearOutOfSynch() {
-        resetFlag(OUT_OF_SYNCH);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewUpdateNotifier.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewUpdateNotifier.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewUpdateNotifier.java
deleted file mode 100644
index ee31241..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/ViewUpdateNotifier.java
+++ /dev/null
@@ -1,34 +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.dnd.view;
-
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-
-public interface ViewUpdateNotifier extends DebuggableWithTitle {
-
-    void add(View view);
-
-    void remove(View view);
-
-    void invalidateViewsForChangedObjects();
-
-    void removeViewsForDisposedObjects();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Viewer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Viewer.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Viewer.java
deleted file mode 100644
index 27211ca..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Viewer.java
+++ /dev/null
@@ -1,84 +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.dnd.view;
-
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.viewer.dnd.drawing.Background;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-public interface Viewer {
-
-    void markDamaged(final Bounds bounds);
-
-    boolean hasFocus(final View view);
-
-    UndoStack getUndoStack();
-
-    Size getOverlaySize();
-
-    void saveCurrentFieldEntry();
-
-    void setKeyboardFocus(final View view);
-
-    boolean isRunningAsExploration();
-
-    boolean isRunningAsPrototype();
-
-    void clearAction();
-
-    /**
-     * Force a repaint of the damaged area of the viewer.
-     */
-    void scheduleRepaint();
-
-    void addToNotificationList(final View view);
-
-    void removeFromNotificationList(final View view);
-
-    void setBackground(Background background);
-
-    InteractionSpy getSpy();
-
-    void clearOverlayView();
-
-    void clearOverlayView(final View view);
-
-    void setOverlayView(final View view);
-
-    void showDebugFrame(DebuggableWithTitle[] info, Location at);
-
-    void showInOverlay(Content content, Location location);
-
-    // TODO should this be an extension?
-    String selectFilePath(final String title, final String directory);
-
-    void setClipboard(String clip, Class<?> class1);
-
-    Object getClipboard(Class<?> class1);
-
-    /**
-     * Removes views for objects that no longer exist, ie have been deleted.
-     */
-    void disposeUnneededViews();
-
-    void saveOpenObjects();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Workspace.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Workspace.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Workspace.java
deleted file mode 100644
index 0270b08..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/Workspace.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.dnd.view;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public interface Workspace extends View {
-
-    View addIconFor(ObjectAdapter adapter, Placement placement);
-
-    View addWindowFor(ObjectAdapter object, Placement placement);
-
-    void addWindow(View window, Placement placement);
-
-    void addDialog(View dialog, Placement placement);
-
-    /**
-     * Lower the specified view so it is below all the other views.
-     */
-    void lower(View view);
-
-    /**
-     * Raise the specified view so it is above all the other views.
-     */
-    void raise(View view);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/AbstractObjectOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/AbstractObjectOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/AbstractObjectOption.java
deleted file mode 100644
index a78b7b8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/AbstractObjectOption.java
+++ /dev/null
@@ -1,88 +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.dnd.view.action;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public abstract class AbstractObjectOption extends UserActionAbstract {
-
-    // REVIEW: confirm this rendering context
-    private final Where where = Where.OBJECT_FORMS;
-
-    protected final ObjectAction action;
-    protected final ObjectAdapter target;
-
-    protected AbstractObjectOption(final ObjectAction action, final ObjectAdapter target, final String name) {
-        super(name);
-        this.action = action;
-        this.target = target;
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        final ObjectAdapter adapter = view.getContent().getAdapter();
-        if (adapter != null && adapter.isDestroyed()) {
-            // TODO: move logic into Facet
-            return new Veto("Can't do anything with a destroyed object");
-        }
-        final Consent usableForUser = action.isUsable(IsisContext.getAuthenticationSession(), target, where);
-        if (usableForUser.isVetoed()) {
-            return usableForUser;
-        }
-
-        final Consent validParameters = checkValid();
-        if (validParameters != null && validParameters.isVetoed()) {
-            return validParameters;
-        }
-        final String desc = action.getDescription();
-        final String description = getName(view) + (desc.length() == 0 ? "" : ": " + desc);
-        // TODO: replace with a Facet
-        return new Allow(description);
-    }
-
-    protected Consent checkValid() {
-        return null;
-    }
-
-    @Override
-    public String getHelp(final View view) {
-        return action.getHelp();
-    }
-
-    @Override
-    public ActionType getType() {
-        return action.getType();
-    }
-
-    @Override
-    public String toString() {
-        return new ToString(this).append("action", action).toString();
-    }
-}


[55/56] [abbrv] isis git commit: ISIS-1335: rmoving JREBEL.launch file

Posted by da...@apache.org.
ISIS-1335: rmoving JREBEL.launch file


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/16c60a50
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/16c60a50
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/16c60a50

Branch: refs/heads/master
Commit: 16c60a50338d8ffb76697312b4bf2b5364a959c9
Parents: f66afc7
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat May 21 08:08:09 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat May 21 08:08:09 2016 +0100

----------------------------------------------------------------------
 .../ide/eclipse/launch/SimpleApp-JREBEL.launch  | 31 --------------------
 1 file changed, 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/16c60a50/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-JREBEL.launch
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-JREBEL.launch b/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-JREBEL.launch
deleted file mode 100644
index e45f7f0..0000000
--- a/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-JREBEL.launch
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/isis-core-webserver/src/main/java/org/apache/isis/WebServer.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
-<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/>
-<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
-<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;sourceLookupDirector&gt;&#13;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;javaProject name=&amp;quot;isis-jrebel-plugin&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.javaProject&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;/sourceContainers&gt;&#13;&#10;&lt;/sourceLookupDirector&gt;&#13;&#10
 ;"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
-<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;simple_wicket_restful_jdo-webapp&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER&quot; path=&quot;3&quot; type=&quot;4&quot;/&gt;&#13;&#10;"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--port 8080 --type PROTOTYPE"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="simpleapp-webapp"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="${jrebel_args} -Drebel.log=false -Drebel.check_class_hash=true -Drebel.packages_exclude=org.apache.isis -Dproject.root=${project_loc}/.. -Dtarget.dir=target-ide -Drebel.plugins=C:/github/danhaywood/isis-jrebel-plugin/target/danhaywood-isis-jrebel-plugin-1.0.0-SNAPSHOT.jar -Disis-jrebel-plugin.packagePrefix=dom.simple,org.apache.isis.objectstore.jdo.applib -Disis-jrebel-plugin.loggingLevel=warn -XX:MaxPermSize=128m"/>
-</launchConfiguration>


[45/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/ObjectReaderMongoIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/ObjectReaderMongoIntegrationTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/ObjectReaderMongoIntegrationTest.java
deleted file mode 100644
index b52206a..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/ObjectReaderMongoIntegrationTest.java
+++ /dev/null
@@ -1,288 +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.objectstore.nosql.db.mongo;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.hamcrest.CoreMatchers;
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.ResolveState;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.core.tck.dom.refs.ParentEntity;
-import org.apache.isis.core.tck.dom.refs.ReferencingEntity;
-import org.apache.isis.core.tck.dom.refs.SimpleEntity;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.nosql.ObjectReader;
-import org.apache.isis.objectstore.nosql.db.StateReader;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-public class ObjectReaderMongoIntegrationTest {
-    
-    @Rule
-    public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder().with(new MongoPersistorMechanismInstaller()).build();
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
-
-    @Mock
-    private VersionCreator versionCreator;
-
-    @Mock
-    private StateReader reader1;
-    @Mock
-    private StateReader reader2;
-
-    private ObjectReader objectReader;
-    
-    private Map<String, DataEncryption> dataEncrypter;
-
-	private OidMarshaller oidMarshaller = new OidMarshaller();
-
-    private final RootOidDefault oid3 = RootOidDefault.deString("SMPL:3", oidMarshaller );
-    private final RootOidDefault oid4 = RootOidDefault.deString("RFCG:4", oidMarshaller); 
-    private final RootOidDefault oid5 = RootOidDefault.deString("PRNT:5", oidMarshaller); 
-
-
-    @Before
-    public void setup() {
-        objectReader = new ObjectReader();
-
-        dataEncrypter = new HashMap<String, DataEncryption>();
-        final DataEncryption etcEncryption = new DataEncryption() {
-            @Override
-            public String getType() {
-                return "etc1";
-            }
-
-            @Override
-            public void init(final IsisConfiguration configuration) {
-            }
-
-            @Override
-            public String encrypt(final String plainText) {
-                throw new UnexpectedCallException();
-            }
-
-            @Override
-            public String decrypt(final String encryptedText) {
-                return encryptedText.substring(3);
-            }
-        };
-        dataEncrypter.put(etcEncryption.getType(), etcEncryption);
-    }
-
-    @Test
-    public void testReadingValues() throws Exception {
-        setupObject1();
-
-        context.checking(new Expectations() {
-            {
-                one(reader1).readOid();
-                will(returnValue("SMPL:3"));
-
-                one(reader1).readEncrytionType();
-                will(returnValue("etc1"));
-                one(reader1).readVersion();
-                will(returnValue("3"));
-                one(reader1).readUser();
-                will(returnValue("username"));
-                one(reader1).readTime();
-                will(returnValue("1020"));
-                one(versionCreator).version("3", "username", "1020");
-            }
-        });
-
-        final ObjectAdapter readObject = objectReader.load(reader1, versionCreator, dataEncrypter);
-        assertEquals(oid3, readObject.getOid());
-        assertEquals(ResolveState.RESOLVED, readObject.getResolveState());
-
-        final SimpleEntity pojo = (SimpleEntity) readObject.getObject();
-        assertEquals("Fred Smith", pojo.getName());
-        assertEquals(34, pojo.getSize());
-
-        context.assertIsSatisfied();
-    }
-
-    @Test
-    public void testReadingReference() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(reader2).readOid();
-                will(returnValue("RFCG:4"));
-
-                one(reader2).readEncrytionType();
-                will(returnValue("etc1"));
-                one(reader2).readVersion();
-                will(returnValue("3"));
-                one(reader2).readUser();
-                will(returnValue("username"));
-                one(reader2).readTime();
-                will(returnValue("1020"));
-                one(versionCreator).version("3", "username", "1020");
-
-                one(reader2).readField("reference");
-                will(returnValue("SMPL:3"));
-
-                one(reader2).readCollection("aggregatedEntities");
-                will(returnValue(new ArrayList<StateReader>()));
-
-                one(reader2).readAggregate("aggregatedReference");
-                will(returnValue(null));
-            }
-        });
-
-        final ObjectAdapter readObject = objectReader.load(reader2, versionCreator, dataEncrypter);
-        assertEquals(oid4, readObject.getOid());
-        assertEquals(ResolveState.RESOLVED, readObject.getResolveState());
-
-        final ReferencingEntity pojo = (ReferencingEntity) readObject.getObject();
-        assertEquals(null, pojo.getAggregatedReference());
-        assertThat(pojo.getReference(), CoreMatchers.instanceOf(SimpleEntity.class));
-
-        context.assertIsSatisfied();
-    }
-
-    @Test
-    public void testReadingCollection() throws Exception {
-        //final ObjectSpecification specification = IsisContext.getSpecificationLoader().loadSpecification(ExamplePojoWithValues.class);
-        context.checking(new Expectations() {
-            {
-                one(reader2).readOid();
-                will(returnValue("PRNT:5"));
-
-                one(reader2).readEncrytionType();
-                will(returnValue("etc1"));
-                one(reader2).readVersion();
-                will(returnValue("3"));
-                one(reader2).readUser();
-                will(returnValue("username"));
-                one(reader2).readTime();
-                will(returnValue("1020"));
-                one(versionCreator).version("3", "username", "1020");
-
-                one(reader2).readField("name");
-                will(returnValue(null));
-                one(reader2).readField("children");
-                will(returnValue(null));
-                one(reader2).readField("heterogeneousCollection");
-                will(returnValue(null));
-                one(reader2).readField("homogeneousCollection");
-                will(returnValue("SMPL:3|SMPL:4|"));
-            }
-        });
-
-        final ObjectAdapter readObject = objectReader.load(reader2, versionCreator, dataEncrypter);
-        assertEquals(oid5, readObject.getOid());
-        assertEquals(ResolveState.RESOLVED, readObject.getResolveState());
-
-        final ParentEntity pojo = (ParentEntity) readObject.getObject();
-        final List<SimpleEntity> collection2 = pojo.getHomogeneousCollection();
-        assertEquals(2, collection2.size());
-
-        assertThat(collection2.get(0), CoreMatchers.instanceOf(SimpleEntity.class));
-        assertThat(collection2.get(1), CoreMatchers.instanceOf(SimpleEntity.class));
-
-        context.assertIsSatisfied();
-    }
-
-    @Test
-    public void updateObjectsState() throws Exception {
-        setupObject1();
-        context.checking(new Expectations() {
-            {
-
-                one(reader1).readEncrytionType();
-                will(returnValue("etc1"));
-                one(reader1).readVersion();
-                will(returnValue("3"));
-                one(reader1).readUser();
-                will(returnValue("username"));
-                one(reader1).readTime();
-                will(returnValue("1020"));
-                one(versionCreator).version("3", "username", "1020");
-            }
-        });
-
-        final ObjectAdapter readObject = getAdapterManager().adapterFor(RootOidDefault.create(ObjectSpecId.of("SMPL"), ""+4));
-
-        objectReader.update(reader1, versionCreator, dataEncrypter, readObject);
-
-        final SimpleEntity pojo = (SimpleEntity) readObject.getObject();
-        assertEquals("Fred Smith", pojo.getName());
-        assertEquals(34, pojo.getSize());
-
-        context.assertIsSatisfied();
-    }
-
-    private void setupObject1() {
-        context.checking(new Expectations() {
-            {
-                one(reader1).readField("date");
-                will(returnValue("null"));
-
-                one(reader1).readField("name");
-                will(returnValue("ENCFred Smith"));
-
-                one(reader1).readField("size");
-                will(returnValue("ENC34"));
-
-                one(reader1).readField("nullable");
-                will(returnValue("null"));
-            }
-        });
-    }
-
-    protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    protected AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/NOTICE b/mothballed/component/objectstore/sql/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/mothballed/component/objectstore/sql/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/pom.xml b/mothballed/component/objectstore/sql/pom.xml
deleted file mode 100644
index 2240e6c..0000000
--- a/mothballed/component/objectstore/sql/pom.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-   </parent>
-
-    <groupId>org.apache.isis.objectstore</groupId>
-    <artifactId>isis-objectstore-sql</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-    <name>Isis SQL ObjectStore</name>
-
-    <description>
-    	Provides JDBC-based persistence.
-    </description>
-
-    <packaging>pom</packaging>
-
-    <properties>
-        <isis-objectstore-xml.version>1.0.0-SNAPSHOT</isis-objectstore-xml.version>
-
-        <siteBaseDir>.</siteBaseDir>
-        <relativeUrl/>
-
-        <docbkxGuideTitle>Apache Isis Default Runtime SQL ObjectStore</docbkxGuideTitle>
-        <docbkxGuideSubTitle>Configuration and Deployment Guide</docbkxGuideSubTitle>
-        <docbkxGuideName>isis-sql-objectstore</docbkxGuideName>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.8</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-        <plugins>
-            <plugin>
-                <groupId>com.agilejava.docbkx</groupId>
-                <artifactId>docbkx-maven-plugin</artifactId>
-                <inherited>false</inherited>
-            </plugin>
-        </plugins>
-    </build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <version>${maven-project-info-reports-plugin}</version>
-                <inherited>false</inherited>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependency-management</report>
-                            <report>plugins</report>
-                            <report>modules</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-
-    <modules>
-        <module>sql-impl</module>
-        <module>sql-tests-common</module>
-        <module>sql-tests-served</module>
-    </modules>
-
-    <dependencyManagement>
-        <dependencies>
-
-	    	<!-- for benefit of application developers, using scope=import -->
-            <dependency>
-                <groupId>org.apache.isis.objectstore</groupId>
-                <artifactId>isis-objectstore-sql-impl</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.objectstore</groupId>
-                <artifactId>isis-objectstore-sql-tests-common</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.objectstore</groupId>
-                <artifactId>isis-objectstore-sql-tests-common</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
-                <type>test-jar</type>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.objectstore</groupId>
-                <artifactId>isis-objectstore-sql-tests-served</artifactId>
-                <version>1.0.0-SNAPSHOT</version>
-            </dependency>
-
-	        <!-- Required to support the XML cross-test -->
-	        <dependency>
-	            <groupId>org.apache.isis.objectstore</groupId>
-	            <artifactId>isis-objectstore-xml</artifactId>
-	            <version>${isis-objectstore-xml.version}</version>
-	        </dependency>
-
-
-			<!-- Test environment -->            
-		    <dependency>
-		      <groupId>org.mockito</groupId>
-		      <artifactId>mockito-all</artifactId>
-		      <version>1.9.5</version>
-		      <scope>test</scope>
-		    </dependency>
-            
-        </dependencies>
-    </dependencyManagement>
-
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/pom.xml b/mothballed/component/objectstore/sql/sql-impl/pom.xml
deleted file mode 100644
index 2c2cc81..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/pom.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.objectstore</groupId>
-        <artifactId>isis-objectstore-sql</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>isis-objectstore-sql-impl</artifactId>
-    <name>Isis SQL ObjectStore Implementation</name>
-    <description>SQL Objectstire Implementation. Uses jdbc for maximum compatibility.</description>
-
-    <properties>
-        <siteBaseDir>..</siteBaseDir>
-        <relativeUrl>sql-impl/</relativeUrl>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <version>${maven-project-info-reports-plugin}</version>
-                <inherited>false</inherited>
-                <configuration>
-                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-        </dependency>
-        
-        <!-- Test dependencies -->
-	    <dependency>
-	      <groupId>org.mockito</groupId>
-	      <artifactId>mockito-all</artifactId>
-	      <scope>test</scope>
-	    </dependency>
-        
-    </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/sqlos-testing.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/sqlos-testing.properties b/mothballed/component/objectstore/sql/sql-impl/sqlos-testing.properties
deleted file mode 100644
index 29d5a76..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/sqlos-testing.properties
+++ /dev/null
@@ -1,59 +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.
-# run with SQL object store
-#isis.object-store=org.apache.isis.persistor.sql.SqlObjectStore
-#isis.persistor.sql.connection=org.apache.isis.persistor.sql.SimpleConnection
-#isis.persistor.sql.database=jdbc:hsqldb:tmp/hsql-db
-#isis.persistor.sql.database=jdbc:hsqldb:hsql://localhost
-#isis.persistor.sql.driver=org.hsqldb.jdbcDriver
-#isis.persistor.sql.user=sa
-#isis.persistor.sql.password=
-
-
-#isis.oidgenerator=org.apache.isis.persistor.sql.SqlOidGenerator
-
-#isis.object-store=org.apache.isis.persistor.sql.SqlObjectStore
-isis.persistor.sql.connector=org.apache.isis.persistor.sql.jdbc.JdbcConnectorFactory
-isis.persistor.sql.automapper=org.apache.isis.persistor.sql.auto.AutoMapperFactory
-
-isis.persistor.sql.jdbc.driver=org.hsqldb.jdbcDriver
-isis.persistor.sql.jdbc.connection=jdbc:hsqldb:tmp/hsql-db
-isis.persistor.sql.jdbc.user=sa
-isis.persistor.sql.jdbc.password=
-
-
-## log4j
-# apache's log4j is used to provide system logging.
-##
-log4j.rootCategory=OFF, Console
-
-# The console appender
-log4j.appender.Console=org.apache.log4j.ConsoleAppender
-log4j.appender.Console.target=System.out
-log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-log4j.appender.Console.layout.ConversionPattern=%-5r [%-20c{1}] %-5p  %m  -- %l%n
-
-
-log4j.rootCategory=DEBUG, File
-# The file appender
-log4j.appender.File=org.apache.log4j.RollingFileAppender
-log4j.appender.File.file=isis.log
-log4j.appender.File.append=false
-#log4j.appender.File.maxFileSize=500KB
-#log4j.appender.File.maxBackupIndex=1
-log4j.appender.File.layout=org.apache.log4j.PatternLayout
-log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractDatabaseConnector.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractDatabaseConnector.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractDatabaseConnector.java
deleted file mode 100644
index a993d33..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractDatabaseConnector.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.objectstore.sql;
-
-public abstract class AbstractDatabaseConnector implements DatabaseConnector {
-    private boolean isUsed;
-
-    @Override
-    public final void setUsed(final boolean isUsed) {
-        this.isUsed = isUsed;
-    }
-
-    @Override
-    public final boolean isUsed() {
-        return isUsed;
-    }
-
-    private DatabaseConnectorPool pool;
-
-    @Override
-    public final void setConnectionPool(final DatabaseConnectorPool pool) {
-        this.pool = pool;
-    }
-
-    @Override
-    public final DatabaseConnectorPool getConnectionPool() {
-        return pool;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractFieldMappingFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractFieldMappingFactory.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractFieldMappingFactory.java
deleted file mode 100644
index eb3d48b..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractFieldMappingFactory.java
+++ /dev/null
@@ -1,38 +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.objectstore.sql;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.mapping.FieldMappingFactory;
-
-public abstract class AbstractFieldMappingFactory implements FieldMappingFactory {
-
-    protected String getTypeOverride(final ObjectSpecification object, final ObjectAssociation field, final String type) {
-        // isis.persistor.sql.automapper.default
-        final IsisConfiguration configParameters = IsisContext.getConfiguration();
-        final String find = object.getShortIdentifier() + "." + field.getId();
-        final String property = SqlObjectStore.BASE_NAME + ".automapper.type." + find;
-        final String dataType = configParameters.getString(property, type);
-        return dataType;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractMapper.java
deleted file mode 100644
index 1ec41d4..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/AbstractMapper.java
+++ /dev/null
@@ -1,53 +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.objectstore.sql;
-
-import java.util.Date;
-
-import org.apache.isis.core.metamodel.adapter.version.SerialNumberVersion;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-
-
-public abstract class AbstractMapper {
-    
-    public abstract void createTables(final DatabaseConnector connector);
-
-    protected boolean needsTables(final DatabaseConnector connector) {
-        return false;
-    }
-
-    public void startup(final DatabaseConnector connector) {
-        if (needsTables(connector)) {
-            createTables(connector);
-        }
-    }
-
-    public final void shutdown() {
-    }
-
-    protected String asSqlName(final String name) {
-        return Sql.sqlName(name);
-    }
-    
-    protected Version createVersion(final long versionSequence) {
-        return SerialNumberVersion.create(versionSequence, "", new Date());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/CollectionMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/CollectionMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/CollectionMapper.java
deleted file mode 100644
index 9d19bbc..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/CollectionMapper.java
+++ /dev/null
@@ -1,36 +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.objectstore.sql;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public interface CollectionMapper {
-
-    public void loadInternalCollection(final DatabaseConnector connector, final ObjectAdapter parent);
-
-    public void saveInternalCollection(final DatabaseConnector connector, final ObjectAdapter parent);
-
-    void createTables(DatabaseConnector connection);
-
-    boolean needsTables(DatabaseConnector connection);
-
-    public void debugData(DebugBuilder debug);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnector.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnector.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnector.java
deleted file mode 100644
index 602a1cb..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnector.java
+++ /dev/null
@@ -1,79 +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.objectstore.sql;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-
-public interface DatabaseConnector {
-    /*
-     * @deprecated Results callStoredProcedure(String name, Parameter[]
-     * parameters);
-     */
-    void close();
-
-    int count(String sql);
-
-    void delete(String sql);
-
-    // MultipleResults executeStoredProcedure(String name, Parameter[]
-    // parameters);
-
-    boolean hasTable(String tableName);
-
-    boolean hasColumn(String tableName, String columnName);
-
-    void insert(String sql);
-
-    void insert(String sql, Object oid);
-
-    Results select(String sql);
-
-    /**
-     * Updates the database using the specified sql statement, and returns the
-     * number of rows affected.
-     */
-    int update(String sql);
-
-    void setUsed(boolean isUsed);
-
-    boolean isUsed();
-
-    void commit();
-
-    void rollback();
-
-    void setConnectionPool(DatabaseConnectorPool pool);
-
-    DatabaseConnectorPool getConnectionPool();
-
-    void begin();
-
-    void debug(DebugBuilder debug);
-
-    SqlMetaData getMetaData();
-
-    // Full PreparedStatement support
-    public String addToQueryValues(int i);
-
-    public String addToQueryValues(String s);
-
-    public String addToQueryValues(Object object);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnectorFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnectorFactory.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnectorFactory.java
deleted file mode 100644
index 1f94c34..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnectorFactory.java
+++ /dev/null
@@ -1,24 +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.objectstore.sql;
-
-public interface DatabaseConnectorFactory {
-    DatabaseConnector createConnector();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnectorPool.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnectorPool.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnectorPool.java
deleted file mode 100644
index 89c90c9..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/DatabaseConnectorPool.java
+++ /dev/null
@@ -1,109 +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.objectstore.sql;
-
-import java.util.Vector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-
-public class DatabaseConnectorPool {
-    private static final Logger LOG = LoggerFactory.getLogger(DatabaseConnectorPool.class);
-    private static final int AVERAGE_POOL_SIZE = 5;
-
-    private final DatabaseConnectorFactory factory;
-    private final Vector<DatabaseConnector> connectorPool;
-
-    public DatabaseConnectorPool(final DatabaseConnectorFactory factory) {
-        this(factory, AVERAGE_POOL_SIZE);
-    }
-
-    public DatabaseConnectorPool(final DatabaseConnectorFactory factory, final int size) {
-        this.factory = factory;
-        connectorPool = new Vector<DatabaseConnector>();
-        for (int i = 0; i < size; i++) {
-            newConnector();
-        }
-        LOG.info("Created an intial pool of " + size + " database connections");
-
-        final DatabaseConnector connection = acquire();
-        Sql.setMetaData(connection.getMetaData());
-        release(connection);
-    }
-
-    private DatabaseConnector newConnector() {
-        final DatabaseConnector connector = factory.createConnector();
-        connector.setConnectionPool(this);
-        connectorPool.addElement(connector);
-        return connector;
-    }
-
-    public DatabaseConnector acquire() {
-        DatabaseConnector connector = findFreeConnector();
-        if (connector == null) {
-            connector = newConnector();
-            connector.setUsed(true);
-            LOG.info("Added an additional database connection; now contains " + connectorPool.size() + " connections");
-        }
-        LOG.debug("acquired connection " + connector);
-        return connector;
-    }
-
-    private DatabaseConnector findFreeConnector() {
-        for (int i = 0, no = connectorPool.size(); i < no; i++) {
-            final DatabaseConnector connector = connectorPool.elementAt(i);
-            if (!connector.isUsed()) {
-                connector.setUsed(true);
-                return connector;
-            }
-        }
-        return null;
-    }
-
-    public void release(final DatabaseConnector connector) {
-        connector.setUsed(false);
-        LOG.debug("released connection " + connector);
-    }
-
-    public void shutdown() {
-        for (int i = 0, no = connectorPool.size(); i < no; i++) {
-            final DatabaseConnector connector = connectorPool.elementAt(i);
-            try {
-                connector.close();
-            } catch (final SqlObjectStoreException e) {
-                LOG.error("Failed to release connectuion", e);
-            }
-        }
-        connectorPool.removeAllElements();
-    }
-
-    public void debug(final DebugBuilder debug) {
-        final DatabaseConnector connection = acquire();
-        connection.debug(debug);
-        release(connection);
-
-    }
-
-    public SqlMetaData getMetaData() {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Defaults.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Defaults.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Defaults.java
deleted file mode 100755
index 1433faf..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Defaults.java
+++ /dev/null
@@ -1,370 +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.objectstore.sql;
-
-import java.util.Calendar;
-
-import org.joda.time.DateTimeZone;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-
-/**
- * Provides objectstore defaults. Most significantly, maintains the object store default TimeZone, and maintains
- * Calendar.
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class Defaults {
-    private static String propertiesBase;
-    private static IsisConfiguration isisConfiguration;
-
-    /**
-     * Initialise the Defaults internals. Called by the PersistorInstaller.
-     * 
-     * @param propertiesBase
-     *            by default, @link {@link SqlObjectStore#BASE_NAME}
-     * @param isisConfiguration
-     */
-    public static void initialise(final String propertiesBase, final IsisConfiguration isisConfiguration) {
-        Defaults.propertiesBase = propertiesBase; // "isis.persistor.sql"
-        setTimeZone(DateTimeZone.UTC);
-
-        Defaults.isisConfiguration = isisConfiguration;
-
-        setTablePrefix(getStringProperty(propertiesBase, isisConfiguration, "tableprefix", "isis_"));
-        setPkIdLabel(getStringProperty(propertiesBase, isisConfiguration, "pk_id"));
-        setIdColumn(getStringProperty(propertiesBase, isisConfiguration, "id"));
-        setMaxInstances(getIntProperty(propertiesBase, isisConfiguration, "maxinstances", 100));
-        final String useVersioningProperty = getStringProperty(propertiesBase, isisConfiguration, "versioning", "true");
-        final int isTrue = useVersioningProperty.compareToIgnoreCase("true");
-        useVersioning(isTrue == 0);
-
-        defineDatabaseCommands();
-
-        final String BASE_DATATYPE = propertiesBase + ".datatypes.";
-        final IsisConfiguration dataTypes = isisConfiguration.getProperties(BASE_DATATYPE);
-        populateSqlDataTypes(dataTypes, BASE_DATATYPE);
-
-    }
-
-    /**
-     * Returns a string value by looking up "isis.persistor.sql.default.XXXX"
-     * 
-     * @param propertiesBase
-     * @param configParameters
-     * @param property
-     * @return
-     */
-    protected static String getStringProperty(final String propertiesBase, final IsisConfiguration configParameters,
-        final String property) {
-        return configParameters.getString(propertiesBase + ".default." + property, property);
-    }
-
-    /**
-     * Returns a string value by looking up "isis.persistor.sql.default.XXXX", returning the specified default, if no
-     * value was found.
-     * 
-     * @param propertiesBase
-     * @param configParameters
-     * @param property
-     * @param defaultValue
-     * @return
-     */
-    protected static String getStringProperty(final String propertiesBase, final IsisConfiguration configParameters,
-        final String property, final String defaultValue) {
-        return configParameters.getString(propertiesBase + ".default." + property, defaultValue);
-    }
-
-    /**
-     * Returns an integer value by looking up "isis.persistor.sql.default.XXXX", returning the specified default, if no
-     * value was found.
-     * 
-     * @param propertiesBase
-     * @param configParameters
-     * @param property
-     * @param defaultValue
-     * @return
-     */
-    protected static int getIntProperty(final String propertiesBase, final IsisConfiguration configParameters,
-        final String property, final int defaultValue) {
-        return configParameters.getInteger(propertiesBase + ".default." + property, defaultValue);
-    }
-
-    // {{ Calendar
-    private static Calendar calendar;
-
-    public static Calendar getCalendar() {
-        return calendar;
-    }
-
-    // }}
-
-    // {{ DateTimeZone
-    private static DateTimeZone dateTimeZone;
-
-    public static DateTimeZone getTimeZone() {
-        return dateTimeZone;
-    }
-
-    public static void setTimeZone(final DateTimeZone timezone) {
-        dateTimeZone = timezone;
-        calendar = Calendar.getInstance(timezone.toTimeZone());
-    }
-
-    // }}
-
-    // {{ Table prefix, defaults to "isis_"
-    private static String tablePrefix;
-
-    public static String getTablePrefix() {
-        return Defaults.tablePrefix;
-    }
-
-    public static void setTablePrefix(final String prefix) {
-        Defaults.tablePrefix = prefix;
-    }
-
-    // }}
-
-    // {{ Primary Key label, defaults to "pk_id"
-    private static String pkIdLabel;
-
-    public static void setPkIdLabel(final String pkIdLabel) {
-        Defaults.pkIdLabel = pkIdLabel;
-    }
-
-    public static String getPkIdLabel() {
-        return pkIdLabel;
-    }
-
-    // }}
-
-    // {{ Id Column, defaults to "id"
-    private static String idColumn;
-
-    public static void setIdColumn(final String idColumn) {
-        Defaults.idColumn = idColumn;
-    }
-
-    public static String getIdColumn() {
-        return idColumn;
-    }
-
-    // }}
-
-    // {{ MaxInstances
-    private static int maxInstances;
-
-    public static int getMaxInstances() {
-        return maxInstances;
-    }
-
-    public static void setMaxInstances(final int maxInstances) {
-        Defaults.maxInstances = maxInstances;
-    }
-
-    // }}
-
-    // {{ Default data types
-    static String TYPE_BOOLEAN;
-    static String TYPE_TIMESTAMP;
-    static String TYPE_DATETIME;
-    static String TYPE_DATE;
-    static String TYPE_TIME;
-    static String TYPE_SHORT;
-    static String TYPE_DOUBLE;
-    static String TYPE_FLOAT;
-    static String TYPE_LONG;
-    static String TYPE_INT;
-    static String TYPE_PK;
-    static String TYPE_STRING;
-    static String TYPE_LONG_STRING;
-    static String TYPE_PASSWORD;
-    static String PASSWORD_SEED;
-    static Integer PASSWORD_ENC_LENGTH;
-    static String TYPE_DEFAULT;
-    static String TYPE_BLOB;
-
-    /**
-     * Default SQL data types used to define the fields in the database. By providing this method, we allow the user an
-     * opportunity to override these types by specifying alternatives in sql.properties (or which ever). For example,
-     * Postgresql does not know about DATETIME, but can use TIMESTAMP instead.
-     * 
-     * @param dataTypes
-     * @param baseName
-     */
-    private static void populateSqlDataTypes(final IsisConfiguration dataTypes, final String baseName) {
-        TYPE_BLOB = dataTypes.getString(baseName + "blob", "BLOB");
-        TYPE_TIMESTAMP = dataTypes.getString(baseName + "timestamp", "DATETIME");
-        TYPE_DATETIME = dataTypes.getString(baseName + "datetime", "DATETIME");
-        TYPE_DATE = dataTypes.getString(baseName + "date", "DATE");
-        TYPE_TIME = dataTypes.getString(baseName + "time", "TIME");
-        TYPE_DOUBLE = dataTypes.getString(baseName + "double", "DOUBLE");
-        TYPE_FLOAT = dataTypes.getString(baseName + "float", "FLOAT");
-        TYPE_SHORT = dataTypes.getString(baseName + "short", "INT");
-        TYPE_LONG = dataTypes.getString(baseName + "long", "BIGINT");
-        TYPE_INT = dataTypes.getString(baseName + "int", "INT");
-        TYPE_BOOLEAN = dataTypes.getString(baseName + "boolean", "BOOLEAN"); // CHAR(1)
-        TYPE_PK = dataTypes.getString(baseName + "primarykey", "INTEGER");
-        TYPE_STRING = dataTypes.getString(baseName + "string", "VARCHAR(65)");
-        TYPE_LONG_STRING = dataTypes.getString(baseName + "longstring", "VARCHAR(128)");
-        TYPE_PASSWORD = dataTypes.getString(baseName + "password", "VARCHAR(128)");
-        PASSWORD_ENC_LENGTH = getIntProperty(propertiesBase, isisConfiguration, "password.length", 120);
-        PASSWORD_SEED = getStringProperty(propertiesBase, isisConfiguration, "password.seed");
-        TYPE_DEFAULT = dataTypes.getString(baseName + "default", "VARCHAR(65)");
-
-    }
-
-    public static String TYPE_TIMESTAMP() {
-        return TYPE_TIMESTAMP;
-    }
-
-    public static String TYPE_SHORT() {
-        return TYPE_SHORT;
-    }
-
-    public static String TYPE_INT() {
-        return TYPE_INT;
-    }
-
-    public static String TYPE_LONG() {
-        return TYPE_LONG;
-    }
-
-    public static String TYPE_FLOAT() {
-        return TYPE_FLOAT;
-    }
-
-    public static String TYPE_DOUBLE() {
-        return TYPE_DOUBLE;
-    }
-
-    public static String TYPE_BOOLEAN() {
-        return TYPE_BOOLEAN;
-    }
-
-    public static String TYPE_PK() {
-        return TYPE_PK;
-    }
-
-    public static String TYPE_STRING() {
-        return TYPE_STRING;
-    }
-
-    public static String TYPE_LONG_STRING() {
-        return TYPE_LONG_STRING;
-    }
-
-    public static String TYPE_PASSWORD() {
-        return TYPE_PASSWORD;
-    }
-
-    public static String PASSWORD_SEED() {
-        return PASSWORD_SEED;
-    }
-
-    public static Integer PASSWORD_ENC_LENGTH() {
-        return PASSWORD_ENC_LENGTH;
-    }
-
-    public static String TYPE_DEFAULT() {
-        return TYPE_DEFAULT;
-    }
-
-    public static String TYPE_DATE() {
-        return TYPE_DATE;
-    }
-
-    public static String TYPE_DATETIME() {
-        return TYPE_DATETIME;
-    }
-
-    public static String TYPE_TIME() {
-        return TYPE_TIME;
-    }
-
-    public static String TYPE_BLOB() {
-        return TYPE_BLOB;
-    }
-
-    // }}
-
-    // {{ Versioning
-    private static boolean useVersioning;
-
-    public static void useVersioning(final boolean useVersioning) {
-        Defaults.useVersioning = useVersioning;
-    }
-
-    public static boolean useVersioning() {
-        return useVersioning;
-    }
-
-    public static boolean useVersioning(final String shortIdentifier) {
-        if (useVersioning() == false) {
-            return false;
-        }
-        final String useVersioningProperty =
-            getStringProperty(propertiesBase, isisConfiguration, "versioning." + shortIdentifier, "true");
-        return (useVersioningProperty.compareToIgnoreCase("true") == 0);
-    }
-
-    // }}
-
-    // {{ Database commands
-
-    private static String START_TRANSACTION;
-    private static String ABORT_TRANSACTION;
-    private static String COMMIT_TRANSACTION;
-
-    private static void defineDatabaseCommands() {
-        START_TRANSACTION =
-            getStringProperty(propertiesBase, isisConfiguration, "command.beginTransaction", "START TRANSACTION;");
-        ABORT_TRANSACTION =
-            getStringProperty(propertiesBase, isisConfiguration, "command.abortTransaction", "ROLLBACK;");
-        COMMIT_TRANSACTION =
-            getStringProperty(propertiesBase, isisConfiguration, "command.commitTransaction", "COMMIT;");
-    }
-
-    public static String START_TRANSACTION() {
-        return START_TRANSACTION;
-    }
-
-    public static String ABORT_TRANSACTION() {
-        return ABORT_TRANSACTION;
-    }
-
-    public static String COMMIT_TRANSACTION() {
-        return COMMIT_TRANSACTION;
-    }
-    // }}
-
-    /**
-     * Based on the database engine, return a LIMIT start, count clause. 
-     * 
-     * @param startIndex
-     * @param rowCount
-     */
-    public static String getLimitsClause(long startIndex, long rowCount) {
-        return String.format("LIMIT %d, %d", startIndex, rowCount);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/FieldMappingFactoryInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/FieldMappingFactoryInstaller.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/FieldMappingFactoryInstaller.java
deleted file mode 100644
index 99a6158..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/FieldMappingFactoryInstaller.java
+++ /dev/null
@@ -1,24 +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.objectstore.sql;
-
-public interface FieldMappingFactoryInstaller {
-    void load(FieldMappingLookup lookup);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/FieldMappingLookup.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/FieldMappingLookup.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/FieldMappingLookup.java
deleted file mode 100644
index 32ca76c..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/FieldMappingLookup.java
+++ /dev/null
@@ -1,131 +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.objectstore.sql;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.jdbc.JdbcGeneralValueMapper;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-import org.apache.isis.objectstore.sql.mapping.FieldMappingFactory;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMapping;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMappingFactory;
-
-public class FieldMappingLookup {
-    private static final Logger LOG = LoggerFactory.getLogger(FieldMappingLookup.class);
-    private final Map<ObjectSpecification, FieldMappingFactory> fieldMappings = new HashMap<ObjectSpecification, FieldMappingFactory>();
-    private final Map<ObjectSpecification, ObjectReferenceMappingFactory> referenceMappings = new HashMap<ObjectSpecification, ObjectReferenceMappingFactory>();
-    private FieldMappingFactory referenceFieldMappingfactory;
-    private ObjectReferenceMappingFactory objectReferenceMappingfactory;
-
-    public FieldMapping createMapping(final ObjectSpecification object, final ObjectAssociation field) {
-        final ObjectSpecification spec = field.getSpecification();
-        FieldMappingFactory factory = fieldMappings.get(spec);
-        if (factory != null) {
-            return factory.createFieldMapping(object, field);
-        } else if (spec.isEncodeable()) {
-            factory = new JdbcGeneralValueMapper.Factory(Defaults.TYPE_DEFAULT());
-            addFieldMappingFactory(spec, factory);
-            return factory.createFieldMapping(object, field);
-        } else {// if (true /* TODO test for reference */) {
-            factory = referenceFieldMappingfactory;
-            addFieldMappingFactory(spec, factory);
-            return factory.createFieldMapping(object, field);
-            // } else {
-            // throw new IsisException("No mapper for " + spec +
-            // " (no default mapper)");
-        }
-    }
-
-    public ObjectReferenceMapping createMapping(final ObjectSpecification spec) {
-        return createMapping(spec.getShortIdentifier(), spec);
-    }
-
-    public ObjectReferenceMapping createMapping(final String columnName, final ObjectSpecification spec) {
-        ObjectReferenceMappingFactory factory = referenceMappings.get(spec);
-        if (factory != null) {
-            return factory.createReferenceMapping(columnName, spec);
-        } else if (spec.isEncodeable()) {
-            // TODO add generic encodeable mapping
-            throw new NotYetImplementedException();
-        } else {// if (true /* TODO test for reference */) {
-            factory = objectReferenceMappingfactory;
-            // add(spec, factory);
-            return factory.createReferenceMapping(columnName, spec); // TODO:
-                                                                     // here
-            // } else {
-            // throw new IsisException("No mapper for " + spec +
-            // " (no default mapper)");
-        }
-    }
-
-    public void addFieldMappingFactory(final Class<?> valueType, final FieldMappingFactory mapper) {
-        final ObjectSpecification spec = IsisContext.getSpecificationLoader().loadSpecification(valueType);
-        addFieldMappingFactory(spec, mapper);
-    }
-
-    private void addFieldMappingFactory(final ObjectSpecification specification, final FieldMappingFactory mapper) {
-        LOG.debug("add mapper " + mapper + " for " + specification);
-        fieldMappings.put(specification, mapper);
-    }
-
-    public void addReferenceMappingFactory(final ObjectSpecification specification, final ObjectReferenceMappingFactory mapper) {
-        LOG.debug("add mapper " + mapper + " for " + specification);
-        referenceMappings.put(specification, mapper);
-    }
-
-    public void init() {
-        // fieldMappingFactory.load(this);
-    }
-
-    public IdMapping createIdMapping() {
-        // TODO inject and use external factory
-        final IdMapping idMapping = new IdMapping();
-        idMapping.init();
-        return idMapping;
-    }
-
-    public VersionMapping createVersionMapping() {
-        // TODO inject and use external factory
-        final VersionMapping versionMapping = new VersionMapping();
-        versionMapping.init();
-        return versionMapping;
-    }
-
-    public void setReferenceFieldMappingFactory(final FieldMappingFactory referenceMappingfactory) {
-        this.referenceFieldMappingfactory = referenceMappingfactory;
-    }
-
-    public void setObjectReferenceMappingfactory(final ObjectReferenceMappingFactory objectReferenceMappingfactory) {
-        this.objectReferenceMappingfactory = objectReferenceMappingfactory;
-    }
-
-    public TitleMapping createTitleMapping() {
-        // TODO inject and use external factory
-        return new TitleMapping();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/IdMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/IdMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/IdMapping.java
deleted file mode 100644
index 544da36..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/IdMapping.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.objectstore.sql;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public class IdMapping extends IdMappingAbstract {
-
-    public void init() {
-        String idColumn = null;
-        // idColumn = configParameters.getString(parameterBase + "id");
-        if (idColumn == null) {
-            idColumn = Defaults.getPkIdLabel();
-        }
-        setColumn(idColumn);
-    }
-
-    public void appendUpdateValues(final StringBuffer sql, final ObjectAdapter object) {
-    }
-
-    public void initializeField(final ObjectAdapter object, final Results rs) {
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/IdMappingAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/IdMappingAbstract.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/IdMappingAbstract.java
deleted file mode 100644
index 8d6a2a4..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/IdMappingAbstract.java
+++ /dev/null
@@ -1,112 +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.objectstore.sql;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-
-public class IdMappingAbstract {
-    private String column;
-
-    protected void setColumn(final String column) {
-        this.column = Sql.identifier(column);
-    }
-
-    protected String getColumn() {
-        return column;
-    }
-
-    public void appendWhereClause(final DatabaseConnector connector, final StringBuffer sql, final RootOid oid) {
-        sql.append(column);
-        sql.append(" = ");
-        appendObjectId(connector, sql, oid);
-    }
-
-    public void appendObjectId(final DatabaseConnector connector, final StringBuffer sql, final RootOid oid) {
-        sql.append("?");
-        connector.addToQueryValues(primaryKey(oid));
-    }
-
-    public void appendCreateColumnDefinitions(final StringBuffer sql) {
-        sql.append(column);
-        sql.append(" ");
-        sql.append(Defaults.TYPE_PK() + " NOT NULL PRIMARY KEY");
-    }
-
-    public void appendColumnDefinitions(final StringBuffer sql) {
-        sql.append(column);
-        sql.append(" ");
-        sql.append(Defaults.TYPE_PK());
-    }
-
-    public void appendColumnNames(final StringBuffer sql) {
-        sql.append(column);
-    }
-
-    public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        if (object == null) {
-            sql.append("NULL");
-        } else {
-            appendObjectId(connector, sql, (RootOid) object.getOid());
-            // sql.append(connector.addToQueryValues(primaryKeyAsObject(object.getOid())));
-        }
-    }
-
-    public String primaryKey(final RootOid oid) {
-        return oid.getIdentifier();
-    }
-
-    public TypedOid recreateOid(final Results rs, final ObjectSpecification specification) {
-        final Object object = rs.getObject(column);
-        if (object == null) {
-            return null;
-        }
-        final int id = ((Integer) object).intValue();
-        return new RootOidDefault(specification.getSpecId(), "" + id, Oid.State.PERSISTENT);
-    }
-
-    protected ObjectAdapter getAdapter(final ObjectSpecification spec, final Oid oid) {
-        final ObjectAdapter adapter = getAdapterManager().getAdapterFor(oid);
-        if (adapter != null) {
-            return adapter;
-        }
-        // REVIEW: where the oid is a TypedOid, the following two lines could be replaced by
-        // getPersistenceSession().recreatePersistentAdapter(oid)
-        // is preferable, since then reuses the PojoRecreator impl defined within SqlPersistorInstaller
-        final Object recreatedPojo = spec.createObject();
-        return getPersistenceSession().mapRecreatedPojo(oid, recreatedPojo);
-    }
-
-    protected AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/MappingLookup.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/MappingLookup.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/MappingLookup.java
deleted file mode 100644
index 92a0af2..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/MappingLookup.java
+++ /dev/null
@@ -1,26 +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.objectstore.sql;
-
-public class MappingLookup {
-    // private ObjectMappingLookup classMappingLookup;
-    // private FieldMappingLookup fieldMappingLookup;
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/MultipleResults.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/MultipleResults.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/MultipleResults.java
deleted file mode 100644
index 35dafe4..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/MultipleResults.java
+++ /dev/null
@@ -1,24 +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.objectstore.sql;
-
-public interface MultipleResults {
-    Results nextResults();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMapping.java
deleted file mode 100644
index 64034e5..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMapping.java
+++ /dev/null
@@ -1,57 +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.objectstore.sql;
-
-import java.util.Vector;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByPattern;
-
-public interface ObjectMapping {
-    void createObject(DatabaseConnector connector, ObjectAdapter object);
-
-    void destroyObject(DatabaseConnector connector, ObjectAdapter object);
-
-    Vector<ObjectAdapter> getInstances(DatabaseConnector connector, ObjectSpecification spec, long startIndex, long rowCount);
-
-    Vector<ObjectAdapter> getInstances(DatabaseConnector connector, ObjectSpecification spec, String title, long startIndex, long rowCount);
-
-    Vector<ObjectAdapter> getInstances(DatabaseConnector connector, ObjectSpecification spec, PersistenceQueryFindByPattern query);
-
-    ObjectAdapter getObject(DatabaseConnector connector, TypedOid typedOid);
-
-    boolean hasInstances(DatabaseConnector connector, ObjectSpecification cls);
-
-    void resolve(DatabaseConnector connector, ObjectAdapter object);
-
-    void resolveCollection(DatabaseConnector connector, ObjectAdapter object, ObjectAssociation field);
-
-    void save(DatabaseConnector connector, ObjectAdapter object);
-
-    void shutdown();
-
-    void startup(DatabaseConnector connection, ObjectMappingLookup objectMapperLookup);
-
-    boolean saveCollection(DatabaseConnector connection, ObjectAdapter parent, String fieldName);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingFactory.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingFactory.java
deleted file mode 100644
index 0a5976b..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingFactory.java
+++ /dev/null
@@ -1,24 +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.objectstore.sql;
-
-public interface ObjectMappingFactory {
-    ObjectMapping createMapper(String className, String propertiesBase, FieldMappingLookup fieldMapperLookup, ObjectMappingLookup objectMapperLookup);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java
deleted file mode 100644
index 3535b5f..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java
+++ /dev/null
@@ -1,153 +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.objectstore.sql;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.factory.InstanceCreationException;
-import org.apache.isis.core.commons.factory.InstanceUtil;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public class ObjectMappingLookup implements DebuggableWithTitle {
-    private static final Logger LOG = LoggerFactory.getLogger(ObjectMappingLookup.class);
-    private DatabaseConnectorPool connectionPool;
-    private final Map<ObjectSpecification, ObjectMapping> mappings = new HashMap<ObjectSpecification, ObjectMapping>();
-    private ObjectMappingFactory objectMappingFactory;
-    private FieldMappingLookup fieldMappingLookup;
-
-    public ObjectMapping getMapping(final ObjectSpecification spec, final DatabaseConnector connection) {
-    	String fullName = spec.getFullIdentifier();
-        ObjectMapping mapping = mappings.get(spec);
-        if (mapping == null) {
-            final String propertiesBase = SqlObjectStore.BASE_NAME + ".automapper.default";
-            mapping = objectMappingFactory.createMapper(fullName, propertiesBase, fieldMappingLookup, this);
-            add(spec, mapping, connection);
-        }
-        LOG.debug("  mapper for " + spec.getSingularName() + " -> " + mapping);
-        if (mapping == null) {
-            throw new IsisException("No mapper for " + spec + " (no default mapper)");
-        }
-        return mapping;
-    }
-
-    public ObjectMapping getMapping(final ObjectAdapter object, final DatabaseConnector connection) {
-        return getMapping(object.getSpecification(), connection);
-    }
-
-    public void setConnectionPool(final DatabaseConnectorPool connectionPool) {
-        this.connectionPool = connectionPool;
-    }
-
-    // / ???
-    public void setObjectMappingFactory(final ObjectMappingFactory mapperFactory) {
-        this.objectMappingFactory = mapperFactory;
-    }
-
-    public void setValueMappingLookup(final FieldMappingLookup fieldMappingLookup) {
-        this.fieldMappingLookup = fieldMappingLookup;
-    }
-
-    private void add(final String className, final ObjectMapping mapper) {
-        final ObjectSpecification spec = IsisContext.getSpecificationLoader().loadSpecification(className);
-        if (spec.getProperties(Contributed.EXCLUDED).size() == 0) {
-            throw new SqlObjectStoreException(spec.getFullIdentifier() + " has no fields to persist: " + spec);
-        }
-        add(spec, mapper, null);
-    }
-
-    public void add(final ObjectSpecification specification, final ObjectMapping mapper, DatabaseConnector connection) {
-        LOG.debug("add mapper " + mapper + " for " + specification);
-        if (connection == null) {
-            connection = connectionPool.acquire();
-        }
-        mapper.startup(connection, this);
-        connectionPool.release(connection);
-        mappings.put(specification, mapper);
-    }
-
-    public void init() {
-        fieldMappingLookup.init();
-
-        final String prefix = SqlObjectStore.BASE_NAME + ".mapper.";
-        final IsisConfiguration subset = IsisContext.getConfiguration().createSubset(prefix);
-        for (final String className : subset) {
-            final String value = subset.getString(className);
-
-            if (value.startsWith("auto.")) {
-                final String propertiesBase = SqlObjectStore.BASE_NAME + ".automapper." + value.substring(5) + ".";
-                add(className, objectMappingFactory.createMapper(className, propertiesBase, fieldMappingLookup, this));
-            } else if (value.trim().equals("auto")) {
-                final String propertiesBase = SqlObjectStore.BASE_NAME + ".automapper.default";
-                add(className, objectMappingFactory.createMapper(className, propertiesBase, fieldMappingLookup, this));
-            } else {
-                LOG.debug("mapper " + className + "=" + value);
-
-                try {
-                    add(className, InstanceUtil.createInstance(value, ObjectMapping.class));
-                } catch (final ObjectPersistenceException ex) {
-                    throw new InstanceCreationException("Failed to set up mapper for " + className, ex);
-                }
-            }
-        }
-    }
-
-    public void shutdown() {
-        for (final ObjectMapping mapping : mappings.values()) {
-            try {
-                mapping.shutdown();
-            } catch (final ObjectPersistenceException ex) {
-                LOG.error("Shutdown mapper " + mapping, ex);
-            }
-        }
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln("field mapping lookup", fieldMappingLookup);
-        debug.appendln("object mapping factory", objectMappingFactory);
-        debug.appendTitle("Mappings");
-        int i = 1;
-        for (final ObjectSpecification specification : mappings.keySet()) {
-            debug.appendln(i++ + ". " + specification.getShortIdentifier());
-            final ObjectMapping mapper = mappings.get(specification);
-            debug.indent();
-            debug.append(mapper);
-            debug.unindent();
-        }
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Object Mapping Lookup";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Parameter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Parameter.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Parameter.java
deleted file mode 100644
index aa192ff..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/Parameter.java
+++ /dev/null
@@ -1,30 +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.objectstore.sql;
-
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-
-public interface Parameter {
-    void setupParameter(int parameter, StoredProcedure procedure) throws ObjectPersistenceException;
-
-    // String getRestoreString();
-
-    void retrieve(int parameter, StoredProcedure procedure) throws ObjectPersistenceException;
-}


[02/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/PasswordFieldExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/PasswordFieldExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/PasswordFieldExample.java
deleted file mode 100644
index 6ff318f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/PasswordFieldExample.java
+++ /dev/null
@@ -1,80 +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.dnd.example.field;
-
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.view.field.PasswordField;
-
-
-public class PasswordFieldExample extends TestViews {
-    public static void main(final String[] args) {
-        new PasswordFieldExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        View parent = new ParentView();
-
-        Content content = new DummyTextParseableField("password");
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        PasswordField textField = new PasswordField(content, specification, axis);
-        textField.setParent(parent);
-        // textField.setMaxWidth(200);
-        textField.setLocation(new Location(50, 20));
-        textField.setSize(textField.getRequiredSize(new Size()));
-        workspace.addView(textField);
-
-        textField = new PasswordField(content, specification, axis);
-        textField.setParent(parent);
-        // textField.setMaxWidth(80);
-        textField.setLocation(new Location(50, 80));
-        textField.setSize(textField.getRequiredSize(new Size()));
-        workspace.addView(textField);
-
-        content = new DummyTextParseableField("pa");
-        PasswordField view = new PasswordField(content, specification, axis);
-        view.setParent(parent);
-        // view.setMaxWidth(200);
-        view.setLocation(new Location(50, 140));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view = new PasswordField(content, specification, axis);
-        view.setParent(parent);
-        // view.setMaxWidth(80);
-        view.setLocation(new Location(50, 250));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-    }
-
-    protected boolean showOutline() {
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/TextFieldExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/TextFieldExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/TextFieldExample.java
deleted file mode 100644
index 329c120..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/TextFieldExample.java
+++ /dev/null
@@ -1,339 +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.dnd.example.field;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.noa.adapter.Oid;
-import org.apache.isis.noa.adapter.ResolveState;
-import org.apache.isis.noa.adapter.Version;
-import org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.noa.reflect.Allow;
-import org.apache.isis.noa.reflect.Consent;
-import org.apache.isis.noa.reflect.ObjectAction;
-import org.apache.isis.noa.reflect.ObjectActionInstance;
-import org.apache.isis.noa.reflect.ObjectActionType;
-import org.apache.isis.noa.reflect.OneToManyAssociation;
-import org.apache.isis.noa.reflect.OneToManyAssociationInstance;
-import org.apache.isis.noa.reflect.OneToOneAssociation;
-import org.apache.isis.noa.reflect.OneToOneAssociationInstance;
-import org.apache.isis.noa.reflect.listeners.ObjectListener;
-import org.apache.isis.noa.spec.ObjectSpecification;
-import org.apache.isis.noa.util.DebugString;
-import org.apache.isis.noa.util.NotImplementedException;
-import org.apache.isis.nof.core.util.AsString;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.TextParseableContent;
-import org.apache.isis.viewer.dnd.UserActionSet;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.view.field.SingleLineTextField;
-import org.apache.isis.viewer.dnd.view.field.WrappedTextField;
-
-
-class DummyTextParseableField implements TextParseableContent {
-    private ObjectAdapter object = new ObjectAdapter() {
-
-        public String asEncodedString(Object object) {
-            return null;
-        }
-
-        public String getIconName() {
-            return null;
-        }
-
-        public Object getObject() {
-            return null;
-        }
-
-        public ObjectSpecification getSpecification() {
-            return null;
-        }
-
-        public void parseTextEntry(Object original, final String text) {
-            DummyTextParseableField.this.text = text;
-        }
-
-        public Object restoreFromEncodedString(final String data) {
-            return null;
-        }
-
-        public String titleString() {
-            return text;
-        }
-
-        public String toString() {
-            AsString str = new AsString(this);
-            str.append("text", text);
-            return str.toString();
-        }
-
-        public void setMask(String mask) {}
-
-        public int defaultTypicalLength() {
-            return 0;
-        }
-
-        public void addObjectListener(ObjectListener listener) {}
-
-        public void fireChangedEvent() {}
-
-        public ObjectActionInstance getActionInstance(ObjectAction action) {
-            return null;
-        }
-
-        public ObjectActionInstance[] getActionInstances(ObjectActionType type) {
-            return null;
-        }
-
-        public OneToManyAssociationInstance getOneToManyAssociation(OneToManyAssociation field) {
-            return null;
-        }
-
-        public OneToManyAssociationInstance[] getOneToManyAssociationInstances() {
-            return null;
-        }
-
-        public OneToOneAssociationInstance getOneToOneAssociation(OneToOneAssociation field) {
-            return null;
-        }
-
-        public OneToOneAssociationInstance[] getOneToOneAssociationInstances() {
-            return null;
-        }
-
-        public void removeObjectListener(ObjectListener listener) {}
-
-        public void changeState(ResolveState newState) {}
-
-        public void checkLock(Version version) {}
-
-        public Oid getOid() {
-            return null;
-        }
-
-        public ResolveState getResolveState() {
-            return null;
-        }
-
-        public Version getVersion() {
-            return null;
-        }
-
-        public void setOptimisticLock(Version version) {}
-
-        public void replacePojo(Object pojo) {
-            throw new NotImplementedException();
-        }
-        
-        public TypeOfFacet getTypeOfFacet() {
-            return null;
-        }
-        
-        public void setTypeOfFacet(TypeOfFacet typeOfFacet) {}
-
-    };
-    private String text;
-
-    public DummyTextParseableField(final String text) {
-        this.text = text;
-    }
-
-    public Consent canDrop(final Content sourceContent) {
-        return null;
-    }
-
-    public void clear() {}
-
-    public void contentMenuOptions(UserActionSet options) {}
-
-    public void debugDetails(final DebugString debug) {}
-
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    public void entryComplete() {}
-
-    public String getDescription() {
-        return null;
-    }
-
-    public String getHelp() {
-        return null;
-    }
-
-    public String getIconName() {
-        return null;
-    }
-
-    public Image getIconPicture(int iconHeight) {
-        return null;
-    }
-
-    public String getId() {
-        return null;
-    }
-
-    public ObjectAdapter getAdapter() {
-        return getObject();
-    }
-
-    public ObjectAdapter getObject() {
-        return object;
-    }
-
-    public int getMaximumLength() {
-        return 0;
-    }
-
-    public int getTypicalLineLength() {
-        return 0;
-    }
-
-    public ObjectSpecification getSpecification() {
-        return null;
-    }
-
-    public boolean isCollection() {
-        return false;
-    }
-
-    public Consent isEditable() {
-        return Allow.DEFAULT;
-    }
-
-    public boolean isEmpty() {
-        return false;
-    }
-
-    public boolean isObject() {
-        return false;
-    }
-
-    public boolean isPersistable() {
-        return false;
-    }
-
-    public boolean isTransient() {
-        return false;
-    }
-
-    public boolean isTextParseable() {
-        return true;
-    }
-
-    public void parseTextEntry(final String entryText) {}
-
-    public String title() {
-        return null;
-    }
-
-    public void viewMenuOptions(UserActionSet options) {}
-
-    public String windowTitle() {
-        return null;
-    }
-
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    public int getNoLines() {
-        return 1;
-    }
-
-    public boolean canClear() {
-        return false;
-    }
-
-    public boolean canWrap() {
-        return false;
-    }
-
-    public String titleString(ObjectAdapter value) {
-        return null;
-    }
-
-}
-
-public class TextFieldExample extends TestViews {
-    private static final String LONG_TEXT = "Apache Isis - a framework that exposes behaviourally complete business\n"
-            + "objects directly to the user. Copyright (C) 2010 Apache Software Foundation\n";
-
-    private static final String SHORT_TEXT = "Short length of text for small field";
-
-    public static void main(final String[] args) {
-        new TextFieldExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        View parent = new ParentView();
-
-        TextParseableContent content = new DummyTextParseableField(SHORT_TEXT);
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        SingleLineTextField textField = new SingleLineTextField(content, specification, axis, true);
-        textField.setParent(parent);
-        textField.setWidth(200);
-        textField.setLocation(new Location(50, 20));
-        textField.setSize(textField.getRequiredSize(new Size()));
-        workspace.addView(textField);
-
-        textField = new SingleLineTextField(content, specification, axis, false);
-        textField.setParent(parent);
-        textField.setWidth(80);
-        textField.setLocation(new Location(50, 80));
-        textField.setSize(textField.getRequiredSize(new Size()));
-        workspace.addView(textField);
-
-        content = new DummyTextParseableField(LONG_TEXT);
-        WrappedTextField view = new WrappedTextField(content, specification, axis, false);
-        view.setParent(parent);
-        view.setNoLines(5);
-        view.setWidth(200);
-        view.setWrapping(false);
-        view.setLocation(new Location(50, 140));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view = new WrappedTextField(content, specification, axis, true);
-        view.setParent(parent);
-        view.setNoLines(8);
-        view.setWidth(500);
-        view.setWrapping(false);
-        view.setLocation(new Location(50, 250));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/message/ErrorViewExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/message/ErrorViewExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/message/ErrorViewExample.java
deleted file mode 100644
index dcb5f93..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/message/ErrorViewExample.java
+++ /dev/null
@@ -1,59 +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.dnd.example.message;
-
-import org.apache.isis.noa.ObjectAdapterRuntimeException;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.view.message.DetailedMessageViewSpecification;
-import org.apache.isis.viewer.dnd.view.message.ExceptionMessageContent;
-import org.apache.isis.viewer.dnd.view.message.MessageDialogSpecification;
-
-
-
-public class ErrorViewExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new ErrorViewExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        Object object = new ObjectAdapterRuntimeException("The test exception message");
-        Content content = new ExceptionMessageContent((Throwable) object);
-        ViewAxis axis = null;
-
-        View view = new MessageDialogSpecification().createView(content, axis);
-        view.setLocation(new Location(100, 30));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        View view2 = new DetailedMessageViewSpecification().createView(content, axis);
-        view2.setLocation(new Location(100, 260));
-        view2.setSize(view2.getMaximumSize());
-        workspace.addView(view2);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/table/ScrollableTableBorderExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/table/ScrollableTableBorderExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/table/ScrollableTableBorderExample.java
deleted file mode 100644
index 7aa733c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/table/ScrollableTableBorderExample.java
+++ /dev/null
@@ -1,73 +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.dnd.example.table;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestObjectViewWithDragging;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-
-
-public class ScrollableTableBorderExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new ScrollableTableBorderExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ObjectAdapter object = createExampleObjectForView();
-        Content content = new RootObject(object);
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        TestHeaderView leftHeader = new TestHeaderView(axis, 40, 800);
-        TestHeaderView topHeader = new TestHeaderView(axis, 800, 20);
-        View view = new ScrollBorder(new TestObjectViewWithDragging(content, specification, axis, 800, 800, "both"), leftHeader,
-                topHeader);
-        view.setLocation(new Location(50, 60));
-        view.setSize(new Size(216, 216));
-        view.setParent(workspace);
-        workspace.addView(view);
-
-        view = new ScrollBorder(new TestObjectViewWithDragging(content, specification, axis, 200, 800, "vertical"));
-        view.setLocation(new Location(300, 60));
-        view.setSize(new Size(216, 216));
-        view.setParent(workspace);
-        workspace.addView(view);
-
-        view = new ScrollBorder(new TestObjectViewWithDragging(content, specification, axis, 800, 200, "horizontal"));
-        view.setLocation(new Location(550, 60));
-        view.setSize(new Size(216, 216));
-        view.setParent(workspace);
-        workspace.addView(view);
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/table/TestHeaderView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/table/TestHeaderView.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/table/TestHeaderView.java
deleted file mode 100644
index eb97beb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/table/TestHeaderView.java
+++ /dev/null
@@ -1,96 +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.dnd.example.table;
-
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Click;
-import org.apache.isis.viewer.dnd.Drag;
-import org.apache.isis.viewer.dnd.DragStart;
-import org.apache.isis.viewer.dnd.InternalDrag;
-import org.apache.isis.viewer.dnd.SimpleInternalDrag;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.simple.AbstractView;
-import org.apache.isis.viewer.dnd.viewer.AwtColor;
-
-
-public class TestHeaderView extends AbstractView {
-
-    private int requiredWidth;
-    private int requiredHeight;
-
-    public TestHeaderView(final ViewAxis axis, final int width, final int height) {
-        super(null, null, axis);
-        setMaximumSize(new Size(width, height));
-    }
-
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-        int width = getSize().getWidth();
-        int height = getSize().getHeight();
-        canvas.clearBackground(this, AwtColor.GRAY);
-        canvas.drawRectangle(0, 0, width - 1, height - 1, AwtColor.BLUE);
-        canvas.drawLine(0, 0, width - 1, height - 1, AwtColor.ORANGE);
-        canvas.drawLine(width - 1, 0, 0, height - 1, AwtColor.ORANGE);
-    }
-
-    public Size getRequiredSize(final Size maximumSize) {
-        return new Size(requiredWidth, requiredHeight);
-    }
-
-    public void setMaximumSize(final Size size) {
-        requiredHeight = size.getHeight();
-        requiredWidth = size.getWidth();
-
-        setSize(size);
-    }
-
-    public void firstClick(final Click click) {
-        debug("first click " + click);
-    }
-
-    public void secondClick(final Click click) {
-        debug("second click " + click);
-    }
-
-    public void mouseMoved(final Location location) {
-        debug("mouse moved " + location);
-    }
-
-    private void debug(final String str) {
-        getViewManager().getSpy().addAction(str);
-    }
-
-    public Drag dragStart(final DragStart drag) {
-        debug("drag start in header " + drag);
-        return new SimpleInternalDrag(getParent(), drag.getLocation());
-    }
-
-    public void drag(final InternalDrag drag) {
-        debug("drag in header " + drag);
-        super.drag(drag);
-    }
-
-    public void dragTo(final InternalDrag drag) {
-        debug("drag to in header " + drag);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/NodeBorderExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/NodeBorderExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/NodeBorderExample.java
deleted file mode 100644
index 3f2b4d7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/NodeBorderExample.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.dnd.example.tree;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.noa.util.NotImplementedException;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestObjectView;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.tree.TreeBrowserFrame;
-import org.apache.isis.viewer.dnd.tree.TreeNodeBorder;
-
-
-public class NodeBorderExample extends TestViews {
-
-    private TreeNodeBorder view;
-
-    public static void main(final String[] args) {
-        new NodeBorderExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ObjectAdapter object = createExampleObjectForView();
-        ViewSpecification specification = new ExampleViewSpecification();
-        if (true) {
-            throw new NotImplementedException("Need to create the corrext axis to for the nodes to access");
-        }
-        ViewAxis axis = new TreeBrowserFrame(null, null);
-
-        Content content = new RootObject(object);
-        view = new TreeNodeBorder(new TestObjectView(content, specification, axis, 200, 90, "Tree node"), null);
-        view.setLocation(new Location(60, 60));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/ResizeBorderExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/ResizeBorderExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/ResizeBorderExample.java
deleted file mode 100644
index d76b515..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/ResizeBorderExample.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.dnd.example.tree;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.basic.TextFieldResizeBorder;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestObjectViewWithDragging;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.tree.TreeBrowserResizeBorder;
-
-
-public class ResizeBorderExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new ResizeBorderExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ObjectAdapter object = createExampleObjectForView();
-        Content content = new RootObject(object);
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        View view = new TextFieldResizeBorder(new TestObjectViewWithDragging(content, specification, axis, 400, 400, "resizing"));
-        view.setLocation(new Location(50, 60));
-        view.setSize(new Size(100, 24));
-        workspace.addView(view);
-
-        view = new TreeBrowserResizeBorder(new TestObjectViewWithDragging(content, specification, axis, 400, 400, "resizing"));
-        view.setLocation(new Location(50, 120));
-        view.setSize(new Size(200, 200));
-        workspace.addView(view);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/TreeExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/TreeExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/TreeExample.java
deleted file mode 100644
index aa92cb8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/TreeExample.java
+++ /dev/null
@@ -1,67 +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.dnd.example.tree;
-
-import org.apache.isis.noa.adapter.ResolveState;
-import org.apache.isis.nof.testsystem.TestProxyAdapter;
-import org.apache.isis.nof.testsystem.TestSpecification;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.basic.TreeBrowserSpecification;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.tree.TreeBrowserFrame;
-import org.apache.isis.viewer.dnd.view.form.WindowFormSpecification;
-
-
-
-public class TreeExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new TreeExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        TestProxyAdapter object = new TestProxyAdapter();
-        object.setupSpecification(new TestSpecification());
-        object.setupResolveState(ResolveState.TRANSIENT);
-        
-        ViewAxis axis = new TreeBrowserFrame(null, null);
-
-        Content content = new RootObject(object);
-
-        View view = new TreeBrowserSpecification().createView(content, axis);
-        view.setLocation(new Location(100, 50));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view = new WindowFormSpecification().createView(content, axis);
-        view.setLocation(new Location(100, 200));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/TreeLeafNodeExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/TreeLeafNodeExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/TreeLeafNodeExample.java
deleted file mode 100644
index 6bbbc56..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/tree/TreeLeafNodeExample.java
+++ /dev/null
@@ -1,66 +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.dnd.example.tree;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.tree.ClosedCollectionNodeSpecification;
-import org.apache.isis.viewer.dnd.tree.TreeBrowserFrame;
-
-
-public class TreeLeafNodeExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new TreeLeafNodeExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ObjectAdapter object = createExampleObjectForView();
-        ViewAxis axis = new TreeBrowserFrame(null, null);
-
-        Content content = new RootObject(object);
-
-        View view = new ClosedCollectionNodeSpecification().createView(content, axis);
-        view.setLocation(new Location(100, 20));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view = new ClosedCollectionNodeSpecification().createView(content, axis);
-        view.setLocation(new Location(100, 60));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-        view.getState().setContentIdentified();
-
-        view = new ClosedCollectionNodeSpecification().createView(content, axis);
-        view.setLocation(new Location(100, 100));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-        view.getState().setCanDrop();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestObjectView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestObjectView.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestObjectView.java
deleted file mode 100644
index ab5babc..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestObjectView.java
+++ /dev/null
@@ -1,95 +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.dnd.example.view;
-
-import org.apache.isis.extensions.dndviewer.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Click;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.Drag;
-import org.apache.isis.viewer.dnd.DragStart;
-import org.apache.isis.viewer.dnd.Toolkit;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.simple.AbstractView;
-
-
-public class TestObjectView extends AbstractView {
-
-    private int requiredWidth;
-    private int requiredHeight;
-    private final String label;
-
-    public TestObjectView(final Content content, final ViewSpecification specification, final ViewAxis axis, final int width, final int height, final String label) {
-        super(content, specification, axis);
-        this.requiredWidth = width;
-        this.requiredHeight = height;
-        this.label = label;
-    }
-
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-        int width = getSize().getWidth();
-        int height = getSize().getHeight();
-        canvas.clearBackground(this, Toolkit.getColor(0xeeeeee));
-        canvas.drawRectangle(0, 0, width - 1, height - 1, Toolkit.getColor(0xcccccc));
-        canvas.drawLine(0, 0, width - 1, height - 1, Toolkit.getColor(0xff0000));
-        canvas.drawLine(width - 1, 0, 0, height - 1, Toolkit.getColor(0xff0000));
-        canvas.drawText(label, 2, Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getAscent() + 2, Toolkit.getColor(0), Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-    }
-
-    public Size getRequiredSize(final Size maximumSize) {
-        return new Size(requiredWidth, requiredHeight);
-    }
-
-    public void setMaximumSize(final Size size) {
-        requiredHeight = size.getHeight();
-        requiredWidth = size.getWidth();
-
-        setSize(size);
-    }
-
-    public void firstClick(final Click click) {
-        debug("first click " + click);
-        super.firstClick(click);
-    }
-
-    public void secondClick(final Click click) {
-        debug("second click " + click);
-        super.secondClick(click);
-    }
-
-    public void mouseMoved(final Location location) {
-        debug("mouse moved " + location);
-        super.mouseMoved(location);
-    }
-
-    private void debug(final String str) {
-        getViewManager().getSpy().addAction(str);
-    }
-
-    public Drag dragStart(final DragStart drag) {
-        debug("drag start " + drag);
-        return super.dragStart(drag);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestObjectViewWithDragging.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestObjectViewWithDragging.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestObjectViewWithDragging.java
deleted file mode 100644
index 8419e29..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestObjectViewWithDragging.java
+++ /dev/null
@@ -1,51 +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.dnd.example.view;
-
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.Drag;
-import org.apache.isis.viewer.dnd.DragStart;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class TestObjectViewWithDragging extends TestObjectView {
-
-    private static final Logger LOG = LoggerFactory.getLogger(TestObjectViewWithDragging.class);
-
-    public TestObjectViewWithDragging(final 
-            Content content, final
-            ViewSpecification specification, final
-            ViewAxis axis, final
-            int width, final
-            int height, final
-            String label) {
-        super(content, specification, axis, width, height, label);
-    }
-
-    public Drag dragStart(final DragStart drag) {
-        LOG.debug("drag start " + drag.getLocation());
-        return super.dragStart(drag);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestViews.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestViews.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestViews.java
deleted file mode 100644
index d4e5192..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestViews.java
+++ /dev/null
@@ -1,133 +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.dnd.example.view;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.noa.adapter.ResolveState;
-import org.apache.isis.nof.core.context.IsisContext;
-import org.apache.isis.nof.core.image.java.AwtTemplateImageLoaderInstaller;
-import org.apache.isis.nof.core.util.InfoDebugFrame;
-import org.apache.isis.nof.core.util.IsisConfiguration;
-import org.apache.isis.nof.testsystem.TestProxyAdapter;
-import org.apache.isis.nof.testsystem.TestProxySystem;
-import org.apache.isis.nof.testsystem.TestSpecification;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.Toolkit;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.debug.DebugView;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.image.ImageFactory;
-import org.apache.isis.viewer.dnd.notifier.ViewUpdateNotifier;
-import org.apache.isis.viewer.dnd.viewer.AwtToolkit;
-import org.apache.isis.viewer.dnd.viewer.ViewerFrame;
-import org.apache.isis.viewer.dnd.viewer.XViewer;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-
-public class TestViews {
-    protected TestProxySystem system;
-
-    protected ObjectAdapter createExampleObjectForView() {
-        TestProxyAdapter object = new TestProxyAdapter();
-        object.setupTitleString("ExampleObjectForView");
-        object.setupSpecification(new TestSpecification());
-        object.setupResolveState(ResolveState.GHOST);
-        return object;
-    }
-
-    public static void main(final String[] args) {
-        new TestViews();
-    }
-
-    protected TestViews() {
-        BasicConfigurator.configure();
-
-        system = new TestProxySystem();
-        system.init();
-
-        configure(IsisContext.getConfiguration());
-
-
-        new ImageFactory(new AwtTemplateImageLoaderInstaller().createLoader());
-        new AwtToolkit();
-        
-
-        XViewer viewer  = (XViewer) Toolkit.getViewer();
-        ViewerFrame frame = new ViewerFrame();
-        frame.setViewer(viewer);
-        viewer.setRenderingArea(frame);
-        viewer.setUpdateNotifier(new ViewUpdateNotifier());
-
-        Toolkit.debug = false;
-
-        Workspace workspace = workspace();
-        viewer.setRootView(workspace);
-        viewer.init();
-        views(workspace);
-
-        viewer.showSpy();
-
-        InfoDebugFrame debug = new InfoDebugFrame();
-        debug.setInfo(new DebugView(workspace));
-        debug.setSize(800, 600);
-        debug.setLocation(400, 300);
-        debug.show();
-
-        frame.setBounds(200, 100, 800, 600);
-        frame.init();
-        frame.show();
-        viewer.sizeChange();
-
-        debug.showDebugForPane();
-    }
-
-    protected void configure(final IsisConfiguration configuration) {}
-
-    protected void views(final Workspace workspace) {
-        Content content = null;
-        ViewSpecification specification = null;
-        ViewAxis axis = null;
-        TestObjectView view = new TestObjectView(content, specification, axis, 100, 200, "object");
-        view.setLocation(new Location(100, 60));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-    }
-
-    protected Workspace workspace() {
-        TestWorkspaceView workspace = new TestWorkspaceView(null);
-        workspace.setShowOutline(showOutline());
-        // NOTE - viewer seems to ignore the placement of the workspace view
-        // TODO fix the viewer so the root view is displayed at specified location
-        // workspace.setLocation(new Location(50, 50));
-        workspace.setSize(workspace.getRequiredSize(new Size()));
-        return workspace;
-    }
-
-    protected boolean showOutline() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestWorkspaceSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestWorkspaceSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestWorkspaceSpecification.java
deleted file mode 100644
index b999895..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestWorkspaceSpecification.java
+++ /dev/null
@@ -1,67 +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.dnd.example.view;
-
-import org.apache.isis.viewer.dnd.CompositeViewBuilder;
-import org.apache.isis.viewer.dnd.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-
-public class TestWorkspaceSpecification implements CompositeViewSpecification {
-
-    public void setRequiredSize(final Size size) {}
-
-    public CompositeViewBuilder getSubviewBuilder() {
-        return null;
-    }
-
-    public View createView(final Content content, final ViewAxis axis) {
-        return null;
-    }
-
-    public String getName() {
-        return null;
-    }
-
-    public boolean isAligned() {
-        return false;
-    }
-
-    public boolean isOpen() {
-        return false;
-    }
-
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    public boolean isSubView() {
-        return false;
-    }
-
-    public boolean canDisplay(final Content content) {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestWorkspaceView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestWorkspaceView.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestWorkspaceView.java
deleted file mode 100644
index 312f471..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/view/TestWorkspaceView.java
+++ /dev/null
@@ -1,170 +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.dnd.example.view;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.noa.util.DebugString;
-import org.apache.isis.extensions.dndviewer.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.Toolkit;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.simple.AbstractView;
-
-import java.util.Vector;
-
-
-public class TestWorkspaceView extends AbstractView implements Workspace {
-    private static final Color markerDark = Toolkit.getColor(0xcccccc);
-    private static final Color markerLight = Toolkit.getColor(0xf0f0f0);
-    private final Vector views = new Vector();
-    private boolean showOutline;
-
-    public View[] getSubviews() {
-        View[] array = new View[views.size()];
-        views.copyInto(array);
-        return array;
-    }
-
-    protected TestWorkspaceView(final Content content) {
-        super(content, new TestWorkspaceSpecification(), null);
-    }
-
-    public void debug(DebugString debug) {
-        View[] subviews = getSubviews();
-        for (int i = 0; i < subviews.length; i++) {
-            subviews[i].debug(debug);
-            debug.append("\nContent: ");
-            debug.append(subviews[i].getContent() == null ? "none" : ("" + subviews[i].getContent().getAdapter()));
-            debug.append("\n----------------\n");
-        }
-    }
-
-    public void draw(final Canvas canvas) {
-        Bounds bounds = getBounds();
-        canvas.drawRectangle(0, 0, bounds.getWidth(), bounds.getHeight(), Toolkit.getColor(0x0000ff));
-        canvas.drawText("Test Workspace", 10, 20, Toolkit.getColor(0x0000ff), Toolkit.getText(ColorsAndFonts.TEXT_TITLE));
-
-        for (int i = 0; i < views.size(); i++) {
-            View view = (View) views.elementAt(i);
-
-            if (showOutline()) {
-                final Size requiredSize = view.getSize();
-                final Location location = view.getLocation();
-
-                final int width = requiredSize.getWidth();
-                final int height = requiredSize.getHeight();
-                final int baseline = location.getY() + view.getBaseline();
-                final int left = location.getX() - 10;
-                final int top = location.getY() - 10;
-                final int right = left + 10 + width - 1 + 10;
-                final int bottom = top + 10 + height - 1 + 10;
-
-                // horizontal lines
-                canvas.drawLine(left, top + 10, right, top + 10, markerDark);
-                canvas.drawLine(left, bottom - 10, right, bottom - 10, markerDark);
-
-                // vertical lines
-                canvas.drawLine(left + 10, top, left + 10, bottom, markerDark);
-                canvas.drawLine(right - 10, top, right - 10, bottom, markerDark);
-
-                canvas.drawRectangle(left + 10, top + 10, width - 1, height - 1, markerLight);
-
-                canvas.drawLine(left, baseline, left + 10, baseline, markerDark);
-                canvas.drawLine(right - 10, baseline, right, baseline, markerDark);
-                canvas.drawLine(left + 10, baseline, right - 10, baseline, markerLight);
-            }
-            Canvas subcanvas = canvas.createSubcanvas(view.getBounds());
-            view.draw(subcanvas);
-        }
-
-    }
-
-    private boolean showOutline() {
-        return showOutline;
-    }
-
-    public void setShowOutline(final boolean showOutline) {
-        this.showOutline = showOutline;
-    }
-
-    public View subviewFor(final Location location) {
-        for (int i = 0; i < views.size(); i++) {
-            View view = (View) views.elementAt(i);
-            if (view.getBounds().contains(location)) {
-                return view;
-            }
-        }
-
-        return null;
-    }
-
-    public void layout(final Size maximumSize) {
-        for (int i = 0; i < views.size(); i++) {
-            View view = (View) views.elementAt(i);
-            view.layout(new Size());
-        }
-
-    }
-
-    public Size getRequiredSize(final Size maximumSize) {
-        return new Size(600, 400);
-    }
-
-    public Workspace getWorkspace() {
-        return this;
-    }
-
-    public View addIconFor(final ObjectAdapter adapter, final Location at) {
-        return null;
-    }
-
-    public View addOpenViewFor(final ObjectAdapter object, final Location at) {
-        return null;
-    }
-
-    public View createSubviewFor(final ObjectAdapter object, final boolean asIcon) {
-        return null;
-    }
-
-    public void lower(final View view) {}
-
-    public void raise(final View view) {}
-
-    public void removeViewsFor(final ObjectAdapter object) {}
-
-    public void removeView(final View view) {
-        System.out.println("remove view " + view);
-    }
-
-    public void addView(final View view) {
-        views.addElement(view);
-        view.setParent(this);
-    }
-
-    public void removeObject(ObjectAdapter object) {}
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/image/ImageCatalogue.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/image/ImageCatalogue.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/image/ImageCatalogue.java
deleted file mode 100644
index 26ab0be..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/image/ImageCatalogue.java
+++ /dev/null
@@ -1,126 +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.dnd.image;
-
-import java.awt.Canvas;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Image;
-import java.awt.MediaTracker;
-import java.awt.Toolkit;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.io.File;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class ImageCatalogue extends Frame {
-    private static final String DIRECTORY = "src/images/";
-    private String[] files;
-    private Image[] images;
-    private int HEIGHT = 60;
-    private int WIDTH = 120;
-    private static MediaTracker mt = new MediaTracker(new Canvas());
-
-    public ImageCatalogue() {
-        File dir = new File(DIRECTORY);
-        if (!dir.exists()) {
-            throw new RuntimeException("No directory " + dir);
-        }
-        System.out.println(dir.getAbsolutePath());
-        files = dir.list();
-        images = new Image[files.length];
-
-        for (int i = 0; i < files.length; i++) {
-            String file = files[i];
-            String url = DIRECTORY + file;
-            Image image = Toolkit.getDefaultToolkit().createImage(url);
-            if (image != null) {
-                mt.addImage(image, 0);
-                try {
-                    mt.waitForAll();
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-                if (mt.isErrorAny()) {
-                    System.err.println("Failed to load image from resource: " + url + " " + mt.getErrorsAny()[0]);
-
-                    mt.removeImage(image);
-                    image = null;
-                }
-            }
-            System.out.println("Image " + image + " loaded from " + url);
-
-            images[i] = image;
-
-            if (images[i] == null) {
-                System.err.println(file + " not loaded");
-            }
-        }
-
-        addWindowListener(new WindowAdapter() {
-            public void windowClosing(final WindowEvent e) {
-                dispose();
-            }
-        });
-        setSize(300, 300);
-        show();
-    }
-
-    public static void main(final String[] args) {
-        // PropertyConfigurator.configure("log4j.testing.properties");
-        BasicConfigurator.configure();
-        new ImageCatalogue();
-    }
-
-    public void paint(final Graphics g) {
-        int width = getWidth();
-        int height = getHeight();
-        int x = getInsets().left;
-        int y = getInsets().top;
-
-        g.setFont(new Font("Sans", 0, 9));
-
-        for (int i = 0; i < images.length; i++) {
-            Image image = images[i];
-
-            if (image != null) {
-                g.drawImage(image, x, y, 32, 32, null);
-            }
-
-            g.drawString(files[i], x, y + HEIGHT - 3);
-
-            x = x + WIDTH;
-
-            if (x >= width) {
-                x = 0;
-                y = y + HEIGHT;
-
-                if (y >= height) {
-                    break;
-                }
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/viewer/IconImage.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/viewer/IconImage.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/viewer/IconImage.java
deleted file mode 100644
index 67251b4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/viewer/IconImage.java
+++ /dev/null
@@ -1,49 +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.dnd.viewer;
-
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Image;
-import java.awt.Insets;
-
-
-
-public class IconImage extends Frame {
-
-    public IconImage(String fileName) {
-        Image image = getToolkit().getImage(fileName);
-        setIconImage(image);
-        setSize(150, 150);
-        show();
-    }
-
-    public static void main(String[] args) {
-        new IconImage(args[0]);
-    }
-
-    public void paint(Graphics g) {
-        Insets in = insets();
-        g.drawImage(getIconImage(), in.left, in.top, this);
-    }
-}
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/BarSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/BarSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/BarSpecification.java
deleted file mode 100644
index 89603d4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/BarSpecification.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.dnd.special;
-
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.ObjectContent;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.core.AbstractCompositeViewSpecification;
-import org.apache.isis.viewer.dnd.value.PercentageBarField;
-
-class BarSpecification extends AbstractCompositeViewSpecification {
-	public BarSpecification() {
-		builder = new StackLayout(new ObjectFieldBuilder(new DataFormSubviews()));
-	}
-	
-	private static class DataFormSubviews implements SubviewSpec {
-		public View createSubview(Content content, ViewAxis axis) {
-			if(content instanceof ObjectContent && ((ObjectContent) content).getObject() instanceof Percentage) { 
-				ViewSpecification specification = new PercentageBarField.Specification();
-				return specification.createView(content, axis);
-			}
-			
-			return null;
-		}
-		
-		public View decorateSubview(View view) {
-			return view;
-		}
-	}
-
-	public String getName() {
-		return "Data Form";
-	}
-}
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/BarchartSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/BarchartSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/BarchartSpecification.java
deleted file mode 100644
index 1b96732..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/BarchartSpecification.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.dnd.special;
-
-import org.apache.isis.object.ObjectAdapter;
-import org.apache.isis.object.CollectionAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.basic.WindowDecorator;
-import org.apache.isis.viewer.dnd.core.AbstractCompositeViewSpecification;
-
-public class BarchartSpecification extends AbstractCompositeViewSpecification implements SubviewSpec {
-	private ViewSpecification specification = new BarSpecification();
-
-	public BarchartSpecification() {
-		builder = new WindowDecorator(new StackLayout(new CollectionElementBuilder(this, false)));
-	}
-	
-	public View createSubview(Content content, ViewAxis axis) {
-		return specification.createView(content, axis);
-	}
-
-	public String getName() {
-		return "Percentage Barchart";
-	}
-	
-	public boolean canDisplay(ObjectAdapter object) {
-		return object instanceof CollectionAdapter;
-	}
-}
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridColumnSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridColumnSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridColumnSpecification.java
deleted file mode 100644
index 5848398..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridColumnSpecification.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.dnd.special;
-
-import org.apache.isis.object.ObjectAdapterRuntimeException;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.ObjectContent;
-import org.apache.isis.viewer.dnd.OneToManyField;
-import org.apache.isis.viewer.dnd.ValueContent;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.core.AbstractCompositeViewSpecification;
-import org.apache.isis.viewer.dnd.util.ViewFactory;
-
-class GridColumnSpecification extends AbstractCompositeViewSpecification{
-
-    GridColumnSpecification() {
-        builder = new ColumnLayout(155, new ObjectFieldBuilder(new ColumnSubviews()));
-    }
-	
-	public String getName() {
-		return "Grid Column";
-	}
-	
-    private static class ColumnSubviews implements SubviewSpec {
-        public View createSubview(Content content, ViewAxis axis) {
-            ViewFactory factory = Skylark.getViewFactory();
-
-            ViewSpecification specification;
-
-            if (content instanceof OneToManyField) {
-                specification = new ScheduleSpecification();
-            } else if (content instanceof ValueContent) {
-                specification = factory.getValueFieldSpecification((ValueContent) content);
-            } else if (content instanceof ObjectContent) {
-                specification = factory.getIconizedSubViewSpecification((ObjectContent) content);
-            } else {
-                throw new ObjectAdapterRuntimeException();
-            }
-
-            return specification.createView(content, axis);
-        }
-
-        public View decorateSubview(View view) {
-            return view;
-        }
-    }
-}
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridLayout.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridLayout.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridLayout.java
deleted file mode 100644
index 31a5a81..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridLayout.java
+++ /dev/null
@@ -1,68 +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.dnd.special;
-
-import org.apache.isis.viewer.dnd.CompositeViewBuilder;
-import org.apache.isis.viewer.dnd.Location;
-import org.apache.isis.viewer.dnd.Size;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.core.AbstractBuilderDecorator;
-
-public class GridLayout extends AbstractBuilderDecorator {
-	public GridLayout(CompositeViewBuilder design) {
-		super(design);
-	}
-	
-	public Size getRequiredSize(View view) {
-		int height = 0;
-		int width = 0;
-        View views[] = view.getSubviews();
-
-        for (int i = 0; i < views.length; i++) {
-            View v = views[i];
-			Size s = v.getRequiredSize();
-			height = Math.max(height, s.getHeight());
-			width += s.getWidth();
-		}
-
-		return new Size(width, height);
-	}    
-    
-    public boolean isOpen() {
-		return true;
-	}
-
-    public void layout(View view) {
-		int x = 0, y = 0;
-        View views[] = view.getSubviews();
-
-        for (int i = 0; i < views.length; i++) {
-            View v = views[i];
-			Size s = v.getRequiredSize();
-			v.setSize(s);
-			v.setLocation(new Location(x, y));
-			x += s.getWidth();
-		}
-	}
-
-	
-}
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridSpecification.java
deleted file mode 100644
index d90841b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/GridSpecification.java
+++ /dev/null
@@ -1,53 +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.dnd.special;
-
-import org.apache.isis.object.ObjectAdapter;
-import org.apache.isis.object.CollectionAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.basic.WindowDecorator;
-import org.apache.isis.viewer.dnd.core.AbstractCompositeViewSpecification;
-
-public class GridSpecification extends AbstractCompositeViewSpecification implements SubviewSpec {
-	GridColumnSpecification columnSpecification = new GridColumnSpecification();
-	
-	public GridSpecification() {
-		builder = new WindowDecorator(new GridLayout(new CollectionElementBuilder(this, false)));
-	}
-	
-	public View createSubview(Content content, ViewAxis axis) {
-		return columnSpecification.createView(content, axis);
-	}
-
-	public String getName() {
-		return "Grid";
-	}
-	
-	public boolean canDisplay(ObjectAdapter adapter) {
-		return object instanceof CollectionAdapter;
-	}
-	
-	public boolean isReplaceable() {
-		return false;
-	}
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionFieldSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionFieldSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionFieldSpecification.java
deleted file mode 100644
index 8966d10..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionFieldSpecification.java
+++ /dev/null
@@ -1,67 +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.dnd.metal;
-
-import org.apache.isis.object.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Click;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.basic.SimpleIdentifier;
-import org.apache.isis.viewer.dnd.core.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.special.OpenOptionFieldBorder;
-
-import javax.swing.text.html.Option;
-
-
-
-public class OptionFieldSpecification extends AbstractFieldSpecification {
-    public boolean canDisplay(ObjectAdapter object) {
-        return object instanceof Option;
-    }
-    
-    public View createView(Content content, ViewAxis axis) {
-        return new SimpleIdentifier(new OptionSelectionFieldBorder(new OptionSelectionField(content, this, axis)));
-    }
-
-    public String getName() {
-        return "Drop down list";
-    }
-}
-
-
-class OptionSelectionFieldBorder extends OpenOptionFieldBorder {
-
-    public OptionSelectionFieldBorder(OptionSelectionField wrappedView) {
-        super(wrappedView);
-    }
-
-    protected View createOverlay() {
-            return new OptionSelectionFieldOverlay((OptionSelectionField) wrappedView);
-    }
-    
-    public void firstClick(Click click) {
-            if (canChangeValue()) {
-                super.firstClick(click);
-            }
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionSelectionField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionSelectionField.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionSelectionField.java
deleted file mode 100644
index a45f777..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionSelectionField.java
+++ /dev/null
@@ -1,96 +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.dnd.value;
-
-import org.apache.isis.object.InvalidEntryException;
-import org.apache.isis.object.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Click;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.ObjectContent;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.basic.SimpleIdentifier;
-import org.apache.isis.viewer.dnd.core.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.special.OpenOptionFieldBorder;
-
-import javax.swing.text.html.Option;
-
-public class OptionSelectionField extends TextField {
-
-    private String selected;
-
-    public static class Specification extends AbstractFieldSpecification {
-        public boolean canDisplay(ObjectAdapter object) {
-            return object.getObject() instanceof Option;
-        }
-        
-        public View createView(Content content, ViewAxis axis) {
-            return new SimpleIdentifier(new OptionSelectionFieldBorder(new OptionSelectionField(content, this, axis)));
-        }
-
-        public String getName() {
-            return "Drop down list";
-        }
-    }
-
-    public OptionSelectionField(Content content, ViewSpecification specification, ViewAxis axis) {
-        super(content, specification, axis, false);
-    }
-    
-    Option getOption() {
-        ObjectContent content = ((ObjectContent) getContent());
-        Option value = (Option) content.getObject().getObject();
-
-        return value;
-    }
-    
-    void set(String selected) {
-        this.selected = selected;
-        initiateSave();
-    }
-    
-    protected void save() {
-        try {
-            parseEntry(selected);
-        } catch (InvalidEntryException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-    }
-}
-
-class OptionSelectionFieldBorder extends OpenOptionFieldBorder {
-
-    public OptionSelectionFieldBorder(OptionSelectionField wrappedView) {
-        super(wrappedView);
-    }
-
-    protected View createOverlay() {
-            return new OptionSelectionFieldOverlay((OptionSelectionField) wrappedView);
-    }
-    
-    public void firstClick(Click click) {
-        if (canChangeValue()) {
-            super.firstClick(click);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionSelectionFieldOverlay.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionSelectionFieldOverlay.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionSelectionFieldOverlay.java
deleted file mode 100644
index cc3e987..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/views/OptionSelectionFieldOverlay.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.dnd.value;
-
-import org.apache.isis.extensions.dndviewer.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Click;
-import org.apache.isis.viewer.dnd.Size;
-import org.apache.isis.viewer.dnd.Style;
-import org.apache.isis.viewer.dnd.Text;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.core.AbstractView;
-
-public class OptionSelectionFieldOverlay extends AbstractView implements View {
-	private String options[];
-	private int rowHeight;
-
-	private OptionSelectionField field;
-	private static final Text STYLE = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-	
-	public OptionSelectionFieldOverlay(OptionSelectionField field) {
-		super(field.getContent(), null, null);
-		this.field = field;
-		
-		options = field.getOption().getOptions();
-		rowHeight = STYLE.getHeight();
-	}
-	
-	public Size getRequiredSize() {
-		Size size = new Size();
-		for (int i = 0; i < options.length; i++) {
-			size.extendHeight(rowHeight);
-			size.ensureWidth(STYLE.stringWidth(options[i]));
-		}
-		size.extendHeight(2 * VPADDING);
-		size.extendWidth(2 * HPADDING);
-		return size;
-	}
-	
-	public int getBaseline() {
-        return STYLE.getAscent();
-    }
-	
-	public void draw(Canvas canvas) {
-		Size size = getSize();
-		canvas.drawSolidRectangle(0,0, size.getWidth() - 1, size.getHeight() - 1, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-		canvas.drawRectangle(0,0, size.getWidth() - 1, size.getHeight() - 1, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2));
-		int x = HPADDING;
-		int y = VPADDING;
-		for (int i = 0; i < options.length; i++) {
-			canvas.drawText(options[i], x, y + getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_BLACK), STYLE);
-			y += rowHeight;
-		}
-	}
-	
-	public void firstClick(Click click) {
-		int y = click.getLocation().getY() - VPADDING;
-		int row = y / rowHeight;
-		field.set(options[row]);
-		dispose();
-	}
-}
-


[21/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ImageField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ImageField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ImageField.java
deleted file mode 100644
index 6def485..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/ImageField.java
+++ /dev/null
@@ -1,264 +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.dnd.field;
-
-import java.awt.Image;
-import java.awt.MediaTracker;
-import java.awt.datatransfer.Clipboard;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.Transferable;
-import java.awt.event.InputEvent;
-import java.awt.event.KeyEvent;
-import java.io.File;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.progmodel.facets.value.image.ImageValueFacet;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.view.base.AwtImage;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.field.OneToOneField;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class ImageField extends AbstractField {
-    public static class Specification extends AbstractFieldSpecification {
-        @Override
-        public boolean canDisplay(final ViewRequirement requirement) {
-            return requirement.isForValueType(ImageValueFacet.class);
-        }
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            return new ImageField(content, this);
-        }
-
-        @Override
-        public String getName() {
-            return "Image";
-        }
-    }
-
-    private static final Logger LOG = LoggerFactory.getLogger(ImageField.class);
-    private static final MediaTracker mt = new MediaTracker(new java.awt.Canvas());
-
-    public ImageField(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    public boolean canFocus() {
-        return true;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        super.contentMenuOptions(options);
-
-        options.add(new UserActionAbstract("Load image from file...") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final String file = getViewManager().selectFilePath("Load image", ".");
-                if (new File(file).exists()) {
-                    loadImageFromFile(file);
-                }
-            }
-        });
-    }
-
-    private void copy() {
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        Color color;
-
-        if (hasFocus()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-        } else if (getParent().getState().isObjectIdentified()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED);
-        } else if (getParent().getState().isRootViewIdentified()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2);
-        } else {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        }
-
-        int top = 0;
-        int left = 0;
-
-        final Size size = getSize();
-        int w = size.getWidth() - 1;
-        int h = size.getHeight() - 1;
-        canvas.drawRectangle(left, top, w, h, color);
-        left++;
-        top++;
-        w -= 1;
-        h -= 1;
-
-        final ObjectAdapter value = getContent().getAdapter();
-        if (value != null) {
-            final ImageValueFacet facet = value.getSpecification().getFacet(ImageValueFacet.class);
-            final java.awt.Image image = facet.getImage(value);
-            if (image != null) {
-                final Size imageSize = new Size(facet.getWidth(value), facet.getHeight(value));
-                if (imageSize.getWidth() <= w && imageSize.getHeight() <= h) {
-                    canvas.drawImage(new AwtImage(image), left, top);
-                } else {
-                    canvas.drawImage(new AwtImage(image), left, top, w, h);
-                }
-            }
-        }
-    }
-
-    @Override
-    public int getBaseline() {
-        return ViewConstants.VPADDING + Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getAscent();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final ObjectAdapter value = getContent().getAdapter();
-        if (value == null) {
-            return super.getRequiredSize(availableSpace);
-        } else {
-            final ImageValueFacet facet = value.getSpecification().getFacet(ImageValueFacet.class);
-            final int width = Math.min(120, Math.max(32, facet.getWidth(value)));
-            final int height = Math.min(120, Math.max(32, facet.getHeight(value)));
-            return new Size(width, height);
-        }
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (canChangeValue().isVetoed()) {
-            return;
-        }
-
-        final int keyCode = key.getKeyCode();
-        if (keyCode == KeyEvent.VK_CONTROL || keyCode == KeyEvent.VK_SHIFT || keyCode == KeyEvent.VK_ALT) {
-            return;
-        }
-
-        final int modifiers = key.getModifiers();
-        final boolean ctrl = (modifiers & InputEvent.CTRL_MASK) > 0;
-
-        switch (keyCode) {
-        case KeyEvent.VK_V:
-            if (ctrl) {
-                key.consume();
-                pasteFromClipboard();
-            }
-            break;
-        case KeyEvent.VK_C:
-            if (ctrl) {
-                key.consume();
-                copy();
-            }
-            break;
-        }
-    }
-
-    private void loadImage(final Image image) {
-        mt.addImage(image, 1);
-        try {
-            mt.waitForAll();
-        } catch (final InterruptedException e) {
-            throw new IsisException(e);
-        }
-
-        // final ObjectAdapter value = getContent().getAdapter();
-        final ImageValueFacet facet = ((FieldContent) getContent()).getSpecification().getFacet(ImageValueFacet.class);
-        final ObjectAdapter object = facet.createValue(image);
-        ((OneToOneField) getContent()).setObject(object);
-        // ((TextParseableField) getContent()).entryComplete();
-        invalidateLayout();
-    }
-
-    /*
-     * private void loadImageFromURL(final String filename) { try { final URL
-     * url = new URL("file://" + filename); final Image image =
-     * java.awt.Toolkit.getDefaultToolkit().getImage(url); loadImage(image); }
-     * catch (final MalformedURLException e) { throw new
-     * IsisException("Failed to load image from " + filename); } }
-     */
-    private void loadImageFromFile(final String filename) {
-        final Image image = java.awt.Toolkit.getDefaultToolkit().getImage(filename);
-        loadImage(image);
-    }
-
-    @Override
-    protected void pasteFromClipboard() {
-        final Clipboard cb = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
-        final Transferable content = cb.getContents(this);
-
-        try {
-            if (content.isDataFlavorSupported(DataFlavor.stringFlavor)) {
-                // treat a string as a file
-                final String filename = (String) content.getTransferData(DataFlavor.stringFlavor);
-                LOG.debug("pasted image from " + filename);
-                loadImageFromFile("file://" + filename);
-
-            } else {
-                LOG.info("unsupported paste operation " + content);
-
-                // note java does not support transferring images from the
-                // clipboard
-                // although it has an image flavor for it !!?
-                /*
-                 * DataFlavor[] transferDataFlavors =
-                 * content.getTransferDataFlavors(); for (int i = 0; i <
-                 * transferDataFlavors.length; i++) {
-                 * LOG.debug("data transfer as " +
-                 * transferDataFlavors[i].getMimeType()); }
-                 * 
-                 * Image image = (Image)
-                 * content.getTransferData(DataFlavor.imageFlavor);
-                 * LOG.debug("pasted " + image);
-                 */
-
-            }
-
-        } catch (final Throwable e) {
-            LOG.error("invalid paste operation " + e);
-        }
-
-    }
-
-    @Override
-    protected void save() {
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasswordField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasswordField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasswordField.java
deleted file mode 100644
index 72e3b12..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasswordField.java
+++ /dev/null
@@ -1,188 +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.dnd.field;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.text.TextContent;
-
-public class PasswordField extends TextField {
-    protected static final Text style = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-    private int maxTextWidth;
-    private char echoCharacter;
-
-    public PasswordField(final Content content, final ViewSpecification design) {
-        super((TextParseableContent) content, design, true, TextContent.NO_WRAPPING);
-        setMaxTextWidth(TEXT_WIDTH);
-        final String echoCharacterSetting = IsisContext.getConfiguration().getString(Properties.PROPERTY_BASE + "echo");
-        if (echoCharacterSetting == null || echoCharacterSetting.equals(" ")) {
-            echoCharacter = '*';
-        } else {
-            echoCharacter = echoCharacterSetting.charAt(0);
-        }
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        options.add(new ClearValueOption(this));
-        options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_VALUE));
-    }
-
-    @Override
-    protected boolean provideClearCopyPaste() {
-        return false;
-    }
-
-    /**
-     * Only allow deletion of last character, ie don;t allow editing of the
-     * internals of the password.
-     */
-    @Override
-    public void delete() {
-        textContent.deleteLeft(cursor);
-        cursor.left();
-        selection.resetTo(cursor);
-        changeMade();
-    }
-
-    /**
-     * disable left key.
-     */
-    @Override
-    protected void left(final boolean alt, final boolean shift) {
-    }
-
-    /**
-     * disable right key.
-     */
-    @Override
-    protected void right(final boolean alt, final boolean shift) {
-    }
-
-    /**
-     * disable home key.
-     */
-    @Override
-    protected void home(final boolean alt, final boolean shift) {
-    }
-
-    /**
-     * disable end key.
-     */
-    @Override
-    protected void end(final boolean alt, final boolean shift) {
-    }
-
-    /**
-     * disable page down key.
-     */
-    @Override
-    protected void pageDown(final boolean shift, final boolean ctrl) {
-    }
-
-    /**
-     * disable page up key.
-     */
-    @Override
-    protected void pageUp(final boolean shift, final boolean ctrl) {
-    }
-
-    private String echoPassword(final String password) {
-        final int length = password.length();
-        String echoedPassword = "";
-        for (int i = 0; i < length; i++) {
-            echoedPassword += echoCharacter;
-        }
-        return echoedPassword;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final int width = ViewConstants.HPADDING + maxTextWidth + ViewConstants.HPADDING;
-        int height = style.getTextHeight() + ViewConstants.VPADDING;
-        height = Math.max(height, Toolkit.defaultFieldHeight());
-
-        return new Size(width, height);
-    }
-
-    /**
-     * Set the maximum width of the field, as a number of characters
-     */
-    private void setMaxTextWidth(final int noCharacters) {
-        maxTextWidth = style.charWidth('o') * noCharacters;
-    }
-
-    @Override
-    protected void align() {
-    }
-
-    @Override
-    protected void drawHighlight(final Canvas canvas, final int maxWidth) {
-    }
-
-    @Override
-    protected void drawLines(final Canvas canvas, final Color color, final int width) {
-        final int baseline = getBaseline();
-        canvas.drawLine(ViewConstants.HPADDING, baseline, ViewConstants.HPADDING + width, baseline, color);
-    }
-
-    @Override
-    protected void drawText(final Canvas canvas, final Color textColor, final int width) {
-
-        final String[] lines = textContent.getDisplayLines();
-        if (lines.length > 1) {
-            throw new IsisException("Password field should contain a string that contains no line breaks; contains " + lines.length);
-        }
-
-        final String chars = lines[0];
-        if (chars == null) {
-            throw new IsisException();
-        }
-        if (chars.endsWith("\n")) {
-            throw new IsisException();
-        }
-
-        final int baseline = getBaseline();
-        final String echoPassword = echoPassword(chars);
-
-        // draw cursor
-        if (hasFocus() && canChangeValue().isAllowed()) {
-            final int pos = style.stringWidth(echoPassword) - ViewConstants.HPADDING;
-            final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_TEXT_CURSOR);
-            canvas.drawLine(pos, (baseline + style.getDescent()), pos, baseline - style.getAscent(), color);
-        }
-
-        // draw text
-        canvas.drawText(echoPassword, ViewConstants.HPADDING, baseline, textColor, style);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasswordFieldSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasswordFieldSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasswordFieldSpecification.java
deleted file mode 100644
index a51dfeb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasswordFieldSpecification.java
+++ /dev/null
@@ -1,49 +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.dnd.field;
-
-import org.apache.isis.core.progmodel.facets.value.password.PasswordValueFacet;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.AbstractFieldSpecification;
-
-public class PasswordFieldSpecification extends AbstractFieldSpecification {
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isTextParseable() && requirement.isForValueType(PasswordValueFacet.class);
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        return new PasswordField(content, this);
-    }
-
-    @Override
-    public String getName() {
-        return "Password Field";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasteValueOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasteValueOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasteValueOption.java
deleted file mode 100644
index 138ae26..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/PasteValueOption.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.dnd.field;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class PasteValueOption extends AbstractValueOption {
-
-    public PasteValueOption(final AbstractField field) {
-        super(field, "Paste");
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        final Consent changable = view.canChangeValue();
-        if (changable.isVetoed()) {
-            return changable;
-        } else {
-            return changable.setDescription(String.format("Replace field content with '%s' from clipboard", getClipboard(view)));
-        }
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        field.pasteFromClipboard();
-    }
-
-    private String getClipboard(final View view) {
-        return (String) view.getViewManager().getClipboard(String.class);
-    }
-
-    @Override
-    public String toString() {
-        return "PasteValueOption";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/RevertFieldOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/RevertFieldOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/RevertFieldOption.java
deleted file mode 100644
index ba739de..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/RevertFieldOption.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.dnd.field;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.ConsentAbstract;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class RevertFieldOption extends UserActionAbstract {
-    private final TextField field;
-
-    public RevertFieldOption(final TextField field) {
-        super("Revert");
-        this.field = field;
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "Revert the field to it original state";
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        return ConsentAbstract.allowIf(field.hasInvalidEntry());
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        field.revertInvalidEntry();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/SimpleDatePicker.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/SimpleDatePicker.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/SimpleDatePicker.java
deleted file mode 100644
index 46f6408..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/SimpleDatePicker.java
+++ /dev/null
@@ -1,392 +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.dnd.field;
-
-import java.awt.event.KeyEvent;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.progmodel.facets.value.date.DateValueFacet;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Shape;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-public class SimpleDatePicker extends AbstractView implements DatePicker {
-    private static class Button {
-        private final char key;
-        private final int period;
-        private final int increment;
-
-        public Button(final char key, final int period, final int increment) {
-            this.key = key;
-            this.period = period;
-            this.increment = increment;
-        }
-
-        public void adjustDate(final Calendar date) {
-            date.add(period, increment);
-        }
-
-        public String getLabel() {
-            return "" + key;
-        }
-    }
-
-    private static final Button[] buttons = new Button[] { new Button('W', Calendar.WEEK_OF_YEAR, 1), new Button('F', Calendar.WEEK_OF_YEAR, 2), new Button('M', Calendar.MONTH, 1), new Button('Q', Calendar.MONTH, 3), new Button('Y', Calendar.YEAR, 1), new Button('D', Calendar.YEAR, 10),
-
-    new Button('w', Calendar.WEEK_OF_YEAR, -1), new Button('f', Calendar.WEEK_OF_YEAR, -2), new Button('m', Calendar.MONTH, -1), new Button('q', Calendar.MONTH, -3), new Button('y', Calendar.YEAR, -1), new Button('d', Calendar.YEAR, -10) };
-    private static final int ROWS = 7;
-    private static final int COLUMNS = 7;
-    private static final int PADDING = 5;
-    private final Calendar date;
-    private final Text style = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-    private final int labelWidth = style.stringWidth("XXX 0000") * 4 / 3;
-    private final int cellWidth = style.stringWidth("00") * 8 / 5;
-    private final int cellHeight = style.getLineHeight() * 4 / 3;
-    private final int headerHeight = style.getLineHeight() + PADDING * 2;
-    private final int firstRowBaseline = headerHeight + style.getLineHeight();
-    private final int calendarHeight = cellHeight * ROWS;
-    private final int controlWidth = style.charWidth('W') + 4;
-    private final int controlHeight = style.getLineHeight() * 11 / 10 + controlWidth + 4 + PADDING * 2;
-    private int mouseOverButton = -1;
-    private int mouseOverRow = -1;
-    private int mouseOverColumn;
-    private Calendar currentDate;
-    private final Calendar today;
-    private final DateFormat monthFormat = new SimpleDateFormat("MMM");
-    private final DateFormat dayFormat = new SimpleDateFormat("EEE");
-    private final boolean isEditable;
-
-    public SimpleDatePicker(final Content content) {
-        super(content);
-
-        isEditable = content instanceof FieldContent && ((FieldContent) content).isEditable().isAllowed();
-
-        today = Calendar.getInstance();
-        clearTime(today);
-
-        date = Calendar.getInstance();
-        final ObjectAdapter dateAdapter = ((TextParseableContent) getContent()).getAdapter();
-        if (dateAdapter != null) {
-            final DateValueFacet facet = dateAdapter.getSpecification().getFacet(DateValueFacet.class);
-            currentDate = Calendar.getInstance();
-            final Date dateValue = facet.dateValue(dateAdapter);
-            currentDate.setTime(dateValue);
-            clearTime(currentDate);
-            date.setTime(dateValue);
-        }
-        clearTime(date);
-        date.add(Calendar.DAY_OF_MONTH, -21);
-        roundDownDate();
-    }
-
-    private void roundDownDate() {
-        date.add(Calendar.DAY_OF_MONTH, date.getFirstDayOfWeek() - date.get(Calendar.DAY_OF_WEEK));
-    }
-
-    private void clearTime(final Calendar date) {
-        date.clear(Calendar.AM_PM);
-        date.clear(Calendar.HOUR);
-        date.clear(Calendar.HOUR_OF_DAY);
-        date.clear(Calendar.MINUTE);
-        date.clear(Calendar.SECOND);
-        date.clear(Calendar.MILLISECOND);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.nakedobjects.plugins.dnd.field.DatePicker#getRequiredSize(org.
-     * nakedobjects.plugins.dnd.drawing.Size)
-     */
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(labelWidth + COLUMNS * cellWidth + 2, headerHeight + calendarHeight + controlHeight + 2);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.nakedobjects.plugins.dnd.field.DatePicker#draw(org.nakedobjects.plugins
-     * .dnd.drawing.Canvas)
-     */
-    @Override
-    public void draw(final Canvas canvas) {
-        final int width = getSize().getWidth();
-        final int height = getSize().getHeight();
-
-        final Color secondaryTextColor = Toolkit.getColor(ColorsAndFonts.COLOR_WHITE);
-        final Color mainTextColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-
-        drawBackground(canvas, width, height);
-        drawDaysOfWeek(canvas, secondaryTextColor);
-        if (isEditable) {
-            drawDayMarker(canvas);
-        }
-        drawMonthsAndWeeks(canvas, secondaryTextColor);
-        drawDays(canvas, mainTextColor);
-        drawControls(canvas, width);
-    }
-
-    private void drawBackground(final Canvas canvas, final int width, final int height) {
-        canvas.drawSolidRectangle(0, 0, width - 1, headerHeight, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        canvas.drawSolidRectangle(0, 0, labelWidth, height - 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        canvas.drawSolidRectangle(labelWidth, headerHeight, width - labelWidth - 1, height - cellHeight - 1, Toolkit.getColor(ColorsAndFonts.COLOR_WINDOW));
-        canvas.drawRectangle(0, 0, width - 1, height - 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-    }
-
-    private void drawDaysOfWeek(final Canvas canvas, final Color textColor) {
-        final Calendar d = Calendar.getInstance();
-        d.setTime(date.getTime());
-        int x = labelWidth + cellWidth / 2;
-        final int y = PADDING + style.getAscent();
-        for (int column = 0; column < 7; column++) {
-            final String day = dayFormat.format(d.getTime()).substring(0, 1);
-            canvas.drawText(day, x - style.stringWidth(day) / 2, y, textColor, style);
-            x += cellWidth;
-            d.add(Calendar.DAY_OF_MONTH, 1);
-        }
-    }
-
-    private void drawDayMarker(final Canvas canvas) {
-        if (mouseOverColumn >= 0 && mouseOverColumn < COLUMNS && mouseOverRow >= 0 && mouseOverRow < ROWS) {
-            canvas.drawRectangle(labelWidth + mouseOverColumn * cellWidth, headerHeight + mouseOverRow * cellHeight, cellWidth, cellHeight, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3));
-        }
-    }
-
-    private int drawMonthsAndWeeks(final Canvas canvas, final Color color) {
-        final Calendar d = Calendar.getInstance();
-        d.setTime(date.getTime());
-        int y = firstRowBaseline;
-        String lastMonth = "";
-        for (int row = 0; row < ROWS; row++) {
-            final int x = labelWidth;
-            final String month = monthFormat.format(d.getTime()) + " " + d.get(Calendar.YEAR);
-            if (!month.equals(lastMonth)) {
-                canvas.drawText(month, x - style.stringWidth(month) - PADDING, y, color, style);
-                lastMonth = month;
-            } else {
-                final String week = "wk " + (d.get(Calendar.WEEK_OF_YEAR));
-                canvas.drawText(week == null ? "*" : week, x - style.stringWidth(week) - PADDING, y, color, style);
-            }
-            d.add(Calendar.DAY_OF_MONTH, 7);
-            y += cellHeight;
-        }
-        return y;
-    }
-
-    private int drawDays(final Canvas canvas, final Color mainTextColor) {
-        final Calendar d = Calendar.getInstance();
-        d.setTime(date.getTime());
-        int y = firstRowBaseline;
-        for (int row = 0; row < ROWS; row++) {
-            int x = labelWidth;
-            for (int column = 0; column < COLUMNS; column++) {
-                final String day = "" + d.get(Calendar.DAY_OF_MONTH);
-                if (currentDate != null && currentDate.equals(d)) {
-                    canvas.drawSolidRectangle(x, headerHeight + row * cellHeight, cellWidth, cellHeight, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2));
-                }
-                if (today.getTime().equals(d.getTime())) {
-                    canvas.drawRectangle(x, headerHeight + row * cellHeight, cellWidth, cellHeight, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-                }
-                canvas.drawText(day, x - PADDING / 2 + cellWidth - style.stringWidth(day), y, mainTextColor, style);
-                x += cellWidth;
-                d.add(Calendar.DAY_OF_MONTH, 1);
-            }
-            y += cellHeight;
-        }
-        return y;
-    }
-
-    private void drawControls(final Canvas canvas, final int width) {
-        int x = labelWidth + PADDING;
-        final int y = headerHeight + calendarHeight + PADDING;
-
-        final int spaceTaken = width - labelWidth - 2 * PADDING - 6 * controlWidth;
-        final int spaceBetween = spaceTaken / 5;
-        final int adjustment = spaceTaken - 5 * spaceBetween - 2;
-
-        for (int i = 0; i < buttons.length / 2; i++) {
-            drawControl(canvas, x, y, controlWidth, controlHeight - PADDING * 2, buttons[i].getLabel(), i);
-            x += controlWidth + spaceBetween + (i == 3 ? adjustment : 0);
-        }
-    }
-
-    private void drawControl(final Canvas canvas, final int x, final int y, final int width, final int height, final String label, final int over) {
-        if (Toolkit.debug) {
-            canvas.drawRectangle(x - 2, y, width + 4, height, Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_VIEW));
-        }
-        final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-
-        final int arrowHeight = width / 2;
-        final Shape upArrow = new Shape(0, arrowHeight);
-        upArrow.addVector(arrowHeight, -arrowHeight);
-        upArrow.addVector(arrowHeight, arrowHeight);
-        if (mouseOverButton == over + 6) {
-            canvas.drawSolidShape(upArrow, x, y + 2, color);
-        } else {
-            canvas.drawShape(upArrow, x, y + 2, color);
-        }
-
-        final Shape downArrow = new Shape(0, 0);
-        downArrow.addVector(arrowHeight, arrowHeight);
-        downArrow.addVector(arrowHeight, -arrowHeight);
-        if (mouseOverButton == over) {
-            canvas.drawSolidShape(downArrow, x, y + height - 4 - arrowHeight, color);
-        } else {
-            canvas.drawShape(downArrow, x, y + height - 4 - arrowHeight, color);
-        }
-        final int charWidth = style.stringWidth(label);
-        canvas.drawText(label, x + width / 2 - charWidth / 2, y + 2 + arrowHeight + style.getAscent(), color, style);
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.nakedobjects.plugins.dnd.field.DatePicker#mouseMoved(org.nakedobjects
-     * .plugins.dnd.drawing.Location)
-     */
-    @Override
-    public void mouseMoved(final Location location) {
-        final int over = overButton(location);
-        if (over == -1) {
-            mouseOverButton = -1;
-            final int col = column(location);
-            final int row = row(location);
-            if (col != mouseOverColumn || row != mouseOverRow) {
-                if (isEditable) {
-                    mouseOverColumn = col;
-                    mouseOverRow = row;
-                }
-                markDamaged();
-            }
-        } else if (over != mouseOverButton) {
-            mouseOverButton = over;
-            markDamaged();
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.nakedobjects.plugins.dnd.field.DatePicker#exited()
-     */
-    @Override
-    public void exited() {
-        mouseOverButton = -1;
-        super.exited();
-    }
-
-    private int overButton(final Location location) {
-        final int x = location.getX();
-        final int y = location.getY();
-        final int verticalBoundary = headerHeight + calendarHeight + PADDING;
-        final int height = controlHeight - PADDING * 2;
-        if (x > labelWidth && y > verticalBoundary && y < verticalBoundary + height) {
-            int column = (x - labelWidth) / ((getSize().getWidth() - labelWidth) / 6);
-            if (y <= verticalBoundary + height / 2) {
-                column += 6;
-            }
-            return column;
-        } else {
-            return -1;
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.nakedobjects.plugins.dnd.field.DatePicker#firstClick(org.nakedobjects
-     * .plugins.dnd.view.Click)
-     */
-    @Override
-    public void firstClick(final Click click) {
-        if (mouseOverButton != -1) {
-            buttons[mouseOverButton].adjustDate(date);
-            roundDownDate();
-            markDamaged();
-            return;
-        }
-
-        if (isEditable) {
-            final Location location = click.getLocation();
-            final int col = column(location);
-            final int row = row(location);
-            if (col >= 0 && col < COLUMNS && row >= 0 && row < ROWS) {
-                date.add(Calendar.DAY_OF_MONTH, row * 7 + col);
-                final Content content = getContent();
-                final DateValueFacet facet = content.getSpecification().getFacet(DateValueFacet.class);
-                final ObjectAdapter value = facet.createValue(date.getTime());
-                ((TextParseableContent) content).parseTextEntry(value.titleString());
-                ((TextParseableContent) content).entryComplete();
-                /*
-                 * if (content.isObject()) { ((ObjectContent)
-                 * content).setObject(value); }
-                 */
-                // content.
-                getView().refresh();
-
-                // content.
-            }
-        }
-        getViewManager().clearOverlayView();
-    }
-
-    private int row(final Location location) {
-        return (location.getY() - headerHeight) / cellHeight;
-    }
-
-    private int column(final Location location) {
-        return (location.getX() - labelWidth) / cellWidth;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.nakedobjects.plugins.dnd.field.DatePicker#keyPressed(org.nakedobjects
-     * .plugins.dnd.view.KeyboardAction)
-     */
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (isEditable && key.getKeyCode() == KeyEvent.VK_ESCAPE) {
-            getViewManager().clearOverlayView();
-        } else {
-            super.keyPressed(key);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/SingleLineTextField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/SingleLineTextField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/SingleLineTextField.java
deleted file mode 100644
index 0794e3b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/SingleLineTextField.java
+++ /dev/null
@@ -1,129 +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.dnd.field;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.text.TextContent;
-import org.apache.isis.viewer.dnd.view.text.TextUtils;
-
-public class SingleLineTextField extends TextField {
-    private static final int LIMIT = 20;
-    private int offset = 0;
-
-    public SingleLineTextField(final TextParseableContent content, final ViewSpecification specification, final boolean showLines) {
-        super(content, specification, showLines, TextContent.NO_WRAPPING);
-    }
-
-    @Override
-    protected void align() {
-        final String line = textContent.getText(0);
-        if (line != null) {
-            final int maxWidth = getMaxFieldWidth();
-            final int leftLimit = offset + LIMIT;
-            final int rightLimit = offset + maxWidth - LIMIT;
-
-            if (cursor.getCharacter() > line.length()) {
-                cursor.end();
-            }
-
-            final int cursorPosition = style.stringWidth(line.substring(0, cursor.getCharacter()));
-            if (cursorPosition > rightLimit) {
-                offset = offset + (cursorPosition - rightLimit);
-                offset = Math.min(style.stringWidth(line), offset);
-            } else if (cursorPosition < leftLimit) {
-                offset = offset - (leftLimit - cursorPosition);
-                offset = Math.max(0, offset);
-            }
-        }
-    }
-
-    @Override
-    protected void drawHighlight(final Canvas canvas, final int maxWidth) {
-        final int baseline = getBaseline();
-        final int top = baseline - style.getAscent();
-
-        int from = selection.from().getCharacter();
-        int to = selection.to().getCharacter();
-
-        final String line = textContent.getText(0);
-        if (to >= line.length()) {
-            to = line.length();
-        }
-        if (from >= line.length()) {
-            from = line.length();
-        }
-        if (line != null) {
-            final int start = style.stringWidth(line.substring(0, from));
-            final int end = style.stringWidth(line.substring(0, to));
-            canvas.drawSolidRectangle(start + (ViewConstants.HPADDING), top, end - start, style.getLineHeight(), Toolkit.getColor(ColorsAndFonts.COLOR_TEXT_HIGHLIGHT));
-        }
-    }
-
-    @Override
-    protected void drawLines(final Canvas canvas, final Color color, final int width) {
-        final int baseline = getBaseline();
-        canvas.drawLine(ViewConstants.HPADDING, baseline, ViewConstants.HPADDING + width, baseline, color);
-    }
-
-    @Override
-    protected void drawText(final Canvas canvas, final Color textColor, final int width) {
-        final String[] lines = textContent.getDisplayLines();
-        if (lines.length > 1) {
-            throw new IsisException("Single line text field should contain a string that contains no line breaks; contains " + lines.length);
-        }
-
-        final String chars = lines[0];
-        if (chars == null) {
-            throw new IsisException();
-        }
-        if (chars.endsWith("\n")) {
-            throw new RuntimeException();
-        }
-
-        final int baseline = getBaseline();
-
-        // draw cursor
-        if (hasFocus() && canChangeValue().isAllowed()) {
-            final int at = Math.min(cursor.getCharacter(), chars.length());
-            final int pos = style.stringWidth(chars.substring(0, at)) - offset + ViewConstants.HPADDING;
-            canvas.drawLine(pos, (baseline + style.getDescent()), pos, baseline - style.getAscent(), Toolkit.getColor(ColorsAndFonts.COLOR_TEXT_CURSOR));
-        }
-
-        // draw text
-        final String line = hasFocus() ? chars : TextUtils.limitText(chars, style, width);
-        canvas.drawText(line, ViewConstants.HPADDING - offset, baseline, textColor, style);
-    }
-
-    @Override
-    public void setMaximumSize(final Size size) {
-        final int width = Math.max(180, size.getWidth() - ViewConstants.HPADDING);
-        setWidth(width);
-        invalidateLayout();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextField.java
deleted file mode 100644
index b2436a4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextField.java
+++ /dev/null
@@ -1,758 +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.dnd.field;
-
-import java.awt.event.InputEvent;
-import java.awt.event.KeyEvent;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
-import org.apache.isis.core.metamodel.facets.object.parseable.InvalidEntryException;
-import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.interaction.SimpleInternalDrag;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.TextView;
-import org.apache.isis.viewer.dnd.view.border.BackgroundBorder;
-import org.apache.isis.viewer.dnd.view.border.LineBorder;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.text.CursorPosition;
-import org.apache.isis.viewer.dnd.view.text.TextBlockTarget;
-import org.apache.isis.viewer.dnd.view.text.TextContent;
-import org.apache.isis.viewer.dnd.view.text.TextSelection;
-
-public abstract class TextField extends TextParseableFieldAbstract implements TextBlockTarget {
-    private static final Logger LOG = LoggerFactory.getLogger(TextField.class);
-    protected static final Text style = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-    protected CursorPosition cursor;
-    private boolean identified;
-    private String invalidReason = null;
-    private boolean isSaved = true;
-    private final int maxLength;
-    private int displayWidth;
-    protected TextSelection selection;
-    private final boolean showLines;
-    protected TextContent textContent;
-    protected boolean useEmptyLines;
-
-    public TextField(final TextParseableContent content, final ViewSpecification specification, final boolean showLines, final int wrapStyle) {
-        this(content, specification, showLines, wrapStyle, false);
-    }
-
-    public TextField(final TextParseableContent content, final ViewSpecification specification, final boolean showLines, final int wrapStyle, final boolean useEmptyLines) {
-        super(content, specification);
-        this.showLines = showLines;
-
-        int typicalLength = content.getTypicalLineLength();
-        typicalLength = typicalLength == 0 ? TEXT_WIDTH : typicalLength / content.getNoLines();
-        setTextWidth(typicalLength);
-
-        this.maxLength = content.getMaximumLength();
-        this.useEmptyLines = useEmptyLines;
-
-        textContent = new TextContent(this, 1, wrapStyle, this.useEmptyLines);
-        cursor = new CursorPosition(textContent, 0, 0);
-        selection = new TextSelection(textContent);
-        final ObjectAdapter value = getValue();
-        textContent.setText(value == null ? "" : titleString(value));
-        cursor.home();
-        isSaved = true;
-    }
-
-    protected abstract void align();
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        super.contentMenuOptions(options);
-        options.add(new RevertFieldOption(this));
-    }
-
-    @Override
-    protected void clear() {
-        clearValue();
-        editComplete(false, false);
-    }
-
-    void clearValue() {
-        textContent.setText("");
-        cursor.home();
-        selection.resetTo(cursor);
-        changeMade();
-    }
-
-    @Override
-    protected void copyToClipboard() {
-        final boolean noSelection = selection.to().samePosition(selection.from());
-        final String text = noSelection ? textContent.getText() : textContent.getText(selection);
-        getViewManager().setClipboard(text, String.class);
-        LOG.debug("copied " + text);
-    }
-
-    @Override
-    public void debug(final DebugBuilder debug) {
-        super.debug(debug);
-        debug.appendln("text", textContent);
-    }
-
-    /**
-     * Delete the character to the left of the cursor.
-     */
-    public void delete() {
-        if (selection.hasSelection()) {
-            textContent.delete(selection);
-            selection.resetTo(selection.from());
-        } else {
-            textContent.deleteLeft(cursor);
-            cursor.left();
-            selection.resetTo(cursor);
-        }
-        changeMade();
-    }
-
-    /**
-     * Delete the character to the right of the cursor.
-     */
-    public void deleteForward() {
-        if (selection.hasSelection()) {
-            textContent.delete(selection);
-            selection.resetTo(selection.from());
-        } else {
-            textContent.deleteRight(cursor);
-        }
-        changeMade();
-    }
-
-    protected void down(final boolean shift) {
-        cursor.lineDown();
-        highlight(shift);
-        markDamaged();
-    }
-
-    @Override
-    public void drag(final InternalDrag drag) {
-        if (canChangeValue().isAllowed()) {
-            selection.extendTo(drag.getLocation());
-            markDamaged();
-        }
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        final Location at = drag.getLocation();
-
-        final Location anchor = getAbsoluteLocation();
-        // TODO adjust anchor so only the field is rubberbanded
-        /*
-         * final Size size = getView().getSize(); final ViewAxis axis =
-         * getViewAxis(LabelAxis.class); if (axis instanceof LabelAxis) { final
-         * int width = ((LabelAxis) axis).getWidth(); size.contractWidth(width);
-         * anchor.add(width, 0); }
-         */
-        if (canChangeValue().isAllowed()) {
-            cursor.cursorAt(at);
-            resetSelection();
-            return new SimpleInternalDrag(this, anchor);
-        }
-
-        markDamaged();
-
-        return null;
-    }
-
-    @Override
-    public void dragTo(final InternalDrag drag) {
-        final Location at = drag.getLocation();
-        if (canChangeValue().isAllowed()) {
-            selection.extendTo(at);
-            markDamaged();
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final int width = getMaxFieldWidth();
-
-        align();
-
-        if (hasFocus() && selection.hasSelection()) {
-            drawHighlight(canvas, width);
-        }
-
-        /*
-         * if (showLines == true && canChangeValue().isAllowed()) { Color color
-         * = identified ? Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED) :
-         * Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3); color = hasFocus()
-         * ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1) : color;
-         * drawLines(canvas, color, width); }
-         */
-        Color textColor;
-        Color lineColor;
-        if (getState().isInvalid()) {
-            textColor = Toolkit.getColor(ColorsAndFonts.COLOR_INVALID);
-            lineColor = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-        } else if (hasFocus()) {
-            if (isSaved) {
-                textColor = Toolkit.getColor(ColorsAndFonts.COLOR_TEXT_SAVED);
-                lineColor = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-            } else {
-                textColor = Toolkit.getColor(ColorsAndFonts.COLOR_TEXT_EDIT);
-                lineColor = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-            }
-        } else if (identified) {
-            textColor = Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED);
-            lineColor = Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED);
-        } else {
-            textColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-            lineColor = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-        }
-
-        if (showLines == true && canChangeValue().isAllowed()) {
-            drawLines(canvas, lineColor, width);
-        }
-        drawText(canvas, textColor, width);
-    }
-
-    protected abstract void drawHighlight(final Canvas canvas, final int maxWidth);
-
-    protected abstract void drawLines(final Canvas canvas, final Color color, final int width);
-
-    protected abstract void drawText(final Canvas canvas, final Color textColor, final int width);
-
-    @Override
-    public void editComplete(final boolean moveFocus, final boolean toNextField) {
-        if (canChangeValue().isAllowed() && !isSaved) {
-            isSaved = true;
-            initiateSave(moveFocus);
-        } else if (moveFocus) {
-            if (toNextField) {
-                getFocusManager().focusNextView();
-            } else {
-                getFocusManager().focusPreviousView();
-            }
-        }
-    }
-
-    protected void end(final boolean alt, final boolean shift) {
-        if (alt) {
-            cursor.bottom();
-        } else {
-            cursor.end();
-        }
-
-        highlight(shift);
-        markDamaged();
-    }
-
-    /**
-     * Called when 'enter' has been pressed. Return indicates whether event has
-     * been consumed; by default it hasn't. This default implementation marks
-     * field as having edit completed.
-     */
-    protected boolean enter() {
-        editComplete(false, false);
-        return false;
-    }
-
-    @Override
-    public void entered() {
-        if (canChangeValue().isAllowed()) {
-            getFeedbackManager().showTextCursor();
-            identified = true;
-            markDamaged();
-        }
-        super.entered();
-    }
-
-    protected void escape() {
-        if (isSaved) {
-            clearValue();
-        } else {
-            invalidReason = null;
-            refresh();
-            markDamaged();
-        }
-    }
-
-    @Override
-    public void exited() {
-        if (canChangeValue().isAllowed()) {
-            getFeedbackManager().showDefaultCursor();
-            identified = false;
-            markDamaged();
-        }
-        super.exited();
-    }
-
-    /**
-     * Responds to first click by placing the cursor between the two characters
-     * nearest the point of the mouse.
-     */
-    @Override
-    public void firstClick(final Click click) {
-        if (canChangeValue().isAllowed()) {
-            final Location at = click.getLocation();
-            at.subtract(ViewConstants.HPADDING, ViewConstants.VPADDING);
-            cursor.cursorAt(at);
-            resetSelection();
-
-            // testing
-            if (cursor.getLine() > textContent.getNoLinesOfContent()) {
-                throw new IsisException("not inside content for line " + cursor.getLine() + " : " + textContent.getNoLinesOfContent());
-            }
-
-            markDamaged();
-        }
-
-        if (!canChangeValue().isAllowed() || click.isShift() || click.button2()) {
-            final ObjectAdapter valueAdapter = getContent().getAdapter();
-            if (valueAdapter != null && valueAdapter.titleString().length() > 0) {
-                final View textView = new BackgroundBorder(Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3), new LineBorder(1, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1), new TextView(getContent(), null)));
-                getViewManager().setOverlayView(textView);
-
-                final int offset = getView().getPadding().getLeft();
-                final Location location = getAbsoluteLocation();
-                location.add(offset, 0);
-                textView.setLocation(location);
-                textView.markDamaged();
-            }
-        }
-    }
-
-    @Override
-    public void focusLost() {
-        super.focusLost();
-        editComplete(false, false);
-    }
-
-    @Override
-    public void focusReceived() {
-        getFeedbackManager().setError(invalidReason == null ? "" : invalidReason);
-        resetSelection();
-    }
-
-    @Override
-    public int getBaseline() {
-        return getText().getAscent();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final int width = ViewConstants.HPADDING + displayWidth + ViewConstants.HPADDING;
-        int height;
-        if (textContent.getNoDisplayLines() == 1) {
-            height = getText().getTextHeight();
-        } else {
-            height = textContent.getNoDisplayLines() * getText().getLineHeight();
-        }
-        height = Math.max(height, Toolkit.defaultFieldHeight());
-        return new Size(width, height);
-    }
-
-    @Override
-    public int getMaxFieldWidth() {
-        return displayWidth;
-    }
-
-    @Override
-    public Text getText() {
-        return style;
-    }
-
-    @Override
-    String getSelectedText() {
-        return textContent.getText(selection);
-    }
-
-    private ObjectAdapter getValue() {
-        return getContent().getAdapter();
-    }
-
-    /**
-     * modifies the selection object so that text is selected if the flag is
-     * true, or text is unselected if false.
-     */
-    private void highlight(final boolean select) {
-        if (canChangeValue().isAllowed()) {
-            if (!select) {
-                selection.resetTo(cursor);
-            } else {
-                selection.extendTo(cursor);
-            }
-        }
-    }
-
-    protected void home(final boolean alt, final boolean shift) {
-        if (alt) {
-            cursor.top();
-        } else {
-            cursor.home();
-        }
-
-        highlight(shift);
-        markDamaged();
-    }
-
-    protected void changeMade() {
-        isSaved = false;
-        markDamaged();
-        if (getState().isInvalid()) {
-            getState().clearInvalid();
-            getFeedbackManager().clearError();
-        }
-    }
-
-    private void insert(final String characters) {
-        if (withinMaximum(characters.length())) {
-            final int noLines = textContent.getNoDisplayLines();
-            textContent.insert(cursor, characters);
-            cursor.right(characters.length());
-            if (textContent.getNoDisplayLines() != noLines) {
-                invalidateLayout();
-            }
-            changeMade();
-        } else {
-            getFeedbackManager().setError("Entry can be no longer than " + maxLength + " characters");
-        }
-    }
-
-    public boolean isIdentified() {
-        return identified;
-    }
-
-    /**
-     * Called when the user presses any key on the keyboard while this view has
-     * the focus.
-     */
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (!canChangeValue().isAllowed()) {
-            return;
-        }
-
-        final int keyCode = key.getKeyCode();
-        if (keyCode == KeyEvent.VK_CONTROL || keyCode == KeyEvent.VK_SHIFT || keyCode == KeyEvent.VK_ALT) {
-            return;
-        }
-
-        final int modifiers = key.getModifiers();
-        // modifiers
-        final boolean alt = (modifiers & InputEvent.ALT_MASK) > 0;
-        final boolean shift = (modifiers & InputEvent.SHIFT_MASK) > 0;
-        final boolean ctrl = (modifiers & InputEvent.CTRL_MASK) > 0;
-
-        switch (keyCode) {
-        case KeyEvent.VK_PAGE_UP:
-            key.consume();
-            pageUp(shift, ctrl);
-            break;
-        case KeyEvent.VK_PAGE_DOWN:
-            key.consume();
-            pageDown(shift, ctrl);
-            break;
-        case KeyEvent.VK_V:
-            if (ctrl) {
-                key.consume();
-                pasteFromClipboard();
-                highlight(false);
-            }
-            break;
-        case KeyEvent.VK_C:
-            if (ctrl) {
-                key.consume();
-                copyToClipboard();
-            }
-            break;
-        case KeyEvent.VK_DOWN:
-            key.consume();
-            down(shift);
-            break;
-        case KeyEvent.VK_UP:
-            key.consume();
-            up(shift);
-            break;
-        case KeyEvent.VK_HOME:
-            key.consume();
-            home(alt, shift);
-            break;
-        case KeyEvent.VK_END:
-            key.consume();
-            end(alt, shift);
-            break;
-        case KeyEvent.VK_LEFT:
-            key.consume();
-            left(alt, shift);
-            break;
-        case KeyEvent.VK_RIGHT:
-            key.consume();
-            right(alt, shift);
-            break;
-        case KeyEvent.VK_DELETE:
-            key.consume();
-            deleteForward();
-            break;
-        case KeyEvent.VK_BACK_SPACE:
-            key.consume();
-            delete();
-            break;
-        case KeyEvent.VK_TAB:
-            key.consume();
-            final boolean moveToNextField = !shift;
-            tab(moveToNextField);
-            break;
-        case KeyEvent.VK_ENTER:
-            if (!enter()) {
-                getParent().keyPressed(key);
-            }
-            break;
-        case KeyEvent.VK_ESCAPE:
-            key.consume();
-            escape();
-            break;
-
-        default:
-            break;
-        }
-
-        LOG.debug("character at " + cursor.getCharacter() + " line " + cursor.getLine());
-        LOG.debug(selection.toString());
-    }
-
-    /**
-     * Called when the user releases any key on the keyboard while this view has
-     * the focus.
-     */
-    @Override
-    public void keyReleased(final KeyboardAction action) {
-    }
-
-    /**
-     * Called when the user presses a non-control key (i.e. data entry keys and
-     * not shift, up-arrow etc). Such a key press will result in a prior call to
-     * <code>keyPressed</code> and a subsequent call to <code>keyReleased</code>
-     * .
-     */
-    @Override
-    public void keyTyped(final KeyboardAction action) {
-        if (canChangeValue().isAllowed()) {
-            insert("" + action.getKeyChar());
-        }
-    }
-
-    protected void left(final boolean alt, final boolean shift) {
-        if (alt) {
-            cursor.wordLeft();
-        } else {
-            cursor.left();
-        }
-
-        highlight(shift);
-        markDamaged();
-    }
-
-    protected void pageDown(final boolean shift, final boolean ctrl) {
-        if (ctrl) {
-            if (textContent.decreaseDepth()) {
-                textContent.alignDisplay(cursor.getLine());
-                invalidateLayout();
-            }
-        } else {
-            cursor.pageDown();
-            highlight(shift);
-        }
-        markDamaged();
-    }
-
-    protected void pageUp(final boolean shift, final boolean ctrl) {
-        if (ctrl) {
-            textContent.increaseDepth();
-            textContent.alignDisplay(cursor.getLine());
-            invalidateLayout();
-        } else {
-            cursor.pageUp();
-            highlight(shift);
-        }
-        markDamaged();
-    }
-
-    @Override
-    protected void pasteFromClipboard() {
-        try {
-            final String text = (String) getViewManager().getClipboard(String.class);
-            insert(text);
-            LOG.debug("pasted " + text);
-        } catch (final Throwable e) {
-            LOG.error("invalid paste operation " + e);
-        }
-    }
-
-    private String titleString(final ObjectAdapter object) {
-        return ((TextParseableContent) getContent()).titleString(object);
-    }
-
-    @Override
-    public void refresh() {
-        super.refresh();
-        final ObjectAdapter object = getValue();
-        if (object == null) {
-            textContent.setText("");
-        } else {
-            textContent.setText(titleString(object));
-        }
-        isSaved = true;
-    }
-
-    private void resetSelection() {
-        selection.resetTo(cursor);
-    }
-
-    protected void right(final boolean alt, final boolean shift) {
-        if (alt) {
-            cursor.wordRight();
-        } else {
-            cursor.right();
-        }
-
-        highlight(shift);
-        markDamaged();
-    }
-
-    @Override
-    protected void save() {
-        final String entry = textContent.getText();
-
-        // do nothing if entry is same as the value object
-        final ObjectAdapter value = getValue();
-        if (!entry.equals(value == null ? "" : value.titleString())) {
-            LOG.debug("field edited: \'" + entry + "\' to replace \'" + (value == null ? "" : value.titleString()) + "\'");
-
-            try {
-                parseEntry(entry.toString());
-                invalidReason = null;
-                getViewManager().getSpy().addAction("VALID ENTRY: " + entry);
-                markDamaged();
-                getParent().invalidateContent();
-            } catch (final TextEntryParseException e) {
-                invalidReason = "Invalid Entry: " + e.getMessage();
-                getFeedbackManager().setError(invalidReason);
-                getState().setInvalid();
-                markDamaged();
-            } catch (final InvalidEntryException e) {
-                invalidReason = "Invalid Entry: " + e.getMessage();
-                getFeedbackManager().setError(invalidReason);
-                getState().setInvalid();
-                markDamaged();
-            } catch (final ConcurrencyException e) {
-                invalidReason = "Update Failure: " + e.getMessage();
-                getState().setOutOfSynch();
-                markDamaged();
-                throw e;
-            } catch (final IsisException e) {
-                invalidReason = "Update Failure: " + e.getMessage();
-                getFeedbackManager().setError(invalidReason);
-                getState().setOutOfSynch();
-                markDamaged();
-                throw e;
-            }
-        }
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        if (canChangeValue().isAllowed()) {
-            selection.selectWord();
-        }
-    }
-
-    /**
-     * Set the maximum width of the field, as a number of characters
-     */
-    private void setTextWidth(final int noCharacters) {
-        displayWidth = getText().charWidth('5') * (noCharacters + 3);
-    }
-
-    /**
-     * Set the width of the field, as a number of pixels
-     */
-    public void setWidth(final int width) {
-        displayWidth = width;
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        super.setSize(size);
-        setWidth(size.getWidth() - 2 * ViewConstants.HPADDING);
-    }
-
-    protected void tab(final boolean moveToNextField) {
-        editComplete(true, moveToNextField);
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-        if (canChangeValue().isAllowed()) {
-            selection.selectSentence();
-            markDamaged();
-        }
-    }
-
-    protected void up(final boolean shift) {
-        cursor.lineUp();
-        highlight(shift);
-        markDamaged();
-    }
-
-    private boolean withinMaximum(final int characters) {
-        return maxLength == 0 || textContent.getText().length() + characters <= maxLength;
-    }
-
-    void revertInvalidEntry() {
-        invalidReason = null;
-        refresh();
-        cursor.home();
-        getState().clearInvalid();
-        getFeedbackManager().clearError();
-        markDamaged();
-    }
-
-    public boolean hasInvalidEntry() {
-        return invalidReason != null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextFieldBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextFieldBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextFieldBorder.java
deleted file mode 100644
index 9826266..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextFieldBorder.java
+++ /dev/null
@@ -1,49 +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.dnd.field;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-
-/**
- * Border decorator to draw a white background and 3D style border around a text
- * field.
- */
-public class TextFieldBorder extends AbstractBorder {
-
-    public TextFieldBorder(final View view) {
-        super(view);
-        top = bottom = left = right = 2;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final int height = getSize().getHeight() - 2;
-        final int width = getSize().getWidth();
-        canvas.drawSolidRectangle(0, 1, width - 1, height - 2, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangle(0, 1, width - 3, height - 2, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        canvas.drawRectangle(1, 2, width - 1, height - 2, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-
-        super.draw(canvas);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextFieldSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextFieldSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextFieldSpecification.java
deleted file mode 100644
index ee38309..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextFieldSpecification.java
+++ /dev/null
@@ -1,59 +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.dnd.field;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.view.border.TextFieldResizeBorder;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.lookup.OpenValueDropDownBorder;
-
-/**
- * Creates a single line text field with the base line drawn.
- */
-public class TextFieldSpecification extends AbstractFieldSpecification {
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isTextParseable() && ((TextParseableContent) requirement.getContent()).getNoLines() == 1;
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final View field = new TextFieldResizeBorder(new SingleLineTextField((TextParseableContent) content, this, true));
-        if (content.isOptionEnabled()) {
-            return new OpenValueDropDownBorder(field);
-        } else {
-            return field;
-        }
-    }
-
-    @Override
-    public String getName() {
-        return "Single Line Text Field";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextParseableFieldAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextParseableFieldAbstract.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextParseableFieldAbstract.java
deleted file mode 100644
index 4ca43bb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/TextParseableFieldAbstract.java
+++ /dev/null
@@ -1,107 +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.dnd.field;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-public abstract class TextParseableFieldAbstract extends AbstractField {
-    private static final Logger LOG = LoggerFactory.getLogger(TextField.class);
-
-    protected TextParseableFieldAbstract(final Content content, final ViewSpecification design) {
-        super(content, design);
-    }
-
-    @Override
-    protected boolean provideClearCopyPaste() {
-        return true;
-    }
-
-    @Override
-    protected void pasteFromClipboard() {
-        try {
-            final String text = (String) getViewManager().getClipboard(String.class);
-            final TextParseableContent content = (TextParseableContent) getContent();
-            content.parseTextEntry(text);
-            content.entryComplete();
-            LOG.debug("pasted " + text);
-        } catch (final Throwable e) {
-            LOG.error("invalid paste operation " + e);
-        }
-    }
-
-    @Override
-    protected Consent canClear() {
-        final TextParseableContent field = (TextParseableContent) getContent();
-        return field.canClear();
-    }
-
-    @Override
-    protected void clear() {
-        try {
-            final TextParseableContent content = (TextParseableContent) getContent();
-            content.parseTextEntry("");
-            content.entryComplete();
-            LOG.debug("cleared");
-        } catch (final Throwable e) {
-            LOG.error("invalid paste operation " + e);
-        }
-    }
-
-    @Override
-    protected void copyToClipboard() {
-        final TextParseableContent content = (TextParseableContent) getContent();
-        final ObjectAdapter object = content.getAdapter();
-        if (object != null) {
-            final String text = object.titleString();
-            getViewManager().setClipboard(text, String.class);
-            LOG.debug("copied " + text);
-        }
-    }
-
-    @Override
-    public boolean isEmpty() {
-        final TextParseableContent content = (TextParseableContent) getContent();
-        return content.isEmpty();
-    }
-
-    @Override
-    public Consent canChangeValue() {
-        final TextParseableContent cont = (TextParseableContent) getContent();
-        return cont.isEditable();
-    }
-
-    protected void saveValue(final ObjectAdapter value) {
-        parseEntry(value.titleString());
-    }
-
-    protected void parseEntry(final String entryText) {
-        final TextParseableContent content = (TextParseableContent) getContent();
-        content.parseTextEntry(entryText);
-        content.entryComplete();
-    }
-
-}


[11/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/RootCollection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/RootCollection.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/RootCollection.java
deleted file mode 100644
index 7df359e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/RootCollection.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.dnd.view.collection;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.view.Content;
-
-public class RootCollection extends AbstractCollectionContent {
-    private final ObjectAdapter collection;
-
-    public RootCollection(final ObjectAdapter collection) {
-        this.collection = collection;
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("collection", collection);
-        super.debugDetails(debug);
-    }
-
-    @Override
-    public ObjectAdapter getCollection() {
-        return collection;
-    }
-
-    @Override
-    public String getHelp() {
-        return "No help for this collection";
-    }
-
-    @Override
-    public String getIconName() {
-        return null;
-    }
-
-    @Override
-    public String getId() {
-        return "";
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return collection;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return collection.getSpecification();
-    }
-
-    @Override
-    public boolean isTransient() {
-        return collection != null;
-    }
-
-    public void setObject(final ObjectAdapter object) {
-        throw new IsisException("Invalid call");
-    }
-
-    @Override
-    public String title() {
-        return collection.titleString();
-    }
-
-    @Override
-    public String windowTitle() {
-        return collection.titleString();
-    }
-
-    @Override
-    public String toString() {
-        return "Root Collection: " + collection;
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        // return ImageFactory.getInstance().loadObjectIcon(getSpecification(),
-        // "", iconHeight);
-        return ImageFactory.getInstance().loadIcon("root-collection", iconHeight, null);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/SimpleCollectionSorter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/SimpleCollectionSorter.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/SimpleCollectionSorter.java
deleted file mode 100644
index 6ecc765..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/SimpleCollectionSorter.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.dnd.view.collection;
-
-import java.util.Vector;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public class SimpleCollectionSorter implements CollectionSorter {
-
-    @Override
-    public void sort(final ObjectAdapter[] elements, final Comparator order, final boolean reverse) {
-        if (order == null) {
-            return;
-        }
-
-        final Vector<ObjectAdapter> sorted = new Vector<ObjectAdapter>(elements.length);
-        outer: for (int j = 0; j < elements.length; j++) {
-            final ObjectAdapter element = elements[j];
-            order.init(element);
-            int i = 0;
-            for (final ObjectAdapter objectAdapter : sorted) {
-                final ObjectAdapter sortedElement = objectAdapter;
-                if (sortedElement != null && (order.compare(sortedElement) > 0 ^ reverse)) {
-                    sorted.insertElementAt(element, i);
-                    continue outer;
-                }
-                i++;
-            }
-            sorted.addElement(element);
-        }
-        sorted.copyInto(elements);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/TitleComparator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/TitleComparator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/TitleComparator.java
deleted file mode 100644
index a025d08..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/TitleComparator.java
+++ /dev/null
@@ -1,37 +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.dnd.view.collection;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public class TitleComparator implements Comparator {
-    private String title;
-
-    @Override
-    public void init(final ObjectAdapter element) {
-        title = element.titleString();
-    }
-
-    @Override
-    public int compare(final ObjectAdapter sortedElement) {
-        final String sortedTitle = sortedElement.titleString();
-        return sortedTitle.compareTo(title);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/TypeComparator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/TypeComparator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/TypeComparator.java
deleted file mode 100644
index 50956b4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/TypeComparator.java
+++ /dev/null
@@ -1,38 +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.dnd.view.collection;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public class TypeComparator implements Comparator {
-    private String type;
-
-    @Override
-    public void init(final ObjectAdapter element) {
-        type = element.getSpecification().getShortIdentifier();
-    }
-
-    @Override
-    public int compare(final ObjectAdapter sortedElement) {
-        final String sortedType = sortedElement.getSpecification().getShortIdentifier();
-        return sortedType.compareTo(type);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractBuilderDecorator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractBuilderDecorator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractBuilderDecorator.java
deleted file mode 100644
index 81e2c82..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractBuilderDecorator.java
+++ /dev/null
@@ -1,63 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-
-public abstract class AbstractBuilderDecorator implements ViewBuilder {
-    protected final ViewBuilder wrappedBuilder;
-
-    public AbstractBuilderDecorator(final ViewBuilder design) {
-        this.wrappedBuilder = design;
-    }
-
-    @Override
-    public void build(final View view, final Axes axes) {
-        wrappedBuilder.build(view, axes);
-    }
-
-    @Override
-    public boolean isOpen() {
-        return wrappedBuilder.isOpen();
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return wrappedBuilder.isReplaceable();
-    }
-
-    @Override
-    public boolean isSubView() {
-        return wrappedBuilder.isSubView();
-    }
-
-    @Override
-    public String toString() {
-        final String name = getClass().getName();
-        return wrappedBuilder + "/" + name.substring(name.lastIndexOf('.') + 1);
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options, final View view) {
-        wrappedBuilder.viewMenuOptions(options, view);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractCollectionViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractCollectionViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractCollectionViewSpecification.java
deleted file mode 100644
index 12c64e5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractCollectionViewSpecification.java
+++ /dev/null
@@ -1,54 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-
-public abstract class AbstractCollectionViewSpecification extends CompositeViewSpecification {
-
-    public AbstractCollectionViewSpecification() {
-        builder = new CollectionElementBuilder(createElementFactory());
-        init();
-    }
-
-    protected abstract ViewFactory createElementFactory();
-
-    protected void init() {
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isCollection() && requirement.isOpen();
-    }
-
-    @Override
-    public String getName() {
-        return "List";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractViewBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractViewBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractViewBuilder.java
deleted file mode 100644
index 3390e53..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/AbstractViewBuilder.java
+++ /dev/null
@@ -1,88 +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.dnd.view.composite;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-
-public abstract class AbstractViewBuilder implements ViewBuilder {
-    private final List<SubviewDecorator> subviewDecorators = new ArrayList<SubviewDecorator>();
-
-    @Override
-    public abstract void build(final View view, Axes axes);
-
-    @Override
-    public void createAxes(final Axes axes, final Content content) {
-        for (final SubviewDecorator decorator : subviewDecorators) {
-            axes.add(decorator.createAxis(content));
-        }
-    }
-
-    @Override
-    public void addSubviewDecorator(final SubviewDecorator decorator) {
-        if (decorator != null) {
-            subviewDecorators.add(decorator);
-        }
-    }
-
-    public View decorateSubview(final Axes axes, final View child) {
-        View view = child;
-        for (final SubviewDecorator decorator : subviewDecorators) {
-            view = decorator.decorate(axes, view);
-        }
-        return view;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public boolean canDragView() {
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        final String name = getClass().getName();
-        return name.substring(name.lastIndexOf('.') + 1);
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options, final View view) {
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CollectionElementBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CollectionElementBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CollectionElementBuilder.java
deleted file mode 100644
index f2baec2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CollectionElementBuilder.java
+++ /dev/null
@@ -1,120 +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.dnd.view.composite;
-
-import java.util.Enumeration;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.collection.CollectionElement;
-import org.apache.isis.viewer.dnd.view.field.OneToManyField;
-import org.apache.isis.viewer.dnd.view.field.OneToManyFieldElementImpl;
-
-public class CollectionElementBuilder extends AbstractViewBuilder {
-    private static final Logger LOG = LoggerFactory.getLogger(CollectionElementBuilder.class);
-    private boolean canDragView = true;
-    private final ViewFactory subviewDesign;
-
-    public CollectionElementBuilder(final ViewFactory subviewDesign) {
-        this.subviewDesign = subviewDesign;
-    }
-
-    public CollectionElementBuilder(final ViewFactory subviewDesign, final SubviewDecorator decorator) {
-        this.subviewDesign = subviewDesign;
-        addSubviewDecorator(decorator);
-    }
-
-    @Override
-    public void build(final View view, final Axes axes) {
-        Assert.assertEquals(view.getView(), view);
-
-        final Content content = view.getContent();
-        final OneToManyAssociation field = content instanceof OneToManyField ? ((OneToManyField) content).getOneToManyAssociation() : null;
-
-        LOG.debug("rebuild view " + view + " for " + content);
-
-        final CollectionContent collectionContent = ((CollectionContent) content);
-        Enumeration elements;
-        elements = collectionContent.allElements();
-
-        // addViewAxes(view);
-
-        /*
-         * remove all subviews from the view and then work through the elements
-         * of the collection adding in a view for each element. Where a subview
-         * for the that element already exists it should be reused.
-         */
-        final View[] subviews = view.getSubviews();
-        final ObjectAdapter[] existingElements = new ObjectAdapter[subviews.length];
-        for (int i = 0; i < subviews.length; i++) {
-            view.removeView(subviews[i]);
-            existingElements[i] = subviews[i].getContent().getAdapter();
-        }
-
-        int elementNumber = 0;
-        while (elements.hasMoreElements()) {
-            final ObjectAdapter element = (ObjectAdapter) elements.nextElement();
-            View elementView = null;
-            for (int i = 0; i < subviews.length; i++) {
-                if (existingElements[i] == element) {
-                    elementView = subviews[i];
-                    existingElements[i] = null;
-                    break;
-                }
-            }
-            if (elementView == null) {
-                Content elementContent;
-                if (field == null) {
-                    elementContent = new CollectionElement(element);
-                } else {
-                    final ObjectAdapter obj = ((OneToManyField) view.getContent()).getParent();
-                    // ObjectAdapter obj =
-                    // view.getParent().getContent().getAdapter();
-                    final ObjectAdapter parent = obj;
-                    elementContent = new OneToManyFieldElementImpl(parent, element, field);
-                }
-                elementView = subviewDesign.createView(elementContent, axes, elementNumber++);
-            }
-            // TODO if reusing view then probably should decorate it again!
-            if (elementView != null) {
-                view.addView(decorateSubview(axes, elementView));
-            }
-        }
-    }
-
-    @Override
-    public boolean canDragView() {
-        return canDragView;
-    };
-
-    public void setCanDragView(final boolean canDragView) {
-        this.canDragView = canDragView;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ColumnLayout.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ColumnLayout.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ColumnLayout.java
deleted file mode 100644
index 20c1a05..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ColumnLayout.java
+++ /dev/null
@@ -1,90 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-
-/**
- * A column layout places component views side by side. Each component is given
- * the space it request. A components width will be give a consistent width if
- * that component's view specification's <code>isAligned</code> method returns
- * <code>true</code>, or the layout's <code>fixedWidth</code> flag is set (via
- * the two parameter constructor).
- */
-public class ColumnLayout implements Layout {
-    private final boolean fixedWidth;
-
-    public ColumnLayout() {
-        this.fixedWidth = false;
-    }
-
-    public ColumnLayout(final boolean fixedWidth) {
-        this.fixedWidth = fixedWidth;
-    }
-
-    @Override
-    public Size getRequiredSize(final View view) {
-        int height = 0;
-        int width = 0;
-        int maxWidth = 0;
-        final View views[] = view.getSubviews();
-
-        for (final View v : views) {
-            final Size s = v.getRequiredSize(new Size(Integer.MAX_VALUE, Integer.MAX_VALUE));
-            width += s.getWidth();
-            maxWidth = Math.max(maxWidth, s.getWidth());
-            height = Math.max(height, s.getHeight());
-        }
-
-        if (fixedWidth) {
-            width = maxWidth / 2 * views.length;
-        }
-        return new Size(width, height);
-    }
-
-    @Override
-    public void layout(final View view, final Size maximumSize) {
-        int x = 0;
-        final int y = 0;
-        final View subviews[] = view.getSubviews();
-
-        int maxWidth = 0;
-        for (final View v : subviews) {
-            final Size s = v.getRequiredSize(new Size(maximumSize));
-            maxWidth = Math.max(maxWidth, s.getWidth());
-        }
-
-        for (final View v : subviews) {
-            final Size s = v.getRequiredSize(new Size(maximumSize));
-            v.setLocation(new Location(x, y));
-            if (fixedWidth || v.getSpecification().isAligned()) {
-                x += maxWidth / 2;
-                s.setWidth(maxWidth / 2);
-            } else {
-                x += s.getWidth();
-            }
-            v.setSize(s);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeView.java
deleted file mode 100644
index 17cf111..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeView.java
+++ /dev/null
@@ -1,347 +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.dnd.view.composite;
-
-import java.util.Vector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.ObjectView;
-
-public abstract class CompositeView extends ObjectView {
-    private static final Logger LOG = LoggerFactory.getLogger(CompositeView.class);
-    private int buildCount = 0;
-    private boolean buildInvalid = true;
-    private boolean canDragView = true;
-    private int layoutCount = 0;
-    private boolean layoutInvalid = true;
-    protected Vector<View> views; // TODO make private
-    private FocusManager focusManager;// = new SubviewFocusManager(this);
-
-    public CompositeView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-        views = new Vector<View>();
-    }
-
-    @Override
-    public void refresh() {
-        final View views[] = getSubviews();
-        for (final View view : views) {
-            view.refresh();
-        }
-    }
-
-    @Override
-    public void addView(final View view) {
-        add(views, view);
-    }
-
-    // TODO make private
-    protected void add(final Vector<View> views, final View view) {
-        LOG.debug("adding " + view + " to " + this);
-        views.addElement(view);
-        getViewManager().addToNotificationList(view);
-        view.setParent(getView());
-        invalidateLayout();
-    }
-
-    public boolean canDragView() {
-        return canDragView;
-    }
-
-    @Override
-    public void debugStructure(final DebugBuilder b) {
-        b.appendln("Built", (buildInvalid ? "invalid, " : "") + buildCount + " builds");
-        b.appendln("Laid out", (layoutInvalid ? "invalid, " : "") + layoutCount + " layouts");
-        super.debugStructure(b);
-    }
-
-    @Override
-    public void dispose() {
-        disposeContentsOnly();
-        super.dispose();
-    }
-
-    protected void disposeContentsOnly() {
-        final View views[] = getSubviews();
-        for (final View view : views) {
-            view.dispose();
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final View views[] = getSubviews();
-        for (final View subview : views) {
-            final Bounds bounds = subview.getBounds();
-            if (Toolkit.debug) {
-                LOG.debug("compare: " + bounds + "  " + canvas);
-            }
-            if (canvas.overlaps(bounds)) {
-                // Canvas subCanvas = canvas.createSubcanvas();
-                final Canvas subCanvas = canvas.createSubcanvas(bounds.getX(), bounds.getY(), bounds.getWidth() - 0, bounds.getSize().getHeight());
-                // subCanvas.offset(subview.getBounds().getX(),
-                // subview.getBounds().getY());
-                if (Toolkit.debug) {
-                    LOG.debug("-- repainting " + subview);
-                    LOG.debug("subcanvas " + subCanvas);
-                }
-                subview.draw(subCanvas);
-                if (Toolkit.debug) {
-                    canvas.drawRectangle(subview.getBounds().getX(), subview.getBounds().getY(), subview.getBounds().getWidth() - 1, subview.getBounds().getHeight() - 1, Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_BORDER));
-                }
-            }
-        }
-    }
-
-    @Override
-    public int getBaseline() {
-        final View[] e = getSubviews();
-        if (e.length == 0) {
-            return 14;
-        } else {
-            final View subview = e[0];
-            return subview.getBaseline();
-        }
-    }
-
-    @Override
-    public FocusManager getFocusManager() {
-        return focusManager == null ? super.getFocusManager() : focusManager;
-    }
-
-    @Override
-    public final Size getRequiredSize(final Size availableSpace) {
-        ensureBuilt();
-        return requiredSize(availableSpace);
-    }
-
-    protected abstract Size requiredSize(Size availableSpace);
-
-    /**
-     * Gets the set of subviews for this container. If the container is marked
-     * as not being built yet (ie {@link #buildInvalid} is <tt>true</tt> ), then
-     * a view building process is initiated and the flag is cleared. During this
-     * build process the {@link #buildView()} method is called and then each
-     * subview is asked for its subview so that the build process can recurse
-     * down the tree if it needs to.
-     * 
-     * This method is synchronised so that two threads do not try to build the
-     * same view at the same time
-     */
-    @Override
-    public synchronized View[] getSubviews() {
-        ensureBuilt();
-        return subviews();
-    }
-
-    protected void ensureBuilt() {
-        if (buildInvalid) {
-            getFeedbackManager().setBusy(this, null);
-            buildInvalid = false;
-            if (subviews().length == 0) {
-                buildNewView();
-            } else {
-                buildModifiedView();
-            }
-            for (final View view : subviews()) {
-                view.getSubviews();
-            }
-            getFeedbackManager().clearBusy(this);
-            buildCount++;
-        }
-    }
-
-    // TODO make abstract
-    protected void buildModifiedView() {
-        buildView();
-    }
-
-    // TODO make abstract
-    protected void buildNewView() {
-        buildView();
-    }
-
-    /**
-     * @deprecated
-     */
-    // TODO call two different methods instead: buildNewView and
-    // buildModifiedView
-    @Deprecated
-    protected abstract void buildView();
-
-    protected View[] subviews() {
-        final View v[] = new View[views.size()];
-        views.copyInto(v);
-        return v;
-    }
-
-    @Override
-    public void invalidateContent() {
-        buildInvalid = true;
-        invalidateLayout();
-    }
-
-    @Override
-    public void invalidateLayout() {
-        layoutInvalid = true;
-        super.invalidateLayout();
-    }
-
-    @Override
-    public void layout() {
-        if (layoutInvalid) {
-            getFeedbackManager().setBusy(this, null);
-            markDamaged();
-
-            ensureBuilt();
-            final Size maximumSize = getSize();
-            // maximumSize.contract(getPadding());
-            doLayout(maximumSize);
-            layoutInvalid = false;
-            for (final View view : getSubviews()) {
-                view.layout();
-            }
-            markDamaged();
-            getFeedbackManager().clearBusy(this);
-            layoutCount++;
-        }
-    }
-
-    protected abstract void doLayout(Size maximumSize);
-
-    /**
-     * When the specified size is different to the current size the the layout
-     * of this component is marked as invalid, forcing its components to re-laid
-     * out in turn.
-     */
-    @Override
-    public void setSize(final Size size) {
-        final Size previousSize = getSize();
-        super.setSize(size);
-        if (!size.equals(previousSize)) {
-            layoutInvalid = true;
-        }
-    }
-
-    protected boolean isLayoutInvalid() {
-        return layoutInvalid;
-    }
-
-    @Override
-    public View subviewFor(final Location location) {
-        final Location l = new Location(location);
-        final Padding padding = getPadding();
-        l.subtract(padding.getLeft(), padding.getTop());
-        final View views[] = getSubviews();
-        for (int i = views.length - 1; i >= 0; i--) {
-            if (views[i].getBounds().contains(l)) {
-                return views[i];
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public View pickupView(final Location location) {
-        return canDragView ? super.pickupView(location) : null;
-    }
-
-    @Override
-    public void removeView(final View view) {
-        LOG.debug("removing " + view + " from " + this);
-        if (views.contains(view)) {
-            views.removeElement(view);
-            getViewManager().removeFromNotificationList(view);
-            markDamaged();
-            invalidateLayout();
-        } else {
-            throw new IsisException(view + "\n    not in " + getView());
-        }
-    }
-
-    @Override
-    public void replaceView(final View toReplace, final View replacement) {
-        LOG.debug("replacing " + toReplace + " with " + replacement + " within " + this);
-        for (int i = 0; i < views.size(); i++) {
-            if (views.elementAt(i) == toReplace) {
-                replacement.setParent(getView());
-                replacement.setLocation(toReplace.getLocation());
-                views.insertElementAt(replacement, i);
-                invalidateLayout();
-                toReplace.dispose();
-                getViewManager().addToNotificationList(replacement);
-                return;
-            }
-        }
-
-        throw new IsisException(toReplace + " not found to replace");
-    }
-
-    public void setCanDragView(final boolean canDragView) {
-        this.canDragView = canDragView;
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-        this.focusManager = focusManager;
-    }
-
-    @Override
-    public String toString() {
-        final ToString to = new ToString(this, getId());
-        to.append("type", getSpecification().getName());
-        return to.toString();
-    }
-
-    @Override
-    public void update(final ObjectAdapter object) {
-        LOG.debug("update notify on " + this);
-        invalidateContent();
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location location) {
-        final View subview = subviewFor(location);
-        if (subview == null) {
-            return ViewAreaType.VIEW;
-        } else {
-            location.subtract(subview.getLocation());
-            return subview.viewAreaType(location);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewDecorator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewDecorator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewDecorator.java
deleted file mode 100644
index 4a61236..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewDecorator.java
+++ /dev/null
@@ -1,29 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.View;
-
-public interface CompositeViewDecorator {
-
-    View decorate(View view, Axes axes);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewSpecification.java
deleted file mode 100644
index 30adfbe..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewSpecification.java
+++ /dev/null
@@ -1,118 +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.dnd.view.composite;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.window.SubviewFocusManager;
-
-public abstract class CompositeViewSpecification implements ViewSpecification {
-    protected ViewBuilder builder;
-    private final List<CompositeViewDecorator> viewDecorators = new ArrayList<CompositeViewDecorator>();
-
-    @Override
-    public final View createView(final Content content, final Axes axes, final int sequence) {
-        resolveObject(content);
-
-        createAxes(content, axes);
-        builder.createAxes(axes, content);
-        final Layout layout = createLayout(content, axes);
-        if (layout instanceof ViewAxis) {
-            axes.add((ViewAxis) layout);
-        }
-
-        final CompositeViewUsingBuilder view = new CompositeViewUsingBuilder(content, this, axes, layout, builder);
-        view.setCanDragView(builder.canDragView());
-        final View decoratedView = decorateView(view, view.getViewAxes());
-        final Options options = Properties.getViewConfigurationOptions(this);
-        decoratedView.loadOptions(options);
-        return decoratedView;
-    }
-
-    private void resolveObject(final Content content) {
-        if (content instanceof ObjectContent) {
-            final ObjectAdapter object = ((ObjectContent) content).getObject();
-            if (object != null && !object.isResolved()) {
-                IsisContext.getPersistenceSession().resolveImmediately(object);
-            }
-        }
-    }
-
-    private View decorateView(final View view, final Axes axes) {
-        view.setFocusManager(new SubviewFocusManager(view));
-        View decorated = view;
-        for (final CompositeViewDecorator decorator : viewDecorators) {
-            decorated = decorator.decorate(decorated, axes);
-        }
-        return decorated;
-    }
-
-    public void addViewDecorator(final CompositeViewDecorator decorator) {
-        viewDecorators.add(decorator);
-    }
-
-    public void addSubviewDecorator(final SubviewDecorator decorator) {
-        builder.addSubviewDecorator(decorator);
-    }
-
-    protected abstract Layout createLayout(Content content, Axes axes);
-
-    protected void createAxes(final Content content, final Axes axes) {
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewUsingBuilder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewUsingBuilder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewUsingBuilder.java
deleted file mode 100644
index 9c52ac3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewUsingBuilder.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.dnd.view.composite;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-
-public class CompositeViewUsingBuilder extends CompositeView {
-    private final ViewBuilder builder;
-    private final Layout layout;
-    private final Axes axes = new Axes();
-
-    public CompositeViewUsingBuilder(final Content content, final ViewSpecification specification, final Axes axes, final Layout layout, final ViewBuilder builder) {
-        super(content, specification);
-        this.layout = layout;
-        this.builder = builder;
-        this.axes.add(axes);
-    }
-
-    @Override
-    public void debugStructure(final DebugBuilder debug) {
-        debug.appendln("Builder", builder);
-        debug.appendln("Axes", axes);
-        super.debugStructure(debug);
-    }
-
-    @Override
-    public Size requiredSize(final Size availableSpace) {
-        final Size size = layout.getRequiredSize(this);
-        size.extend(getPadding());
-        size.ensureHeight(1);
-        return size;
-    }
-
-    @Override
-    protected void buildView() {
-        builder.build(getView(), axes);
-    }
-
-    @Override
-    protected void doLayout(final Size maximumSize) {
-        layout.layout(getView(), new Size(maximumSize));
-    }
-
-    @Override
-    public Axes getViewAxes() {
-        return axes;
-    }
-
-    @Override
-    protected void appendDebug(final DebugBuilder debug) {
-        super.appendDebug(debug);
-        debug.appendln("Layout", layout);
-    }
-
-    public Layout getLayout() {
-        return layout;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        super.viewMenuOptions(options);
-        builder.viewMenuOptions(options, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/FieldLabelsDecorator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/FieldLabelsDecorator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/FieldLabelsDecorator.java
deleted file mode 100644
index 3dc11d7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/FieldLabelsDecorator.java
+++ /dev/null
@@ -1,47 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.axis.LabelAxis;
-import org.apache.isis.viewer.dnd.view.border.DroppableLabelBorder;
-import org.apache.isis.viewer.dnd.view.border.LabelBorder;
-
-public class FieldLabelsDecorator implements SubviewDecorator {
-
-    @Override
-    public ViewAxis createAxis(final Content content) {
-        return new LabelAxis();
-    }
-
-    @Override
-    public View decorate(final Axes axes, final View view) {
-        final LabelAxis axis = axes.getAxis(LabelAxis.class);
-        if (view.getContent().isObject() && !view.getContent().isTextParseable()) {
-            return DroppableLabelBorder.createObjectFieldLabelBorder(axis, view);
-        } else {
-            return LabelBorder.createFieldLabelBorder(axis, view);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/GridLayout.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/GridLayout.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/GridLayout.java
deleted file mode 100644
index 6ae56e2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/GridLayout.java
+++ /dev/null
@@ -1,137 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-
-/**
- */
-public class GridLayout implements Layout, ViewAxis {
-    public final static int COLUMNS = 0;
-    public final static int ROWS = 1;
-    private int orientation = COLUMNS;
-    private int size = 1;
-
-    @Override
-    public Size getRequiredSize(final View view) {
-        final View views[] = view.getSubviews();
-
-        final int max[] = new int[size];
-        final int total[] = new int[size];
-
-        int column = 0;
-        for (final View v : views) {
-            final Size s = v.getRequiredSize(new Size(Integer.MAX_VALUE, Integer.MAX_VALUE));
-            if (orientation == COLUMNS) {
-                total[column] += s.getHeight();
-                max[column] = Math.max(max[column], s.getWidth());
-            } else {
-                total[column] += s.getWidth();
-                max[column] = Math.max(max[column], s.getHeight());
-            }
-            column++;
-            if (column >= size) {
-                column = 0;
-            }
-        }
-
-        int height = 0;
-        int width = 0;
-        for (int i = 0; i < size; i++) {
-            if (orientation == COLUMNS) {
-                height = Math.max(height, total[i]);
-                width += max[i];
-            } else {
-                width = Math.max(width, total[i]);
-                height += max[i];
-            }
-        }
-        return new Size(width, height);
-    }
-
-    @Override
-    public void layout(final View view, final Size maximumSize) {
-        int x = 0;
-        int y = 0;
-        final View views[] = view.getSubviews();
-        final int max[] = new int[size];
-
-        int column = 0;
-        for (final View v : views) {
-            final Size s = v.getRequiredSize(new Size(maximumSize));
-            if (orientation == COLUMNS) {
-                max[column] = Math.max(max[column], s.getWidth());
-            } else {
-                max[column] = Math.max(max[column], s.getHeight());
-            }
-            column++;
-            if (column >= size) {
-                column = 0;
-            }
-        }
-
-        column = 0;
-        for (final View v : views) {
-            final Size s = v.getRequiredSize(new Size(maximumSize));
-            v.setLocation(new Location(x, y));
-            if (orientation == COLUMNS) {
-                x += max[column];
-                s.ensureWidth(max[column]);
-            } else {
-                y += max[column];
-                s.ensureHeight(max[column]);
-            }
-            v.setSize(s);
-            column++;
-            if (column >= size) {
-                column = 0;
-                if (orientation == COLUMNS) {
-                    x = 0;
-                    y += s.getHeight();
-                } else {
-                    y = 0;
-                    x += s.getWidth();
-                }
-            }
-
-        }
-    }
-
-    public int getOrientation() {
-        return orientation;
-    }
-
-    public void setOrientation(final int orientation) {
-        this.orientation = orientation;
-    }
-
-    public int getSize() {
-        return size;
-    }
-
-    public void setSize(final int size) {
-        this.size = size;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/GridLayoutControlBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/GridLayoutControlBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/GridLayoutControlBorder.java
deleted file mode 100644
index 13615da..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/GridLayoutControlBorder.java
+++ /dev/null
@@ -1,98 +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.dnd.view.composite;
-
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class GridLayoutControlBorder extends AbstractBorder {
-
-    public static final class Factory implements CompositeViewDecorator {
-        @Override
-        public View decorate(final View view, final Axes axes) {
-            return new GridLayoutControlBorder(view);
-        }
-    }
-
-    protected GridLayoutControlBorder(final View view) {
-        super(view);
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        super.viewMenuOptions(menuOptions);
-
-        final GridLayout layout = getViewAxes().getAxis(GridLayout.class);
-
-        final boolean columnOrientation = layout.getOrientation() == GridLayout.COLUMNS;
-
-        final UserActionSet submenu = menuOptions.addNewActionSet("Grid");
-
-        submenu.add(new UserActionAbstract("Add " + (columnOrientation ? "Column" : "Row")) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                layout.setSize(layout.getSize() + 1);
-                invalidateLayout();
-            }
-        });
-
-        if (layout.getSize() > 1) {
-            submenu.add(new UserActionAbstract("Remove " + (columnOrientation ? "Column" : "Row")) {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    layout.setSize(layout.getSize() - 1);
-                    invalidateLayout();
-                }
-            });
-        }
-
-        submenu.add(new UserActionAbstract(columnOrientation ? "In Rows" : "In Columns") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                layout.setOrientation(columnOrientation ? GridLayout.ROWS : GridLayout.COLUMNS);
-                invalidateLayout();
-            }
-        });
-    }
-
-    @Override
-    public void saveOptions(final Options viewOptions) {
-        super.saveOptions(viewOptions);
-
-        final GridLayout layout = getViewAxes().getAxis(GridLayout.class);
-        viewOptions.addOption("orientation", layout.getOrientation() == GridLayout.COLUMNS ? "columns" : "rows");
-        viewOptions.addOption("size", layout.getSize() + "");
-    }
-
-    @Override
-    public void loadOptions(final Options viewOptions) {
-        super.loadOptions(viewOptions);
-
-        final GridLayout layout = getViewAxes().getAxis(GridLayout.class);
-        layout.setOrientation(viewOptions.getString("orientation", "columns").equals("columns") ? GridLayout.COLUMNS : GridLayout.ROWS);
-        layout.setSize(viewOptions.getInteger("size", 1));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/IconGridViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/IconGridViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/IconGridViewSpecification.java
deleted file mode 100644
index 43bf01b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/IconGridViewSpecification.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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.border.LineBorder;
-
-public class IconGridViewSpecification extends AbstractCollectionViewSpecification {
-
-    public IconGridViewSpecification() {
-        addViewDecorator(new IconBorder.Factory());
-    }
-
-    @Override
-    protected ViewFactory createElementFactory() {
-        return new ViewFactory() {
-            @Override
-            public View createView(final Content content, final Axes axes, final int sequence) {
-                final View icon = new ImageViewSpecification().createView(content, axes, sequence);
-                /*
-                 * Icon icon = new Icon(content,
-                 * IconGridViewSpecification.this); Text textStyle =
-                 * Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-                 * icon.setTitle(new ObjectTitleText(icon, textStyle));
-                 * icon.setSelectedGraphic(new IconGraphic(icon, 68));
-                 * icon.setUnselectedGraphic(new IconGraphic(icon, 60));
-                 * icon.setVertical(true);
-                 * 
-                 * // return icon;
-                 */
-                final LineBorder lineBorderedIcon = new LineBorder(icon);
-                lineBorderedIcon.setPadding(4);
-                lineBorderedIcon.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3));
-
-                // return lineBorderedIcon;
-
-                return new ReplaceViewBorder(lineBorderedIcon);
-            }
-        };
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        final GridLayout gridLayout = new GridLayout();
-        gridLayout.setSize(3);
-        return gridLayout;
-    }
-
-    @Override
-    public String getName() {
-        return "Icon Grid";
-    }
-
-    /*
-     * private static final ObjectSpecification BOOK_SPECIFICATION =
-     * IsisContext.getSpecificationLoader().loadSpecification(
-     * "org.apache.isis.example.library.dom.Book"); public boolean
-     * canDisplay(ViewRequirement requirement) { return
-     * super.canDisplay(requirement) &&
-     * requirement.getAdapter().getTypeOfFacet().valueSpec() ==
-     * BOOK_SPECIFICATION; }
-     */
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ImageViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ImageViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ImageViewSpecification.java
deleted file mode 100644
index 7a5ed88..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ImageViewSpecification.java
+++ /dev/null
@@ -1,83 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.icon.Icon;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.text.ObjectTitleText;
-
-public class ImageViewSpecification implements ViewSpecification {
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final Icon icon = new Icon(content, ImageViewSpecification.this);
-        final Text textStyle = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-        icon.setTitle(new ObjectTitleText(icon, textStyle));
-        icon.setSelectedGraphic(new IconGraphic(icon, 68));
-        icon.setUnselectedGraphic(new IconGraphic(icon, 60));
-        icon.setVertical(true);
-
-        return icon;
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && requirement.isClosed();
-    }
-
-    @Override
-    public String getName() {
-        return "Image";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return false;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/LineBorderDecorator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/LineBorderDecorator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/LineBorderDecorator.java
deleted file mode 100644
index ed46eaa..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/LineBorderDecorator.java
+++ /dev/null
@@ -1,39 +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.dnd.view.composite;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.border.LineBorder;
-
-public class LineBorderDecorator implements SubviewDecorator {
-
-    @Override
-    public View decorate(final Axes axes, final View view) {
-        return new LineBorder(view);
-    }
-
-    @Override
-    public ViewAxis createAxis(final org.apache.isis.viewer.dnd.view.Content content) {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/MasterDetailPanel.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/MasterDetailPanel.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/MasterDetailPanel.java
deleted file mode 100644
index 0ace123..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/MasterDetailPanel.java
+++ /dev/null
@@ -1,232 +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.dnd.view.composite;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Selectable;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.BlankView;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.border.SelectableViewAxis;
-import org.apache.isis.viewer.dnd.view.border.ViewResizeBorder;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-
-public class MasterDetailPanel extends CompositeView implements Selectable {
-    private static final int MINIMUM_WIDTH = 120;
-    private final ViewSpecification leftHandSideSpecification;
-    private final Axes axes;
-
-    public MasterDetailPanel(final Content content, final ViewSpecification specification, final ViewSpecification leftHandSideSpecification) {
-        super(content, specification);
-        this.leftHandSideSpecification = leftHandSideSpecification;
-        axes = new Axes();
-        axes.add(new SelectableViewAxis(this));
-    }
-
-    @Override
-    protected void buildView() {
-        final Content content = getContent();
-        View leftHandView = leftHandSideSpecification.createView(content, axes, -1);
-        leftHandView = new ViewResizeBorder(new ScrollBorder(leftHandView));
-        leftHandView.setParent(getView());
-        addView(leftHandView);
-
-        final Size blankViewSize = new Size(MINIMUM_WIDTH, 0);
-        final View blankView = new BlankView(new NullContent(), blankViewSize);
-        blankView.setParent(getView());
-        addView(blankView);
-
-        selectFirstSuitableObject(content);
-    }
-
-    private void selectFirstSuitableObject(final Content content) {
-        if (content instanceof CollectionContent) {
-            final ObjectAdapter[] elements = ((CollectionContent) content).elements();
-            if (elements.length > 0) {
-                final ObjectAdapter firstElement = elements[0];
-                final Content firstElementContent = Toolkit.getContentFactory().createRootContent(firstElement);
-                setSelectedNode(firstElementContent);
-            }
-        } else if (content instanceof ObjectContent) {
-            /*
-             * TODO provide a view that shows first useful object (not
-             * redisplaying parent)
-             * 
-             * ObjectAssociation[] associations =
-             * content.getSpecification().getAssociations(); for (int i = 0; i <
-             * associations.length; i++) { ObjectAssociation assoc =
-             * associations[i]; if (assoc.isOneToManyAssociation()) {
-             * ObjectAdapter collection = assoc.get(content.getAdapter()); final
-             * Content collectionContent =
-             * Toolkit.getContentFactory().createRootContent(collection);
-             * setSelectedNode(collectionContent); break; } else if
-             * (assoc.isOneToOneAssociation() &&
-             * !((OneToOneAssociation)assoc).getSpecification().isParseable()) {
-             * ObjectAdapter object = assoc.get(content.getAdapter()); if
-             * (object == null) { continue; } final Content objectContent =
-             * Toolkit.getContentFactory().createRootContent(object);
-             * setSelectedNode(objectContent); break; } }
-             */
-            setSelectedNode(content);
-        }
-    }
-
-    @Override
-    protected void doLayout(final Size availableSpace) {
-        availableSpace.contract(getView().getPadding());
-
-        final View[] subviews = getSubviews();
-        final View left = subviews[0];
-        final View right = subviews[1];
-        final Size leftPanelRequiredSize = left.getRequiredSize(new Size(availableSpace));
-        final Size rightPanelRequiredSize = right == null ? new Size() : right.getRequiredSize(new Size(availableSpace));
-
-        // combine the two sizes
-        final Size totalSize = new Size(leftPanelRequiredSize);
-        totalSize.extendWidth(rightPanelRequiredSize.getWidth());
-        totalSize.ensureHeight(rightPanelRequiredSize.getHeight());
-
-        if (totalSize.getWidth() > availableSpace.getWidth()) {
-            /*
-             * If the combined width is greater than the available then we need
-             * to divide the space between the two sides and recalculate
-             */
-            if (rightPanelRequiredSize.getWidth() <= MINIMUM_WIDTH) {
-                leftPanelRequiredSize.setWidth(availableSpace.getWidth() - rightPanelRequiredSize.getWidth());
-            } else {
-                final int availableWidth = availableSpace.getWidth();
-                final int requiredWidth = totalSize.getWidth();
-                leftPanelRequiredSize.setWidth(leftPanelRequiredSize.getWidth() * availableWidth / requiredWidth);
-                rightPanelRequiredSize.setWidth(rightPanelRequiredSize.getWidth() * availableWidth / requiredWidth);
-            }
-            /*
-             * final int leftWidth = Math.max(MINIMUM_WIDTH,
-             * leftPanelRequiredSize.getWidth()); final int rightWidth =
-             * rightPanelRequiredSize.getWidth(); final int totalWidth =
-             * leftWidth + rightWidth;
-             * 
-             * final int bestWidth = (int) (1.0 * leftWidth / totalWidth *
-             * availableWidth); final Size maximumSizeLeft = new Size(bestWidth,
-             * maximumSize.getHeight()); leftPanelRequiredSize =
-             * left.getRequiredSize(maximumSizeLeft);
-             * 
-             * final Size maximumSizeRight = new Size(availableWidth -
-             * leftPanelRequiredSize.getWidth(), maximumSize.getHeight());
-             * rightPanelRequiredSize = right.getRequiredSize(maximumSizeRight);
-             */
-        }
-
-        // combinedSize.setHeight(Math.min(combinedSize.getHeight(),
-        // maximumSize.getHeight()));
-        // totalSize.limitSize(availableSpace);
-
-        left.setSize(new Size(leftPanelRequiredSize.getWidth(), totalSize.getHeight()));
-        left.layout();
-
-        if (right != null) {
-            right.setLocation(new Location(left.getSize().getWidth(), 0));
-
-            rightPanelRequiredSize.setHeight(totalSize.getHeight());
-            right.setSize(rightPanelRequiredSize);
-            right.layout();
-        }
-    }
-
-    @Override
-    public Size requiredSize(final Size availableSpace) {
-        final View[] subviews = getSubviews();
-        final View left = subviews[0];
-        final View right = subviews.length > 1 ? subviews[1] : null;
-
-        Size leftPanelRequiredSize = left.getRequiredSize(new Size(availableSpace));
-        Size rightPanelRequiredSize = right == null ? new Size() : right.getRequiredSize(new Size(availableSpace));
-
-        if (leftPanelRequiredSize.getWidth() + rightPanelRequiredSize.getWidth() > availableSpace.getWidth()) {
-            /*
-             * If the combined width is greater than the available then we need
-             * to divide the space between the two sides and recalculate
-             */
-
-            final int availableWidth = availableSpace.getWidth();
-            final int leftWidth = leftPanelRequiredSize.getWidth();
-            final int rightWidth = Math.max(MINIMUM_WIDTH, rightPanelRequiredSize.getWidth());
-            final int totalWidth = leftWidth + rightWidth;
-
-            final int bestWidth = (int) (1.0 * leftWidth / totalWidth * availableWidth);
-            final Size maximumSizeLeft = new Size(bestWidth, availableSpace.getHeight());
-            leftPanelRequiredSize = left.getRequiredSize(maximumSizeLeft);
-
-            final Size maximumSizeRight = new Size(availableWidth - leftPanelRequiredSize.getWidth(), availableSpace.getHeight());
-            rightPanelRequiredSize = right == null ? new Size() : right.getRequiredSize(maximumSizeRight);
-        }
-
-        // combine the two required sizes
-        final Size combinedSize = new Size(leftPanelRequiredSize);
-        combinedSize.extendWidth(rightPanelRequiredSize.getWidth());
-        combinedSize.ensureHeight(rightPanelRequiredSize.getHeight());
-        return combinedSize;
-    }
-
-    protected void showInRightPane(final View view) {
-        replaceView(getSubviews()[1], view);
-    }
-
-    @Override
-    public void setSelectedNode(final View view) {
-        final Content content = view.getContent();
-        setSelectedNode(content);
-    }
-
-    private void setSelectedNode(final Content content) {
-        final ViewRequirement requirement = new ViewRequirement(content, ViewRequirement.OPEN | ViewRequirement.SUBVIEW | ViewRequirement.FIXED);
-        /*
-         * final ObjectAdapter object = content.getAdapter(); final
-         * ObjectSpecification specification = object.getSpecification(); final
-         * CollectionFacet facet =
-         * specification.getFacet(CollectionFacet.class); if (facet != null &&
-         * facet.size(object) > 0) { if
-         * (mainViewTableSpec.canDisplay(requirement)) {
-         * showInRightPane(mainViewTableSpec.createView(content, axes, -1)); }
-         * else if (mainViewListSpec.canDisplay(requirement)) {
-         * showInRightPane(mainViewListSpec.createView(content, axes, -1)); }
-         * 
-         * } else if (specification.isObject()) { if (object != null &&
-         * mainViewFormSpec.canDisplay(requirement)) {
-         * showInRightPane(mainViewFormSpec.createView(content, axes, -1)); } }
-         */
-        final View createView = Toolkit.getViewFactory().createView(requirement);
-        showInRightPane(createView);
-    }
-
-    @Override
-    public String toString() {
-        return "MasterDetailPanel" + getId();
-    }
-
-}


[08/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/LineStyleWindowBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/LineStyleWindowBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/LineStyleWindowBorder.java
deleted file mode 100644
index 62da192..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/line/LineStyleWindowBorder.java
+++ /dev/null
@@ -1,99 +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.dnd.view.look.line;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.border.BorderDrawing;
-import org.apache.isis.viewer.dnd.view.text.TextUtils;
-import org.apache.isis.viewer.dnd.view.window.WindowControl;
-
-public class LineStyleWindowBorder implements BorderDrawing {
-    private final static Text TITLE_STYLE = Toolkit.getText(ColorsAndFonts.TEXT_TITLE_SMALL);
-    private final int titlebarHeight = Math.max(WindowControl.HEIGHT + ViewConstants.VPADDING + TITLE_STYLE.getDescent(), TITLE_STYLE.getTextHeight());
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size s, final boolean hasFocus, final ViewState state, final View[] controls, final String title) {
-        final Color borderColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_BLACK) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        canvas.drawRectangle(0, 0, s.getWidth(), s.getHeight(), borderColor);
-        final int y = getTop();
-        canvas.drawLine(0, y, s.getWidth(), y, borderColor);
-        final int controlWidth = ViewConstants.HPADDING + (WindowControl.WIDTH + ViewConstants.HPADDING) * controls.length;
-        final String text = TextUtils.limitText(title, TITLE_STYLE, s.getWidth() - controlWidth - ViewConstants.VPADDING);
-        canvas.drawText(text, 6, TITLE_STYLE.getLineHeight(), borderColor, Toolkit.getText(ColorsAndFonts.TEXT_TITLE_SMALL));
-    }
-
-    // TODO transiency should be flagged elsewhere and dealt with in the draw
-    // method.
-    @Override
-    public void drawTransientMarker(final Canvas canvas, final Size size) {
-    }
-
-    @Override
-    public int getBottom() {
-        return 1;
-    }
-
-    @Override
-    public int getLeft() {
-        return 1;
-    }
-
-    @Override
-    public void getRequiredSize(final Size size, final String title, final View[] controls) {
-        final int width = getLeft() + ViewConstants.HPADDING + TITLE_STYLE.stringWidth(title) + ViewConstants.HPADDING + controls.length * (WindowControl.WIDTH + ViewConstants.HPADDING) + ViewConstants.HPADDING + getRight();
-        size.ensureWidth(width);
-    }
-
-    @Override
-    public int getRight() {
-        return 1;
-    }
-
-    @Override
-    public int getTop() {
-        return titlebarHeight + 5;
-    }
-
-    @Override
-    public void layoutControls(final Size size, final View[] controls) {
-        int x = size.getWidth() - 1 - (WindowControl.WIDTH + ViewConstants.HPADDING) * controls.length;
-        final int y = 2 + ViewConstants.VPADDING;
-        for (final View control : controls) {
-            control.setSize(control.getRequiredSize(new Size()));
-            control.setLocation(new Location(x, y));
-            x += control.getSize().getWidth() + ViewConstants.HPADDING;
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/Button3DStyleRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/Button3DStyleRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/Button3DStyleRender.java
deleted file mode 100644
index db10d39..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/Button3DStyleRender.java
+++ /dev/null
@@ -1,72 +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.dnd.view.look.linux;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.control.ButtonRender;
-
-public class Button3DStyleRender implements ButtonRender {
-    private static final int TEXT_PADDING = 12;
-    private static final Text style = Toolkit.getText(ColorsAndFonts.TEXT_CONTROL);
-    private final int buttonHeight;
-    protected Image iconize = ImageFactory.getInstance().loadImage("button1.png");
-    protected Image resize = ImageFactory.getInstance().loadImage("button2.png");
-    protected Image close = ImageFactory.getInstance().loadImage("button3.png");
-    protected Image disabled = ImageFactory.getInstance().loadImage("button4.png");
-
-    public Button3DStyleRender() {
-        this.buttonHeight = 4 + style.getTextHeight() + 4;
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size size, final boolean isDisabled, final boolean isDefault, final boolean hasFocus, final boolean isOver, final boolean isPressed, final String text) {
-        final int x = 0;
-        final int y = 0;
-
-        final int buttonWidth = TEXT_PADDING + style.stringWidth(text) + TEXT_PADDING;
-
-        canvas.drawSolidRectangle(x, y, buttonWidth, buttonHeight, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-
-        final Color color = isDisabled ? Toolkit.getColor(ColorsAndFonts.COLOR_MENU_DISABLED) : Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        final Color border = isDisabled ? Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        canvas.drawRectangle(x, y, buttonWidth, buttonHeight, isOver & !isDisabled ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1) : Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-        canvas.draw3DRectangle(x + 1, y + 1, buttonWidth - 2, buttonHeight - 2, border, !isPressed);
-        canvas.draw3DRectangle(x + 2, y + 2, buttonWidth - 4, buttonHeight - 4, border, !isPressed);
-        if (isDefault) {
-            canvas.drawRectangle(x + 3, y + 3, buttonWidth - 6, buttonHeight - 6, border);
-        }
-        if (hasFocus) {
-            canvas.drawRectangle(x + 3, y + 3, buttonWidth - 6, buttonHeight - 6, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        }
-        canvas.drawText(text, x + TEXT_PADDING, y + buttonHeight / 2 + style.getMidPoint(), color, style);
-    }
-
-    @Override
-    public Size getMaximumSize(final String text) {
-        final int buttonWidth = TEXT_PADDING + Toolkit.getText(ColorsAndFonts.TEXT_CONTROL).stringWidth(text) + TEXT_PADDING;
-        return new Size(buttonWidth, buttonHeight);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/CloseWindow3DRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/CloseWindow3DRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/CloseWindow3DRender.java
deleted file mode 100644
index 687192c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/CloseWindow3DRender.java
+++ /dev/null
@@ -1,45 +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.dnd.view.look.linux;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.window.CloseWindowRender;
-
-public class CloseWindow3DRender implements CloseWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        canvas.drawRectangle(x - 1, y, width + 2, height + 1, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangle(x, y - 1, width + 2, height + 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        final Color crossColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        canvas.drawLine(x + 4, y + 3, x + 10, y + 9, crossColor);
-        canvas.drawLine(x + 5, y + 3, x + 11, y + 9, crossColor);
-        canvas.drawLine(x + 3, y + 3, x + 9, y + 9, crossColor);
-        canvas.drawLine(x + 10, y + 3, x + 4, y + 9, crossColor);
-        canvas.drawLine(x + 11, y + 3, x + 5, y + 9, crossColor);
-        canvas.drawLine(x + 9, y + 3, x + 3, y + 9, crossColor);
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/CustomStyleWindowBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/CustomStyleWindowBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/CustomStyleWindowBorder.java
deleted file mode 100644
index 2fffc82..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/CustomStyleWindowBorder.java
+++ /dev/null
@@ -1,148 +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.dnd.view.look.linux;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.DrawingUtil;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.border.BorderDrawing;
-import org.apache.isis.viewer.dnd.view.text.TextUtils;
-import org.apache.isis.viewer.dnd.view.window.WindowControl;
-
-public class CustomStyleWindowBorder implements BorderDrawing {
-    final protected static int LINE_THICKNESS = 5;
-    private final static Text TITLE_STYLE = Toolkit.getText(ColorsAndFonts.TEXT_TITLE_SMALL);
-
-    int titlebarHeight = Math.max(WindowControl.HEIGHT + ViewConstants.VPADDING + TITLE_STYLE.getDescent(), TITLE_STYLE.getTextHeight());
-    int baseline = LINE_THICKNESS + WindowControl.HEIGHT;
-    int left = LINE_THICKNESS;
-    int right = LINE_THICKNESS;
-    int top = LINE_THICKNESS + titlebarHeight;
-    int bottom = LINE_THICKNESS;
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.appendln("titlebar ", top - titlebarHeight);
-    }
-
-    @Override
-    public void layoutControls(final Size size, final View[] controls) {
-        int x = size.getWidth() - right - (WindowControl.WIDTH + ViewConstants.HPADDING) * controls.length;
-        final int y = LINE_THICKNESS + ViewConstants.VPADDING;
-
-        for (final View control : controls) {
-            control.setSize(control.getRequiredSize(new Size()));
-            control.setLocation(new Location(x, y));
-            x += control.getSize().getWidth() + ViewConstants.HPADDING;
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size s, final boolean hasFocus, final ViewState state, final View[] controls, final String title) {
-        final int x = left;
-        final int width = s.getWidth();
-        final int height = s.getHeight();
-
-        final Color titleBarBackgroundColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-        final Color titleBarTextColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_BLACK) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        final Color borderColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-
-        // slightly rounded grey border
-        canvas.drawRectangle(1, 0, width - 2, height, borderColor);
-        canvas.drawRectangle(0, 1, width, height - 2, borderColor);
-
-        for (int i = 2; i < left; i++) {
-            canvas.drawRectangle(i, i, width - 2 * i, height - 2 * i, borderColor);
-        }
-
-        if (state.isActive()) {
-            final Image busyImage = ImageFactory.getInstance().loadIcon("busy", 16, null);
-            canvas.drawImage(busyImage, width - right - 16 - 4, top + 4);
-        }
-
-        // title bar
-        canvas.drawSolidRectangle(left, LINE_THICKNESS, width - left - right, titlebarHeight, titleBarBackgroundColor);
-        final int y = LINE_THICKNESS + titlebarHeight - 1;
-        canvas.drawLine(x, y, width - right - 1, y, borderColor);
-
-        final int controlWidth = ViewConstants.HPADDING + (WindowControl.WIDTH + ViewConstants.HPADDING) * controls.length;
-        final String text = TextUtils.limitText(title, TITLE_STYLE, width - controlWidth - LINE_THICKNESS * 2 - 2);
-        canvas.drawText(text, x + ViewConstants.HPADDING, baseline, titleBarTextColor, TITLE_STYLE);
-
-        final Color white = Toolkit.getColor(ColorsAndFonts.COLOR_WHITE);
-        final int hatchX = ViewConstants.HPADDING + TITLE_STYLE.stringWidth(title) + 10;
-        final int hatchWidth = controls[0].getLocation().getX() - hatchX - 10;
-        final int hatchY = LINE_THICKNESS + 2;
-        final int hatchHeight = titlebarHeight - 6;
-        DrawingUtil.drawHatching(canvas, hatchX, hatchY, hatchWidth, hatchHeight, borderColor, white);
-
-    }
-
-    @Override
-    public void drawTransientMarker(final Canvas canvas, final Size size) {
-        final int height = top - LINE_THICKNESS - 2;
-        final int x = size.getWidth() - 50;
-        final Image icon = ImageFactory.getInstance().loadIcon("transient", height, null);
-        if (icon == null) {
-            canvas.drawText("*", x, baseline, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK), Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-        } else {
-            canvas.drawImage(icon, x, LINE_THICKNESS + 1, height, height);
-        }
-
-    }
-
-    @Override
-    public void getRequiredSize(final Size size, final String title, final View[] controls) {
-        final int width = left + ViewConstants.HPADDING + TITLE_STYLE.stringWidth(title) + ViewConstants.HPADDING + controls.length * (WindowControl.WIDTH + ViewConstants.HPADDING) + ViewConstants.HPADDING + right;
-        // size.extendWidth(getLeft() + getRight());
-        size.ensureWidth(width);
-    }
-
-    @Override
-    public int getLeft() {
-        return left;
-    }
-
-    @Override
-    public int getRight() {
-        return right;
-    }
-
-    @Override
-    public int getTop() {
-        return top;
-    }
-
-    @Override
-    public int getBottom() {
-        return bottom;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/IconizeWindow3DRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/IconizeWindow3DRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/IconizeWindow3DRender.java
deleted file mode 100644
index fff9f91..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/IconizeWindow3DRender.java
+++ /dev/null
@@ -1,37 +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.dnd.view.look.linux;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.window.IconizeWindowRender;
-
-public class IconizeWindow3DRender implements IconizeWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        canvas.drawRectangle(x - 1, y, width + 2, height + 1, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangle(x - 1, y - 1, width + 1, height + 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        canvas.drawSolidRectangle(x + 3, y + 8, x + 8, 3, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/LinuxDatePicker.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/LinuxDatePicker.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/LinuxDatePicker.java
deleted file mode 100644
index b0ead97..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/LinuxDatePicker.java
+++ /dev/null
@@ -1,257 +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.dnd.view.look.linux;
-
-import java.awt.event.KeyEvent;
-import java.util.Calendar;
-import java.util.Date;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.progmodel.facets.value.date.DateValueFacet;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.field.DatePicker;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-public class LinuxDatePicker extends AbstractView implements DatePicker {
-
-    protected Image calendarImage = ImageFactory.getInstance().loadImage("calendar2.png");
-    protected Image monthUp = ImageFactory.getInstance().loadImage("monthup.png");
-    protected Image monthDown = ImageFactory.getInstance().loadImage("monthdown.png");
-    protected Image yearUp = ImageFactory.getInstance().loadImage("yearup.png");
-    protected Image yearDown = ImageFactory.getInstance().loadImage("yeardown.png");
-    protected Image decadeUp = ImageFactory.getInstance().loadImage("decadeup.png");
-    protected Image decadeDown = ImageFactory.getInstance().loadImage("decadedown.png");
-    protected Image highlight = ImageFactory.getInstance().loadImage("highlight2.png");
-    protected Image day_img = ImageFactory.getInstance().loadImage("day2.png");
-
-    private static final int ROWS = 7;// Days
-    private static final int COLUMNS = 6;// Weeks
-    private final int CONTROL_VERTICAL_INSET = 17;
-    private final int CONTROL_VERTICAL_SPACING = monthUp.getWidth() + 5;
-    private final int CONTROL_HORIZONTAL_INSET = 215;
-    private final int CONTROL_HORIZONTAL_SPACING = monthUp.getHeight() + 5;
-    private final int cellWidth = day_img.getWidth();
-    private final int cellHeight = day_img.getHeight();
-    private final Calendar date;
-    private final Text style = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-    private Calendar currentDate;
-    private final Calendar today;
-    private final boolean isEditable;
-
-    String[] monthName = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
-
-    private Location mouseLocation = new Location(-1, -1);
-
-    public LinuxDatePicker(final Content content) {
-        super(content);
-
-        isEditable = content instanceof FieldContent && ((FieldContent) content).isEditable().isAllowed();
-
-        today = Calendar.getInstance();
-        clearTime(today);
-
-        date = Calendar.getInstance();
-        final ObjectAdapter dateAdapter = ((TextParseableContent) getContent()).getAdapter();
-        if (dateAdapter != null) {
-            final DateValueFacet facet = dateAdapter.getSpecification().getFacet(DateValueFacet.class);
-            currentDate = Calendar.getInstance();
-            final Date dateValue = facet.dateValue(dateAdapter);
-            currentDate.setTime(dateValue);
-            clearTime(currentDate);
-            date.setTime(dateValue);
-        }
-        clearTime(date);
-        date.add(Calendar.DAY_OF_MONTH, -21);
-    }
-
-    private void clearTime(final Calendar date) {
-        date.clear(Calendar.AM_PM);
-        date.clear(Calendar.HOUR);
-        date.clear(Calendar.HOUR_OF_DAY);
-        date.clear(Calendar.MINUTE);
-        date.clear(Calendar.SECOND);
-        date.clear(Calendar.MILLISECOND);
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(225, 270);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final int width = getSize().getWidth();
-        final int height = getSize().getHeight();
-
-        final Color textColor = Toolkit.getColor(ColorsAndFonts.COLOR_WHITE);
-
-        drawBackground(canvas, width, height, textColor);
-        drawDaysOfWeek(canvas, textColor);
-        drawControls(canvas, width);
-    }
-
-    private void drawBackground(final Canvas canvas, final int width, final int height, final Color text) {
-        canvas.drawImage(calendarImage, 0, 0);
-        canvas.drawText(monthName[today.get(Calendar.MONTH)], 26, 28, text, style);
-        canvas.drawText(Integer.toString(today.get(Calendar.YEAR)), 176, 28, text, style);
-    }
-
-    private void drawDaysOfWeek(final Canvas canvas, final Color textColor) {
-        int x, y = 0;
-        final Calendar cal = Calendar.getInstance();
-        cal.setTime(today.getTime());
-        cal.set(Calendar.DATE, 1);
-        cal.add(Calendar.DATE, -cal.get(Calendar.DAY_OF_WEEK) + 1);
-        for (int week = 0; week < COLUMNS; week++) {
-            y = week * 21 + 60;
-            for (int d = 0; d < ROWS; d++) {
-                x = new Float(d * 22.5).intValue() + 40;
-                Image img = day_img;
-                if (cal.get(Calendar.MONTH) == today.get(Calendar.MONTH)) {
-                    if (mouseOver(x, y)) {
-                        img = highlight;
-                    }
-                    canvas.drawImage(img, x, y);
-                    canvas.drawText(Integer.toString(cal.get(Calendar.DAY_OF_MONTH)), x + 4, y + 15, textColor, style);
-                }
-                cal.add(Calendar.DATE, +1);
-            }
-        }
-    }
-
-    private boolean mouseOver(final int x, final int y) {
-        final int mouseX = mouseLocation.getX();
-        final int mouseY = mouseLocation.getY();
-        if (mouseX > x && mouseX < x + cellWidth) {
-            if (mouseY > y && mouseY < y + cellHeight) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private void drawControls(final Canvas canvas, final int width) {
-
-        canvas.drawImage(monthUp, CONTROL_VERTICAL_INSET, CONTROL_HORIZONTAL_INSET);
-        canvas.drawImage(monthDown, CONTROL_VERTICAL_INSET, CONTROL_HORIZONTAL_INSET + CONTROL_HORIZONTAL_SPACING);
-        canvas.drawImage(yearUp, CONTROL_VERTICAL_INSET + CONTROL_VERTICAL_SPACING, CONTROL_HORIZONTAL_INSET);
-        canvas.drawImage(yearDown, CONTROL_VERTICAL_INSET + CONTROL_VERTICAL_SPACING, CONTROL_HORIZONTAL_INSET + CONTROL_HORIZONTAL_SPACING);
-        canvas.drawImage(decadeUp, CONTROL_VERTICAL_INSET + (2 * CONTROL_VERTICAL_SPACING), CONTROL_HORIZONTAL_INSET);
-        canvas.drawImage(decadeDown, CONTROL_VERTICAL_INSET + (2 * CONTROL_VERTICAL_SPACING), CONTROL_HORIZONTAL_INSET + CONTROL_HORIZONTAL_SPACING);
-    }
-
-    @Override
-    public void mouseMoved(final Location location) {
-        mouseLocation = location;
-        if (location.getX() > 0 && location.getY() > 0) {
-            markDamaged();
-        }
-    }
-
-    @Override
-    public void exited() {
-        mouseOver(-1, -1);
-        super.exited();
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final int x = click.getLocation().getX();
-        final int y = click.getLocation().getY();
-        if (y >= CONTROL_HORIZONTAL_INSET + CONTROL_HORIZONTAL_SPACING && y <= CONTROL_HORIZONTAL_INSET + (2 * CONTROL_HORIZONTAL_SPACING)) {
-            if (x <= CONTROL_VERTICAL_INSET + (3 * CONTROL_VERTICAL_SPACING) && x >= CONTROL_VERTICAL_INSET + (2 * CONTROL_VERTICAL_SPACING)) {
-                today.add(Calendar.YEAR, -10);
-            } else if (x >= CONTROL_VERTICAL_INSET + CONTROL_VERTICAL_SPACING && x <= CONTROL_VERTICAL_INSET + (2 * CONTROL_VERTICAL_SPACING)) {
-                today.add(Calendar.YEAR, -1);
-            } else if (x >= CONTROL_VERTICAL_INSET && x <= CONTROL_VERTICAL_INSET + CONTROL_VERTICAL_SPACING) {
-                today.add(Calendar.MONTH, -1);
-            }
-            markDamaged();
-            return;
-        }
-        if (y > CONTROL_HORIZONTAL_INSET && y <= CONTROL_HORIZONTAL_INSET + CONTROL_HORIZONTAL_SPACING) {
-            if (x <= CONTROL_VERTICAL_INSET + (3 * CONTROL_VERTICAL_SPACING) && x >= CONTROL_VERTICAL_INSET + (2 * CONTROL_VERTICAL_SPACING)) {
-                today.add(Calendar.YEAR, 10);
-            } else if (x >= CONTROL_VERTICAL_INSET + CONTROL_VERTICAL_SPACING && x <= CONTROL_VERTICAL_INSET + (2 * CONTROL_VERTICAL_SPACING)) {
-                today.add(Calendar.YEAR, 1);
-            } else if (x >= CONTROL_VERTICAL_INSET && x <= CONTROL_VERTICAL_INSET + CONTROL_VERTICAL_SPACING) {
-                today.add(Calendar.MONTH, 1);
-            }
-            markDamaged();
-            return;
-        }
-        if (isEditable) {
-            final Location location = click.getLocation();
-            final Date selectedDate = getSelectedDate(location);
-            if (selectedDate != null) {
-                date.setTime(selectedDate);
-                final Content content = getContent();
-                final DateValueFacet facet = content.getSpecification().getFacet(DateValueFacet.class);
-                final ObjectAdapter value = facet.createValue(date.getTime());
-                ((TextParseableContent) content).parseTextEntry(value.titleString());
-                ((TextParseableContent) content).entryComplete();
-                getView().refresh();
-            }
-        }
-        getViewManager().clearOverlayView();
-    }
-
-    private Date getSelectedDate(final Location location) {
-        int x, y = 0;
-        final Calendar cal = Calendar.getInstance();
-        cal.setTime(today.getTime());
-        cal.set(Calendar.DATE, 1);
-        cal.add(Calendar.DATE, -cal.get(Calendar.DAY_OF_WEEK) + 1);
-        for (int week = 0; week < COLUMNS; week++) {
-            y = (week * 21) + 60;
-            for (int d = 0; d < ROWS; d++) {
-                x = new Float(d * 22.5).intValue() + 40;
-                if (location.getX() > x && location.getX() < x + cellWidth) {
-                    if (location.getY() > y && location.getY() < y + cellHeight) {
-                        return cal.getTime();// This is the selected date
-                    }
-                }
-                cal.add(Calendar.DATE, +1);
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        if (isEditable && key.getKeyCode() == KeyEvent.VK_ESCAPE) {
-            getViewManager().clearOverlayView();
-        } else {
-            super.keyPressed(key);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/LinuxLook.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/LinuxLook.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/LinuxLook.java
deleted file mode 100644
index 564c012..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/LinuxLook.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.dnd.view.look.linux;
-
-import org.apache.isis.viewer.dnd.view.Look;
-import org.apache.isis.viewer.dnd.view.control.Button;
-import org.apache.isis.viewer.dnd.view.window.AbstractWindowBorder;
-import org.apache.isis.viewer.dnd.view.window.CloseWindowControl;
-import org.apache.isis.viewer.dnd.view.window.IconizeWindowControl;
-import org.apache.isis.viewer.dnd.view.window.ResizeWindowControl;
-
-public class LinuxLook implements Look {
-
-    @Override
-    public void install() {
-        Button.setButtonRender(new Button3DStyleRender());
-        AbstractWindowBorder.setBorderRenderer(new CustomStyleWindowBorder());
-        CloseWindowControl.setRender(new CloseWindow3DRender());
-        ResizeWindowControl.setRender(new ResizeWindow3DRender());
-        IconizeWindowControl.setRender(new IconizeWindow3DRender());
-    }
-
-    @Override
-    public String getName() {
-        return "Linux";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/ResizeWindow3DRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/ResizeWindow3DRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/ResizeWindow3DRender.java
deleted file mode 100644
index 7a96abf..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/linux/ResizeWindow3DRender.java
+++ /dev/null
@@ -1,39 +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.dnd.view.look.linux;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.window.ResizeWindowRender;
-
-public class ResizeWindow3DRender implements ResizeWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        canvas.drawRectangle(x - 1, y, width + 2, height + 1, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangle(x, y - 1, width, height + 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        canvas.drawSolidRectangle(width / 2 - 1, y + 2, 3, height - 4, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-        canvas.drawSolidRectangle(x + 2, height / 2 - 1, width - 4, 3, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/CloseWindowSimpleRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/CloseWindowSimpleRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/CloseWindowSimpleRender.java
deleted file mode 100644
index 7f5e3ec..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/CloseWindowSimpleRender.java
+++ /dev/null
@@ -1,39 +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.dnd.view.look.simple;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.view.window.CloseWindowRender;
-
-public class CloseWindowSimpleRender extends SimpleRender implements CloseWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        final Color color = color(isDisabled, isOver);
-        canvas.drawLine(x + 4, y + 3, x + 10, y + 9, color);
-        canvas.drawLine(x + 5, y + 3, x + 11, y + 9, color);
-        canvas.drawLine(x + 10, y + 3, x + 4, y + 9, color);
-        canvas.drawLine(x + 11, y + 3, x + 5, y + 9, color);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/IconizeWindowSimpleRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/IconizeWindowSimpleRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/IconizeWindowSimpleRender.java
deleted file mode 100644
index 0eebb3a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/IconizeWindowSimpleRender.java
+++ /dev/null
@@ -1,37 +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.dnd.view.look.simple;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.view.window.IconizeWindowRender;
-
-public class IconizeWindowSimpleRender extends SimpleRender implements IconizeWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        final Color color = color(isDisabled, isOver);
-        canvas.drawLine(x + 3, y + 8, x + 8, y + 8, color);
-        canvas.drawLine(x + 3, y + 9, x + 8, y + 9, color);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/ResizeWindowSimpleRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/ResizeWindowSimpleRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/ResizeWindowSimpleRender.java
deleted file mode 100644
index 48855ba..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/ResizeWindowSimpleRender.java
+++ /dev/null
@@ -1,38 +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.dnd.view.look.simple;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.view.window.ResizeWindowRender;
-
-public class ResizeWindowSimpleRender extends SimpleRender implements ResizeWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        final Color color = color(isDisabled, isOver);
-        canvas.drawRectangle(x + 3, y + 2, 8, 8, color);
-        canvas.drawLine(x + 3, y + 3, x + 10, y + 3, color);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleButtonRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleButtonRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleButtonRender.java
deleted file mode 100644
index 8294390..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleButtonRender.java
+++ /dev/null
@@ -1,63 +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.dnd.view.look.simple;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.control.ButtonRender;
-
-public class SimpleButtonRender implements ButtonRender {
-    private static final int TEXT_PADDING = 12;
-    private static final Text style = Toolkit.getText(ColorsAndFonts.TEXT_CONTROL);
-    private final int buttonHeight;
-
-    public SimpleButtonRender() {
-        this.buttonHeight = 2 + style.getTextHeight() + 2;
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size size, final boolean isDisabled, final boolean isDefault, final boolean hasFocus, final boolean isOver, final boolean isPressed, final String text) {
-        final int buttonWidth = TEXT_PADDING + style.stringWidth(text) + TEXT_PADDING;
-
-        final Color borderColor;
-        Color textColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        if (isDisabled) {
-            borderColor = textColor = Toolkit.getColor(ColorsAndFonts.COLOR_MENU_DISABLED);
-        } else if (isDefault) {
-            borderColor = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-        } else if (isOver || hasFocus) {
-            borderColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        } else {
-            borderColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        }
-        canvas.drawRoundedRectangle(0, 0, buttonWidth, buttonHeight, 0, 0, borderColor);
-        canvas.drawText(text, TEXT_PADDING, buttonHeight / 2 + style.getMidPoint(), textColor, style);
-    }
-
-    @Override
-    public Size getMaximumSize(final String text) {
-        final int buttonWidth = TEXT_PADDING + Toolkit.getText(ColorsAndFonts.TEXT_CONTROL).stringWidth(text) + TEXT_PADDING;
-        return new Size(buttonWidth, buttonHeight);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleLook.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleLook.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleLook.java
deleted file mode 100644
index a109c32..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleLook.java
+++ /dev/null
@@ -1,49 +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.dnd.view.look.simple;
-
-import org.apache.isis.viewer.dnd.view.Look;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.border.ViewResizeBorder;
-import org.apache.isis.viewer.dnd.view.control.Button;
-import org.apache.isis.viewer.dnd.view.window.AbstractWindowBorder;
-import org.apache.isis.viewer.dnd.view.window.CloseWindowControl;
-import org.apache.isis.viewer.dnd.view.window.IconizeWindowControl;
-import org.apache.isis.viewer.dnd.view.window.ResizeWindowControl;
-
-public class SimpleLook implements Look {
-
-    @Override
-    public void install() {
-        AbstractWindowBorder.setBorderRenderer(new SimpleStyleWindowBorder());
-        CloseWindowControl.setRender(new CloseWindowSimpleRender());
-        ResizeWindowControl.setRender(new ResizeWindowSimpleRender());
-        IconizeWindowControl.setRender(new IconizeWindowSimpleRender());
-        ViewResizeBorder.setRender(new SimpleResizeViewRender());
-        ScrollBorder.setRender(new SimpleScrollBarRender());
-        Button.setButtonRender(new SimpleButtonRender());
-    }
-
-    @Override
-    public String getName() {
-        return "Simple";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleRender.java
deleted file mode 100644
index 29e05c9..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleRender.java
+++ /dev/null
@@ -1,37 +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.dnd.view.look.simple;
-
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-
-class SimpleRender {
-    protected Color color(final boolean isDisabled, final boolean isOver) {
-        Color color;
-        if (isDisabled) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-        } else {
-            color = isOver ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2) : Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        }
-        return color;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleResizeViewRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleResizeViewRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleResizeViewRender.java
deleted file mode 100644
index 42c4083..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleResizeViewRender.java
+++ /dev/null
@@ -1,47 +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.dnd.view.look.simple;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.border.ResizeViewRender;
-
-public class SimpleResizeViewRender implements ResizeViewRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int x, final int width, final int height, final boolean hasFocus) {
-        final Color secondary2 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        canvas.drawRectangle(x, 1, width, height - 1, secondary2);
-
-        int h1 = 30;
-        int h2 = 10;
-        if (height < h1 + h2 * 2) {
-            h1 = Math.min(0, height - h2 * 2);
-        } else {
-            h2 = (height - h1) / 2;
-        }
-
-        final Color color = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2) : secondary2;
-        canvas.drawSolidRectangle(x + 1, h2, width - 2, h1, color);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleScrollBarRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleScrollBarRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleScrollBarRender.java
deleted file mode 100644
index ef1ce6d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleScrollBarRender.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.dnd.view.look.simple;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.border.ScrollBarRender;
-
-public class SimpleScrollBarRender implements ScrollBarRender {
-
-    @Override
-    public void draw(final Canvas canvas, final boolean isHorizontal, final int x, final int y, final int width, final int height, final int scrollPosition, final int visibleAmount) {
-        // canvas.drawSolidRectangle(x + 1, y + 1, width - 2, height - 2,
-        // Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        if (isHorizontal) {
-            // canvas.drawSolidRectangle(x + scrollPosition, y + 2,
-            // visibleAmount, height - 4,
-            // Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-            // canvas.drawRectangle(x + scrollPosition, y + 1, visibleAmount,
-            // height - 2,
-            // Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-
-            canvas.drawRectangle(x + scrollPosition + 2, y + 2, visibleAmount - 4, height - 4, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-            canvas.drawSolidRectangle(x + scrollPosition + 3, y + 3, visibleAmount - 6, height - 6, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        } else {
-            // canvas.drawSolidRectangle(x + 2, y + scrollPosition, width - 4,
-            // visibleAmount,
-            // Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-            // canvas.drawRectangle(x + 1, y + scrollPosition, width - 2,
-            // visibleAmount,
-            // Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-
-            canvas.drawRectangle(x + 2, y + scrollPosition + 2, width - 4, visibleAmount - 4, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-            canvas.drawSolidRectangle(x + 3, y + scrollPosition + 3, width - 6, visibleAmount - 6, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        }
-        canvas.drawRectangle(x, y, width, height, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleStyleWindowBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleStyleWindowBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleStyleWindowBorder.java
deleted file mode 100644
index 611083c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/simple/SimpleStyleWindowBorder.java
+++ /dev/null
@@ -1,158 +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.dnd.view.look.simple;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.border.BorderDrawing;
-import org.apache.isis.viewer.dnd.view.text.TextUtils;
-import org.apache.isis.viewer.dnd.view.window.WindowControl;
-
-public class SimpleStyleWindowBorder implements BorderDrawing {
-    final protected static int LINE_THICKNESS = 4;
-    private final static Text TITLE_STYLE = Toolkit.getText(ColorsAndFonts.TEXT_TITLE_SMALL);
-
-    int titlebarHeight = Math.max(WindowControl.HEIGHT + ViewConstants.VPADDING + TITLE_STYLE.getDescent(), TITLE_STYLE.getTextHeight());
-    int baseline = LINE_THICKNESS + WindowControl.HEIGHT;
-    int left = LINE_THICKNESS;
-    int right = LINE_THICKNESS;
-    int top = LINE_THICKNESS + titlebarHeight;
-    int bottom = LINE_THICKNESS;
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        debug.append("titlebar ", top - titlebarHeight);
-    }
-
-    @Override
-    public void layoutControls(final Size size, final View[] controls) {
-        int x = left + ViewConstants.HPADDING; // size.getWidth() - right -
-                                      // (WindowControl.WIDTH + View.HPADDING) *
-                                      // controls.length;
-        final int y = LINE_THICKNESS + ViewConstants.VPADDING;
-
-        for (final View control : controls) {
-            control.setSize(control.getRequiredSize(new Size()));
-            control.setLocation(new Location(x, y));
-            x += control.getSize().getWidth();
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size s, final boolean hasFocus, final ViewState state, final View[] controls, final String title) {
-        final int x = left;
-        final int width = s.getWidth();
-        final int height = s.getHeight();
-
-        final Color borderColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        canvas.drawRoundedRectangle(0, 0, width, height, 8, 8, borderColor);
-        canvas.drawRectangle(LINE_THICKNESS - 1, LINE_THICKNESS - 1, width - LINE_THICKNESS * 2 + 2, height - LINE_THICKNESS * 2 + 2, borderColor);
-
-        final Color titleBarTextColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_BLACK) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1);
-        final Color titleBarBackgroundColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-        /*
-         * final Color insetColorLight = hasFocus ? Toolkit.getColor("primary2")
-         * : Toolkit.getColor("secondary2"); final Color insetColorDark =
-         * hasFocus ? Toolkit.getColor("black") : Toolkit.getColor("black");
-         * 
-         * 
-         * // slightly rounded grey border canvas.drawRectangle(1, 0, width - 2,
-         * height, borderColor); canvas.drawRectangle(0, 1, width, height - 2,
-         * borderColor);
-         * 
-         * for (int i = 2; i < left; i++) { canvas.drawRectangle(i, i, width - 2
-         * * i, height - 2 * i, borderColor); }
-         * 
-         * if (state.isActive()) { final int i = left; canvas.drawRectangle(i,
-         * top, width - 2 * i, height - 2 * i - top,
-         * Toolkit.getColor("active")); }
-         */
-        // title bar
-        canvas.drawSolidRectangle(left + 1, LINE_THICKNESS + 1, width - LINE_THICKNESS * 2 - 1, titlebarHeight - 1, titleBarBackgroundColor);
-        final int y = LINE_THICKNESS + titlebarHeight;
-        canvas.drawLine(LINE_THICKNESS, y, width - LINE_THICKNESS - 1, y, borderColor);
-
-        final int controlWidth = ViewConstants.HPADDING + (WindowControl.WIDTH + ViewConstants.HPADDING) * controls.length;
-        final String text = TextUtils.limitText(title, TITLE_STYLE, width - controlWidth - LINE_THICKNESS * 2 - 2);
-        canvas.drawText(text, x + controlWidth, baseline, titleBarTextColor, TITLE_STYLE);
-        // canvas.drawRectangle(x, 3, width, 20, titleBarTextColor);
-        /*
-         * final Color white = Toolkit.getColor("white"); final int hatchX =
-         * View.HPADDING + TITLE_STYLE.stringWidth(title) + 10; final int
-         * hatchWidth = controls[0].getBounds().getX() - hatchX - 10; final int
-         * hatchY = LINE_THICKNESS + 2; final int hatchHeight = titlebarHeight -
-         * 6; DrawingUtil.drawHatching(canvas, hatchX, hatchY, hatchWidth,
-         * hatchHeight, borderColor, white);
-         */
-    }
-
-    @Override
-    public void drawTransientMarker(final Canvas canvas, final Size size) {
-        final int height = top - LINE_THICKNESS - 2;
-        final int x = size.getWidth() - 50;
-        final Image icon = ImageFactory.getInstance().loadIcon("transient", height, null);
-        if (icon == null) {
-            canvas.drawText("*", x, baseline, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK), Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-        } else {
-            canvas.drawImage(icon, x, LINE_THICKNESS + 1, height, height);
-            // canvas.drawRectangle(x, LINE_THICKNESS + 1, height, height,
-            // Color.RED);
-        }
-
-    }
-
-    @Override
-    public void getRequiredSize(final Size size, final String title, final View[] controls) {
-        final int width = left + ViewConstants.HPADDING + TITLE_STYLE.stringWidth(title) + ViewConstants.HPADDING + controls.length * (WindowControl.WIDTH + ViewConstants.HPADDING) + ViewConstants.HPADDING + right;
-        size.ensureWidth(width);
-    }
-
-    @Override
-    public int getLeft() {
-        return left;
-    }
-
-    @Override
-    public int getRight() {
-        return right;
-    }
-
-    @Override
-    public int getTop() {
-        return top;
-    }
-
-    @Override
-    public int getBottom() {
-        return bottom;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/Button3DStyleRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/Button3DStyleRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/Button3DStyleRender.java
deleted file mode 100644
index f64d958..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/Button3DStyleRender.java
+++ /dev/null
@@ -1,67 +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.dnd.view.look.swing;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.control.ButtonRender;
-
-public class Button3DStyleRender implements ButtonRender {
-    private static final int TEXT_PADDING = 12;
-    private static final Text style = Toolkit.getText(ColorsAndFonts.TEXT_CONTROL);
-    private final int buttonHeight;
-
-    public Button3DStyleRender() {
-        this.buttonHeight = 4 + style.getTextHeight() + 4;
-    }
-
-    @Override
-    public void draw(final Canvas canvas, final Size size, final boolean isDisabled, final boolean isDefault, final boolean hasFocus, final boolean isOver, final boolean isPressed, final String text) {
-        final int x = 0;
-        final int y = 0;
-
-        final int buttonWidth = TEXT_PADDING + style.stringWidth(text) + TEXT_PADDING;
-
-        canvas.drawSolidRectangle(x, y, buttonWidth, buttonHeight, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-
-        final Color color = isDisabled ? Toolkit.getColor(ColorsAndFonts.COLOR_MENU_DISABLED) : Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        final Color border = isDisabled ? Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        canvas.drawRectangle(x, y, buttonWidth, buttonHeight, isOver & !isDisabled ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1) : Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-        canvas.draw3DRectangle(x + 1, y + 1, buttonWidth - 2, buttonHeight - 2, border, !isPressed);
-        canvas.draw3DRectangle(x + 2, y + 2, buttonWidth - 4, buttonHeight - 4, border, !isPressed);
-        if (isDefault) {
-            canvas.drawRectangle(x + 3, y + 3, buttonWidth - 6, buttonHeight - 6, border);
-        }
-        if (hasFocus) {
-            canvas.drawRectangle(x + 3, y + 3, buttonWidth - 6, buttonHeight - 6, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        }
-        canvas.drawText(text, x + TEXT_PADDING, y + buttonHeight / 2 + style.getMidPoint(), color, style);
-    }
-
-    @Override
-    public Size getMaximumSize(final String text) {
-        final int buttonWidth = TEXT_PADDING + Toolkit.getText(ColorsAndFonts.TEXT_CONTROL).stringWidth(text) + TEXT_PADDING;
-        return new Size(buttonWidth, buttonHeight);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/CloseWindow3DRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/CloseWindow3DRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/CloseWindow3DRender.java
deleted file mode 100644
index 7479e42..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/CloseWindow3DRender.java
+++ /dev/null
@@ -1,45 +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.dnd.view.look.swing;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.window.CloseWindowRender;
-
-public class CloseWindow3DRender implements CloseWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        canvas.drawRectangle(x + 1, y + 1, width - 1, height - 1, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangle(x, y, width - 1, height - 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        final Color crossColor = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        canvas.drawLine(x + 4, y + 3, x + 10, y + 9, crossColor);
-        canvas.drawLine(x + 5, y + 3, x + 11, y + 9, crossColor);
-        canvas.drawLine(x + 10, y + 3, x + 4, y + 9, crossColor);
-        canvas.drawLine(x + 11, y + 3, x + 5, y + 9, crossColor);
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/IconizeWindow3DRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/IconizeWindow3DRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/IconizeWindow3DRender.java
deleted file mode 100644
index cf1cb4f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/IconizeWindow3DRender.java
+++ /dev/null
@@ -1,39 +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.dnd.view.look.swing;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.window.IconizeWindowRender;
-
-public class IconizeWindow3DRender implements IconizeWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        canvas.drawRectangle(x + 1, y + 1, width - 1, height - 1, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangle(x, y, width - 1, height - 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        canvas.drawLine(x + 3, y + 8, x + 8, y + 8, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-        canvas.drawLine(x + 3, y + 9, x + 8, y + 9, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ResizeView3DRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ResizeView3DRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ResizeView3DRender.java
deleted file mode 100644
index 07de3c3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ResizeView3DRender.java
+++ /dev/null
@@ -1,51 +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.dnd.view.look.swing;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.DrawingUtil;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.border.ResizeViewRender;
-
-public class ResizeView3DRender implements ResizeViewRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int x, final int width, final int height, final boolean hasFocus) {
-        final Color borderColor = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3) : Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3);
-        canvas.drawSolidRectangle(x, 0, width, height, borderColor);
-
-        final Color secondary2 = Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2);
-        canvas.drawRectangle(x, -1, width, height + 2, secondary2);
-
-        int h1 = 30;
-        int h2 = 10;
-        if (height < h1 + h2 * 2) {
-            h1 = Math.min(0, height - h2 * 2);
-        } else {
-            h2 = (height - h1) / 2;
-        }
-
-        final Color color = hasFocus ? Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2) : secondary2;
-        DrawingUtil.drawHatching(canvas, x + 1, h2, width - 2, h1, color, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ResizeWindow3DRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ResizeWindow3DRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ResizeWindow3DRender.java
deleted file mode 100644
index a693082..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ResizeWindow3DRender.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.dnd.view.look.swing;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.window.ResizeWindowRender;
-
-public class ResizeWindow3DRender implements ResizeWindowRender {
-
-    @Override
-    public void draw(final Canvas canvas, final int width, final int height, final boolean isDisabled, final boolean isOver, final boolean isPressed) {
-        final int x = 0;
-        final int y = 0;
-
-        canvas.drawRectangle(x + 1, y + 1, width - 1, height - 1, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangle(x, y, width - 1, height - 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        canvas.drawRectangle(x + 3, y + 2, 8, 8, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-        canvas.drawLine(x + 3, y + 3, x + 10, y + 3, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ScrollBar3DRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ScrollBar3DRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ScrollBar3DRender.java
deleted file mode 100644
index 9437288..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/look/swing/ScrollBar3DRender.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.dnd.view.look.swing;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.DrawingUtil;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.border.ScrollBarRender;
-
-public class ScrollBar3DRender implements ScrollBarRender {
-
-    @Override
-    public void draw(final Canvas canvas, final boolean isHorizontal, final int x, final int y, final int width, final int height, final int scrollPosition, final int visibleAmount) {
-        final Color thumbColor = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY2);
-
-        // canvas.drawSolidRectangle(x + 1, y + 1, width - 2, height - 2,
-        // Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        canvas.drawSolidRectangle(x + 1, y + 1, width - 2, height, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        int x2 = x;
-        int y2 = y;
-        int scrollHeight = height;
-        int scrollWidth = width;
-        if (isHorizontal) {
-            x2 += scrollPosition;
-            scrollWidth = visibleAmount;
-        } else {
-            y2 += scrollPosition;
-            scrollHeight = visibleAmount;
-        }
-        canvas.drawSolidRectangle(x2 + 1, y2, scrollWidth - 2, scrollHeight, thumbColor);
-        canvas.drawRectangle(x2 + 1, y2, scrollWidth - 2, scrollHeight, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        DrawingUtil.drawHatching(canvas, x2 + 3, y2 + 4, scrollWidth - 6, scrollHeight - 8, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1), Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3));
-        canvas.drawRectangle(x, y, width, height, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-    }
-
-}


[29/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-lat1.ent
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-lat1.ent b/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-lat1.ent
deleted file mode 100644
index ffee223..0000000
--- a/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-lat1.ent
+++ /dev/null
@@ -1,196 +0,0 @@
-<!-- Portions (C) International Organization for Standardization 1986
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-<!-- Character entity set. Typical invocation:
-    <!ENTITY % HTMLlat1 PUBLIC
-       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
-    %HTMLlat1;
--->
-
-<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
-                                  U+00A0 ISOnum -->
-<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
-<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
-<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
-<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
-<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
-<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
-                                  U+00A6 ISOnum -->
-<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
-<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
-                                  U+00A8 ISOdia -->
-<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
-<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
-<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
-                                  = left pointing guillemet, U+00AB ISOnum -->
-<!ENTITY not    "&#172;"> <!-- not sign = angled dash,
-                                  U+00AC ISOnum -->
-<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
-                                  U+00AD ISOnum -->
-<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
-                                  U+00AE ISOnum -->
-<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
-                                  = APL overbar, U+00AF ISOdia -->
-<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
-<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
-                                  U+00B1 ISOnum -->
-<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
-                                  = squared, U+00B2 ISOnum -->
-<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
-                                  = cubed, U+00B3 ISOnum -->
-<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
-                                  U+00B4 ISOdia -->
-<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
-<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
-                                  U+00B6 ISOnum -->
-<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
-                                  = Greek middle dot, U+00B7 ISOnum -->
-<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
-<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
-                                  U+00B9 ISOnum -->
-<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
-                                  U+00BA ISOnum -->
-<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
-                                  = right pointing guillemet, U+00BB ISOnum -->
-<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
-                                  = fraction one quarter, U+00BC ISOnum -->
-<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
-                                  = fraction one half, U+00BD ISOnum -->
-<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
-                                  = fraction three quarters, U+00BE ISOnum -->
-<!ENTITY iquest "&#191;"> <!-- inverted question mark
-                                  = turned question mark, U+00BF ISOnum -->
-<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
-                                  = latin capital letter A grave,
-                                  U+00C0 ISOlat1 -->
-<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
-                                  U+00C1 ISOlat1 -->
-<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
-                                  U+00C2 ISOlat1 -->
-<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
-                                  U+00C3 ISOlat1 -->
-<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
-                                  U+00C4 ISOlat1 -->
-<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
-                                  = latin capital letter A ring,
-                                  U+00C5 ISOlat1 -->
-<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
-                                  = latin capital ligature AE,
-                                  U+00C6 ISOlat1 -->
-<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
-                                  U+00C7 ISOlat1 -->
-<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
-                                  U+00C8 ISOlat1 -->
-<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
-                                  U+00C9 ISOlat1 -->
-<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
-                                  U+00CA ISOlat1 -->
-<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
-                                  U+00CB ISOlat1 -->
-<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
-                                  U+00CC ISOlat1 -->
-<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
-                                  U+00CD ISOlat1 -->
-<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
-                                  U+00CE ISOlat1 -->
-<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
-                                  U+00CF ISOlat1 -->
-<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
-<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
-                                  U+00D1 ISOlat1 -->
-<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
-                                  U+00D2 ISOlat1 -->
-<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
-                                  U+00D3 ISOlat1 -->
-<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
-                                  U+00D4 ISOlat1 -->
-<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
-                                  U+00D5 ISOlat1 -->
-<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
-                                  U+00D6 ISOlat1 -->
-<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
-<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
-                                  = latin capital letter O slash,
-                                  U+00D8 ISOlat1 -->
-<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
-                                  U+00D9 ISOlat1 -->
-<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
-                                  U+00DA ISOlat1 -->
-<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
-                                  U+00DB ISOlat1 -->
-<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
-                                  U+00DC ISOlat1 -->
-<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
-                                  U+00DD ISOlat1 -->
-<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
-                                  U+00DE ISOlat1 -->
-<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
-                                  U+00DF ISOlat1 -->
-<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
-                                  = latin small letter a grave,
-                                  U+00E0 ISOlat1 -->
-<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
-                                  U+00E1 ISOlat1 -->
-<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
-                                  U+00E2 ISOlat1 -->
-<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
-                                  U+00E3 ISOlat1 -->
-<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
-                                  U+00E4 ISOlat1 -->
-<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
-                                  = latin small letter a ring,
-                                  U+00E5 ISOlat1 -->
-<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
-                                  = latin small ligature ae, U+00E6 ISOlat1 -->
-<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
-                                  U+00E7 ISOlat1 -->
-<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
-                                  U+00E8 ISOlat1 -->
-<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
-                                  U+00E9 ISOlat1 -->
-<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
-                                  U+00EA ISOlat1 -->
-<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
-                                  U+00EB ISOlat1 -->
-<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
-                                  U+00EC ISOlat1 -->
-<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
-                                  U+00ED ISOlat1 -->
-<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
-                                  U+00EE ISOlat1 -->
-<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
-                                  U+00EF ISOlat1 -->
-<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
-<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
-                                  U+00F1 ISOlat1 -->
-<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
-                                  U+00F2 ISOlat1 -->
-<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
-                                  U+00F3 ISOlat1 -->
-<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
-                                  U+00F4 ISOlat1 -->
-<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
-                                  U+00F5 ISOlat1 -->
-<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
-                                  U+00F6 ISOlat1 -->
-<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
-<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
-                                  = latin small letter o slash,
-                                  U+00F8 ISOlat1 -->
-<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
-                                  U+00F9 ISOlat1 -->
-<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
-                                  U+00FA ISOlat1 -->
-<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
-                                  U+00FB ISOlat1 -->
-<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
-                                  U+00FC ISOlat1 -->
-<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
-                                  U+00FD ISOlat1 -->
-<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn,
-                                  U+00FE ISOlat1 -->
-<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
-                                  U+00FF ISOlat1 -->

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-special.ent
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-special.ent b/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-special.ent
deleted file mode 100644
index ca358b2..0000000
--- a/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-special.ent
+++ /dev/null
@@ -1,80 +0,0 @@
-<!-- Special characters for XHTML -->
-
-<!-- Character entity set. Typical invocation:
-     <!ENTITY % HTMLspecial PUBLIC
-        "-//W3C//ENTITIES Special for XHTML//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
-     %HTMLspecial;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
-     New names (i.e., not in ISO 8879 list) do not clash with any
-     existing ISO 8879 entity names. ISO 10646 character numbers
-     are given for each character, in hex. values are decimal
-     conversions of the ISO 10646 values and refer to the document
-     character set. Names are Unicode names. 
--->
-
-<!-- C0 Controls and Basic Latin -->
-<!ENTITY quot    "&#34;"> <!--  quotation mark, U+0022 ISOnum -->
-<!ENTITY amp     "&#38;#38;"> <!--  ampersand, U+0026 ISOnum -->
-<!ENTITY lt      "&#38;#60;"> <!--  less-than sign, U+003C ISOnum -->
-<!ENTITY gt      "&#62;"> <!--  greater-than sign, U+003E ISOnum -->
-<!ENTITY apos	 "&#39;"> <!--  apostrophe = APL quote, U+0027 ISOnum -->
-
-<!-- Latin Extended-A -->
-<!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
-                                    U+0152 ISOlat2 -->
-<!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
-<!-- ligature is a misnomer, this is a separate character in some languages -->
-<!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
-                                    U+0160 ISOlat2 -->
-<!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
-                                    U+0161 ISOlat2 -->
-<!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
-                                    U+0178 ISOlat2 -->
-
-<!-- Spacing Modifier Letters -->
-<!ENTITY circ    "&#710;"> <!--  modifier letter circumflex accent,
-                                    U+02C6 ISOpub -->
-<!ENTITY tilde   "&#732;"> <!--  small tilde, U+02DC ISOdia -->
-
-<!-- General Punctuation -->
-<!ENTITY ensp    "&#8194;"> <!-- en space, U+2002 ISOpub -->
-<!ENTITY emsp    "&#8195;"> <!-- em space, U+2003 ISOpub -->
-<!ENTITY thinsp  "&#8201;"> <!-- thin space, U+2009 ISOpub -->
-<!ENTITY zwnj    "&#8204;"> <!-- zero width non-joiner,
-                                    U+200C NEW RFC 2070 -->
-<!ENTITY zwj     "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
-<!ENTITY lrm     "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
-<!ENTITY rlm     "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
-<!ENTITY ndash   "&#8211;"> <!-- en dash, U+2013 ISOpub -->
-<!ENTITY mdash   "&#8212;"> <!-- em dash, U+2014 ISOpub -->
-<!ENTITY lsquo   "&#8216;"> <!-- left single quotation mark,
-                                    U+2018 ISOnum -->
-<!ENTITY rsquo   "&#8217;"> <!-- right single quotation mark,
-                                    U+2019 ISOnum -->
-<!ENTITY sbquo   "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
-<!ENTITY ldquo   "&#8220;"> <!-- left double quotation mark,
-                                    U+201C ISOnum -->
-<!ENTITY rdquo   "&#8221;"> <!-- right double quotation mark,
-                                    U+201D ISOnum -->
-<!ENTITY bdquo   "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
-<!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
-<!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
-<!ENTITY permil  "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
-<!ENTITY lsaquo  "&#8249;"> <!-- single left-pointing angle quotation mark,
-                                    U+2039 ISO proposed -->
-<!-- lsaquo is proposed but not yet ISO standardized -->
-<!ENTITY rsaquo  "&#8250;"> <!-- single right-pointing angle quotation mark,
-                                    U+203A ISO proposed -->
-<!-- rsaquo is proposed but not yet ISO standardized -->
-
-<!-- Currency Symbols -->
-<!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-symbol.ent
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-symbol.ent b/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-symbol.ent
deleted file mode 100644
index 63c2abf..0000000
--- a/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml-symbol.ent
+++ /dev/null
@@ -1,237 +0,0 @@
-<!-- Mathematical, Greek and Symbolic characters for XHTML -->
-
-<!-- Character entity set. Typical invocation:
-     <!ENTITY % HTMLsymbol PUBLIC
-        "-//W3C//ENTITIES Symbols for XHTML//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
-     %HTMLsymbol;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
-     New names (i.e., not in ISO 8879 list) do not clash with any
-     existing ISO 8879 entity names. ISO 10646 character numbers
-     are given for each character, in hex. values are decimal
-     conversions of the ISO 10646 values and refer to the document
-     character set. Names are Unicode names. 
--->
-
-<!-- Latin Extended-B -->
-<!ENTITY fnof     "&#402;"> <!-- latin small letter f with hook = function
-                                    = florin, U+0192 ISOtech -->
-
-<!-- Greek -->
-<!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
-<!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
-<!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
-                                    U+0393 ISOgrk3 -->
-<!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
-                                    U+0394 ISOgrk3 -->
-<!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
-<!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
-<!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
-<!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
-                                    U+0398 ISOgrk3 -->
-<!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
-<!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
-<!ENTITY Lambda   "&#923;"> <!-- greek capital letter lamda,
-                                    U+039B ISOgrk3 -->
-<!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
-<!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
-<!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
-<!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
-<!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
-<!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
-<!-- there is no Sigmaf, and no U+03A2 character either -->
-<!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
-                                    U+03A3 ISOgrk3 -->
-<!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
-<!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
-                                    U+03A5 ISOgrk3 -->
-<!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
-                                    U+03A6 ISOgrk3 -->
-<!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
-<!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
-                                    U+03A8 ISOgrk3 -->
-<!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
-                                    U+03A9 ISOgrk3 -->
-
-<!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
-                                    U+03B1 ISOgrk3 -->
-<!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
-<!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
-                                    U+03B3 ISOgrk3 -->
-<!ENTITY delta    "&#948;"> <!-- greek small letter delta,
-                                    U+03B4 ISOgrk3 -->
-<!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
-                                    U+03B5 ISOgrk3 -->
-<!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
-<!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
-<!ENTITY theta    "&#952;"> <!-- greek small letter theta,
-                                    U+03B8 ISOgrk3 -->
-<!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
-<!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
-                                    U+03BA ISOgrk3 -->
-<!ENTITY lambda   "&#955;"> <!-- greek small letter lamda,
-                                    U+03BB ISOgrk3 -->
-<!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
-<!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
-<!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
-<!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
-<!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
-<!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
-<!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
-                                    U+03C2 ISOgrk3 -->
-<!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
-                                    U+03C3 ISOgrk3 -->
-<!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
-<!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
-                                    U+03C5 ISOgrk3 -->
-<!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
-<!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
-<!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
-<!ENTITY omega    "&#969;"> <!-- greek small letter omega,
-                                    U+03C9 ISOgrk3 -->
-<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
-                                    U+03D1 NEW -->
-<!ENTITY upsih    "&#978;"> <!-- greek upsilon with hook symbol,
-                                    U+03D2 NEW -->
-<!ENTITY piv      "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
-
-<!-- General Punctuation -->
-<!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
-                                     U+2022 ISOpub  -->
-<!-- bullet is NOT the same as bullet operator, U+2219 -->
-<!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
-                                     U+2026 ISOpub  -->
-<!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
-<!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
-                                     U+2033 ISOtech -->
-<!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
-                                     U+203E NEW -->
-<!ENTITY frasl    "&#8260;"> <!-- fraction slash, U+2044 NEW -->
-
-<!-- Letterlike Symbols -->
-<!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
-                                     = Weierstrass p, U+2118 ISOamso -->
-<!ENTITY image    "&#8465;"> <!-- black-letter capital I = imaginary part,
-                                     U+2111 ISOamso -->
-<!ENTITY real     "&#8476;"> <!-- black-letter capital R = real part symbol,
-                                     U+211C ISOamso -->
-<!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
-<!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
-                                     U+2135 NEW -->
-<!-- alef symbol is NOT the same as hebrew letter alef,
-     U+05D0 although the same glyph could be used to depict both characters -->
-
-<!-- Arrows -->
-<!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
-<!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
-<!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
-<!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
-<!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
-<!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
-                                     = carriage return, U+21B5 NEW -->
-<!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
-<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
-    but also does not have any other character for that function. So lArr can
-    be used for 'is implied by' as ISOtech suggests -->
-<!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
-<!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
-                                     U+21D2 ISOtech -->
-<!-- Unicode does not say this is the 'implies' character but does not have 
-     another character with this function so rArr can be used for 'implies'
-     as ISOtech suggests -->
-<!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
-<!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
-                                     U+21D4 ISOamsa -->
-
-<!-- Mathematical Operators -->
-<!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
-<!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
-<!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
-<!ENTITY empty    "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
-<!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
-                                     U+2207 ISOtech -->
-<!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
-<!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
-<!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
-<!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
-                                     U+220F ISOamsb -->
-<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
-     the same glyph might be used for both -->
-<!ENTITY sum      "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
-<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
-     though the same glyph might be used for both -->
-<!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
-<!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
-<!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
-                                     U+221A ISOtech -->
-<!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
-<!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
-<!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
-<!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
-<!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
-<!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
-<!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
-<!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
-<!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
-<!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
-                                     U+223C ISOtech -->
-<!-- tilde operator is NOT the same character as the tilde, U+007E,
-     although the same glyph might be used to represent both  -->
-<!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
-<!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
-                                     U+2248 ISOamsr -->
-<!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
-<!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
-<!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
-<!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
-                                     U+2265 ISOtech -->
-<!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
-<!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
-<!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
-<!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
-<!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
-                                     U+2287 ISOtech -->
-<!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
-                                     U+2295 ISOamsb -->
-<!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
-                                     U+2297 ISOamsb -->
-<!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
-                                     U+22A5 ISOtech -->
-<!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
-<!-- dot operator is NOT the same character as U+00B7 middle dot -->
-
-<!-- Miscellaneous Technical -->
-<!ENTITY lceil    "&#8968;"> <!-- left ceiling = APL upstile,
-                                     U+2308 ISOamsc  -->
-<!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
-<!ENTITY lfloor   "&#8970;"> <!-- left floor = APL downstile,
-                                     U+230A ISOamsc  -->
-<!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
-<!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
-                                     U+2329 ISOtech -->
-<!-- lang is NOT the same character as U+003C 'less than sign' 
-     or U+2039 'single left-pointing angle quotation mark' -->
-<!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
-                                     U+232A ISOtech -->
-<!-- rang is NOT the same character as U+003E 'greater than sign' 
-     or U+203A 'single right-pointing angle quotation mark' -->
-
-<!-- Geometric Shapes -->
-<!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
-
-<!-- Miscellaneous Symbols -->
-<!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
-<!-- black here seems to mean filled as opposed to hollow -->
-<!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
-                                     U+2663 ISOpub -->
-<!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
-                                     U+2665 ISOpub -->
-<!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml1-strict.dtd
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml1-strict.dtd b/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml1-strict.dtd
deleted file mode 100644
index d26726e..0000000
--- a/mothballed/component/viewer/bdd/src/site/resources/dtd/xhtml1-strict.dtd
+++ /dev/null
@@ -1,988 +0,0 @@
-<!--
-   Extensible HTML version 1.0 Strict DTD
-
-   This is the same as HTML 4 Strict except for
-   changes due to the differences between XML and SGML.
-
-   Namespace = http://www.w3.org/1999/xhtml
-
-   For further information, see: http://www.w3.org/TR/xhtml1
-
-   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
-   All Rights Reserved. 
-
-   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
-   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-
-   $Revision: 1.24 $
-   $Date: 2002/07/31 19:34:51 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-   "xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols for XHTML//EN"
-   "xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special for XHTML//EN"
-   "xhtml-special.ent">
-%HTMLspecial;
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % ContentTypes "CDATA">
-    <!-- comma-separated list of media types, as per [RFC2045] -->
-
-<!ENTITY % Charset "CDATA">
-    <!-- a character encoding, as per [RFC2045] -->
-
-<!ENTITY % Charsets "CDATA">
-    <!-- a space separated list of character encodings, as per [RFC2045] -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % Character "CDATA">
-    <!-- a single character, as per section 2.2 of [XML] -->
-
-<!ENTITY % Number "CDATA">
-    <!-- one or more digits -->
-
-<!ENTITY % LinkTypes "CDATA">
-    <!-- space-separated list of link types -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- single or comma-separated list of media descriptors -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [RFC2396] -->
-
-<!ENTITY % UriList "CDATA">
-    <!-- a space separated list of Uniform Resource Identifiers -->
-
-<!ENTITY % Datetime "CDATA">
-    <!-- date and time information. ISO date format -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % Text "CDATA">
-    <!-- used for titles etc. -->
-
-<!ENTITY % Length "CDATA">
-    <!-- nn for pixels or nn% for percentage length -->
-
-<!ENTITY % MultiLength "CDATA">
-    <!-- pixel, percentage, or relative -->
-
-<!ENTITY % Pixels "CDATA">
-    <!-- integer representing length in pixels -->
-
-<!-- these are used for image maps -->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-
-<!ENTITY % Coords "CDATA">
-    <!-- comma separated list of lengths -->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!-- core attributes common to most elements
-  id       document-wide unique id
-  class    space separated list of classes
-  style    associated style info
-  title    advisory title/amplification
--->
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  concordion:assertEquals  CDATA         #IMPLIED
-  concordion:set           CDATA         #IMPLIED"
-  >
-
-<!-- internationalization attributes
-  lang        language code (backwards compatible)
-  xml:lang    language code (as per XML 1.0 spec)
-  dir         direction for weak/neutral text
--->
-<!ENTITY % i18n
- "lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!-- attributes for common UI events
-  onclick     a pointer button was clicked
-  ondblclick  a pointer button was double clicked
-  onmousedown a pointer button was pressed down
-  onmouseup   a pointer button was released
-  onmousemove a pointer was moved onto the element
-  onmouseout  a pointer was moved away from the element
-  onkeypress  a key was pressed and released
-  onkeydown   a key was pressed down
-  onkeyup     a key was released
--->
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- attributes for elements that can get the focus
-  accesskey   accessibility key character
-  tabindex    position in tabbing order
-  onfocus     the element got the focus
-  onblur      the element lost the focus
--->
-<!ENTITY % focus
- "accesskey   %Character;    #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED"
-  >
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-<!--=================== Text Elements ====================================-->
-
-<!ENTITY % special.pre
-   "br | span | bdo | map">
-
-
-<!ENTITY % special
-   "%special.pre; | object | img ">
-
-<!ENTITY % fontstyle "tt | i | b | big | small ">
-
-<!ENTITY % phrase "em | strong | dfn | code | q |
-                   samp | kbd | var | cite | abbr | acronym | sub | sup ">
-
-<!ENTITY % inline.forms "input | select | textarea | label | button">
-
-<!-- these can occur at block or inline level -->
-<!ENTITY % misc.inline "ins | del | script">
-
-<!-- these can only occur at block level -->
-<!ENTITY % misc "noscript | %misc.inline;">
-
-<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
-
-<!-- %Inline; covers inline or "text-level" elements -->
-<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
-
-<!--================== Block level elements ==============================-->
-
-<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
-<!ENTITY % lists "ul | ol | dl">
-<!ENTITY % blocktext "pre | hr | blockquote | address">
-
-<!ENTITY % block
-     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %Flow; mixes block and inline and is used for list items etc. -->
-<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
-
-<!--================== Content models for exclusions =====================-->
-
-<!-- a elements use %Inline; excluding a -->
-
-<!ENTITY % a.content
-   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
-
-<!-- pre uses %Inline excluding big, small, sup or sup -->
-
-<!ENTITY % pre.content
-   "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
-      | %inline.forms;)*">
-
-<!-- form uses %Block; excluding form -->
-
-<!ENTITY % form.content "(%block; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form and form controls -->
-
-<!ENTITY % button.content
-   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
-    table | %special; | %fontstyle; | %phrase; | %misc;)*">
-
-<!--================ Document Structure ==================================-->
-
-<!-- the namespace URI designates the document profile -->
-
-<!ELEMENT html (head, body)>
-<!ATTLIST html
-  %i18n;
-  id          ID             #IMPLIED
-  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
-  xmlns:concordion   %URI;          #FIXED 'http://www.concordion.org/2007/concordion'
-  xmlns:isis         %URI;          #FIXED 'http://isis.apache.org/2010/concordion'
-  >
-
-<!--================ Document Head =======================================-->
-
-<!ENTITY % head.misc "(script|style|meta|link|object)*">
-
-<!-- content model is %head.misc; combined with a single
-     title and an optional base element in any order -->
-
-<!ELEMENT head (%head.misc;,
-     ((title, %head.misc;, (base, %head.misc;)?) |
-      (base, %head.misc;, (title, %head.misc;))))>
-
-<!ATTLIST head
-  %i18n;
-  id          ID             #IMPLIED
-  profile     %URI;          #IMPLIED
-  >
-
-<!-- The title element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!ELEMENT title (#PCDATA)>
-<!ATTLIST title 
-  %i18n;
-  id          ID             #IMPLIED
-  >
-
-<!-- document base URI -->
-
-<!ELEMENT base EMPTY>
-<!ATTLIST base
-  href        %URI;          #REQUIRED
-  id          ID             #IMPLIED
-  >
-
-<!-- generic metainformation -->
-<!ELEMENT meta EMPTY>
-<!ATTLIST meta
-  %i18n;
-  id          ID             #IMPLIED
-  http-equiv  CDATA          #IMPLIED
-  name        CDATA          #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  >
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the link element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel="stylesheet")
-   c) to make a link to a script (rel="script")
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a PostScript or PDF version (rel="alternate" media="print")
--->
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  >
-
-<!-- style info, which may include CDATA sections -->
-<!ELEMENT style (#PCDATA)>
-<!ATTLIST style
-  %i18n;
-  id          ID             #IMPLIED
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- script statements, which may include CDATA sections -->
-<!ELEMENT script (#PCDATA)>
-<!ATTLIST script
-  id          ID             #IMPLIED
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Block;>
-<!ATTLIST noscript
-  %attrs;
-  >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Block;>
-<!ATTLIST body
-  %attrs;
-  onload          %Script;   #IMPLIED
-  onunload        %Script;   #IMPLIED
-  >
-
-<!ELEMENT div %Flow;>  <!-- generic language/style container -->
-<!ATTLIST div
-  %attrs;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
-  %attrs;
-  concordion:execute  CDATA         #IMPLIED
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from h1 (the most important)
-  to h6 (the least important).
--->
-
-<!ELEMENT h1  %Inline;>
-<!ATTLIST h1
-   %attrs;
-   >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
-   %attrs;
-   >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
-   %attrs;
-   >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
-   %attrs;
-   >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
-   %attrs;
-   >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
-   %attrs;
-   >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
-  %attrs;
-  >
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
-  %attrs;
-  >
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
-  %attrs;
-  >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
-  %attrs;
-  >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
-  %attrs;
-  >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
-  %attrs;
-  >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
-  %attrs;
-  >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
-  %attrs;
-  >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
-  %attrs;
-  xml:space (preserve) #FIXED 'preserve'
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Block;>
-<!ATTLIST blockquote
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-<!--
-  ins/del are allowed in block and inline content, but its
-  inappropriate to include block content within an ins element
-  occurring in inline content.
--->
-<!ELEMENT ins %Flow;>
-<!ATTLIST ins
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!ELEMENT del %Flow;>
-<!ATTLIST del
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--================== The Anchor Element ================================-->
-
-<!-- content is %Inline; except that anchors shouldn't be nested -->
-
-<!ELEMENT a %a.content;>
-<!ATTLIST a
-  %attrs;
-  %focus;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  concordion:run  CDATA         #IMPLIED
-  >
-
-<!--===================== Inline Elements ================================-->
-
-<!ELEMENT span %Inline;> <!-- generic language/style container -->
-<!ATTLIST span
-  %attrs;
-  concordion:assertTrue  CDATA         #IMPLIED
-  concordion:assertFalse  CDATA         #IMPLIED
-  >
-
-<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
-<!ATTLIST bdo
-  %coreattrs;
-  %events;
-  lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-<!ELEMENT br EMPTY>   <!-- forced line break -->
-<!ATTLIST br
-  %coreattrs;
-  >
-
-<!ELEMENT em %Inline;>   <!-- emphasis -->
-<!ATTLIST em %attrs;>
-
-<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
-<!ATTLIST strong %attrs;>
-
-<!ELEMENT dfn %Inline;>   <!-- definitional -->
-<!ATTLIST dfn %attrs;>
-
-<!ELEMENT code %Inline;>   <!-- program code -->
-<!ATTLIST code %attrs;>
-
-<!ELEMENT samp %Inline;>   <!-- sample -->
-<!ATTLIST samp %attrs;>
-
-<!ELEMENT kbd %Inline;>  <!-- something user would type -->
-<!ATTLIST kbd %attrs;>
-
-<!ELEMENT var %Inline;>   <!-- variable -->
-<!ATTLIST var %attrs;>
-
-<!ELEMENT cite %Inline;>   <!-- citation -->
-<!ATTLIST cite %attrs;>
-
-<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
-<!ATTLIST abbr %attrs;>
-
-<!ELEMENT acronym %Inline;>   <!-- acronym -->
-<!ATTLIST acronym %attrs;>
-
-<!ELEMENT q %Inline;>   <!-- inlined quote -->
-<!ATTLIST q
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!ELEMENT sub %Inline;> <!-- subscript -->
-<!ATTLIST sub %attrs;>
-
-<!ELEMENT sup %Inline;> <!-- superscript -->
-<!ATTLIST sup %attrs;>
-
-<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
-<!ATTLIST tt %attrs;>
-
-<!ELEMENT i %Inline;>   <!-- italic font -->
-<!ATTLIST i %attrs;>
-
-<!ELEMENT b %Inline;>   <!-- bold font -->
-<!ATTLIST b %attrs;>
-
-<!ELEMENT big %Inline;>   <!-- bigger font -->
-<!ATTLIST big %attrs;>
-
-<!ELEMENT small %Inline;>   <!-- smaller font -->
-<!ATTLIST small %attrs;>
-
-<!--==================== Object ======================================-->
-<!--
-  object is used to embed objects as part of HTML pages.
-  param elements should precede other content. Parameters
-  can also be expressed as attribute/value pairs on the
-  object element itself when brevity is desired.
--->
-
-<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST object
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %UriList;      #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  >
-
-<!--
-  param is used to supply a named property value.
-  In XML it would seem natural to follow RDF and support an
-  abbreviated syntax where the param elements are replaced
-  by attribute value pairs on the object start tag.
--->
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  id          ID             #IMPLIED
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  valuetype   (data|ref|object) "data"
-  type        %ContentType;  #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!--
-   To avoid accessibility problems for people who aren't
-   able to see the image, you should provide a text
-   description using the alt and longdesc attributes.
-   In addition, avoid the use of server-side image maps.
-   Note that in this DTD there is no name attribute. That
-   is only available in the transitional and frameset DTD.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  >
-
-<!-- usemap points to a map element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
-<!ATTLIST map
-  %i18n;
-  %events;
-  id          ID             #REQUIRED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
-  %attrs;
-  %focus;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (get|post)     "get"
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  >
-
-<!--
-  Each label must not contain more than ONE field
-  Label elements shouldn't be nested.
--->
-<!ELEMENT label %Inline;>
-<!ATTLIST label
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(text | password | checkbox |
-    radio | submit | reset |
-    file | hidden | image | button)"
-   >
-
-<!-- the name attribute is required for all but submit & reset -->
-
-<!ELEMENT input EMPTY>     <!-- form control -->
-<!ATTLIST input
-  %attrs;
-  %focus;
-  type        %InputType;    "text"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  >
-
-<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
-<!ATTLIST select
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!ELEMENT optgroup (option)+>   <!-- option group -->
-<!ATTLIST optgroup
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
-<!ATTLIST option
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
-<!ATTLIST textarea
-  %attrs;
-  %focus;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!--
-  The fieldset element is used to group form fields.
-  Only one legend element should occur in the content
-  and if present should only be preceded by whitespace.
--->
-<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
-<!ATTLIST fieldset
-  %attrs;
-  >
-
-<!ELEMENT legend %Inline;>     <!-- fieldset label -->
-<!ATTLIST legend
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  >
-
-<!--
- Content is %Flow; excluding a, form and form controls
---> 
-<!ELEMENT button %button.content;>  <!-- push button -->
-<!ATTLIST button
-  %attrs;
-  %focus;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- Derived from IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The border attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The frame attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the valign attribute.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The rules attribute defines which rules to draw between cells:
-
- If rules is absent then assume:
-     "none" if border is absent or border="0" otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal alignment attributes for cell contents
-
-  char        alignment char, e.g. char=':'
-  charoff     offset for alignment char
--->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT table
-     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
-<!ELEMENT caption  %Inline;>
-<!ELEMENT thead    (tr)+>
-<!ELEMENT tfoot    (tr)+>
-<!ELEMENT tbody    (tr)+>
-<!ELEMENT colgroup (col)*>
-<!ELEMENT col      EMPTY>
-<!ELEMENT tr       (th|td)+>
-<!ELEMENT th       %Flow;>
-<!ELEMENT td       %Flow;>
-
-<!ATTLIST table
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  isis:execute          CDATA    #IMPLIED
-  concordion:verifyRows CDATA    #IMPLIED
-  >
-
-<!ATTLIST caption
-  %attrs;
-  >
-
-<!--
-colgroup groups a set of col elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST colgroup
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- col elements define the alignment properties for cells in
- one or more columns.
-
- The width attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The span attribute causes the attributes of one
- col element to apply to more than one column.
--->
-<!ATTLIST col
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST thead
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tfoot
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tbody
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tr
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-
-<!-- Scope is simpler than headers attribute for common tables -->
-<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
-
-<!-- th is for headers, td for data and for cells acting as both -->
-
-<!ATTLIST th
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST td
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/bdd/src/site/resources/xmlmind/xhtml.css
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/bdd/src/site/resources/xmlmind/xhtml.css b/mothballed/component/viewer/bdd/src/site/resources/xmlmind/xhtml.css
deleted file mode 100644
index 519df97..0000000
--- a/mothballed/component/viewer/bdd/src/site/resources/xmlmind/xhtml.css
+++ /dev/null
@@ -1,692 +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.
- */
-/*
- * Copyright (c) 2003-2010 Pixware. 
- *
- * This file is part of the XMLmind XML Editor project.
- * For conditions of distribution and use, see the accompanying legal.txt file.
- */
-
-@namespace "http://www.w3.org/1999/xhtml";
-@namespace html "http://www.w3.org/1999/xhtml";
-@namespace concordion "http://www.concordion.org/2007/concordion";
-@namespace isis "http://isis.apache.org/2010/concordion";
-
-@import "xhtml_table.imp";
-@import "xhtml_form.imp";
-
-/* ---------------------------------------------------------------------------
-   Concordion/Isis customization
---------------------------------------------------------------------------- */
-
-*[concordion|set] {
-    background-color: #99CCCC;
-}
-*[concordion|execute] {
-    background-color: #CCFFCC;
-}
-*[isis|execute] {
-    background-color: #CCFFCC;
-}
-*[concordion|assertEquals] {
-    background-color: #66FF66;
-}
-*[concordion|assertTrue] {
-    background-color: #66FF66;
-}
-*[concordion|assertFalse] {
-    background-color: #66FF66;
-}
-*[concordion|verifyRows] {
-    background-color: #99FF99;
-}
-*[concordion|run] {
-    background-color: #FFFF66;
-}
-
-
-html {
-    display: block;
-}
-
-/* ---------------------------------------------------------------------------
-   Head
---------------------------------------------------------------------------- */
-
-head {
-    display: block;
-    margin: 1.33ex 0;
-    border: 1px solid #CCFAFF;
-    background-color: #EEFAFF;
-    padding: 0.5em;
-    border-radius: 0.5em;
-}
-
-title { 
-    display: block;
-    text-align: center;
-    font-weight: bold;
-    font-size: 2em;
-    color: #206080;
-    margin-top: .67ex;
-    margin-bottom: .67ex;
-}
-
-base,
-meta,
-link,
-style,
-script,
-noscript {
-    display: tree;
-}
-
-/* ---------------------------------------------------------------------------
-   Body
---------------------------------------------------------------------------- */
-
-body {
-    display: block;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-body[bgcolor] {
-    background-color: concatenate(attr(bgcolor));
-}
-body[text] {
-    color: concatenate(attr(text));
-}
-
-/* ---------------------------------------------------------------------------
-   Blocks
---------------------------------------------------------------------------- */
-
-div {
-    display: block;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-center {
-    display: block;
-}
-div[align=center],
-center { 
-    margin-left: auto;
-    margin-right: auto;
-    text-align: center; 
-}
-div[align=right] { 
-    margin-left: auto;
-    margin-right: 0;
-    text-align: right; 
-}
-
-hr {
-    display: block;
-    content: icon(invisible) icon(invisible);
-    border: 2 inset gray;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-hr[noshade] {
-    background-color: gray;
-    border-style: solid;
-}
-
-/* -------------------------------------
-   Headings
-------------------------------------- */
-
-h1, 
-h2, 
-h3, 
-h4, 
-h5,
-h6 {
-    display: block;
-    font-weight: bold;
-    color: #206080;
-}
-
-h1 { 
-    font-size: 1.5em;
-    margin-top: .83ex;
-    margin-bottom: .83ex;
-}
-
-h2 { 
-    font-size: 1.3em;
-    margin-top: 1ex;
-    margin-bottom: 1ex;
-}
-
-h3, 
-h4, 
-h5, 
-h6 { 
-    margin-top: 1.33ex;
-    margin-bottom: 1.33ex;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-h1[align], 
-h2[align], 
-h3[align], 
-h4[align], 
-h5[align],
-h6[align] {
-    text-align: concatenate(attr(align)); 
-}
-
-/* -------------------------------------
-   Paragraphs
-------------------------------------- */
-
-address {
-    display: block;
-    font-style: italic; 
-    margin-top: 1.33ex 0;
-}
-
-p { 
-    display: block;
-    margin: 1.33ex 0;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-p[align] {
-    text-align: concatenate(attr(align)); 
-}
-
-pre { 
-    display: block;
-    white-space: pre;
-    font-family: monospace;
-    background-color: #EEEEEE;
-    border: thin solid gray;
-    padding: 2px;
-    margin: 1.33ex 0;
-}
-
-blockquote {
-    display: block;
-    margin: 1.33ex 10ex;
-}
-
-/* -------------------------------------
-   Lists
-------------------------------------- */
-
-ul { 
-    display: block;
-    margin-left: 2ex;
-    margin-top: 1.33ex;
-    margin-bottom: 1.33ex;
-}
-
-li {
-    display: block;
-    margin-top: 1.33ex;
-    margin-bottom: 1.33ex;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-ul[compact] > li,
-ol[compact] > li {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-ul > li {
-    margin-left: 2.5ex;
-}
-ul > li:before {
-    display: marker;
-    content: disc;
-}
-ul > li ul > li:before {
-    content: square;
-}
-ul > li ul > li ul > li:before {
-    content: icon(diamond);
-}
-ul > li ul > li ul > li ul > li:before {
-    content: circle;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-dir,
-menu { 
-    display: block;
-    margin-left: 2ex;
-    margin-top: 1.33ex;
-    margin-bottom: 1.33ex;
-}
-dir > li,
-menu > li {
-    margin-left: 2.5ex;
-}
-dir > li:before {
-    display: marker;
-    content: icon(right-half-disc);
-    color: #206080;
-}
-menu > li:before {
-    display: marker;
-    content: icon(right);
-    color: #206080;
-}
-
-ol { 
-    display: block;
-    margin-left: 2ex;
-    margin-top: 1.33ex;
-    margin-bottom: 1.33ex;
-}
-
-ol > li {
-    margin-left: 6ex;
-}
-ol > li:before {
-    display: marker;
-    content: simple-counter(n, decimal) ".";
-    font-weight: bold;
-}
-
-/* Example of value for style attribute: "list-style-type: lower-roman;" */
-ol[style*=lower-alpha] > li:before {
-    content: simple-counter(n, lower-alpha) ".";
-}
-ol[style*=upper-alpha] > li:before {
-    content: simple-counter(n, upper-alpha) ".";
-}
-ol[style*=lower-roman] > li:before {
-    content: simple-counter(n, lower-roman) ".";
-}
-ol[style*=upper-roman] > li:before {
-    content: simple-counter(n, upper-roman) ".";
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-ol[type=a] > li:before {
-    content: simple-counter(n, lower-alpha) ".";
-}
-ol[type=A] > li:before {
-    content: simple-counter(n, upper-alpha) ".";
-}
-ol[type=i] > li:before {
-    content: simple-counter(n, lower-roman) ".";
-}
-ol[type=I] > li:before {
-    content: simple-counter(n, upper-roman) ".";
-}
-
-ol ul, ul ol, ul ul, ol ol { 
-    margin-top: 0; 
-    margin-bottom: 0; 
-}
-
-dl {
-    display: block;
-    margin-left: 2ex;
-    margin-top: 1.33ex;
-    margin-bottom: 1.33ex;
-}
-
-dt {
-    display: block;
-    font-weight: bold; 
-}
-
-dd { 
-    display: block;
-    margin-left: 4ex;
-    margin-bottom: 1.33ex;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-dl[compact] > dd {
-    margin-bottom: 0;
-}
-
-/* ---------------------------------------------------------------------------
-   Inlines
-
-   span
-   em strong cite dfn code samp kbd var abbr acronym
-   q
-   sub sup
-   br
-   tt i b 
-   big small
-   basefont font
-   strike s u
-   a
---------------------------------------------------------------------------- */
-
-b, 
-strong { 
-    font-weight: bold; 
-}
-
-i, 
-em, 
-cite,
-var { 
-    font-style: italic; 
-}
-
-q:before {
-    content: open-quote;
-    font-weight: bold;
-    color: gray;
-}
-q:after {
-    content: close-quote;
-    font-weight: bold;
-    color: gray;
-}
-
-tt, 
-kbd, 
-code, 
-samp,
-var { 
-    font-family: monospace;
-}
-
-abbr, 
-acronym { 
-    font-weight: bold;
-}
-
-dfn {
-    background-color: #FFFFE0;
-}
-
-/*
- * Clearly show that a span which has a class attribute is something special.
- */
-span[class]:before {
-    content: icon(left-half-disc);
-    color: #C0C040;
-}
-span[class]:after {
-    content: icon(right-half-disc);
-    color: #C0C040;
-}
-
-sub, 
-sup {
-    display: inline-block;
-    white-space: nowrap;
-    font-size: small;
-}
-sub { 
-    vertical-align: sub;
-}
-sup { 
-    vertical-align: super;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-strike,
-s {
-    text-decoration: line-through;
-}
-u { 
-    text-decoration: underline;
-}
-
-br:before { 
-    content: "\A"; 
-    color: gray;
-}
-
-big { 
-    font-size: large;
-}
-small { 
-    font-size: small;
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-basefont { 
-    content: "basefont=" attr(size);
-    font-size: small;
-    color: gray;
-}
-font[color] {
-    color: concatenate(attr(color));
-}
-font[face] {
-    font-family: concatenate(attr(face));
-}
-font[size="1"] {
-    font-size: x-small;
-}
-font[size="2"] {
-    font-size: small;
-}
-font[size="3"] {
-    font-size: medium;
-}
-font[size="4"] {
-    font-size: large;
-}
-font[size="5"] {
-    font-size: x-large;
-}
-font[size="6"],
-font[size="7"] {
-    font-size: xx-large;
-}
-font[size="-3"] {
-    font-size: smaller;
-}
-font[size="-2"] {
-    font-size: smaller;
-}
-font[size="-1"] {
-    font-size: smaller;
-}
-font[size="+1"] {
-    font-size: larger;
-}
-font[size="+2"] {
-    font-size: larger;
-}
-font[size="+3"] {
-    font-size: larger;
-}
-
-a[href] { 
-    color: navy;
-    text-decoration: underline;
-}
-a[name]:after,
-a[id]:after { 
-    content: icon(right-target); 
-    color: gray;
-    vertical-align: text-top;
-}
-
-a[href][class="drop_site"]:after {
-    content: " " drop-site(icon, icon(drop),
-                           command, "setImage", 
-                           parameter, "href anyURI - '%{value}'");
-    vertical-align: text-top;
-}
-
-/* ---------------------------------------------------------------------------
-   Ins/del
-  
-   When this is really needed, put the ins/del into a span 
-   to force inline display.
---------------------------------------------------------------------------- */
-
-ins {
-    display: block;
-    border-width: 2px;
-    border-style: solid;
-    border-color: transparent blue transparent transparent;
-    padding-right: 5px;
-}
-
-p ins,
-pre ins,
-h1 ins, h2 ins, h3 ins, h4 ins, h5 ins, h6 ins,
-dt ins, 
-address ins,
-a ins,
-span ins,
-bdo ins,
-em ins, strong ins,
-dfn ins,
-code ins,
-samp ins,
-kbd ins,
-var ins,
-cite ins,
-abbr ins, acronym ins,
-q ins,
-sub ins, sup ins,
-tt ins, i ins, b ins,
-big ins, small ins {
-    display: inline;
-    text-decoration: underline;
-}
-
-del {
-    display: block;
-    color: gray;
-    border-width: 2px;
-    border-style: solid;
-    border-color: transparent gray transparent transparent;
-    padding-right: 5px;
-}
-
-p del,
-pre del,
-h1 del, h2 del, h3 del, h4 del, h5 del, h6 del,
-dt del, 
-address del,
-a del,
-span del,
-bdo del,
-em del, strong del,
-dfn del,
-code del,
-samp del,
-kbd del,
-var del,
-cite del,
-abbr del, acronym del,
-q del,
-sub del, sup del,
-tt del, i del, b del,
-big del, small del {
-    display: inline;
-    text-decoration: line-through;
-}
-
-/* ---------------------------------------------------------------------------
-   Objects
---------------------------------------------------------------------------- */
-
-img {
-    display: inline;
-    content: image-viewport(attribute, src,
-			    data-type, anyURI,
-	                    content-width, attr(width),
-                            content-height, attr(height));
-}
-
-/*
- * Partial support for the Transitional DTD.
- */
-img[align=bottom],
-img[align=middle],
-img[align=top] {
-    vertical-align: concatenate(attr(align));
-}
-
-object,
-applet,
-param {
-    display: tree;
-}
-
-map,
-area {
-    display: tree;
-}
-
-/* ---------------------------------------------------------------------------
-   When printing
---------------------------------------------------------------------------- */
-
-@media print {
-    * {
-	background-color: transparent;
-        line-height: 1.2;
-    }
-
-    base,
-    meta,
-    link,
-    style,
-    script,
-    noscript {
-	display: none;
-    }
-
-    meta[name=author][content],
-    meta[name=date][content] { 
-        display: block;
-	text-align: center;
-	/* 
-	 * Without paragraph(), a static text label is used 
-         * and words are not wrapped.
-	 */	
-        content: paragraph(attr(content));
-    }
-}


[46/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java
deleted file mode 100644
index 59b0b24..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java
+++ /dev/null
@@ -1,224 +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.objectstore.nosql;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import com.google.common.collect.Maps;
-
-import org.jmock.Expectations;
-import org.jmock.Sequence;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.ResolveState;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.system.persistence.OidGenerator;
-import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-public class NoSqlObjectStoreTest_interactWith_db {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    @Mock
-    private NoSqlDataDatabase db;
-    
-    @Mock
-    private VersionCreator versionCreator;
-
-    @Mock
-    private PersistenceCommand command;
-
-    @Mock
-    private ObjectSpecification cusSpecification;
-
-    @Mock
-    private ObjectSpecification serviceSpecification;
-
-    @Mock
-    private ObjectAdapter cusAdapter;
-
-    private final ObjectSpecId cusSpecId = ObjectSpecId.of("CUS");
-    private RootOid cusRootOid = RootOidDefault.create(cusSpecId, "3");
-
-    final ObjectSpecId serviceSpecId = ObjectSpecId.of("service");
-
-    private Map<String, DataEncryption> dataEncrypter = Maps.newHashMap();
-
-    private NoSqlObjectStore store;
-
-
-
-
-
-    @Before
-    public void setup() {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
-
-        context.checking(new Expectations() {
-            {
-                // in the constructor of the object store
-                one(db).open();
-                one(db).containsData();
-                will(returnValue(false));
-                one(db).close();
-
-                allowing(cusAdapter).getOid();
-                will(returnValue(cusRootOid));
-
-                allowing(cusAdapter).getSpecification();
-                will(returnValue(cusSpecification));
-
-                allowing(cusSpecification).getSpecId();
-                will(returnValue(cusSpecId));
-
-                allowing(serviceSpecification).getSpecId();
-                will(returnValue(serviceSpecId));
-            }
-        });
-
-        store = new NoSqlObjectStore(db, new OidGenerator(new NoSqlIdentifierGenerator(db)), versionCreator, null, dataEncrypter);
-    }
-
-    @Test
-    public void open() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(db).open();
-            }
-        });
-        store.open();
-    }
-
-    @Test
-    public void close() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(db).close();
-            }
-        });
-        store.close();
-    }
-
-    @Test
-    public void registerService() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(db).addService(serviceSpecId, "4");
-            }
-        });
-        store.registerService(RootOidDefault.create(serviceSpecId, "4"));
-    }
-
-    @Test
-    public void oidForService() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(db).getService(serviceSpecId);
-                will(returnValue("4"));
-            }
-        });
-        store.getOidForService(serviceSpecification);
-    }
-
-    @Test
-    public void hasInstances() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(db).hasInstances(cusSpecification.getSpecId());
-                will(returnValue(true));
-            }
-        });
-        store.hasInstances(cusSpecification);
-    }
-
-    @Test
-    public void execute() throws Exception {
-        final List<PersistenceCommand> commands = new ArrayList<PersistenceCommand>();
-        commands.add(command);
-
-        context.checking(new Expectations() {
-            {
-                // Hone(command).execute(null); // REVIEW: DKH ... how was this expectation ever met?
-                one(db).write(commands);
-            }
-        });
-
-        store.execute(commands);
-    }
-
-    @Test
-    public void instances() throws Exception {
-        final PersistenceQuery persistenceQuery = context.mock(PersistenceQuery.class);
-        context.checking(new Expectations() {
-            {
-                one(persistenceQuery).getSpecification();
-                will(returnValue(cusSpecification));
-
-                one(db).instancesOf(cusSpecification.getSpecId());
-                will(returnIterator());
-                
-                allowing(cusSpecification).subclasses();
-            }
-        });
-
-        store.loadInstancesAndAdapt(persistenceQuery);
-    }
-
-    @Test
-    public void resolve() throws Exception {
-        final Sequence changingState = context.sequence("changingState");
-        context.checking(new Expectations() {
-            {
-                one(db).getInstance("3", cusSpecId);
-
-                allowing(cusAdapter).getResolveState();
-                inSequence(changingState);
-                will(returnValue(ResolveState.GHOST));
-
-                ignoring(cusSpecification);
-                
-                one(cusAdapter).changeState(ResolveState.RESOLVING);
-                inSequence(changingState);
-                one(cusAdapter).changeState(ResolveState.RESOLVED);
-                inSequence(changingState);
-                
-                one(cusAdapter).setVersion(null);
-            }
-        });
-        store.resolveImmediately(cusAdapter);
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/WriteObjectCommandTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/WriteObjectCommandTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/WriteObjectCommandTest.java
deleted file mode 100644
index 5850846..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/WriteObjectCommandTest.java
+++ /dev/null
@@ -1,220 +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.objectstore.nosql;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-
-import java.util.ArrayList;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.version.SerialNumberVersion;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.tck.dom.refs.ParentEntity;
-import org.apache.isis.core.tck.dom.refs.ReferencingEntity;
-import org.apache.isis.core.tck.dom.refs.SimpleEntity;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-public class WriteObjectCommandTest {
-    
-    @Rule
-    public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder().build();
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private StateWriter writer;
-    @Mock
-    private VersionCreator versionCreator;
-    
-    @Mock
-    private NoSqlCommandContext commandContext;
-
-    private DataEncryption dataEncrypter;
-
-    private ObjectAdapter smpl1Adapter;
-    private ObjectAdapter rfcg1Adapter;
-    private ObjectAdapter prnt1Adapter;
-
-    private SimpleEntity smpl1;
-    private SimpleEntity smpl2;
-
-    private ReferencingEntity rfcg1;
-
-    private ParentEntity prnt1;
-
-    @Before
-    public void setup() {
-
-        smpl1 = iswf.fixtures.smpl1;
-        smpl1.setName("Fred Smith");
-        smpl1.setSize(108);
-        smpl1Adapter = iswf.remapAsPersistent(smpl1, RootOidDefault.deString("SMPL:1", new OidMarshaller()));
-
-        smpl2 = iswf.fixtures.smpl2;
-        smpl2.setName("John Brown");
-        iswf.remapAsPersistent(smpl2, RootOidDefault.deString("SMPL:2", new OidMarshaller()));
-
-        rfcg1 = iswf.fixtures.rfcg1;
-        rfcg1.setReference(smpl1);
-        rfcg1Adapter = iswf.remapAsPersistent(rfcg1, RootOidDefault.deString("RFCG:1", new OidMarshaller()));
-
-        prnt1 = iswf.fixtures.prnt1;
-        prnt1.getHomogeneousCollection().add(smpl1);
-        prnt1.getHomogeneousCollection().add(smpl2);
-        
-        prnt1Adapter = iswf.remapAsPersistent(prnt1, RootOidDefault.deString("PRNT:1", new OidMarshaller()));
-
-        final Version version = SerialNumberVersion.create(2, "username", null);
-
-        context.checking(new Expectations() {
-            {
-                one(versionCreator).newVersion("tester");
-                will(returnValue(version));
-                one(versionCreator).versionString(version);
-                will(returnValue("2"));
-                one(versionCreator).timeString(version);
-                will(returnValue("1057"));
-            }
-        });
-
-        dataEncrypter = new DataEncryption() {
-            @Override
-            public String getType() {
-                return "etc1";
-            }
-
-            @Override
-            public void init(final IsisConfiguration configuration) {
-            }
-
-            @Override
-            public String encrypt(final String plainText) {
-                return "ENC" + plainText;
-            }
-
-            @Override
-            public String decrypt(final String encryptedText) {
-                throw new UnexpectedCallException();
-            }
-        };
-    }
-
-
-    @Test
-    public void objectWithValues() throws Exception {
-
-        context.checking(new Expectations() {
-
-            {
-                one(commandContext).createStateWriter(smpl1Adapter.getSpecification().getSpecId());
-                will(returnValue(writer));
-
-                final RootOidDefault oid = RootOidDefault.create(smpl1Adapter.getSpecification().getSpecId(), "1");
-                exactly(2).of(writer).writeOid(oid); // once for the id, once for the type
-
-                one(writer).writeField("name", "ENCFred Smith");
-                one(writer).writeField("size", "ENC108");
-                one(writer).writeField("date", null);
-                one(writer).writeField("nullable", null);
-                one(writer).writeVersion(null, "2");
-                one(writer).writeUser("username");
-                one(writer).writeTime("1057");
-                one(writer).writeEncryptionType("etc1");
-
-                one(commandContext).insert(writer);
-
-            }
-        });
-
-        final WriteObjectCommand command = new WriteObjectCommand(WriteObjectCommand.Mode.NON_UPDATE, versionCreator, dataEncrypter, smpl1Adapter);
-        command.execute(commandContext);
-    }
-
-    @Test
-    public void objectWithReferences() throws Exception {
-
-        context.checking(new Expectations() {
-            {
-                one(commandContext).createStateWriter(rfcg1Adapter.getSpecification().getSpecId());
-                will(returnValue(writer));
-
-                final RootOidDefault oid = RootOidDefault.create(rfcg1Adapter.getSpecification().getSpecId(), "1");
-                exactly(2).of(writer).writeOid(oid); // once for the id, once for the type
-                
-                one(writer).writeField("reference", "SMPL:1");
-                one(writer).writeField("aggregatedReference", null);
-                one(writer).writeCollection(with(equalTo("aggregatedEntities")), with(equalTo(new ArrayList<StateWriter>())));
-                
-                one(writer).writeVersion(null, "2");
-                one(writer).writeUser("username");
-                one(writer).writeTime("1057");
-                one(writer).writeEncryptionType("etc1");
-
-                one(commandContext).insert(writer);
-            }
-        });
-
-        final WriteObjectCommand command = new WriteObjectCommand(WriteObjectCommand.Mode.NON_UPDATE, versionCreator, dataEncrypter, rfcg1Adapter);
-        command.execute(commandContext);
-    }
-
-    @Test
-    public void objectWithCollections() throws Exception {
-
-        context.checking(new Expectations() {
-            {
-                one(commandContext).createStateWriter(prnt1Adapter.getSpecification().getSpecId());
-                will(returnValue(writer));
-
-                final RootOidDefault oid = RootOidDefault.create(prnt1Adapter.getSpecification().getSpecId(), "1");
-                exactly(2).of(writer).writeOid(oid); // once for the id, once for the type
-
-                one(writer).writeField("name", null);
-                one(writer).writeField("homogeneousCollection", "SMPL:1|SMPL:2|");
-
-                one(writer).writeVersion(null, "2");
-                one(writer).writeUser("username");
-                one(writer).writeTime("1057");
-                one(writer).writeEncryptionType("etc1");
-
-                one(commandContext).insert(writer);
-            }
-        });
-
-        final WriteObjectCommand command = new WriteObjectCommand(WriteObjectCommand.Mode.NON_UPDATE, versionCreator, dataEncrypter, prnt1Adapter);
-        command.execute(commandContext);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ChecksummingPerfomance.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ChecksummingPerfomance.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ChecksummingPerfomance.java
deleted file mode 100644
index c932f46..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ChecksummingPerfomance.java
+++ /dev/null
@@ -1,140 +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.objectstore.nosql.db.file;
-
-import java.io.BufferedReader;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.util.zip.CRC32;
-import java.util.zip.CheckedInputStream;
-
-import org.apache.isis.objectstore.nosql.db.file.server.Util;
-
-public class ChecksummingPerfomance {
-
-    public static void main(final String[] args) throws Exception {
-
-        //final CRC32 inputChecksum = new CRC32();
-        //final CheckedInputStream in = new CheckedInputStream(new FileInputStream("test.data"), inputChecksum);
-        //final BufferedReader reader = new BufferedReader(new InputStreamReader(in, Util.ENCODING));
-
-        for (int i = 0; i < 30; i++) {
-            long time = System.currentTimeMillis();
-            StringBuffer buf = null;
-            for (int j = 0; j < 1000; j++) {
-                buf = readFile(i);
-            }
-            time = System.currentTimeMillis() - time;
-            System.out.print(time);
-            System.out.print("   ");
-
-            time = System.currentTimeMillis();
-            for (int j = 0; j < 1000; j++) {
-                readChecksummedFile(i);
-            }
-            time = System.currentTimeMillis() - time;
-            System.out.print(time);
-            System.out.print("   ");
-
-            time = System.currentTimeMillis();
-            for (int j = 0; j < 1000; j++) {
-                testArray(buf);
-            }
-            time = System.currentTimeMillis() - time;
-            System.out.print(time);
-            System.out.print("   ");
-
-            byte[] data = null;
-            time = System.currentTimeMillis();
-            for (int j = 0; j < 1000; j++) {
-                data = extractArray(buf);
-            }
-            time = System.currentTimeMillis() - time;
-            System.out.print(time);
-            System.out.print("   ");
-
-            time = System.currentTimeMillis();
-            for (int j = 0; j < 1000; j++) {
-                checksumArray(data);
-            }
-            time = System.currentTimeMillis() - time;
-            System.out.println(time);
-        }
-
-    }
-
-    private static void testArray(final StringBuffer buf) {
-        final byte[] data = buf.toString().getBytes();
-
-        final CRC32 inputChecksum = new CRC32();
-        inputChecksum.reset();
-        inputChecksum.update(data);
-
-        // System.out.println(inputChecksum.getValue());
-    }
-
-    private static byte[] extractArray(final StringBuffer buf) {
-        final byte[] data = buf.toString().getBytes();
-        return data;
-    }
-
-    private static void checksumArray(final byte[] data) {
-        final CRC32 inputChecksum = new CRC32();
-        inputChecksum.reset();
-        inputChecksum.update(data);
-
-        // System.out.println(inputChecksum.getValue());
-    }
-
-    private static StringBuffer readChecksummedFile(final int i) throws Exception {
-        final CRC32 inputChecksum = new CRC32();
-        final CheckedInputStream in = new CheckedInputStream(new FileInputStream("test" + i % 3 + ".data"), inputChecksum);
-        final BufferedReader reader = new BufferedReader(new InputStreamReader(in, Util.ENCODING));
-
-        final StringBuffer buf = new StringBuffer();
-        String line;
-        while ((line = reader.readLine()) != null) {
-            buf.append(line);
-            buf.append('\n');
-        }
-
-        // System.out.println(inputChecksum.getValue());
-
-        reader.close();
-
-        return buf;
-    }
-
-    private static StringBuffer readFile(final int i) throws Exception {
-        final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("test" + i % 3 + ".data"), Util.ENCODING));
-
-        final StringBuffer buf = new StringBuffer();
-        String line;
-        while ((line = reader.readLine()) != null) {
-            buf.append(line);
-            buf.append('\n');
-        }
-
-        // System.out.println(inputChecksum.getValue());
-
-        reader.close();
-
-        return buf;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java
deleted file mode 100644
index e373747..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java
+++ /dev/null
@@ -1,124 +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.objectstore.nosql.db.file;
-
-import static org.hamcrest.Matchers.containsString;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.lang.InputStreamExtensions;
-import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
-import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
-
-public class ClientConnectionTest {
-
-    private InputStream input;
-    private ByteArrayOutputStream output;
-    private ClientConnection connection;
-
-    @Before
-    public void setup() throws Exception {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
-
-        input = InputStreamExtensions.asUtf8ByteStream("org.domain.Class false true 1025\n{data...}\n\n102334");
-        output = new ByteArrayOutputStream();
-        connection = new ClientConnection(input, output);
-    }
-
-    @Test
-    public void testRequest() throws Exception {
-        connection.request('D', "xxx yyy");
-        connection.close();
-        assertEquals("Dxxx yyy\n", output.toString());
-    }
-
-    @Test
-    public void testRequestData() throws Exception {
-        connection.requestData("{data...}");
-        connection.close();
-        // assertEquals("{data...}\n\n5de98274", output.toString());
-    }
-
-    @Test
-    public void testResponseHeaders() throws Exception {
-        connection.getReponseHeader();
-        assertEquals("org.domain.Class", connection.getResponse());
-        assertEquals(false, connection.getResponseAsBoolean());
-        assertEquals(true, connection.getResponseAsBoolean());
-        assertEquals(1025L, connection.getResponseAsLong());
-    }
-
-    @Test
-    public void tooManyResponseHeadersExpected() throws Exception {
-        connection.getReponseHeader();
-        connection.getResponse();
-        connection.getResponse();
-        connection.getResponse();
-        connection.getResponse();
-        try {
-            connection.getResponse();
-            fail();
-        } catch (final RemotingException e) {
-            assertThat(e.getMessage(), containsString("are only 4"));
-        }
-    }
-
-    @Test
-    public void testResponseData() throws Exception {
-        connection.getReponseHeader();
-        final String data = connection.getResponseData();
-        assertEquals("{data...}\n", data);
-    }
-
-    @Test
-    public void validateResponseOk() throws Exception {
-        input = InputStreamExtensions.asUtf8ByteStream("ok xx xx\n{data...}");
-        connection = new ClientConnection(input, output);
-        connection.validateRequest();
-    }
-
-    @Test(expected = RemotingException.class)
-    public void validateResponseError() throws Exception {
-        input = InputStreamExtensions.asUtf8ByteStream("error message about it\n");
-        connection = new ClientConnection(input, output);
-        connection.validateRequest();
-    }
-
-    @Test(expected = ObjectNotFoundException.class)
-    public void validateObjectNotFound() throws Exception {
-        input = InputStreamExtensions.asUtf8ByteStream("not-found message about it\n");
-        connection = new ClientConnection(input, output);
-        connection.validateRequest();
-    }
-
-    @Test(expected = ConcurrencyException.class)
-    public void validateConcurrencyException() throws Exception {
-        input = InputStreamExtensions.asUtf8ByteStream("concurrency message about it\n");
-        connection = new ClientConnection(input, output);
-        connection.validateRequest();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/JsonStateReaderTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/JsonStateReaderTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/JsonStateReaderTest.java
deleted file mode 100644
index bbdb7d7..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/JsonStateReaderTest.java
+++ /dev/null
@@ -1,126 +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.objectstore.nosql.db.file;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.objectstore.nosql.db.StateReader;
-
-public class JsonStateReaderTest {
-
-    private JsonStateReader reader;
-
-    @Before
-    public void setup() {
-        reader = new JsonStateReader(
-                "{" + 
-                    "\"_encrypt\": \"etc1\"," + 
-                    "\"_oid\": \"com.package.ClassName:#2\"," + 
-                    "\"_time\": \"ddmmyy\"," + 
-                    "\"_user\": \"fred\"," + 
-                    "\"_version\": \"2\"," + 
-                    "\"field-1\": \"1234\"," + 
-                    "\"field-2\": \"data\"," + 
-                    "\"field-3\": null,"
-                    + "\"list\": [{}, {}]," + 
-                    "\"aggregate\": {" +
-                        "\"_oid\": \"com.package.ClassName:#2~com.package.AggregatedClassName:#3\""  +
-                        "}," + 
-                    "}");
-    }
-
-    @Test
-    public void readEncryptionType() throws Exception {
-        assertEquals("etc1", reader.readEncrytionType());
-    }
-
-//    @Test
-//    public void readId() throws Exception {
-//        assertEquals("#2", reader.readId());
-//    }
-//
-//    @Test
-//    public void readObjectType() throws Exception {
-//        assertEquals("com.package.ClassName", reader.readObjectType());
-//    }
-
-    @Test
-    public void readOid() throws Exception {
-        assertEquals("com.package.ClassName:#2", reader.readOid());
-    }
-
-    @Test
-    public void readTime() throws Exception {
-        assertEquals("ddmmyy", reader.readTime());
-    }
-
-    @Test
-    public void readUser() throws Exception {
-        assertEquals("fred", reader.readUser());
-    }
-
-    @Test
-    public void readVersion() throws Exception {
-        assertEquals("2", reader.readVersion());
-    }
-
-    @Test
-    public void readNumberField() throws Exception {
-        assertEquals(1234L, reader.readLongField("field-1"));
-    }
-
-    @Test
-    public void readNumberFieldAsNull() throws Exception {
-        assertEquals(0L, reader.readLongField("field-4"));
-    }
-
-    @Test
-    public void readStringField() throws Exception {
-        assertEquals("data", reader.readField("field-2"));
-    }
-
-    @Test
-    public void readStringFieldAsNull() throws Exception {
-        assertEquals(null, reader.readField("field-4"));
-    }
-
-    @Test
-    public void readUnsavedCollection() throws Exception {
-        assertEquals(new ArrayList<StateReader>(), reader.readCollection("unknown-list"));
-    }
-
-    @Test
-    public void readList() throws Exception {
-        final List<StateReader> collection = reader.readCollection("list");
-        assertEquals(2, collection.size());
-        // assertEquals(null, reader.readField("field-4"));
-    }
-
-    @Test
-    public void readAggregate() throws Exception {
-        final StateReader aggregate = reader.readAggregate("aggregate");
-        assertEquals("com.package.ClassName:#2~com.package.AggregatedClassName:#3", aggregate.readOid());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/JsonStateWriterTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/JsonStateWriterTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/JsonStateWriterTest.java
deleted file mode 100644
index cdc8f8e..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/JsonStateWriterTest.java
+++ /dev/null
@@ -1,124 +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.objectstore.nosql.db.file;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-
-public class JsonStateWriterTest {
-
-    @Rule
-    public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder().build();
-    
-    private JsonStateWriter writer;
-
-    @Before
-    public void setup() {
-        writer = new JsonStateWriter();
-    }
-
-    @Test
-    public void noData() throws Exception {
-        assertEquals("{}", writer.getData());
-    }
-
-    @Test
-    public void basicData() throws Exception {
-//        writer.writeObjectType("com.planchase.ClassName");
-//        writer.writeId("#1");
-        writer.writeOid(RootOidDefault.deString("com.planchase.ClassName:1", new OidMarshaller()));
-        writer.writeTime("ddmmyy");
-        writer.writeVersion("1", "2");
-        writer.writeUser("fred");
-        assertEquals("{\n" +
-        		"    \"_oid\": \"com.planchase.ClassName:1\",\n" +
-        		"    \"_time\": \"ddmmyy\",\n" +
-        		"    \"_user\": \"fred\",\n" +
-        		"    \"_version\": \"2\"\n" +
-        		"}", 
-        		writer.getData());
-    }
-
-    @Test
-    public void encrytionVersion() throws Exception {
-        writer.writeEncryptionType("etc1");
-        assertEquals("{\"_encrypt\": \"etc1\"}", writer.getData());
-    }
-
-    @Test
-    public void numberData() throws Exception {
-        writer.writeField("number", 1239912);
-        assertEquals("{\"number\": \"1239912\"}", writer.getData());
-    }
-
-    @Test
-    public void stringData() throws Exception {
-        writer.writeField("number", "string-data");
-        assertEquals("{\"number\": \"string-data\"}", writer.getData());
-    }
-
-    @Test
-    public void nullData() throws Exception {
-        writer.writeField("number", null);
-        assertEquals("{\"number\": null}", writer.getData());
-    }
-
-    @Test
-    public void addAggregate() throws Exception {
-        final StateWriter aggregate = writer.addAggregate("#4");
-        aggregate.writeField("number", "string-data");
-        assertEquals("{\"#4\": {\"number\": \"string-data\"}}", writer.getData());
-    }
-
-    @Test
-    public void elementData() throws Exception {
-        final List<StateWriter> elements = new ArrayList<StateWriter>();
-        final StateWriter elementWriter1 = writer.createElementWriter();
-        elementWriter1.writeField("number", "1");
-        elements.add(elementWriter1);
-        final StateWriter elementWriter2 = writer.createElementWriter();
-        elementWriter2.writeField("number", "4");
-        elements.add(elementWriter2);
-
-        writer.writeCollection("coll", elements);
-
-        assertEquals("{\"coll\": [\n    {\"number\": \"1\"},\n    {\"number\": \"4\"}\n]}", writer.getData());
-    }
-
-    @Test
-    public void requestData() throws Exception {
-//        writer.writeObjectType("com.planchase.ClassName");
-//        writer.writeId("#8");
-        writer.writeOid(RootOidDefault.deString("com.planchase.ClassName:8", new OidMarshaller()));
-        writer.writeVersion("1", "2");
-        assertEquals("com.planchase.ClassName:8 1 2", writer.getRequest());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataReaderTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataReaderTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataReaderTest.java
deleted file mode 100644
index a3694ed..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataReaderTest.java
+++ /dev/null
@@ -1,84 +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.objectstore.nosql.db.file.server;
-
-import static org.hamcrest.Matchers.startsWith;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-public class DataReaderTest {
-
-    private DataFileReader reader;
-
-    @BeforeClass
-    public static void setUp() throws Exception {
-        Util.setDirectory("target/test", "services", "logs", "archive");
-        Util.ensureDirectoryExists();
-        new File("target/test/type").mkdir();
-    }
-
-    @Test
-    public void noFileCausesException() throws Exception {
-        try {
-            new DataFileReader("type", "nonexistant");
-            fail();
-        } catch (final FileNotFoundException expected) {
-        }
-    }
-
-    @Test
-    public void noDataRead() throws Exception {
-        final FileWriter writer = new FileWriter("target/test/type/0013.data");
-        writer.write("");
-        writer.close();
-
-        try {
-            reader = new DataFileReader("type", "0013");
-            fail();
-        } catch (final FileServerException expected) {
-            assertThat(expected.getMessage(), startsWith("No data in file:"));
-        }
-
-    }
-
-    @Test
-    public void readIdAndVersion() throws Exception {
-        final FileWriter writer = new FileWriter("target/test/type/0012.data");
-        writer.write("class.type 0012 17\n{data}");
-        writer.close();
-
-        reader = new DataFileReader("type", "0012");
-
-        assertEquals("0012", reader.getId());
-        assertEquals("17", reader.getVersion());
-
-        final String data = reader.getData();
-        assertEquals("{data}\n", data);
-        reader.close();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java
deleted file mode 100644
index a6ec0e5..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java
+++ /dev/null
@@ -1,106 +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.objectstore.nosql.db.file.server;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class DataWriterTest {
-
-    private static final String TARGET_DIRECTORY = "target/test/";
-    private static final String FULLY_QUALIFIED_CLASSNAME = "org.domain.Class";
-    private static final String FULLY_QUALIFIED_CLASSNAME_2 = "org.domain.Class2";
-    private DataFileWriter writer;
-
-    @Before
-    public void setUp() throws Exception {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
-        Util.setDirectory(TARGET_DIRECTORY, "services", "logs", "archive");
-        Util.ensureDirectoryExists();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        if (writer != null) {
-            writer.close();
-        }
-    }
-
-    @Test
-    public void testWriteData() throws Exception {
-        final File file = new File(TARGET_DIRECTORY + FULLY_QUALIFIED_CLASSNAME + "/1030.data");
-        file.mkdirs();
-        file.createNewFile();
-        Assert.assertTrue(file.exists());
-
-        final List<FileContent> files = new ArrayList<FileContent>();
-        files.add(new FileContent('I', "1023", "1", "2", FULLY_QUALIFIED_CLASSNAME, "{data1}"));
-        files.add(new FileContent('U', "1024", "21", "22", FULLY_QUALIFIED_CLASSNAME, "{data2}"));
-        files.add(new FileContent('D', "1030", "66", "", FULLY_QUALIFIED_CLASSNAME, ""));
-        final DataFileWriter writer = new DataFileWriter(files);
-        writer.writeData();
-
-        BufferedReader reader = new BufferedReader(new FileReader(TARGET_DIRECTORY + FULLY_QUALIFIED_CLASSNAME + "/1023.data"));
-        Assert.assertEquals("org.domain.Class 1023 2", reader.readLine());
-        Assert.assertEquals("{data1}", reader.readLine());
-
-        reader = new BufferedReader(new FileReader(TARGET_DIRECTORY + FULLY_QUALIFIED_CLASSNAME + "/1024.data"));
-        Assert.assertEquals(FULLY_QUALIFIED_CLASSNAME + " 1024 22", reader.readLine());
-        Assert.assertEquals("{data2}", reader.readLine());
-
-        Assert.assertFalse("file still exists", file.exists());
-    }
-
-    @Test
-    public void createsTypeDirectory() throws Exception {
-        final String dir = TARGET_DIRECTORY + FULLY_QUALIFIED_CLASSNAME_2;
-        final File file = deleteDirectory(dir);
-        Assert.assertFalse(file.exists());
-
-        final List<FileContent> files = new ArrayList<FileContent>();
-        files.add(new FileContent('I', "1023", "1", "2", FULLY_QUALIFIED_CLASSNAME_2, "{data1}"));
-        writer = new DataFileWriter(files);
-        writer.writeData();
-
-        Assert.assertTrue(file.exists());
-    }
-
-    protected File deleteDirectory(final String dir) {
-        final File file = new File(dir);
-        if (file.exists()) {
-            for (final File f : file.listFiles()) {
-                f.delete();
-            }
-            file.delete();
-
-        }
-        return file;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerTest.java
deleted file mode 100644
index abd1a86..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerTest.java
+++ /dev/null
@@ -1,280 +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.objectstore.nosql.db.file.server;
-
-import static org.apache.isis.core.commons.matchers.IsisMatchers.existsAndNotEmpty;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.greaterThan;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.not;
-import static org.hamcrest.Matchers.startsWith;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.InputStream;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.lang.InputStreamExtensions;
-
-public class FileServerTest {
-    private FileServerProcessor server;
-    private File logFile1;
-    private File logFile2;
-    private ByteArrayOutputStream out;
-
-    @BeforeClass
-    public static void setUp() throws Exception {
-        Util.setDirectory("target/test", "services", "logs", "archive");
-        Util.ensureDirectoryExists();
-        new File("target/test/type").mkdir();
-    }
-
-    @Before
-    public void startup() {
-        logFile1 = recreateFile("target/test/logs", "recovery0.log");
-        logFile2 = recreateFile("target/test/logs", "recovery1.log");
-
-        final File dir = new File("target/test/org.domain.Class");
-        dir.mkdirs();
-        final File dir2 = new File("target/test/org.domain.Class2");
-        dir2.mkdirs();
-
-        server = new FileServerProcessor();
-        server.startup();
-
-        out = new ByteArrayOutputStream();
-    }
-
-    private static File recreateFile(final String parent, final String child) {
-        final File file = new File(parent, child);
-        file.delete();
-        assertFalse(file.exists());
-        return file;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        if (server != null) {
-            server.shutdown();
-        }
-    }
-
-    @Test
-    public void cantReadOrWriteAfterShutdown() throws Exception {
-        final InputStream in = InputStreamExtensions.asUtf8ByteStream("R[org.domain.Class 1025]\n");
-        final ByteArrayOutputStream out = new ByteArrayOutputStream();
-        final ServerConnection connection = new ServerConnection(in, out);
-
-        server.shutdown();
-        server.process(connection);
-        assertThat(new String(out.toByteArray(), "utf-8"), is(equalTo("abort\n")));
-    }
-
-    @Test
-    public void writeAbortedAsDataNotComplete() throws Exception {
-        final InputStream in = InputStreamExtensions.asUtf8ByteStream("W\nIorg.domain.Class 1025 null 1  \n{da");
-        final ServerConnection connection = new ServerConnection(in, out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(containsString("stream ended prematurely while reading data, aborting request")));
-    }
-
-    @Test
-    public void writeAbortsIfMissingNextDataBlock() throws Exception {
-        final InputStream in = InputStreamExtensions.asUtf8ByteStream("W\nIorg.domain.Class 1025 null 1  \n{data1}\n\n");
-        final ServerConnection connection = new ServerConnection(in, out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(containsString("stream ended prematurely while reading header, aborting request")));
-    }
-
-    @Test
-    public void writeAbortedAsHeaderNotComplete() throws Exception {
-        final InputStream in = InputStreamExtensions.asUtf8ByteStream("W\nIorg.domain.Class 1025");
-        final ServerConnection connection = new ServerConnection(in, out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(containsString("invalid header string, aborting request")));
-    }
-
-    @Test
-    public void writeCreatesFilesUsingDataWriter() throws Exception {
-        final File file1 = new File("target/test/org.domain.Class", "1025.data");
-        final File file2 = new File("target/test/org.domain.Class", "1026.data");
-        file1.delete();
-        file2.delete();
-        assertFalse(file1.exists());
-        assertFalse(file2.exists());
-
-        final InputStream in = InputStreamExtensions.asUtf8ByteStream("W\nIorg.domain.Class 1025 null 1  \n{data1}\n\nIorg.domain.Class 1026 null 1\n{data2}\n\n\n");
-        final ServerConnection connection = new ServerConnection(in, out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("ok\n")));
-        assertThat(file1, existsAndNotEmpty());
-        assertThat(file2, existsAndNotEmpty());
-    }
-
-    @Test
-    public void writeUpdatesFilesUsingDataWriter() throws Exception {
-        final File file2 = new File("target/test/org.domain.Class2", "1026.data");
-        final FileWriter fileWriter = new FileWriter(file2);
-        final String originalData = "org.domain.Class 1026 21 {}";
-        fileWriter.write(originalData);
-        fileWriter.close();
-
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("W\nUorg.domain.Class2 1026 21 22 \n{data2}\n\n\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("ok\n")));
-        assertThat(file2.length(), is(greaterThan((long) originalData.length())));
-    }
-
-    @Test
-    public void writeUpdateFailsWhenVersionsDontMatch() throws Exception {
-        final File file2 = new File("target/test/org.domain.Class", "1026.data");
-        final FileWriter fileWriter = new FileWriter(file2);
-        final String originalData = "org.domain.Class 1026 21\n{datax}\n\n\n***";
-        fileWriter.write(originalData);
-        fileWriter.close();
-
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("W\nUorg.domain.Class 1026 19 21 \n{data2}\n\n\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("error\nmismatch between FileContent version (19) and DataReader version (21)\n")));
-    }
-
-    @Test
-    public void writeCreatesLogFile() throws Exception {
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("W\nIorg.domain.Class 1025 6 7\n{data1}\n\n\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("ok\n")));
-
-        assertThat(logFile1, existsAndNotEmpty());
-        assertThat(logFile2, not(existsAndNotEmpty()));
-    }
-
-    @Test
-    public void readNonExistingFileThrowsException() throws Exception {
-        final File file1 = new File("target/test/org.domain.Class", "2020.data");
-        file1.delete();
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("Rorg.domain.Class 2020\n\n"), out);
-        server.process(connection);
-
-        final String string = out.toString();
-        assertThat(string, startsWith("not-found"));
-        assertThat(string, containsString("File not found for org.domain.Class/2020"));
-    }
-
-    @Test
-    public void aTestTheTests() throws Exception {
-        final File dir = new File("target/test/org.domain.Class");
-        assertTrue(dir.exists());
-
-        final File file1 = new File("target/test/org.domain.Class", "2025.data");
-        assertTrue(file1.getParentFile().exists());
-
-        final FileWriter fileWriter = new FileWriter(file1);
-        assertNotNull(fileWriter);
-        fileWriter.write("data");
-        fileWriter.close();
-    }
-
-    @Test
-    public void copyOfReadTest() throws Exception {
-        final File file1 = new File("target/test/org.domain.Class2", "2025.data");
-        final FileWriter fileWriter = new FileWriter(file1);
-        fileWriter.write("type 1025 1\n{data1}");
-        fileWriter.close();
-
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("Rorg.domain.Class2 2025\n\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("ok\n{data1}\n\n")));
-    }
-
-    @Test
-    public void ReadFailIfEndsEarly() throws Exception {
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("Rorg.domain.Class 2010\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(containsString("stream ended prematurely while reading end of command, aborting request")));
-    }
-
-    @Test
-    public void lookReadRenamed() throws Exception {
-        final File file1 = new File("target/test/org.domain.Class2", "2025.data");
-        final FileWriter fileWriter = new FileWriter(file1);
-        fileWriter.write("type 1025 1\n{data1}");
-        fileWriter.close();
-
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("Rorg.domain.Class2 2025\n\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("ok\n{data1}\n\n")));
-    }
-
-    @Test
-    public void read2() throws Exception {
-        final File file1 = new File("target/test/org.domain.Class2", "2025.data");
-        final FileWriter fileWriter = new FileWriter(file1);
-        fileWriter.write("type 1025 1\n{data1}");
-        fileWriter.close();
-
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("Rorg.domain.Class2 2025\n\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("ok\n{data1}\n\n")));
-    }
-
-    @Test
-    public void hasNoInstances() throws Exception {
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("Iorg.domain.None\n\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("ok false\n")));
-    }
-
-    @Test
-    public void hasInstances() throws Exception {
-        final File file1 = new File("target/test/org.domain.Class2", "2025.data");
-     //   file1.getParentFile().mkdirs();
-        final FileWriter fileWriter = new FileWriter(file1);
-        fileWriter.write("type 1025 1\n{data1}");
-        fileWriter.close();
-
-        final ServerConnection connection = new ServerConnection(InputStreamExtensions.asUtf8ByteStream("Iorg.domain.Class2\n\n"), out);
-        server.process(connection);
-
-        assertThat(out.toString(), is(equalTo("ok true\n")));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/LockManagerTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/LockManagerTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/LockManagerTest.java
deleted file mode 100644
index cdf12d3..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/LockManagerTest.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.objectstore.nosql.db.file.server;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class LockManagerTest {
-
-    private LockManager manager;
-
-    @Before
-    public void setUp() throws Exception {
-        manager = new LockManager();
-    }
-
-    @Test
-    public void readDoesNotBlockReads() throws Exception {
-        final Thread tx1 = new Thread();
-        final Thread tx2 = new Thread();
-        manager.acquireRead("2", tx1);
-        manager.acquireRead("2", tx2);
-        manager.release("2", tx1);
-        manager.release("2", tx2);
-    }
-
-    @Test
-    public void writeAbortsSecondWrite() throws Exception {
-        final Thread tx1 = new Thread();
-        final Thread tx2 = new Thread();
-        assertTrue(manager.acquireWrite("2", tx1));
-        assertFalse(manager.acquireWrite("2", tx2));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/LogWriterTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/LogWriterTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/LogWriterTest.java
deleted file mode 100644
index f4573f2..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/LogWriterTest.java
+++ /dev/null
@@ -1,108 +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.objectstore.nosql.db.file.server;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-public class LogWriterTest {
-
-    private LogWriter logger;
-    private File logFile1;
-    private File logFile2;
-    private List<FileContent> items;
-
-    @BeforeClass
-    public static void directory() {
-        Util.setDirectory("target/test", "services", "logs", "archive");
-        Util.ensureDirectoryExists();
-    }
-
-    @Before
-    public void setUp() throws Exception {
-        logFile1 = new File("target/test/logs", "recovery0.log");
-        logFile1.delete();
-        assertFalse(logFile1.exists());
-        logFile2 = new File("target/test/logs", "recovery1.log");
-        logFile2.delete();
-        assertFalse(logFile2.exists());
-
-        logger = new LogWriter();
-        logger.startup();
-
-        items = new ArrayList<FileContent>();
-        items.add(new FileContent('U', "20", "6", "7", "type", "{data}"));
-        new DataFileWriter(items);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        if (logger != null) {
-            logger.shutdown();
-        }
-    }
-
-    @Test
-    public void newLogFileCreatedOnStartup() throws Exception {
-        assertTrue(logFile1.exists() && logFile1.length() == 0);
-        assertFalse(logFile2.exists());
-    }
-
-    @Test
-    public void logsData() throws Exception {
-        logger.logWrites(items);
-
-        final BufferedReader reader = new BufferedReader(new FileReader(logFile1));
-        String line = reader.readLine();
-        line = reader.readLine();
-        Assert.assertEquals("Utype 20 7", line);
-        line = reader.readLine();
-        Assert.assertEquals("{data}", line);
-        reader.close();
-
-    }
-
-    @Test
-    public void logAddedToExistingFile() throws Exception {
-        logger.logWrites(items);
-        assertTrue(logFile1.exists() && logFile1.length() > 0);
-        assertFalse(logFile2.exists());
-    }
-
-    @Test
-    public void logAddedToNewFileWhenRotated() throws Exception {
-        logger.logWrites(items);
-        logger.startNewFile();
-        logger.logWrites(items);
-        assertTrue(logFile2.exists() && logFile1.length() > 0);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/DemoMongo.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/DemoMongo.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/DemoMongo.java
deleted file mode 100644
index 92db8f0..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/DemoMongo.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.objectstore.nosql.db.mongo;
-
-import java.util.Set;
-
-import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-import com.mongodb.Mongo;
-
-public class DemoMongo {
-    
-    // @Test
-    public void installed() throws Exception {
-
-        final Mongo m = new Mongo();
-
-        for (final String s : m.getDatabaseNames()) {
-            System.out.println(s);
-        }
-
-        /*
-         * Mongo m = new Mongo( "localhost" ); Mongo m = new Mongo( "localhost"
-         * , 27017 );
-         */
-        m.dropDatabase("mydb");
-
-        System.out.println("\n...");
-        for (final String s : m.getDatabaseNames()) {
-            System.out.println(s);
-        }
-
-        final DB db = m.getDB("mydb");
-        /*
-         * DBCollection coll = db.getCollection("testCollection1"); coll =
-         * db.getCollection("testCollection2");
-         */
-
-        final DBCollection coll = db.getCollection("testCollection1");
-
-        final BasicDBObject doc = new BasicDBObject();
-
-        doc.put("name", "MongoDB");
-        doc.put("type", "database");
-        doc.put("count", 1);
-
-        final BasicDBObject info = new BasicDBObject();
-
-        info.put("x", 203);
-        info.put("y", 102);
-
-        doc.put("info", info);
-
-        coll.insert(doc);
-
-        final Set<String> colls = db.getCollectionNames();
-
-        for (final String s : colls) {
-            System.out.println(s);
-        }
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoIntegrationTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoIntegrationTest.java
deleted file mode 100644
index 09a58aa..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoIntegrationTest.java
+++ /dev/null
@@ -1,112 +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.objectstore.nosql.db.mongo;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeThat;
-
-import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-import com.mongodb.Mongo;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-
-public class MongoIntegrationTest {
-    
-    @Rule
-    public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder().with(new MongoPersistorMechanismInstaller()).build();
-    
-    private MongoDb db;
-    private DB testDb;
-
-    private ObjectAdapter adapter1;
-
-    private ObjectSpecification specification;
-
-    @Before
-    public void setupMongo() throws Exception {
-
-        try {
-            final Mongo m = new Mongo();
-            m.dropDatabase("testdb");
-            testDb = m.getDB("testdb");
-        } catch (final Exception e) {
-            assumeThat(true, is(false)); // ignore if no MongoDB instance to
-                                         // connect to
-            return;
-        }
-
-        db = new MongoDb("localhost", 0, "testdb", new KeyCreatorDefault());
-        db.open();
-
-        adapter1 = iswf.adapterFor(iswf.fixtures.smpl1);
-        specification = adapter1.getSpecification();
-    }
-
-    @Test
-    public void newDatabaseContainsNothing() throws Exception {
-        assertFalse(db.containsData());
-    }
-
-    @Test
-    public void serialNumberSaved() throws Exception {
-        assertEquals(1, db.nextSerialNumberBatch(ObjectSpecId.of("oid"), 10));
-        assertEquals(11, db.nextSerialNumberBatch(ObjectSpecId.of("oid"), 10));
-    }
-
-    @Test
-    public void hasInstances() throws Exception {
-        assertFalse(db.hasInstances(specification.getSpecId()));
-        db.close();
-
-        final DBCollection instances = testDb.getCollection(specification.getSpecId().asString());
-        instances.insert(new BasicDBObject().append("test", "test"));
-
-        db.open();
-        assertTrue(db.hasInstances(specification.getSpecId()));
-        assertFalse(db.hasInstances(ObjectSpecId.of("org.xxx.unknown")));
-    }
-
-    @Test
-    public void serviceIds() throws Exception {
-        final ObjectSpecId osi = ObjectSpecId.of("one");
-        db.addService(osi, "123");
-        assertEquals("123", db.getService(osi));
-    }
-
-    @Test
-    public void unknownServiceIds() throws Exception {
-        assertNull(db.getService(ObjectSpecId.of("two")));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java
deleted file mode 100644
index af77921..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java
+++ /dev/null
@@ -1,128 +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.objectstore.nosql.db.mongo;
-
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.not;
-import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assume.assumeThat;
-
-import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-import com.mongodb.Mongo;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-
-public class MongoStateReaderIntegrationTest {
-
-    private static final String OBJECT_TYPE = "org.test.Object";
-    
-    private DB testDb;
-    private MongoStateReader reader;
-
-    @Before
-    public void setup() throws Exception {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
-
-        final Mongo m = new Mongo();
-        try {
-            m.dropDatabase("mydb");
-        } catch (final Exception e) {
-            assumeThat(true, is(false));// ie ignore test because we've had an
-                                        // exception
-            return;
-        }
-
-        testDb = m.getDB("mydb");
-
-        final BasicDBObject object = new BasicDBObject();
-//        object.put("_id", "1023");
-//        object.put("_type", "org.xxx.Class");
-        object.put("_oid", OBJECT_TYPE + ":1023");
-        object.put("_id", "1023"); // the MongoDB internal identifier
-
-        object.put("name", "Fred Smith");
-        object.put("null name", "null");
-        object.put("null name 2", null);
-        object.put("number", "102");
-        object.put("null number", "null");
-        final DBCollection instances = testDb.getCollection(OBJECT_TYPE);
-        instances.insert(object);
-
-        reader = new MongoStateReader(testDb, ObjectSpecId.of(OBJECT_TYPE), "1023");
-    }
-
-    @Test
-    public void readNonexistantFieldAsNull() throws Exception {
-        assumeThat(reader, is(not(nullValue())));
-        assertEquals(null, reader.readField("unknown"));
-    }
-
-    @Test
-    public void readStringField() throws Exception {
-        assertEquals("Fred Smith", reader.readField("name"));
-    }
-
-    @Test
-    public void readStringFieldAsNull() throws Exception {
-        assertEquals(null, reader.readField("null name"));
-    }
-
-    @Test
-    public void readNullFieldAsNull() throws Exception {
-        assertEquals(null, reader.readField("null name 2"));
-    }
-
-//    @Test
-//    public void readType() throws Exception {
-//        assertEquals("org.xxx.Class", reader.readObjectType());
-//    }
-//
-//    @Test
-//    public void readId() throws Exception {
-//        assertEquals("1023", reader.readId());
-//    }
-
-    @Test
-    public void readOid() throws Exception {
-        assertEquals(OBJECT_TYPE + ":1023", reader.readOid());
-    }
-
-    @Test
-    public void readNumberField() throws Exception {
-        assertEquals(102L, reader.readLongField("number"));
-    }
-
-    @Test
-    public void readNumberFieldAsNull() throws Exception {
-        assertEquals(0L, reader.readLongField("null number"));
-    }
-
-    @Test
-    public void readNonexistingNumberFieldAsZero() throws Exception {
-        assertEquals(0L, reader.readLongField("unknown"));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java
deleted file mode 100644
index a628389..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java
+++ /dev/null
@@ -1,129 +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.objectstore.nosql.db.mongo;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assume.assumeThat;
-
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-import com.mongodb.DBObject;
-import com.mongodb.Mongo;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-
-public class MongoStateWriterIntegrationTest {
-
-    private static final String SPEC_NAME = "org.test.Object";
-    private DB testDb;
-    private MongoStateWriter writer;
-
-    @Before
-    public void setup() throws Exception {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
-
-        try {
-
-            final Mongo m = new Mongo();
-            m.dropDatabase("mydb");
-            testDb = m.getDB("mydb");
-        } catch (final Exception e) {
-            assumeThat(true, is(false)); // ie no exceptions
-            return;
-        }
-
-        writer = new MongoStateWriter(testDb, ObjectSpecId.of(SPEC_NAME));
-    }
-
-    @Test
-    public void flushSavesObject() throws Exception {
-        writer.flush();
-
-        final DBCollection instances = testDb.getCollection(SPEC_NAME);
-        assertEquals(1, instances.getCount());
-    }
-
-    @Test
-    public void objectNotSavedUntilFlush() throws Exception {
-        writer.writeField("number", 1023);
-        writer.writeField("string", "testing");
-
-        final DBCollection instances = testDb.getCollection(SPEC_NAME);
-        assertEquals(0, instances.getCount());
-    }
-
-    @Test
-    public void serialNumberNotStored() throws Exception {
-        //writer.writeId("D01");
-        writer.writeOid(RootOidDefault.deString(SPEC_NAME+":"+"D01", new OidMarshaller()));
-        writer.flush();
-
-        final DBCollection instances = testDb.getCollection(SPEC_NAME);
-        assertEquals(1, instances.getCount());
-        final DBObject object = instances.findOne();
-        
-        assertEquals(SPEC_NAME+":"+"D01", object.get("_oid"));
-        assertEquals("D01", object.get("_id"));
-        
-        assertEquals(2, object.keySet().size());
-    }
-
-    @Test
-    public void writeFields() throws Exception {
-        //writer.writeObjectType(SPEC_NAME);
-        writer.writeOid(RootOidDefault.deString(SPEC_NAME+":"+"D01", new OidMarshaller()));
-        writer.writeField("number", 1023);
-        writer.writeField("string", "testing");
-        writer.flush();
-
-        final DBCollection instances = testDb.getCollection(SPEC_NAME);
-        assertEquals(1, instances.getCount());
-        final DBObject object = instances.findOne();
-        assertEquals(SPEC_NAME+":"+"D01", object.get("_oid"));
-        assertEquals("1023", object.get("number"));
-        assertEquals("testing", object.get("string"));
-    }
-
-    @Test
-    public void writeFields2() throws Exception {
-//        writer.writeId("3");
-//        writer.writeObjectType(SPEC_NAME);
-        writer.writeOid(RootOidDefault.deString(SPEC_NAME + ":" + "3", new OidMarshaller()));
-        writer.flush();
-
-        writer.writeField("number", 1023);
-        writer.writeField("string", "testing");
-        writer.flush();
-
-        final DBCollection instances = testDb.getCollection(SPEC_NAME);
-        assertEquals(1, instances.getCount());
-        final DBObject object = instances.findOne();
-        assertEquals(SPEC_NAME + ":" + "3", object.get("_oid"));
-        assertEquals("1023", object.get("number"));
-        assertEquals("testing", object.get("string"));
-    }
-
-}


[50/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/README.md
----------------------------------------------------------------------
diff --git a/mothballed/README.md b/mothballed/README.md
deleted file mode 100644
index c165679..0000000
--- a/mothballed/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-Mothballed Components
-===========
-
-These components are no longer being actively worked on (there have been no releases of them since Isis graduated as an Apache top-level project.
-
-Instead of the HTML viewer, we suggest you use the Wicket viewer or the Scimpi viewer.
-
-Instead of the SQL or LDAP security implementations, we suggest you use the Shiro security integration.
-
-For further information, see our [website](http://isis.apache.org).
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-cglib/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-cglib/pom.xml b/mothballed/bytecode-cglib/pom.xml
deleted file mode 100644
index ae43805..0000000
--- a/mothballed/bytecode-cglib/pom.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-		<version>1.9.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-core-bytecode-cglib</artifactId>
-	<name>Isis Core CgLib Bytecode</name>
-
-	<properties>
-        <siteBaseDir>..</siteBaseDir>
-		<relativeUrl>bytecode-cglib/</relativeUrl>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>asm</groupId>
-                <artifactId>asm</artifactId>
-                <version>3.3.1</version>
-            </dependency>
-            <dependency>
-                <groupId>cglib</groupId>
-                <artifactId>cglib-nodep</artifactId>
-                <version>2.2.2</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-    
-	<dependencies>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		</dependency>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		    <type>test-jar</type>
-		    <scope>test</scope>
-		</dependency>
-
-		<dependency>
-            <groupId>asm</groupId>
-            <artifactId>asm</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.objenesis</groupId>
-			<artifactId>objenesis</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>cglib</groupId>
-			<artifactId>cglib-nodep</artifactId>
-		</dependency>
-	</dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/CglibClassSubstitutor.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/CglibClassSubstitutor.java b/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/CglibClassSubstitutor.java
deleted file mode 100644
index 681eb79..0000000
--- a/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/CglibClassSubstitutor.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.core.bytecode.cglib;
-
-import org.apache.isis.core.commons.lang.ClassUtil;
-import org.apache.isis.core.metamodel.specloader.classsubstitutor.CglibEnhanced;
-import org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutorAbstract;
-
-public class CglibClassSubstitutor extends ClassSubstitutorAbstract {
-
-    public CglibClassSubstitutor() {
-    }
-
-    /**
-     * If {@link CglibEnhanced} then return superclass, else as per
-     * {@link ClassSubstitutorAbstract#getClass(Class) superclass'}
-     * implementation.
-     */
-    @Override
-    public Class<?> getClass(final Class<?> cls) {
-        if (ClassUtil.directlyImplements(cls, CglibEnhanced.class)) {
-            return getClass(cls.getSuperclass());
-        }
-        return super.getClass(cls);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/CglibObjectFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/CglibObjectFactory.java b/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/CglibObjectFactory.java
deleted file mode 100644
index 5862000..0000000
--- a/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/CglibObjectFactory.java
+++ /dev/null
@@ -1,68 +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.core.bytecode.cglib;
-
-import org.apache.isis.core.metamodel.spec.ObjectInstantiationException;
-import org.apache.isis.core.runtime.persistence.container.DomainObjectContainerObjectChanged;
-import org.apache.isis.core.runtime.persistence.container.DomainObjectContainerResolve;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectChanger;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectFactoryAbstract;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectResolver;
-
-public class CglibObjectFactory extends ObjectFactoryAbstract {
-
-    private ObjectResolveAndObjectChangedEnhancer classEnhancer;
-    private DomainObjectContainerResolve resolver;
-    private DomainObjectContainerObjectChanged changer;
-
-    public CglibObjectFactory() {
-    }
-
-    @Override
-    public void open() {
-        super.open();
-        changer = new DomainObjectContainerObjectChanged();
-        resolver = new DomainObjectContainerResolve();
-
-        final ObjectResolver objectResolver = new ObjectResolver() {
-            @Override
-            public void resolve(final Object domainObject, final String propertyName) {
-                // TODO: could do better than this by maintaining a map of
-                // resolved
-                // properties on the ObjectAdapter adapter.
-                resolver.resolve(domainObject);
-            }
-        };
-        final ObjectChanger objectChanger = new ObjectChanger() {
-            @Override
-            public void objectChanged(final Object domainObject) {
-                changer.objectChanged(domainObject);
-            }
-        };
-
-        classEnhancer = new ObjectResolveAndObjectChangedEnhancer(objectResolver, objectChanger, getSpecificationLoader());
-    }
-
-    @Override
-    public <T> T doInstantiate(final Class<T> cls) throws ObjectInstantiationException {
-        return classEnhancer.newInstance(cls);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/ObjectResolveAndObjectChangedEnhancer.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/ObjectResolveAndObjectChangedEnhancer.java b/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/ObjectResolveAndObjectChangedEnhancer.java
deleted file mode 100644
index 86814a6..0000000
--- a/mothballed/bytecode-cglib/src/main/java/org/apache/isis/core/bytecode/cglib/ObjectResolveAndObjectChangedEnhancer.java
+++ /dev/null
@@ -1,108 +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.core.bytecode.cglib;
-
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-
-import net.sf.cglib.proxy.Callback;
-import net.sf.cglib.proxy.Enhancer;
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.MethodProxy;
-
-import org.apache.isis.core.commons.lang.ArrayExtensions;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.ImperativeFacetUtils;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.specloader.classsubstitutor.CglibEnhanced;
-import org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault;
-import org.apache.isis.core.runtime.bytecode.ObjectResolveAndObjectChangedEnhancerAbstract;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectChanger;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectResolver;
-
-public class ObjectResolveAndObjectChangedEnhancer extends ObjectResolveAndObjectChangedEnhancerAbstract {
-
-    private Callback callback;
-
-    /**
-     * Cache of Enhancers, lazy populated.
-     */
-    private final Map<Class<?>, Enhancer> enhancerByClass = new HashMap<Class<?>, Enhancer>();
-
-    public ObjectResolveAndObjectChangedEnhancer(final ObjectResolver objectResolver, final ObjectChanger objectChanger, final SpecificationLoader specificationLoader) {
-        super(objectResolver, objectChanger, specificationLoader);
-
-        createCallback();
-    }
-
-    @Override
-    protected void createCallback() {
-        this.callback = new MethodInterceptor() {
-
-            @Override
-            public Object intercept(final Object proxied, final Method proxiedMethod, final Object[] args, final MethodProxy proxyMethod) throws Throwable {
-
-                final boolean ignore = proxiedMethod.getDeclaringClass().equals(Object.class);
-                ImperativeFacet.Flags flags = null;
-
-                if (!ignore) {
-                    final ObjectSpecificationDefault targetObjSpec = getJavaSpecificationOfOwningClass(proxiedMethod);
-                    final ObjectMember member = targetObjSpec.getMember(proxiedMethod);
-
-                    flags = ImperativeFacet.Util.getFlags(member, proxiedMethod);
-
-                    if (flags.impliesResolve()) {
-                        objectResolver.resolve(proxied, member.getName());
-                    }
-                }
-
-                final Object proxiedReturn = proxyMethod.invokeSuper(proxied, args);
-
-                if (!ignore && flags.impliesObjectChanged()) {
-                    objectChanger.objectChanged(proxied);
-                }
-
-                return proxiedReturn;
-            }
-
-        };
-    }
-
-    @SuppressWarnings("unchecked")
-    public <T> T newInstance(final Class<T> cls) {
-        final Enhancer enhancer = lookupOrCreateEnhancerFor(cls);
-        return (T) enhancer.create();
-    }
-
-    private Enhancer lookupOrCreateEnhancerFor(final Class<?> cls) {
-        Enhancer enhancer = enhancerByClass.get(cls);
-        if (enhancer == null) {
-            enhancer = new Enhancer();
-            enhancer.setSuperclass(cls);
-            enhancer.setInterfaces(ArrayExtensions.combine(cls.getInterfaces(), new Class<?>[] { CglibEnhanced.class }));
-            enhancer.setCallback(callback);
-            enhancerByClass.put(cls, enhancer);
-        }
-        return enhancer;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-cglib/src/test/java/org/apache/isis/core/bytecode/cglib/ClassEnhancerTest.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-cglib/src/test/java/org/apache/isis/core/bytecode/cglib/ClassEnhancerTest.java b/mothballed/bytecode-cglib/src/test/java/org/apache/isis/core/bytecode/cglib/ClassEnhancerTest.java
deleted file mode 100644
index 23b98cb..0000000
--- a/mothballed/bytecode-cglib/src/test/java/org/apache/isis/core/bytecode/cglib/ClassEnhancerTest.java
+++ /dev/null
@@ -1,121 +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.core.bytecode.cglib;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.Sequence;
-import org.jmock.integration.junit4.JMock;
-import org.jmock.integration.junit4.JUnit4Mockery;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectChanger;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectResolver;
-
-@RunWith(JMock.class)
-public class ClassEnhancerTest {
-
-    private final Mockery mockery = new JUnit4Mockery();
-
-    private ObjectResolveAndObjectChangedEnhancer classEnhancer;
-    private ObjectResolver mockObjectResolver;
-    private ObjectChanger mockObjectChanger;
-    private SpecificationLoader mockSpecificationLoader;
-
-    private SomeDomainObject sdo;
-
-    @Before
-    public void setUp() {
-        mockObjectResolver = mockery.mock(ObjectResolver.class);
-        mockObjectChanger = mockery.mock(ObjectChanger.class);
-        mockSpecificationLoader = mockery.mock(SpecificationLoader.class);
-
-        classEnhancer = new ObjectResolveAndObjectChangedEnhancer(mockObjectResolver, mockObjectChanger, mockSpecificationLoader);
-
-        sdo = classEnhancer.newInstance(SomeDomainObject.class);
-    }
-
-    @After
-    public void tearDown() {
-        classEnhancer = null;
-    }
-
-    @Test
-    public void canCreateNewInstance() throws Exception {
-        assertThat(sdo, is(not(nullValue())));
-    }
-
-    @Ignore("TO COMPLETE")
-    @Test
-    public void passesThrough() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                ignoring(mockObjectResolver);
-            }
-        });
-        sdo.setName("Fred");
-        assertThat(sdo.getName(), equalTo("Fred"));
-    }
-
-    @Ignore("TO COMPLETE")
-    @Test
-    public void callsResolveOnGetter() throws Exception {
-
-        mockery.checking(new Expectations() {
-            {
-                one(mockObjectResolver).resolve(sdo, "name");
-            }
-        });
-
-        sdo.getName();
-    }
-
-    @Ignore("TO COMPLETE")
-    @Test
-    public void callsResolveOnSetterAndThenObjectChanged() throws Exception {
-
-        mockery.checking(new Expectations() {
-            {
-                final Sequence sequence = mockery.sequence("set");
-
-                one(mockObjectResolver).resolve(sdo, "name");
-                inSequence(sequence);
-
-                one(mockObjectChanger).objectChanged(sdo);
-                inSequence(sequence);
-
-            }
-        });
-
-        sdo.setName("Joe");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-cglib/src/test/java/org/apache/isis/core/bytecode/cglib/SomeDomainObject.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-cglib/src/test/java/org/apache/isis/core/bytecode/cglib/SomeDomainObject.java b/mothballed/bytecode-cglib/src/test/java/org/apache/isis/core/bytecode/cglib/SomeDomainObject.java
deleted file mode 100644
index 864cd53..0000000
--- a/mothballed/bytecode-cglib/src/test/java/org/apache/isis/core/bytecode/cglib/SomeDomainObject.java
+++ /dev/null
@@ -1,34 +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.core.bytecode.cglib;
-
-public class SomeDomainObject {
-
-    private String name;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-javassist/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-javassist/pom.xml b/mothballed/bytecode-javassist/pom.xml
deleted file mode 100644
index 6afb143..0000000
--- a/mothballed/bytecode-javassist/pom.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-core-bytecode-javassist</artifactId>
-
-	<name>Isis Core Javassist Bytecode</name>
-
-	<properties>
-        <siteBaseDir>..</siteBaseDir>
-		<relativeUrl>bytecode-javassist/</relativeUrl>
-	</properties>
-
-    <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/isis/trunk/runtimes/dflt/bytecode/javassist/</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/isis/trunk$/{relativeUrl}</developerConnection>
-        <url>http://svn.apache.org/repos/asf/incubator/isis/trunk/runtimes/dflt/bytecode/javassist/</url>
-      <tag>HEAD</tag>
-  </scm>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-	<dependencies>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		</dependency>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		    <type>test-jar</type>
-		    <scope>test</scope>
-		</dependency>
-
-        <dependency>
-            <groupId>org.javassist</groupId>
-            <artifactId>javassist</artifactId>
-        </dependency>
-	</dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistClassSubstitutor.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistClassSubstitutor.java b/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistClassSubstitutor.java
deleted file mode 100644
index cabad16..0000000
--- a/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistClassSubstitutor.java
+++ /dev/null
@@ -1,30 +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.core.bytecode.javassist;
-
-import org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutorAbstract;
-
-/**
- * @deprecated - moved to core
- */
-@Deprecated
-public class JavassistClassSubstitutor extends ClassSubstitutorAbstract {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistEnhanced.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistEnhanced.java b/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistEnhanced.java
deleted file mode 100644
index a140522..0000000
--- a/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistEnhanced.java
+++ /dev/null
@@ -1,32 +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.core.bytecode.javassist;
-
-
-/**
- * Marker interface that we make entities implement so easy to spot in the
- * {@link JavassistClassSubstitutor}.
- * 
- * @deprecated - moved into core
- */
-@Deprecated
-public interface JavassistEnhanced extends org.apache.isis.core.metamodel.specloader.classsubstitutor.JavassistEnhanced{
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistObjectFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistObjectFactory.java b/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistObjectFactory.java
deleted file mode 100644
index 7e81890..0000000
--- a/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/JavassistObjectFactory.java
+++ /dev/null
@@ -1,68 +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.core.bytecode.javassist;
-
-import org.apache.isis.core.metamodel.spec.ObjectInstantiationException;
-import org.apache.isis.core.runtime.persistence.container.DomainObjectContainerObjectChanged;
-import org.apache.isis.core.runtime.persistence.container.DomainObjectContainerResolve;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectChanger;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectFactoryAbstract;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectResolver;
-
-public class JavassistObjectFactory extends ObjectFactoryAbstract {
-
-    private ObjectResolveAndObjectChangedEnhancer classEnhancer;
-    private DomainObjectContainerResolve resolver;
-    private DomainObjectContainerObjectChanged changer;
-
-    public JavassistObjectFactory() {
-    }
-
-    @Override
-    public void open() {
-        super.open();
-        changer = new DomainObjectContainerObjectChanged();
-        resolver = new DomainObjectContainerResolve();
-
-        final ObjectResolver objectResolver = new ObjectResolver() {
-            @Override
-            public void resolve(final Object domainObject, final String propertyName) {
-                // TODO: could do better than this by maintaining a map of
-                // resolved
-                // properties on the ObjectAdapter adapter.
-                resolver.resolve(domainObject);
-            }
-        };
-        final ObjectChanger objectChanger = new ObjectChanger() {
-            @Override
-            public void objectChanged(final Object domainObject) {
-                changer.objectChanged(domainObject);
-            }
-        };
-
-        classEnhancer = new ObjectResolveAndObjectChangedEnhancer(objectResolver, objectChanger, getSpecificationLoader());
-    }
-
-    @Override
-    public <T> T doInstantiate(final Class<T> cls) throws ObjectInstantiationException {
-        return classEnhancer.newInstance(cls);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/ObjectResolveAndObjectChangedEnhancer.java
----------------------------------------------------------------------
diff --git a/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/ObjectResolveAndObjectChangedEnhancer.java b/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/ObjectResolveAndObjectChangedEnhancer.java
deleted file mode 100644
index fb033a9..0000000
--- a/mothballed/bytecode-javassist/src/main/java/org/apache/isis/core/bytecode/javassist/ObjectResolveAndObjectChangedEnhancer.java
+++ /dev/null
@@ -1,113 +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.core.bytecode.javassist;
-
-import java.lang.reflect.Method;
-
-import javassist.util.proxy.MethodFilter;
-import javassist.util.proxy.MethodHandler;
-import javassist.util.proxy.ProxyFactory;
-import javassist.util.proxy.ProxyObject;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.lang.ArrayExtensions;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.ImperativeFacetUtils;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault;
-import org.apache.isis.core.runtime.bytecode.ObjectResolveAndObjectChangedEnhancerAbstract;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectChanger;
-import org.apache.isis.core.runtime.persistence.objectfactory.ObjectResolver;
-
-public class ObjectResolveAndObjectChangedEnhancer extends ObjectResolveAndObjectChangedEnhancerAbstract {
-
-    private MethodHandler methodHandler;
-
-    public ObjectResolveAndObjectChangedEnhancer(final ObjectResolver objectResolver, final ObjectChanger objectChanger, final SpecificationLoader specificationLoader) {
-        super(objectResolver, objectChanger, specificationLoader);
-
-        createCallback();
-    }
-
-    @Override
-    protected void createCallback() {
-        this.methodHandler = new MethodHandler() {
-            @Override
-            public Object invoke(final Object proxied, final Method proxyMethod, final Method proxiedMethod, final Object[] args) throws Throwable {
-
-                final boolean ignore = proxyMethod.getDeclaringClass().equals(Object.class);
-                ImperativeFacet.Flags flags = null;
-
-                if (!ignore) {
-                    final ObjectSpecificationDefault targetObjSpec = getJavaSpecificationOfOwningClass(proxiedMethod);
-
-                    final ObjectMember member = targetObjSpec.getMember(proxiedMethod);
-                    flags = ImperativeFacetUtils.getImperativeFacetFlags(member, proxiedMethod);
-
-                    if (flags.impliesResolve()) {
-                        objectResolver.resolve(proxied, member.getName());
-                    }
-                }
-
-                final Object proxiedReturn = proxiedMethod.invoke(proxied, args); // execute
-                                                                                  // the
-                                                                                  // original
-                                                                                  // method.
-
-                if (!ignore && flags.impliesObjectChanged()) {
-                    objectChanger.objectChanged(proxied);
-                }
-
-                return proxiedReturn;
-            }
-        };
-    }
-
-    @SuppressWarnings("unchecked")
-    public <T> T newInstance(final Class<T> cls) {
-
-        final ProxyFactory proxyFactory = new ProxyFactory();
-        proxyFactory.setSuperclass(cls);
-        proxyFactory.setInterfaces(ArrayExtensions.combine(cls.getInterfaces(), new Class<?>[] { JavassistEnhanced.class }));
-
-        proxyFactory.setFilter(new MethodFilter() {
-            @Override
-            public boolean isHandled(final Method m) {
-                // ignore finalize()
-                return !m.getName().equals("finalize");
-            }
-        });
-
-        final Class<T> proxySubclass = proxyFactory.createClass();
-        try {
-            final T newInstance = proxySubclass.newInstance();
-            final ProxyObject proxyObject = (ProxyObject) newInstance;
-            proxyObject.setHandler(methodHandler);
-
-            return newInstance;
-        } catch (final InstantiationException e) {
-            throw new IsisException(e);
-        } catch (final IllegalAccessException e) {
-            throw new IsisException(e);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/NOTICE b/mothballed/component/objectstore/nosql/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/mothballed/component/objectstore/nosql/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/config/logging.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/config/logging.properties b/mothballed/component/objectstore/nosql/config/logging.properties
deleted file mode 100644
index 323bf75..0000000
--- a/mothballed/component/objectstore/nosql/config/logging.properties
+++ /dev/null
@@ -1,36 +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.
-# apache's log4j is used to provide system logging.
-log4j.rootCategory=ALL, Console, File
-
-# The console appender
-log4j.appender.Console=org.apache.log4j.ConsoleAppender
-#log4j.appender.Console.threshold=INFO
-log4j.appender.Console.target=System.out
-log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
-
-
-# The rolling file appender
-log4j.appender.File=org.apache.log4j.RollingFileAppender
-log4j.appender.File.file=fileserver.log
-log4j.appender.File.append=false
-#log4j.appender.File.maxFileSize=500KB
-#log4j.appender.File.maxBackupIndex=1
-log4j.appender.File.layout=org.apache.log4j.PatternLayout
-log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/config/server.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/config/server.properties b/mothballed/component/objectstore/nosql/config/server.properties
deleted file mode 100644
index 575d8ed..0000000
--- a/mothballed/component/objectstore/nosql/config/server.properties
+++ /dev/null
@@ -1,26 +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.
-fileserver.host = localhost
-fileserver.port = 9100
-fileserver.control-host=localhost
-fileserver.control-port = 9101
-fileserver.sync-host=localhost
-fileserver.sync-port = 9102
-
-#fileserver.data = data
-#fileserver.services = services
-#fileserver.logs = logs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/pom.xml b/mothballed/component/objectstore/nosql/pom.xml
deleted file mode 100644
index 29ca0a3..0000000
--- a/mothballed/component/objectstore/nosql/pom.xml
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.6.0-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.isis.objectstore</groupId>
-    <artifactId>isis-objectstore-nosql</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-    <name>Isis NOSQL ObjectStore</name>
-
-    <description>
-    	Provides file-based or MongoDB-based persistence for a standalone application using a NOSQL database.
-    </description>
-
-    <properties>
-        <siteBaseDir>.</siteBaseDir>
-		<relativeUrl/>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.10</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-    </build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependency-management</report>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencyManagement>
-
-    	<!-- for benefit of application developers, using scope=import -->
-    	<dependencies>
-			<dependency>
-			    <groupId>org.apache.isis.objectstore</groupId>
-			    <artifactId>isis-objectstore-nosql</artifactId>
-				<version>1.0.0-SNAPSHOT</version>
-			</dependency>
-
-
-            <dependency>
-                <groupId>org.mongodb</groupId>
-                <artifactId>mongo-java-driver</artifactId>
-                <version>2.11.1</version>
-            </dependency>
-            <dependency>
-                <groupId>org.json</groupId>
-                <artifactId>json</artifactId>
-                <version>20090211</version>
-                <!-- 
-                upgrading the dependency caused tests to fail...
-                <version>20140107</version>
-                 -->
-            </dependency>
-            <dependency>
-                <groupId>commons-configuration</groupId>
-                <artifactId>commons-configuration</artifactId>
-                <version>1.9</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-    
-        <!--  compile dependencies -->
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-        </dependency>
-
-
-        <dependency>
-            <groupId>commons-cli</groupId>
-            <artifactId>commons-cli</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mongodb</groupId>
-            <artifactId>mongo-java-driver</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.json</groupId>
-            <artifactId>json</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-
-
-        <!--  test dependencies -->
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-unittestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-integtestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-bytecode-cglib</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-    
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/appended-resources/supplemental-models.xml b/mothballed/component/objectstore/nosql/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index 837b4e9..0000000
--- a/mothballed/component/objectstore/nosql/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<supplementalDataModels 
-  xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 
-            http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-</supplementalDataModels>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlCommandContext.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlCommandContext.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlCommandContext.java
deleted file mode 100644
index f95de8b..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlCommandContext.java
+++ /dev/null
@@ -1,35 +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.objectstore.nosql;
-
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-
-public interface NoSqlCommandContext extends PersistenceCommandContext {
-
-    StateWriter createStateWriter(ObjectSpecId objectSpecId);
-
-    void insert(StateWriter writer);
-    void update(StateWriter writer);
-
-    void delete(ObjectSpecId objectSpecId, String key, String version, Oid oid);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlCreateObjectCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlCreateObjectCommand.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlCreateObjectCommand.java
deleted file mode 100644
index 2be121b..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlCreateObjectCommand.java
+++ /dev/null
@@ -1,32 +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.objectstore.nosql;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-final class NoSqlCreateObjectCommand extends WriteObjectCommand implements CreateObjectCommand {
-
-    public NoSqlCreateObjectCommand(final VersionCreator versionCreator, final DataEncryption dataEncrypter, final ObjectAdapter object) {
-        super(Mode.NON_UPDATE, versionCreator, dataEncrypter, object);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlDestroyObjectCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlDestroyObjectCommand.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlDestroyObjectCommand.java
deleted file mode 100644
index dee418c..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlDestroyObjectCommand.java
+++ /dev/null
@@ -1,64 +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.objectstore.nosql;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-final class NoSqlDestroyObjectCommand implements DestroyObjectCommand {
-    
-    private final KeyCreatorDefault keyCreator = new KeyCreatorDefault();
-    
-    private final ObjectAdapter adapter;
-    private final VersionCreator versionCreator;
-
-    public NoSqlDestroyObjectCommand(final VersionCreator versionCreator, final ObjectAdapter adapter) {
-        this.versionCreator = versionCreator;
-        this.adapter = adapter;
-    }
-
-    @Override
-    public void execute(final PersistenceCommandContext context) {
-        final String key = keyCreator.getIdentifierForPersistentRoot(adapter.getOid());
-        final String version = versionCreator.versionString(adapter.getVersion());
-        final ObjectSpecification objectSpec = adapter.getSpecification();
-
-        final NoSqlCommandContext noSqlCommandContext = (NoSqlCommandContext) context;
-        noSqlCommandContext.delete(objectSpec.getSpecId(), key, version, adapter.getOid());
-    }
-
-    @Override
-    public ObjectAdapter onAdapter() {
-        return adapter;
-    }
-
-    @Override
-    public String toString() {
-        final ToString toString = new ToString(this);
-        toString.append("spec", adapter.getSpecification().getFullIdentifier());
-        toString.append("oid", adapter.getOid());
-        return toString.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGenerator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGenerator.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGenerator.java
deleted file mode 100644
index 552a2aa..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGenerator.java
+++ /dev/null
@@ -1,148 +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.objectstore.nosql;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGenerator;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-
-public class NoSqlIdentifierGenerator implements IdentifierGenerator {
-    
-    private static int INITIAL_TRANSIENT_ID = -9999999;
-    private static int DEFAULT_BATCH_SIZE = 50;
-
-    private final NoSqlDataDatabase database;
-    private final IdNumbers ids;
-
-    
-    //////////////////////////////////////////////////////////////////
-    // constructor
-    //////////////////////////////////////////////////////////////////
-
-    public NoSqlIdentifierGenerator(final NoSqlDataDatabase database) {
-        this(database, INITIAL_TRANSIENT_ID, DEFAULT_BATCH_SIZE);
-    }
-
-    public NoSqlIdentifierGenerator(final NoSqlDataDatabase database, final int initialTransientId, final int batchSize) {
-        this.database = database;
-        ids = new IdNumbers(initialTransientId, batchSize);
-    }
-
-    
-    //////////////////////////////////////////////////////////////////
-    // API
-    //////////////////////////////////////////////////////////////////
-
-    @Override
-    public String createTransientIdentifierFor(ObjectSpecId objectSpecId, Object pojo) {
-        final String identifier = "" + ids.nextTransientId();
-        return identifier;
-    }
-
-    @Override
-    public String createAggregateLocalId(ObjectSpecId objectSpecId, final Object pojo, final ObjectAdapter parentAdapter) {
-        Assert.assertNotNull("No connection set up", database);
-        return Long.toHexString(ids.nextSubId(database));
-    }
-
-    @Override
-    public String createPersistentIdentifierFor(ObjectSpecId objectSpecId, Object pojo, RootOid transientRootOid) {
-        return "" + ids.nextPersistentId(database);
-    }
-
-    
-    //////////////////////////////////////////////////////////////////
-    // debug
-    //////////////////////////////////////////////////////////////////
-    
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln(this.toString());
-        debug.indent();
-        ids.debugData(debug);
-        debug.unindent();
-    }
-
-    @Override
-    public String debugTitle() {
-        return "NoSql OID Generator";
-    }
-}
-
-class IdNumbers {
-
-    private static final Logger LOG = LoggerFactory.getLogger(IdNumbers.class);
-
-    private final int batchSize;
-    
-    private long transientNumber;
-    private long nextId = 0;
-    private long newIdBatchAt = 0;
-    private long nextSubId = 0;
-    private long newSubIdBatchAt = 0;
-    
-    public IdNumbers(final int initialTransientId, final int batchSize) {
-        transientNumber = initialTransientId;
-        this.batchSize = batchSize;
-    }
-
-    public synchronized long nextTransientId() {
-        return transientNumber++;
-    }
-
-    public synchronized long nextSubId(final NoSqlDataDatabase connectionPool) {
-        if (nextSubId > newSubIdBatchAt) {
-            final String message = "ID exception, last id (" + nextSubId + ") past new batch boundary (" + newSubIdBatchAt + ")";
-            throw new NoSqlStoreException(message);
-        }
-        if (nextSubId == newSubIdBatchAt) {
-            nextSubId = connectionPool.nextSerialNumberBatch(ObjectSpecId.of("_sub-id"), batchSize);
-            newSubIdBatchAt = nextSubId + batchSize;
-            LOG.debug("New Sub-ID batch created, from " + nextSubId + " to " + newSubIdBatchAt);
-        }
-        return nextSubId++;
-    }
-
-    public synchronized long nextPersistentId(final NoSqlDataDatabase connectionPool) {
-        if (nextId > newIdBatchAt) {
-            final String message = "ID exception, last id (" + nextId + ") past new batch boundary (" + newIdBatchAt + ")";
-            throw new NoSqlStoreException(message);
-        }
-        if (nextId == newIdBatchAt) {
-            nextId = connectionPool.nextSerialNumberBatch(ObjectSpecId.of("_id"), batchSize);
-            newIdBatchAt = nextId + batchSize;
-            LOG.debug("New ID batch created, from " + nextId + " to " + newIdBatchAt);
-        }
-        return nextId++;
-    }
-
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln("id", nextId);
-        debug.appendln("sub-id", nextSubId);
-        debug.appendln("transient id", transientNumber);
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlObjectStore.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlObjectStore.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlObjectStore.java
deleted file mode 100644
index 062fcbc..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlObjectStore.java
+++ /dev/null
@@ -1,338 +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.objectstore.nosql;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryBuiltIn;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindAllInstances;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByPattern;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByTitle;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGenerator;
-import org.apache.isis.core.runtime.system.persistence.OidGenerator;
-import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-import org.apache.isis.objectstore.nosql.db.StateReader;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-public class NoSqlObjectStore implements ObjectStoreSpi {
-    
-    private final KeyCreatorDefault keyCreator = new KeyCreatorDefault();
-    private final Map<ObjectSpecId, RootOid> servicesByObjectSpecId = Maps.newHashMap();
-    
-    private final NoSqlDataDatabase database;
-    private final VersionCreator versionCreator;
-    private final ObjectReader objectReader = new ObjectReader();
-    private final OidGenerator oidGenerator;
-    private final DataEncryption wrtingDataEncrypter;
-    private final Map<String, DataEncryption> availableDataEncrypters;
-    private final boolean isDataLoaded;
-
-    public NoSqlObjectStore(final NoSqlDataDatabase db, final OidGenerator oidGenerator, final VersionCreator versionCreator, final DataEncryption writingDataEncrypter, final Map<String, DataEncryption> availableDataEncrypters) {
-        this.database = db;
-        this.oidGenerator = oidGenerator;
-        this.versionCreator = versionCreator;
-        this.wrtingDataEncrypter = writingDataEncrypter;
-        this.availableDataEncrypters = availableDataEncrypters;
-
-        db.open();
-        isDataLoaded = db.containsData();
-        db.close();
-    }
-
-    public IdentifierGenerator getIdentifierGenerator() {
-        return oidGenerator.getIdentifierGenerator();
-    }
-
-    @Override
-    public CreateObjectCommand createCreateObjectCommand(final ObjectAdapter object) {
-        // TODO should this be done at a higher level so it is applicable for
-        // all OSes
-        if (object.getSpecification().isParented()) {
-            // throw new
-            // UnexpectedCallException("Aggregated objects should not be created outside of their owner");
-            return null;
-        } else {
-            return new NoSqlCreateObjectCommand(versionCreator, wrtingDataEncrypter, object);
-        }
-    }
-
-    @Override
-    public DestroyObjectCommand createDestroyObjectCommand(final ObjectAdapter adapter) {
-        if (adapter.getSpecification().isParented()) {
-            throw new NoSqlStoreException("Can't delete an aggregated object");
-        } else {
-            return new NoSqlDestroyObjectCommand(versionCreator, adapter);
-        }
-    }
-
-    @Override
-    public SaveObjectCommand createSaveObjectCommand(final ObjectAdapter adapter) {
-        
-        // TODO should this be done at a higher level 
-        // so it is applicable for all object stores?
-        
-        final ObjectAdapter rootAdapter = adapter.getAggregateRoot();
-        if (!(rootAdapter.getOid() instanceof RootOid)) {
-            throw new NoSqlStoreException("Unexpected aggregated object to save: " + rootAdapter + " (" + adapter + ")");
-        }
-        return new NoSqlSaveObjectCommand(versionCreator, wrtingDataEncrypter, rootAdapter);
-    }
-
-    @Override
-    public void execute(final List<PersistenceCommand> commands) {
-        database.write(commands);
-    }
-    
-    @Override
-    public List<ObjectAdapter> loadInstancesAndAdapt(final PersistenceQuery persistenceQuery) {
-        if (persistenceQuery instanceof PersistenceQueryFindByTitle) {
-            return getAllInstances((PersistenceQueryFindByTitle) persistenceQuery);
-        } else if (persistenceQuery instanceof PersistenceQueryFindAllInstances) {
-            return getAllInstances((PersistenceQueryFindAllInstances) persistenceQuery);
-        } else if (persistenceQuery instanceof PersistenceQueryFindByPattern) {
-            return findByPattern((PersistenceQueryFindByPattern) persistenceQuery);
-        } else {
-            return findDefaultr(persistenceQuery);
-        }
-    }
-
-    private List<ObjectAdapter> findDefaultr(PersistenceQuery persistenceQuery) {
-        final List<ObjectAdapter> instances = Lists.newArrayList();
-        final ObjectSpecification specification = persistenceQuery.getSpecification();
-        final Iterator<StateReader> instanceData = database.instancesOf(specification.getSpecId());
-        while (instanceData.hasNext()) {
-            final StateReader reader = instanceData.next();
-            final ObjectAdapter instance = objectReader.load(reader, versionCreator, availableDataEncrypters);
-            instances.add(instance);
-        }
-        return instances;
-    }
-
-    private List<ObjectAdapter> findByPattern(PersistenceQueryFindByPattern query) {
-        final ObjectSpecification specification = query.getSpecification();
-        final List<ObjectAdapter> instances = Lists.newArrayList();
-        appendPatternInstances(query, specification, instances);
-        return instances;
-    }
-    
-    private void appendPatternInstances(final PersistenceQueryFindByPattern persistenceQuery, final ObjectSpecification specification, final List<ObjectAdapter> instances) {      
-        final Iterator<StateReader> instanceData = database.instancesOf(specification.getSpecId(), persistenceQuery.getPattern());
-        while (instanceData.hasNext()) {
-            final StateReader reader = instanceData.next();
-            final ObjectAdapter instance = objectReader.load(reader, versionCreator, availableDataEncrypters);
-            instances.add(instance);
-        }
-        for (final ObjectSpecification spec : specification.subclasses()) {
-            appendPatternInstances(persistenceQuery, spec, instances);
-        }
-    }
-
-
-    private List<ObjectAdapter> getAllInstances(PersistenceQuery query) {
-        final ObjectSpecification specification = query.getSpecification();
-        final List<ObjectAdapter> instances = Lists.newArrayList();
-        appendInstances(query, specification, instances);
-        return instances;
-    }
-
-    private void appendInstances(final PersistenceQuery persistenceQuery, final ObjectSpecification specification, final List<ObjectAdapter> instances) {      
-        final Iterator<StateReader> instanceData = database.instancesOf(specification.getSpecId());
-        while (instanceData.hasNext()) {
-            final StateReader reader = instanceData.next();
-            final ObjectAdapter instance = objectReader.load(reader, versionCreator, availableDataEncrypters);
-            
-            // TODO deal with this natively
-            if (persistenceQuery instanceof PersistenceQueryBuiltIn) {
-                if (!((PersistenceQueryBuiltIn) persistenceQuery).matches(instance)) {
-                    continue;
-                }
-            }
-            instances.add(instance);
-        }
-        for (final ObjectSpecification spec : specification.subclasses()) {
-            appendInstances(persistenceQuery, spec, instances);
-        }
-    }
-
-
-
-    @Override
-    public ObjectAdapter loadInstanceAndAdapt(final TypedOid oid) {
-        final String key = keyCreator.getIdentifierForPersistentRoot(oid);
-        final ObjectSpecification objectSpec = getSpecificationLookup().lookupBySpecId(oid.getObjectSpecId());
-        final StateReader reader = database.getInstance(key, objectSpec.getSpecId());
-        return objectReader.load(reader, versionCreator, availableDataEncrypters);
-    }
-
-    @Override
-    public boolean hasInstances(final ObjectSpecification specification) {
-        return database.hasInstances(specification.getSpecId());
-    }
-
-    @Override
-    public boolean isFixturesInstalled() {
-        return isDataLoaded;
-    }
-
-    @Override
-    public void reset() {
-    }
-
-    @Override
-    public void resolveField(final ObjectAdapter object, final ObjectAssociation field) {
-        final ObjectAdapter fieldValue = field.get(object);
-        if (fieldValue != null && !fieldValue.isResolved() && !fieldValue.getSpecification().isParented()) {
-            resolveImmediately(fieldValue);
-        }
-    }
-
-    @Override
-    public void resolveImmediately(final ObjectAdapter adapter) {
-        final Oid oid = adapter.getOid();
-        if (!(oid instanceof AggregatedOid)) {
-            final ObjectSpecification objectSpec = adapter.getSpecification();
-            final String key = keyCreator.getIdentifierForPersistentRoot(oid);
-            final StateReader reader = database.getInstance(key, objectSpec.getSpecId());
-            objectReader.update(reader, versionCreator, availableDataEncrypters, adapter);
-        }
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        // TODO show details
-    }
-
-    // ////////////////////////////////////////////////////////////////
-    // open, close
-    // ////////////////////////////////////////////////////////////////
-
-    @Override
-    public void close() {
-        database.close();
-    }
-
-    @Override
-    public void open() {
-        database.open();
-    }
-
-    @Override
-    public String name() {
-        return "nosql";
-    }
-
-    
-    // ////////////////////////////////////////////////////////////////
-    // Services
-    // ////////////////////////////////////////////////////////////////
-    
-    @Override
-    public void registerService(final RootOid rootOid) {
-        final String key = keyCreator.getIdentifierForPersistentRoot(rootOid);
-        database.addService(rootOid.getObjectSpecId(), key);
-    }
-
-    @Override
-    public RootOid getOidForService(ObjectSpecification serviceSpec) {
-        final ObjectSpecId objectSpecId = serviceSpec.getSpecId();
-        RootOid oid = servicesByObjectSpecId.get(objectSpecId);
-        if (oid == null) {
-            final String id = database.getService(objectSpecId);
-            if (id == null) {
-                oid = null;
-            } else {
-                oid = keyCreator.createRootOid(serviceSpec, id);
-            }
-            servicesByObjectSpecId.put(objectSpecId, oid);
-        }
-        return oid;
-    }
-
-
-    // ////////////////////////////////////////////////////////////////
-    // Transaction Mgmt
-    // ////////////////////////////////////////////////////////////////
-
-    @Override
-    public void abortTransaction() {
-    }
-
-    @Override
-    public void endTransaction() {
-    }
-
-    @Override
-    public void startTransaction() {
-    }
-
-    
-    // ////////////////////////////////////////////////////////////////
-    // debugging
-    // ////////////////////////////////////////////////////////////////
-
-    @Override
-    public String debugTitle() {
-        return "NoSql Object Store";
-    }
-
-
-    // ////////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ////////////////////////////////////////////////////////////////
-
-    protected AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    protected SpecificationLoader getSpecificationLookup() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlSaveObjectCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlSaveObjectCommand.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlSaveObjectCommand.java
deleted file mode 100644
index aeca21e..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlSaveObjectCommand.java
+++ /dev/null
@@ -1,32 +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.objectstore.nosql;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-final class NoSqlSaveObjectCommand extends WriteObjectCommand implements SaveObjectCommand {
-
-    public NoSqlSaveObjectCommand(final VersionCreator versionCreator, final DataEncryption dataEncrypter, final ObjectAdapter object) {
-        super(Mode.UPDATE, versionCreator, dataEncrypter, object);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlStoreException.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlStoreException.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlStoreException.java
deleted file mode 100644
index 3bdf720..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/NoSqlStoreException.java
+++ /dev/null
@@ -1,47 +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.objectstore.nosql;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class NoSqlStoreException extends IsisException {
-    private static final long serialVersionUID = 1L;
-
-    public NoSqlStoreException() {
-        super();
-    }
-
-    public NoSqlStoreException(final String messageFormat, final Object... args) {
-        super(messageFormat, args);
-    }
-
-    public NoSqlStoreException(final String message, final Throwable cause) {
-        super(message, cause);
-    }
-
-    public NoSqlStoreException(final String message) {
-        super(message);
-    }
-
-    public NoSqlStoreException(final Throwable cause) {
-        super(cause);
-    }
-
-}


[03/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WrappedTextFieldSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WrappedTextFieldSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WrappedTextFieldSpecification.java
deleted file mode 100644
index 790ab6a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/basic/WrappedTextFieldSpecification.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.dnd.viewer.basic;
-
-import org.apache.isis.viewer.dnd.field.WrappedTextField;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.AbstractFieldSpecification;
-import org.apache.isis.viewer.dnd.view.border.TextFieldResizeBorder;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-public class WrappedTextFieldSpecification extends AbstractFieldSpecification {
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isTextParseable() && ((TextParseableContent) requirement.getContent()).getNoLines() > 1;
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final WrappedTextField wrappedTextField = new WrappedTextField((TextParseableContent) content, this, true);
-        wrappedTextField.setNoLines(((TextParseableContent) content).getNoLines());
-        wrappedTextField.setWrapping(((TextParseableContent) content).canWrap());
-        return new TextFieldResizeBorder(wrappedTextField);
-    }
-
-    @Override
-    public String getName() {
-        return "Wrapped Text Field";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return true;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/application-error.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/application-error.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/application-error.png
deleted file mode 100644
index 7233d45..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/application-error.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/application-logo.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/application-logo.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/application-logo.png
deleted file mode 100755
index a211397..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/application-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/busy-old.gif
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/busy-old.gif b/mothballed/component/viewer/dnd/impl/src/main/resources/images/busy-old.gif
deleted file mode 100644
index 80ff48b..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/busy-old.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/busy.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/busy.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/busy.png
deleted file mode 100644
index a574c30..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/busy.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/button1.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/button1.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/button1.png
deleted file mode 100644
index 8fdef85..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/button1.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/button2.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/button2.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/button2.png
deleted file mode 100644
index 9c0fd5e..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/button2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/button3.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/button3.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/button3.png
deleted file mode 100644
index aa2ebb5..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/button3.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/button4.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/button4.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/button4.png
deleted file mode 100644
index bd1503e..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/button4.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/check-mark.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/check-mark.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/check-mark.png
deleted file mode 100644
index 8c82dd3..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/check-mark.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/concurrency-error.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/concurrency-error.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/concurrency-error.png
deleted file mode 100644
index 428aaa5..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/concurrency-error.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/day2.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/day2.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/day2.png
deleted file mode 100644
index 7fb2692..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/day2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/decadedown.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/decadedown.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/decadedown.png
deleted file mode 100644
index 14f6eb0..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/decadedown.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/decadeup.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/decadeup.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/decadeup.png
deleted file mode 100644
index 559c859..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/decadeup.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/empty-field.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/empty-field.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/empty-field.png
deleted file mode 100644
index 542237a..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/empty-field.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/highlight2.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/highlight2.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/highlight2.png
deleted file mode 100644
index 7e25493..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/highlight2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/invalid-entry.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/invalid-entry.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/invalid-entry.png
deleted file mode 100644
index a9e4ff3..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/invalid-entry.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/login-logo.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/login-logo.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/login-logo.png
deleted file mode 100755
index a211397..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/login-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/message.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/message.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/message.png
deleted file mode 100644
index 2ac5747..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/message.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/monthdown.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/monthdown.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/monthdown.png
deleted file mode 100644
index 9a737a6..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/monthdown.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/monthup.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/monthup.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/monthup.png
deleted file mode 100644
index 7f5c976..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/monthup.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/shutdown-logo.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/shutdown-logo.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/shutdown-logo.png
deleted file mode 100755
index a211397..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/shutdown-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/system-error.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/system-error.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/system-error.png
deleted file mode 100644
index cdd95ba..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/system-error.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/transient.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/transient.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/transient.png
deleted file mode 100644
index 43f034b..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/transient.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/unknown.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/unknown.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/unknown.png
deleted file mode 100644
index 096e848..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/unknown.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/yeardown.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/yeardown.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/yeardown.png
deleted file mode 100644
index b18eaca..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/yeardown.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/resources/images/yearup.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/resources/images/yearup.png b/mothballed/component/viewer/dnd/impl/src/main/resources/images/yearup.png
deleted file mode 100644
index 94a98e9..0000000
Binary files a/mothballed/component/viewer/dnd/impl/src/main/resources/images/yearup.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/ExampleContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/ExampleContent.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/ExampleContent.java
deleted file mode 100644
index ab1de66..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/ExampleContent.java
+++ /dev/null
@@ -1,128 +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.dnd;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.noa.reflect.Consent;
-import org.apache.isis.noa.reflect.Veto;
-import org.apache.isis.noa.spec.ObjectSpecification;
-import org.apache.isis.noa.util.DebugString;
-import org.apache.isis.viewer.dnd.drawing.Image;
-
-
-public class ExampleContent implements Content {
-
-    private String iconName;
-    private String title;
-    private String windowTitle;
-
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    public void debugDetails(final DebugString debug) {}
-
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    public String getIconName() {
-        return iconName;
-    }
-
-    public Image getIconPicture(final int iconHeight) {
-        return null;
-    }
-
-    public ObjectAdapter getAdapter() {
-        return null;
-    }
-
-    public ObjectSpecification getSpecification() {
-        return null;
-    }
-
-    public boolean isCollection() {
-        return false;
-    }
-
-    public boolean isObject() {
-        return false;
-    }
-
-    public boolean isPersistable() {
-        return false;
-    }
-
-    public boolean isTransient() {
-        return false;
-    }
-
-    public boolean isTextParseable() {
-        return false;
-    }
-    
-    public void contentMenuOptions(final UserActionSet options) {}
-
-    public void parseTextEntry(final String entryText) {}
-
-    public void setupIconName(final String iconName) {
-        this.iconName = iconName;
-    }
-
-    public void setupTitle(final String title) {
-        this.title = title;
-    }
-
-    public void setupWindowTitle(final String windowTitle) {
-        this.windowTitle = windowTitle;
-    }
-
-    public String title() {
-        return title;
-    }
-
-    public String windowTitle() {
-        return windowTitle;
-    }
-
-    public String getDescription() {
-        return "";
-    }
-
-    public String getId() {
-        return "";
-    }
-
-    public void viewMenuOptions(final UserActionSet options) {}
-
-    public String getHelp() {
-        return null;
-    }
-
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    public boolean isOptionEnabled() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ButtonExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ButtonExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ButtonExample.java
deleted file mode 100644
index 2836d7a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ButtonExample.java
+++ /dev/null
@@ -1,117 +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.dnd.example;
-
-import org.apache.isis.noa.reflect.Allow;
-import org.apache.isis.noa.reflect.Consent;
-import org.apache.isis.noa.reflect.ObjectActionType;
-import org.apache.isis.noa.reflect.Veto;
-import org.apache.isis.viewer.dnd.ButtonAction;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.action.Button;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-
-
-public class ButtonExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new ButtonExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ButtonAction action = new ButtonAction() {
-
-            public Consent disabled(final View view) {
-                return Allow.DEFAULT;
-            }
-
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                view.getFeedbackManager().setAction("Button 1 pressed");
-            }
-
-            public String getDescription(final View view) {
-                return "Button that can be pressed";
-            }
-
-            public ObjectActionType getType() {
-                return USER;
-            }
-
-            public String getName(final View view) {
-                return "Action";
-            }
-
-            public boolean isDefault() {
-                return true;
-            }
-
-            public String getHelp(final View view) {
-                return null;
-            }
-        };
-
-        View view = new Button(action, workspace);
-        view.setLocation(new Location(100, 100));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        ButtonAction action2 = new ButtonAction() {
-
-            public Consent disabled(final View view) {
-                return Veto.DEFAULT;
-            }
-
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                view.getFeedbackManager().setViewDetail("Button 1 pressed");
-            }
-
-            public String getDescription(final View view) {
-                return "Button that can't be pressed";
-            }
-
-            public ObjectActionType getType() {
-                return USER;
-            }
-
-            public String getName(final View view) {
-                return "Press Me Now!";
-            }
-
-            public boolean isDefault() {
-                return false;
-            }
-
-            public String getHelp(final View view) {
-                return null;
-            }
-
-        };
-
-        View view2 = new Button(action2, workspace);
-        view2.setLocation(new Location(200, 100));
-        view2.setSize(view2.getRequiredSize(new Size()));
-        workspace.addView(view2);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/CanvasExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/CanvasExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/CanvasExample.java
deleted file mode 100644
index 8275644..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/CanvasExample.java
+++ /dev/null
@@ -1,66 +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.dnd.example;
-
-import org.apache.isis.nof.core.util.IsisConfiguration;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-
-
-public class CanvasExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new CanvasExample();
-
-    }
-
-    protected void configure(final IsisConfiguration configuration) {
-        configuration.add("isis.viewer.skylark.ascent-adjust", "true");
-    }
-
-    protected void views(final Workspace workspace) {
-        // AbstractView.debug = true;
-
-        View view = new TestCanvasView();
-        view.setLocation(new Location(50, 60));
-        view.setSize(new Size(216, 300));
-        workspace.addView(view);
-
-        view = new TestCanvasView();
-        view.setLocation(new Location(300, 60));
-        view.setSize(new Size(216, 300));
-        workspace.addView(view);
-
-        view = new TestCanvasView2();
-        view.setLocation(new Location(570, 60));
-        view.setSize(new Size(50, 70));
-        workspace.addView(view);
-
-        view = new TestCanvasView2();
-        view.setLocation(new Location(570, 160));
-        view.setSize(new Size(8, 5));
-        workspace.addView(view);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ColorsAndFontsExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ColorsAndFontsExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ColorsAndFontsExample.java
deleted file mode 100644
index 3ab5422..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ColorsAndFontsExample.java
+++ /dev/null
@@ -1,113 +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.dnd.example;
-
-import org.apache.isis.nof.core.context.IsisContext;
-import org.apache.isis.nof.core.image.java.AwtTemplateImageLoaderInstaller;
-import org.apache.isis.nof.testsystem.TestProxyConfiguration;
-import org.apache.isis.extensions.dndviewer.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.Toolkit;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.image.ImageFactory;
-import org.apache.isis.viewer.dnd.viewer.AwtColor;
-import org.apache.isis.viewer.dnd.viewer.AwtText;
-import org.apache.isis.viewer.dnd.viewer.AwtToolkit;
-
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Insets;
-import java.awt.event.WindowAdapter;
-
-
-public class ColorsAndFontsExample extends Frame {
-    private static final int SPACE = 22;
-    private Color[] colors;
-    private Text[] fonts;
-
-    public ColorsAndFontsExample(final String title) {
-        super(title);
-
-        colors = new Color[] { Toolkit.getColor("black"), Toolkit.getColor("white"), Toolkit.getColor("primary1"),
-                Toolkit.getColor("primary2"), Toolkit.getColor("primary3"), Toolkit.getColor("secondary1"),
-                Toolkit.getColor("secondary2"), Toolkit.getColor("secondary3"),
-
-                Toolkit.getColor("background.application"), Toolkit.getColor("background.window"),
-                Toolkit.getColor("background.content-menu"), Toolkit.getColor("background.value-menu"),
-                Toolkit.getColor("background.view-menu"), Toolkit.getColor("background.workspace-menu"),
-
-                Toolkit.getColor("menu.normal"), Toolkit.getColor("menu.disabled"), Toolkit.getColor("menu.reversed"),
-
-                Toolkit.getColor("text.edit"), Toolkit.getColor("text.cursor"), Toolkit.getColor("text.highlight"),
-                Toolkit.getColor("text.saved"),
-
-                Toolkit.getColor("identified"), Toolkit.getColor("invalid"), Toolkit.getColor("out-of-sync"),
-                Toolkit.getColor("error"), Toolkit.getColor("valid"), Toolkit.getColor("active"), };
-
-        fonts = new Text[] { Toolkit.getText(ColorsAndFonts.TEXT_ICON), Toolkit.getText(ColorsAndFonts.TEXT_CONTROL),
-                Toolkit.getText(ColorsAndFonts.TEXT_TITLE_SMALL), Toolkit.getText(ColorsAndFonts.TEXT_LABEL),
-                Toolkit.getText(ColorsAndFonts.TEXT_MENU), Toolkit.getText(ColorsAndFonts.TEXT_NORMAL),
-                Toolkit.getText(ColorsAndFonts.TEXT_STATUS), Toolkit.getText(ColorsAndFonts.TEXT_TITLE) };
-    }
-
-    public static void main(final String[] args) {
-        IsisContext.setConfiguration(new TestProxyConfiguration());
-
-        new ImageFactory(new AwtTemplateImageLoaderInstaller().createLoader());
-        new AwtToolkit();
-
-        final ColorsAndFontsExample f = new ColorsAndFontsExample("Colors and Fonts");
-        f.setSize(800, 600);
-        f.show();
-
-        f.addWindowListener(new WindowAdapter() {
-            public void windowClosing(final java.awt.event.WindowEvent e) {
-                f.dispose();
-            }
-        });
-    }
-
-    public Insets getInsets() {
-        return new Insets(30, 10, 30, 10);
-    }
-
-    public void paint(final Graphics g) {
-        int x = 10;
-
-        for (int i = 0; i < colors.length; i++) {
-            g.setColor(java.awt.Color.black);
-            g.drawString(colors[i].getName(), x, 50 + SPACE * i);
-
-            g.setColor(((AwtColor) colors[i]).getAwtColor());
-            g.fillRect(x + 200, 40 + SPACE * i, 40, 12);
-        }
-
-        x += 300;
-        g.setColor(java.awt.Color.black);
-        for (int i = 0; i < fonts.length; i++) {
-            g.setFont(((AwtText) fonts[i]).getAwtFont());
-            g.drawString(fonts[i].getName(), x, 50 + SPACE * i);
-            g.drawString("Abcdefghijkl", x + 200, 50 + SPACE * i);
-
-        }
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/DrawingView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/DrawingView.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/DrawingView.java
deleted file mode 100644
index 825607e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/DrawingView.java
+++ /dev/null
@@ -1,80 +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.dnd.example;
-
-import org.apache.isis.nof.core.util.AsString;
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.Toolkit;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.simple.AbstractView;
-
-
-public abstract class DrawingView extends AbstractView {
-    private Size requiredSize;
-
-    public DrawingView(final Content content) {
-        super(content, null, null);
-    }
-
-    public void draw(final Canvas canvas) {
-        final int width = requiredSize.getWidth();
-        final int height = requiredSize.getHeight();
-        final int left = 0, top = 0;
-        final int right = 10 + width - 1 + 10;
-        final int bottom = 10 + height - 1 + 10;
-
-        Color gray = Toolkit.getColor(0xcccccc);
-        // horizontal lines
-        canvas.drawLine(left, top + 10, right, top + 10, gray);
-        canvas.drawLine(left, bottom - 10, right, bottom - 10, gray);
-
-        // vertical lines
-        canvas.drawLine(left + 10, top, left + 10, bottom, gray);
-        canvas.drawLine(right - 10, top, right - 10, bottom, gray);
-
-        canvas.drawRectangle(left + 10, top + 10, width - 1, height - 1, Toolkit.getColor(0xeeeeee));
-
-        draw(canvas, left + 10, top + 10);
-    }
-
-    protected abstract void draw(final Canvas canvas, final int x, final int y);
-
-    public Size getRequiredSize(final Size maximumSize) {
-        Size s = new Size(requiredSize);
-        s.extend(20, 20);
-        return s;
-    }
-
-    public void setMaximumSize(final Size size) {
-        this.requiredSize = size;
-    }
-
-    public String toString() {
-        AsString ts = new AsString(this);
-        ts.append("size", requiredSize);
-        toString(ts);
-        return ts.toString();
-    }
-
-    protected abstract void toString(final AsString ts);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ExampleViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ExampleViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ExampleViewSpecification.java
deleted file mode 100644
index 306d311..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/ExampleViewSpecification.java
+++ /dev/null
@@ -1,59 +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.dnd.example;
-
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-
-
-public class ExampleViewSpecification implements ViewSpecification {
-
-    public View createView(final Content content, final ViewAxis axis) {
-        return null;
-    }
-
-    public String getName() {
-        return null;
-    }
-
-    public boolean isAligned() {
-        return false;
-    }
-
-    public boolean isOpen() {
-        return false;
-    }
-
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    public boolean isSubView() {
-        return false;
-    }
-
-    public boolean canDisplay(final Content content) {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/FontMetricsExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/FontMetricsExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/FontMetricsExample.java
deleted file mode 100644
index f29e675..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/FontMetricsExample.java
+++ /dev/null
@@ -1,111 +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.dnd.example;
-
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Toolkit;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.awt.font.LineMetrics;
-
-
-public class FontMetricsExample extends Frame {
-
-    public static void main(final String[] args) {
-        final FontMetricsExample frame = new FontMetricsExample();
-        frame.setSize(400, 400);
-        frame.show();
-        frame.addWindowListener(new WindowAdapter() {
-            public void windowClosing(final WindowEvent e) {
-                frame.dispose();
-            }
-        });
-        
-        String fonts[] = Toolkit.getDefaultToolkit().getFontList();
-        for (int i = 0; i < fonts.length; i++) {
-            System.out.println(fonts[i].toString());
-        }
-    }
-
-    final int left = 40 + getInsets().left;
-    final int top = 60 + getInsets().top;
-    final int width = 300;
-
-    public void show() {
-        super.show();
- //       left = 10 + getInsets().left;
-  //      top = 10 + getInsets().top;
-    }
-
-    public void paint(final Graphics g) {
-        System.out.println("\nfont size: height = leading + ascent + descent\n   max_ascent + max_descent");
-        int sizes[] = new int[] { 10, 12, 16, 24, 26, 48, 60 };
-        int y = top;
-        for (int i = 0; i < sizes.length; i++) {
-            y += drawText(g, y, sizes[i]);
-        }
-    }
-
-    private int drawText(final Graphics g, final int top, final int size) {
-        Font font = new Font("sansserif", 0, size);
-        g.setFont(font);
-        FontMetrics fm = g.getFontMetrics();
-
-        int lineHeight = fm.getHeight();
-        int baselineOffset = fm.getLeading() + fm.getAscent();
-
-        g.setColor(Color.LIGHT_GRAY);
-        g.drawRect(left - 10, top, width + 20, lineHeight - 1);
-
-        g.setColor(Color.LIGHT_GRAY);
-        g.drawLine(left - 10, top + baselineOffset, left + 10 + width, top + baselineOffset);
-
-        g.setColor(Color.BLUE);
-        g.drawLine(left, top + fm.getLeading(), left + width, top + fm.getLeading());
-
-        g.setColor(Color.GREEN);
-        g.drawLine(left, top + baselineOffset + fm.getDescent(), left + width, top + baselineOffset + fm.getDescent());
-        
-        g.setColor(Color.RED);
-        g.drawLine(left, top + baselineOffset - fm.getAscent() - 1, left + width, top + baselineOffset - fm.getAscent() -1);
-        
-        g.setColor(Color.ORANGE);
-        g.drawLine(left, top + fm.getDescent(), left + width, top +   fm.getDescent());
-
-        
-        g.setColor(Color.BLACK);
-        g.drawString("Xy \ufffd \u00c3", left, top + baselineOffset);
-
-        System.out.println(font.getFontName() + "  " + size + ": " + fm.getHeight() + " = " + fm.getLeading() + " + " + fm.getAscent() + " + "
-                + fm.getDescent());
-        System.out.println("    " + fm.getMaxAscent() + " + " + fm.getMaxDescent());
-
-        LineMetrics lm = fm.getLineMetrics("test", g);
-        
-        System.out.println("    " + lm.getLeading() + "    " + lm.getAscent() + " + " + lm.getDescent());
-
-        return fm.getHeight() + 14;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/HelpViewExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/HelpViewExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/HelpViewExample.java
deleted file mode 100644
index 356f012..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/HelpViewExample.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.dnd.example;
-
-import org.apache.isis.nof.core.util.IsisConfiguration;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.view.help.HelpView;
-
-
-public class HelpViewExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new HelpViewExample();
-
-    }
-
-    protected void configure(final IsisConfiguration configuration) {
-        configuration.add("isis.viewer.skylark.ascent-adjust", "true");
-    }
-
-    protected void views(final Workspace workspace) {
-        // AbstractView.debug = true;
-
-        View view = new HelpView("Name", "Description summerising the named feature", "A very log help text");
-        view.setLocation(new Location(50, 60));
-        view.setSize(view.getMaximumSize());
-        workspace.addView(view);
-        /*
-         * view = new TestCanvasView(); view.setLocation(new Location(300, 60)); view.setSize(new Size(216,
-         * 300)); workspace.addView(view);
-         * 
-         * view = new TestCanvasView2(); view.setLocation(new Location(570, 60)); view.setSize(new Size(50,
-         * 70)); workspace.addView(view);
-         * 
-         * view = new TestCanvasView2(); view.setLocation(new Location(570, 160)); view.setSize(new Size(8,
-         * 5)); workspace.addView(view);
-         */}
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/IconGraphicExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/IconGraphicExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/IconGraphicExample.java
deleted file mode 100644
index da685be..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/IconGraphicExample.java
+++ /dev/null
@@ -1,178 +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.dnd.example;
-
-import org.apache.isis.nof.core.util.AsString;
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.ExampleContent;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-import org.apache.isis.viewer.dnd.view.graphic.IconGraphic;
-import org.apache.isis.viewer.dnd.viewer.AwtColor;
-import org.apache.isis.viewer.dnd.viewer.AwtText;
-
-
-public class IconGraphicExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new IconGraphicExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ExampleContent content = new ExampleContent();
-        content.setupIconName("icon-a");
-
-        int[] size = new int[] { 12, 20, 40, 60, 85, 100 };
-        int x = 160;
-        for (int i = 0; i < size.length; i++) {
-            View view = new ExampleIconView(content, size[i]);
-            view.setLocation(new Location(x, 80));
-            x += view.getRequiredSize(new Size()).getWidth() + 15;
-            view.setSize(view.getRequiredSize(new Size()));
-            workspace.addView(view);
-        }
-
-        x = 160;
-        for (int i = 0; i < size.length; i++) {
-            View view = new ExampleClassIconView(content, size[i]);
-            view.setLocation(new Location(x, 230));
-            x += view.getRequiredSize(new Size()).getWidth() + 15;
-            view.setSize(view.getRequiredSize(new Size()));
-            workspace.addView(view);
-        }
-
-        size = new int[] { 10, 12, 14, 16, 18, 20, 24, 36, 60 };
-        int y = 80;
-        for (int i = 0; i < size.length; i++) {
-            View view = new ExampleIconViewWithText(content, new ExampleText("Arial-plain-" + size[i]), true);
-            view.setLocation(new Location(10, y));
-            y += view.getRequiredSize(new Size()).getHeight() + 10;
-            view.setSize(view.getRequiredSize(new Size()));
-            workspace.addView(view);
-        }
-
-        y = 80;
-        for (int i = 0; i < size.length; i++) {
-            View view = new ExampleIconViewWithText(content, new ExampleText("Arial-plain-" + size[i]), false);
-            view.setLocation(new Location(600, y));
-            y += view.getRequiredSize(new Size()).getHeight() + 10;
-            view.setSize(view.getRequiredSize(new Size()));
-            workspace.addView(view);
-        }
-    }
-}
-
-class ExampleText extends AwtText {
-
-    protected ExampleText(final String font) {
-        super("dont-find", font);
-    }
-
-}
-
-class ExampleIconView extends DrawingView {
-    private IconGraphic icon;
-
-    public ExampleIconView(final Content content, final int size) {
-        super(content);
-        icon = new IconGraphic(this, size, 0);
-        setMaximumSize(icon.getSize());
-    }
-
-    protected void draw(final Canvas canvas, final int x, final int y) {
-        int baseline = icon.getBaseline() + 10;
-        icon.draw(canvas, x, baseline);
-        // canvas.drawLine(x, baseline, 40, baseline, Color.RED);
-    }
-
-    protected void toString(final AsString ts) {
-        ts.append("icon", icon.getSize());
-        ts.append("baseline", icon.getBaseline());
-    }
-}
-
-class ExampleIconViewWithText extends DrawingView {
-    private final IconGraphic icon;
-    private final Text text;
-    private final String string = "OpqrST";
-    private final boolean showBounds;
-
-    public ExampleIconViewWithText(final Content content, final Text text, final boolean showBounds) {
-        super(content);
-        this.text = text;
-        this.showBounds = showBounds;
-        icon = new IconGraphic(this, text);
-        Size size = icon.getSize();
-        size.extendWidth(text.stringWidth(string));
-        setMaximumSize(size);
-    }
-
-    protected void draw(final Canvas canvas, final int x, final int y) {
-        int baseline = icon.getBaseline() + y;
-        // int baseline = - (text.getAscent() - text.getDescent() - icon.getSize().getHeight()) / 2;
-        if (showBounds) {
-            int right = getRequiredSize(new Size()).getWidth();
-
-            int centre = y + icon.getSize().getHeight() / 2;
-            canvas.drawLine(x, centre, right, centre, AwtColor.BLACK);
-
-            int ascendTo = baseline - text.getAscent() + text.getDescent();
-            int descendTo = baseline + text.getDescent();
-            int midline = baseline - (text.getAscent() - text.getDescent()) / 2;
-            canvas.drawLine(0, ascendTo, right, ascendTo, AwtColor.RED);
-            canvas.drawLine(0, midline, right, midline, AwtColor.WHITE);
-            canvas.drawLine(0, baseline, right, baseline, AwtColor.RED);
-            canvas.drawLine(0, descendTo, right, descendTo, AwtColor.RED);
-        }
-        canvas.drawText(string, x + icon.getSize().getWidth(), baseline, AwtColor.BLACK, text);
-        icon.draw(canvas, x, baseline);
-    }
-
-    protected void toString(final AsString ts) {
-        ts.append("icon", icon.getSize());
-        ts.append("baseline", icon.getBaseline());
-    }
-}
-
-class ExampleClassIconView extends DrawingView {
-    private IconGraphic icon;
-
-    public ExampleClassIconView(final Content content, final int size) {
-        super(content);
-        icon = new IconGraphic(this, size, 0);
-        setMaximumSize(icon.getSize());
-    }
-
-    protected void draw(final Canvas canvas, final int x, final int y) {
-        int baseline = icon.getBaseline() + 10;
-        icon.draw(canvas, x, baseline);
-    }
-
-    protected void toString(final AsString ts) {
-        ts.append("icon", icon.getSize());
-        ts.append("baseline", icon.getBaseline());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/MouseEventExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/MouseEventExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/MouseEventExample.java
deleted file mode 100644
index 1f929f3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/MouseEventExample.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.dnd.example;
-
-import java.awt.Frame;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-
-
-public class MouseEventExample extends Frame {
-
-    public static void main(final String[] args) {
-        final MouseEventExample frame = new MouseEventExample();
-        frame.setSize(300, 400);
-        frame.show();
-        frame.addWindowListener(new WindowAdapter() {
-            public void windowClosing(final WindowEvent e) {
-                frame.dispose();
-            }
-        });
-
-        frame.addMouseListener(new Mouse());
-    }
-
-    int left = 10 + getInsets().left;
-    int top = 40 + getInsets().top;
-    int width = 100;
-    int height;
-
-    public void show() {
-        super.show();
-        left = 10 + getInsets().left;
-        top = 10 + getInsets().top;
-    }
-}
-
-class Mouse implements MouseListener {
-
-    public void mouseClicked(MouseEvent e) {
-        System.out.print(e.isPopupTrigger() ? "POPUP " : "");
-        System.out.println(e);
-    }
-
-    public void mouseEntered(MouseEvent e) {}
-
-    public void mouseExited(MouseEvent e) {}
-
-    public void mousePressed(MouseEvent e) {
-        System.out.print(e.isPopupTrigger() ? "POPUP " : "");
-        System.out.println(e);
-    }
-
-    public void mouseReleased(MouseEvent e) {
-        System.out.print(e.isPopupTrigger() ? "POPUP " : "");
-        System.out.println(e);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/TestCanvasView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/TestCanvasView.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/TestCanvasView.java
deleted file mode 100644
index 9824e90..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/TestCanvasView.java
+++ /dev/null
@@ -1,171 +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.dnd.example;
-
-import org.apache.isis.extensions.dndviewer.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Click;
-import org.apache.isis.viewer.dnd.Drag;
-import org.apache.isis.viewer.dnd.DragStart;
-import org.apache.isis.viewer.dnd.Toolkit;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.simple.AbstractView;
-
-
-class TestCanvasView extends AbstractView {
-    Color white = Toolkit.getColor(0xffffff);
-    Color black = Toolkit.getColor(0);
-    Color gray = Toolkit.getColor(0xaaaaaa);
-    Color lightGray = Toolkit.getColor(0xdddddd);
-    Color red = Toolkit.getColor(0xff0000);
-    Color green = Toolkit.getColor(0x00ff00);
-    Color blue = Toolkit.getColor(0x0000ff);
-    Color yellow = Toolkit.getColor(0xff00ff);
-
-    public void draw(final Canvas canvas) {
-        canvas.clearBackground(this, white);
-
-        int canvasWidth = getSize().getWidth();
-        int canvasHeight = getSize().getHeight();
-
-        canvas.drawRectangle(0, 0, canvasWidth, canvasHeight, black);
-
-        int x = 10;
-        int y = 10;
-        int width = 50;
-        int height = 90;
-        // outline shapes
-        canvas.drawRectangle(x, y, width, height, gray);
-        canvas.drawRoundedRectangle(x, y, width, height, 20, 20, black);
-        canvas.drawOval(x, y, width, height, green);
-        canvas.drawLine(x, y, x + width - 1, y + height - 1, red);
-        canvas.drawLine(x, y + height - 1, x + width - 1, y, red);
-
-        // subcanvas
-        x = 80;
-        canvas.drawRectangle(x, y, width, height, gray);
-
-        Canvas subcanvas = canvas.createSubcanvas(x + 1, y + 1, width - 1, height - 1);
-        subcanvas.drawRectangle(0, 0, width - 2, height - 2, blue);
-
-        x = 150;
-        canvas.drawRectangle(x, y, width, height, gray);
-
-        subcanvas = canvas.createSubcanvas(x + 1, y + 1, width - 1, height - 1);
-        subcanvas.offset(-100, -200);
-
-        subcanvas.drawRectangle(100, 200, width - 2, height - 2, red);
-        subcanvas.drawRectangle(0, 0, 120, 220, green);
-
-        // solid shapes
-        x = 10;
-        y = 105;
-
-        canvas.drawRectangle(x - 1, y - 1, width + 2, height + 2, gray);
-        canvas.drawSolidRectangle(x, y, width, height, black);
-        canvas.drawSolidOval(x, y, width, height, green);
-        canvas.drawLine(x, y, x + width - 1, y + height - 1, red);
-        canvas.drawLine(x, y + height - 1, x + width - 1, y, red);
-
-        x = 80;
-        canvas.drawSolidRectangle(x, y, width, height, black);
-
-        subcanvas = canvas.createSubcanvas(x + 1, y + 1, width - 1, height - 1);
-        subcanvas.drawSolidRectangle(0, 0, width - 2, height - 2, blue);
-
-        x = 150;
-        canvas.drawRectangle(x, y, width, width, black);
-        canvas.drawOval(x, y, width, width, green);
-
-        // 3D rectangles
-        canvas.drawRectangle(x, y + 10 + width, 20, 20, black);
-        canvas.draw3DRectangle(x, y + 10 + width, 20, 20, gray, true);
-
-        canvas.drawRectangle(x + 30, y + 10 + width, 20, 20, black);
-        canvas.draw3DRectangle(x + 30, y + 10 + width, 20, 20, gray, true);
-
-        x = 10;
-        y = 240;
-
-        int ascent = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getAscent();
-        int descent = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getDescent();
-        int midpoint = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getMidPoint();
-        int lineHeight = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getLineHeight();
-
-        // canvas.drawRectangle(left, top, 200, line, gray);
-        int baseline = y + ascent;
-        drawText(canvas, x, lineHeight, baseline, ascent, descent, midpoint);
-        baseline += lineHeight;
-        drawText(canvas, x, lineHeight, baseline, ascent, descent, midpoint);
-        baseline += lineHeight;
-        drawText(canvas, x, lineHeight, baseline, ascent, descent, midpoint);
-
-        /*
-         * int width = getSize().getWidth(); int height = getSize().getHeight(); canvas.drawRectangle(0,0,
-         * width - 1, height - 1, gray); canvas.drawLine(0, 0, width - 1, height - 1, red);
-         * canvas.drawLine(width - 1, 0, 0, height - 1, red);
-         */
-    }
-
-    private void drawText(
-            final Canvas canvas,
-            final int x,
-            final int lineHeight,
-            final int baseline,
-            final int ascent,
-            final int descent,
-            final int midpoint) {
-        canvas.drawLine(x, baseline, x + 200 - 1, baseline, gray); // baseline
-        // canvas.drawLine(x, baseline - (ascent - descent) / 2, x + 200 - 1, baseline - (ascent - descent) /
-        // 2, red); // mid-point
-        canvas.drawLine(x, baseline - midpoint, x + 200 - 1, baseline - midpoint, red); // mid-point
-        canvas.drawLine(x, baseline - ascent, x + 200 - 1, baseline - ascent, lightGray); // ascent
-        // canvas.drawLine(x, baseline - ascent + descent, x + 200 - 1, baseline - ascent + descent,
-        // lightGray); // ascent
-        canvas.drawLine(x, baseline + descent, x + 200 - 1, baseline + descent, yellow); // descent
-        canvas.drawText("12345 abcdefghijk ABCDEFG", x, baseline, black, Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-    }
-
-    public void firstClick(final Click click) {
-        debug("first click " + click);
-        super.firstClick(click);
-    }
-
-    public void secondClick(final Click click) {
-        debug("second click " + click);
-        super.secondClick(click);
-    }
-
-    public void mouseMoved(final Location location) {
-        debug("mouse moved " + location);
-        super.mouseMoved(location);
-    }
-
-    private void debug(final String str) {
-        getViewManager().getSpy().addAction(str);
-    }
-
-    public Drag dragStart(final DragStart drag) {
-        debug("drag start " + drag);
-        return super.dragStart(drag);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/TestCanvasView2.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/TestCanvasView2.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/TestCanvasView2.java
deleted file mode 100644
index 8abdb8c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/TestCanvasView2.java
+++ /dev/null
@@ -1,41 +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.dnd.example;
-
-import org.apache.isis.viewer.dnd.Canvas;
-import org.apache.isis.viewer.dnd.Toolkit;
-import org.apache.isis.viewer.dnd.view.simple.AbstractView;
-
-
-class TestCanvasView2 extends AbstractView {
-    
-    public void draw(final Canvas canvas) {
-        canvas.clearBackground(this, Toolkit.getColor(0xfffff));
-
-        int canvasWidth = getSize().getWidth();
-        int canvasHeight = getSize().getHeight();
-
-        canvas.drawRectangleAround(this, Toolkit.getColor(0xff0000));
-        canvas.drawRectangle(1, 1, canvasWidth - 2, canvasHeight - 2, Toolkit.getColor(0xdddddd));
-        canvas.drawSolidRectangle(2, 2, canvasWidth - 4, canvasHeight - 4, Toolkit.getColor(0x00ff00));
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ButtonBorderExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ButtonBorderExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ButtonBorderExample.java
deleted file mode 100644
index eba0a26..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ButtonBorderExample.java
+++ /dev/null
@@ -1,124 +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.dnd.example.border;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.noa.reflect.Allow;
-import org.apache.isis.noa.reflect.Consent;
-import org.apache.isis.noa.reflect.ObjectActionType;
-import org.apache.isis.noa.reflect.Veto;
-import org.apache.isis.viewer.dnd.ButtonAction;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.border.ButtonBorder;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestObjectView;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-
-
-public class ButtonBorderExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new ButtonBorderExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ButtonAction[] actions = new ButtonAction[] { new ButtonAction() {
-
-            public Consent disabled(final View view) {
-                return Allow.DEFAULT;
-            }
-
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                view.getFeedbackManager().addMessage("Button 1 pressed");
-            }
-
-            public String getDescription(final View view) {
-                return "Button that can be pressed";
-            }
-
-            public String getName(final View view) {
-                return "Action";
-            }
-
-            public ObjectActionType getType() {
-                return USER;
-            }
-
-            public boolean isDefault() {
-                return true;
-            }
-
-            public String getHelp(final View view) {
-                return null;
-            }
-        },
-
-        new ButtonAction() {
-
-            public Consent disabled(final View view) {
-                return Veto.DEFAULT;
-            }
-
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                view.getFeedbackManager().addMessage("Button 2 pressed");
-            }
-
-            public String getDescription(final View view) {
-                return "Button that can't be pressed";
-            }
-
-            public String getName(final View view) {
-                return "Disabled";
-            }
-
-            public ObjectActionType getType() {
-                return USER;
-            }
-
-            public boolean isDefault() {
-                return false;
-            }
-
-            public String getHelp(final View view) {
-                return null;
-            }
-        } };
-
-        ObjectAdapter object = createExampleObjectForView();
-        Content content = new RootObject(object);
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        View view = new ButtonBorder(actions, new TestObjectView(content, specification, axis, 200, 80, "VIEW in border"));
-
-        view.setLocation(new Location(100, 100));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/CompoundBorderExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/CompoundBorderExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/CompoundBorderExample.java
deleted file mode 100644
index c9ae957..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/CompoundBorderExample.java
+++ /dev/null
@@ -1,80 +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.dnd.example.border;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.border.ObjectBorder;
-import org.apache.isis.viewer.dnd.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.border.WindowBorder;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestObjectView;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-
-
-public class CompoundBorderExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new CompoundBorderExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ObjectAdapter object = createExampleObjectForView();
-        Content content = new RootObject(object);
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        View v = new TestObjectView(content, specification, axis, 300, 120, "normal");
-
-        View objectBorder = new ObjectBorder(1, v);
-
-        View scrollBorder = new ScrollBorder(objectBorder);
-        scrollBorder.setSize(new Size(200, 200));
-
-        View view = new WindowBorder(scrollBorder, false);
-        view.setLocation(new Location(50, 60));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view = new WindowBorder(new TestObjectView(content, specification, axis, 100, 30, "active"), false);
-        view.setLocation(new Location(200, 300));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view.getState().setActive();
-
-        view = new WindowBorder(new TestObjectView(content, specification, axis, 100, 30, "view identified"), false);
-        view.setLocation(new Location(200, 400));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view.getState().setInactive();
-        view.getState().setRootViewIdentified();
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ObjectBorderExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ObjectBorderExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ObjectBorderExample.java
deleted file mode 100644
index 4172ff2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ObjectBorderExample.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.dnd.example.border;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.border.ObjectBorder;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestObjectView;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-
-
-public class ObjectBorderExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new ObjectBorderExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ObjectAdapter object = createExampleObjectForView();
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        Content content = new RootObject(object);
-        View view = new ObjectBorder(1, new TestObjectView(content, specification, axis, 200, 90, "Normal"));
-        view.setLocation(new Location(100, 20));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view = new ObjectBorder(4, new TestObjectView(content, specification, axis, 100, 50, "wide border"));
-        view.setLocation(new Location(100, 160));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-        view.getState().setContentIdentified();
-
-        view = new ObjectBorder(1, new TestObjectView(content, specification, axis, 100, 50, "identified"));
-        view.setLocation(new Location(100, 350));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-        view.getState().setContentIdentified();
-
-        view = new ObjectBorder(1, new TestObjectView(content, specification, axis, 100, 50, "active"));
-        view.setLocation(new Location(100, 230));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-        view.getState().setActive();
-
-        view = new ObjectBorder(1, new TestObjectView(content, specification, axis, 100, 50, "can drop"));
-        view.setLocation(new Location(100, 290));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-        view.getState().setCanDrop();
-
-        view = new ObjectBorder(1, new TestObjectView(content, specification, axis, 100, 50, "can't drop"));
-        view.setLocation(new Location(100, 410));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-        view.getState().setCantDrop();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ScrollBorderExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ScrollBorderExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ScrollBorderExample.java
deleted file mode 100644
index 18debbd..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/ScrollBorderExample.java
+++ /dev/null
@@ -1,67 +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.dnd.example.border;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestObjectViewWithDragging;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-
-
-public class ScrollBorderExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new ScrollBorderExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ObjectAdapter object = createExampleObjectForView();
-        Content content = new RootObject(object);
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        View view = new ScrollBorder(new TestObjectViewWithDragging(content, specification, axis, 800, 800, "both"));
-        view.setLocation(new Location(50, 60));
-        view.setSize(new Size(216, 216));
-        workspace.addView(view);
-
-        view = new ScrollBorder(new TestObjectViewWithDragging(content, specification, axis, 200, 800, "vertical"));
-        view.setLocation(new Location(300, 60));
-        view.setSize(new Size(216, 216));
-        workspace.addView(view);
-
-        view = new ScrollBorder(new TestObjectViewWithDragging(content, specification, axis, 800, 200, "horizontal"));
-        view.setLocation(new Location(550, 60));
-        view.setSize(new Size(216, 216));
-        workspace.addView(view);
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/WindowBorderExample.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/WindowBorderExample.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/WindowBorderExample.java
deleted file mode 100644
index de26f93..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/border/WindowBorderExample.java
+++ /dev/null
@@ -1,72 +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.dnd.example.border;
-
-import org.apache.isis.noa.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.Content;
-import org.apache.isis.viewer.dnd.View;
-import org.apache.isis.viewer.dnd.ViewAxis;
-import org.apache.isis.viewer.dnd.ViewSpecification;
-import org.apache.isis.viewer.dnd.Workspace;
-import org.apache.isis.viewer.dnd.border.WindowBorder;
-import org.apache.isis.viewer.dnd.content.RootObject;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.example.ExampleViewSpecification;
-import org.apache.isis.viewer.dnd.example.view.TestObjectView;
-import org.apache.isis.viewer.dnd.example.view.TestViews;
-
-
-public class WindowBorderExample extends TestViews {
-
-    public static void main(final String[] args) {
-        new WindowBorderExample();
-    }
-
-    protected void views(final Workspace workspace) {
-        ObjectAdapter object = createExampleObjectForView();
-        Content content = new RootObject(object);
-        ViewSpecification specification = new ExampleViewSpecification();
-        ViewAxis axis = null;
-
-        View view = new WindowBorder(new TestObjectView(content, specification, axis, 300, 120, "normal"), false);
-        view.setLocation(new Location(50, 60));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view = new WindowBorder(new TestObjectView(content, specification, axis, 100, 30, "active"), false);
-        view.setLocation(new Location(200, 300));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view.getState().setActive();
-
-        view = new WindowBorder(new TestObjectView(content, specification, axis, 100, 30, "view identified"), false);
-        view.setLocation(new Location(200, 400));
-        view.setSize(view.getRequiredSize(new Size()));
-        workspace.addView(view);
-
-        view.getState().setInactive();
-        view.getState().setRootViewIdentified();
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/ParentView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/ParentView.java b/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/ParentView.java
deleted file mode 100644
index 59a208b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/src-archived/dnd/example/field/ParentView.java
+++ /dev/null
@@ -1,32 +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.dnd.example.field;
-
-import org.apache.isis.viewer.dnd.view.simple.AbstractView;
-
-
-public class ParentView extends AbstractView {
-
-    protected ParentView() {
-        super(null, null, null);
-    }
-
-}


[35/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/pom.xml b/mothballed/component/security/ldap/pom.xml
deleted file mode 100644
index 8487518..0000000
--- a/mothballed/component/security/ldap/pom.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.1.1-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-	</parent>
-
-	<groupId>org.apache.isis.security</groupId>
-	<artifactId>isis-security-ldap</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-	<name>Isis LDAP Security</name>
-
-	<properties>
-        <siteBaseDir>.</siteBaseDir>
-		<relativeUrl/>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.8</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-				<version>${maven-project-info-reports-plugin}</version>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencyManagement>
-    	<!-- for benefit of application developers, using scope=import -->
-    	<dependencies>
-			<dependency>
-			    <groupId>org.apache.isis.security</groupId>
-			    <artifactId>isis-security-ldap</artifactId>
-				<version>1.0.0-SNAPSHOT</version>
-			</dependency>
-    	</dependencies>
-    </dependencyManagement>
-
-	<dependencies>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		</dependency>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		    <type>test-jar</type>
-		    <scope>test</scope>
-		</dependency>
-	</dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/main/appended-resources/supplemental-models.xml b/mothballed/component/security/ldap/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/mothballed/component/security/ldap/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-   	<!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
-    <project>
-		<groupId>org.datanucleus</groupId>
-	    <artifactId>datanucleus-jodatime</artifactId>
-	    <version>3.1.1</version>
-          <licenses>
-			<license>
-	            <name>The Apache Software License, Version 2.0</name>
-	            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-	        </license>
-	    </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>org.scannotation</groupId>
-      <artifactId>scannotation</artifactId>
-      <version>1.0.3</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-    
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>net.jcip</groupId>
-      <artifactId>jcip-annotations</artifactId>
-      <version>1.0</version>
-      <licenses>
-        <license>
-            <name>Creative Commons Attribution 2.5 License</name>
-            <url>http://creativecommons.org/licenses/by/2.5/</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  
-
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.0</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
- 
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticationConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticationConstants.java b/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticationConstants.java
deleted file mode 100644
index 4997151..0000000
--- a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticationConstants.java
+++ /dev/null
@@ -1,39 +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.security.ldap.authentication;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstaller;
-
-public final class LdapAuthenticationConstants {
-
-    public static final String ROOT = ConfigurationConstants.ROOT + AuthenticationManagerInstaller.TYPE + "." + LdapAuthenticationManagerInstaller.NAME + ".";
-
-    public static final String SERVER_KEY = ROOT + "server";
-    public static final String SERVER_DEFAULT = "com.sun.jndi.ldap.LdapCtxFactory";
-
-    public static final String LDAPDN_KEY = ROOT + "dn";
-
-    public static String FILTER = "(objectclass=organizationalRole)";
-
-    private LdapAuthenticationConstants() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticationManagerInstaller.java b/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticationManagerInstaller.java
deleted file mode 100644
index 4f8abd3..0000000
--- a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticationManagerInstaller.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.security.ldap.authentication;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authentication.AuthenticationManagerStandardInstallerAbstractForDfltRuntime;
-import org.apache.isis.core.runtime.authentication.standard.Authenticator;
-
-public class LdapAuthenticationManagerInstaller extends AuthenticationManagerStandardInstallerAbstractForDfltRuntime {
-
-    public static String NAME = "ldap";
-
-    public LdapAuthenticationManagerInstaller() {
-        super(NAME);
-    }
-
-    @Override
-    protected List<Authenticator> createAuthenticators(final IsisConfiguration configuration) {
-        return Lists.<Authenticator> newArrayList(new LdapAuthenticator(configuration));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticator.java b/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticator.java
deleted file mode 100644
index 19f5ec1..0000000
--- a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authentication/LdapAuthenticator.java
+++ /dev/null
@@ -1,116 +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.security.ldap.authentication;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-
-import javax.naming.AuthenticationException;
-import javax.naming.Context;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.InitialDirContext;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-
-import org.apache.log4j.Logger;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-import org.apache.isis.core.runtime.authentication.standard.AuthenticatorAbstract;
-
-public class LdapAuthenticator extends AuthenticatorAbstract {
-
-    private static final Logger LOG = Logger.getLogger(LdapAuthenticator.class);
-
-    private final String ldapProvider;
-    private final String ldapDn;
-
-    public LdapAuthenticator(final IsisConfiguration configuration) {
-        super(configuration);
-        ldapProvider = getConfiguration().getString(LdapAuthenticationConstants.SERVER_KEY);
-        ldapDn = getConfiguration().getString(LdapAuthenticationConstants.LDAPDN_KEY);
-    }
-
-    @Override
-    public final boolean canAuthenticate(final Class<? extends AuthenticationRequest> authenticationRequestClass) {
-        return AuthenticationRequestPassword.class.isAssignableFrom(authenticationRequestClass);
-    }
-
-    private void setRoles(final DirContext authContext, final AuthenticationRequest request, final String username) throws NamingException {
-        final List<String> roles = new ArrayList<String>();
-        final SearchControls controls = new SearchControls();
-        controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
-        controls.setReturningAttributes(new String[] { "cn" });
-        final String name = "uid=" + username + ", " + ldapDn;
-        final NamingEnumeration<SearchResult> answer = authContext.search(name, LdapAuthenticationConstants.FILTER, controls);
-        while (answer.hasMore()) {
-            final SearchResult result = answer.nextElement();
-            final String roleName = (String) result.getAttributes().get("cn").get(0);
-            roles.add(roleName);
-            LOG.debug("Adding role: " + roleName);
-        }
-        request.setRoles(roles);
-    }
-
-    @Override
-    public boolean isValid(final AuthenticationRequest request) {
-        final AuthenticationRequestPassword passwordRequest = (AuthenticationRequestPassword) request;
-        final String username = passwordRequest.getName();
-        Assert.assertNotNull(username);
-        if (username.equals("")) {
-            LOG.debug("empty username");
-            return false; // failed authentication
-        }
-        final String password = passwordRequest.getPassword();
-        Assert.assertNotNull(password);
-
-        final Hashtable<String, String> env = new Hashtable<String, String>(4);
-        env.put(Context.INITIAL_CONTEXT_FACTORY, LdapAuthenticationConstants.SERVER_DEFAULT);
-        env.put(Context.PROVIDER_URL, ldapProvider);
-        env.put(Context.SECURITY_PRINCIPAL, "uid=" + username + ", " + ldapDn);
-        env.put(Context.SECURITY_CREDENTIALS, password);
-
-        DirContext authContext = null;
-        try {
-            authContext = new InitialDirContext(env);
-            setRoles(authContext, request, username);
-            return true;
-        } catch (final AuthenticationException e) {
-            return false;
-        } catch (final NamingException e) {
-            throw new IsisException("Failed to authenticate using LDAP", e);
-        } finally {
-            try {
-                if (authContext != null) {
-                    authContext.close();
-                }
-            } catch (final NamingException e) {
-                throw new IsisException("Failed to authenticate using LDAP", e);
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizationConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizationConstants.java b/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizationConstants.java
deleted file mode 100644
index 973e853..0000000
--- a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizationConstants.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.security.ldap.authorization;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizationConstants;
-import org.apache.isis.security.ldap.authentication.LdapAuthenticationConstants;
-
-public final class LdapAuthorizationConstants {
-
-    private static final String ROOT = ConfigurationConstants.ROOT + AuthorizationManagerInstaller.TYPE + "." + LdapAuthorizationManagerInstaller.NAME + ".";
-
-    public static final String SERVER_KEY = ROOT + "server";
-    public static final String SERVER_DEFAULT = LdapAuthenticationConstants.SERVER_DEFAULT;
-
-    public static final String LDAPDN_KEY = ROOT + "dn";
-
-    public static final String APP_DN_KEY = ROOT + "application.dn";
-
-    public static final String LEARN_KEY = AuthorizationConstants.LEARN;
-    public static final boolean LEARN_DEFAULT = AuthorizationConstants.LEARN_DEFAULT;
-
-    private LdapAuthorizationConstants() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizationManagerInstaller.java b/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizationManagerInstaller.java
deleted file mode 100644
index 7b9d5ad..0000000
--- a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizationManagerInstaller.java
+++ /dev/null
@@ -1,39 +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.security.ldap.authorization;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandardInstallerAbstract;
-import org.apache.isis.core.runtime.authorization.standard.Authorizor;
-
-public class LdapAuthorizationManagerInstaller extends AuthorizationManagerStandardInstallerAbstract {
-
-    public static String NAME = "ldap";
-
-    public LdapAuthorizationManagerInstaller() {
-        super(NAME);
-    }
-
-    @Override
-    protected Authorizor createAuthorizor(final IsisConfiguration configuration) {
-        return new LdapAuthorizor(configuration);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizor.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizor.java b/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizor.java
deleted file mode 100644
index d88255e..0000000
--- a/mothballed/component/security/ldap/src/main/java/org/apache/isis/security/ldap/authorization/LdapAuthorizor.java
+++ /dev/null
@@ -1,274 +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.security.ldap.authorization;
-
-import java.util.Hashtable;
-
-import javax.naming.AuthenticationException;
-import javax.naming.Context;
-import javax.naming.NameAlreadyBoundException;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.BasicAttribute;
-import javax.naming.directory.BasicAttributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.InitialDirContext;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-
-import org.apache.log4j.Logger;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizorAbstract;
-
-public class LdapAuthorizor extends AuthorizorAbstract {
-
-    private static final Logger LOG = Logger.getLogger(LdapAuthorizor.class);
-
-    private static final String FILTER = "(&(uniquemember={0}) (|(cn={1}) (cn={2}) (cn={3})))";
-    private static final String ACCESS_QUALIFIER_RW = "RW";
-
-    private final String ldapProvider;
-    @SuppressWarnings("unused")
-    private final String ldapDn;
-    private final String appDn;
-    private final boolean learn;
-
-    public LdapAuthorizor(final IsisConfiguration configuration) {
-        super(configuration);
-
-        ldapProvider = getConfiguration().getString(LdapAuthorizationConstants.SERVER_KEY);
-        ldapDn = getConfiguration().getString(LdapAuthorizationConstants.LDAPDN_KEY);
-        appDn = getConfiguration().getString(LdapAuthorizationConstants.APP_DN_KEY);
-        learn = getConfiguration().getBoolean(LdapAuthorizationConstants.LEARN_KEY, LdapAuthorizationConstants.LEARN_DEFAULT);
-    }
-
-    // ////////////////////////////////////////////////////////
-    // init, shutdown
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public void init() {
-    }
-
-    @Override
-    public void shutdown() {
-        // do nothing
-    }
-
-    // ////////////////////////////////////////////////////////
-    // API
-    // ////////////////////////////////////////////////////////
-
-    @Override
-    public boolean isUsableInRole(final String role, final Identifier member) {
-        if(role == null) {
-            return false;
-        }
-        return isAuthorised(role, member, ACCESS_QUALIFIER_RW);
-    }
-
-    @Override
-    public boolean isVisibleInRole(final String role, final Identifier member) {
-        if(role == null) {
-            return false;
-        }
-        return isAuthorised(role, member, null);
-    }
-
-    private boolean isAuthorised(final String role, final Identifier member, final String flag) {
-
-        final Hashtable<String, String> env = new Hashtable<String, String>(4);
-        env.put(Context.INITIAL_CONTEXT_FACTORY, LdapAuthorizationConstants.SERVER_DEFAULT);
-        env.put(Context.PROVIDER_URL, ldapProvider);
-
-        if (learn) {
-            env.put(Context.SECURITY_PRINCIPAL, "uid=admin, ou=system");
-            env.put(Context.SECURITY_CREDENTIALS, "secret");
-        }
-
-        DirContext authContext = null;
-        try {
-            authContext = new InitialDirContext(env);
-            if (learn) {
-                return bindNames(authContext, role, member);
-            }
-            return isPermitted(authContext, role, member, flag);
-        } catch (final AuthenticationException e) {
-            throw new IsisException("Failed to authorise using LDAP", e);
-        } catch (final NameNotFoundException e) {
-            // missing class in ldap server - treat as authorisation failure
-            LOG.error(e);
-            return false;
-        } catch (final NamingException e) {
-            throw new IsisException("Failed to authorise using LDAP", e);
-        } finally {
-            try {
-                if (authContext != null) {
-                    authContext.close();
-                }
-            } catch (final NamingException e) {
-                throw new IsisException("Failed to authorise using LDAP", e);
-            }
-        }
-    }
-
-    private boolean isPermitted(final DirContext authContext, final String role, final Identifier member, final String flag) throws NamingException {
-        final String cls = member.toIdentityString(Identifier.CLASS);
-        final String name = member.toIdentityString(Identifier.MEMBERNAME_ONLY);
-        final String parms = member.toIdentityString(Identifier.PARAMETERS_ONLY);
-
-        final Object[] args = new Object[] { role, cls, name, parms };
-        final SearchControls controls = new SearchControls();
-        controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
-        final String searchName = buildSearchName(cls, appDn);
-        final NamingEnumeration<SearchResult> answer = authContext.search(searchName, FILTER, args, controls);
-        while (answer.hasMore()) {
-            // if we have a class match must be OK
-            // if we have a name match must be OK (parent must be class by
-            // definition)
-            // but parm matches need to check that parent = name
-            final SearchResult result = answer.nextElement();
-            final String cn = (String) result.getAttributes().get("cn").get(0);
-            // result.getname gives relative path from class - so if contains
-            // 'name' it is parent of parms
-            // entry
-            if (cn.equals(cls) || cn.equals(name) || ((cn.equals(parms) && result.getName().contains(name)))) {
-                // last check if there is a flag attribute
-                if (flag != null) {
-                    final Attribute flagAttribute = result.getAttributes().get("flag");
-                    if (flagAttribute != null) {
-                        // since there is a flag need to check is match
-                        return flag.equalsIgnoreCase((String) flagAttribute.get(0));
-                    }
-                }
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private String buildSearchName(final String cls, final String appDn) {
-        final StringBuffer search = new StringBuffer();
-        search.append("cn=").append(cls).append(", ").append(appDn);
-        final String searchName = search.toString();
-        return searchName;
-    }
-
-    private Attributes createCommonAttributes(final String cnName, final String role, final boolean isClass) {
-        final Attributes attrs = new BasicAttributes(true); // case-ignore
-        final Attribute objclass = new BasicAttribute("objectclass");
-        objclass.add("top");
-        objclass.add("javaContainer");
-        objclass.add("groupOfUniqueNames");
-        if (isClass) {
-            objclass.add("javaObject");
-        }
-        final Attribute cn = new BasicAttribute("cn");
-        cn.add(cnName);
-        final Attribute uniqueMember = new BasicAttribute("uniquemember");
-        uniqueMember.add(role);
-        if (isClass) {
-            final Attribute javaClass = new BasicAttribute("javaclassname");
-            javaClass.add(cnName);
-            attrs.put(javaClass);
-        }
-        attrs.put(objclass);
-        attrs.put(cn);
-        attrs.put(uniqueMember);
-        return attrs;
-    }
-
-    private String createClassBindname(final String cls) {
-        final StringBuffer bindName = new StringBuffer();
-        bindName.append("cn=").append(cls).append(", ").append(appDn);
-        return bindName.toString();
-    }
-
-    private void bindClass(final DirContext authContext, final String role, final Identifier member) throws NamingException {
-        final String cls = member.toIdentityString(Identifier.CLASS);
-        final Attributes attrs = createCommonAttributes(cls, role, true);
-        try {
-            authContext.createSubcontext(createClassBindname(cls), attrs);
-        } catch (final NameAlreadyBoundException e) {
-            // ignore as this is just debug code
-            // and we don't check if this is already bound first
-            LOG.debug(e);
-        }
-    }
-
-    private String createNameBindname(final String cls, final String name) {
-        final StringBuffer bindName = new StringBuffer();
-        bindName.append("cn=").append(name).append(", ");
-        bindName.append(createClassBindname(cls));
-        return bindName.toString();
-    }
-
-    private void bindName(final DirContext authContext, final String role, final Identifier member) throws NamingException {
-        final String cls = member.toIdentityString(Identifier.CLASS);
-        final String name = member.toIdentityString(Identifier.MEMBERNAME_ONLY);
-        final Attributes attrs = createCommonAttributes(name, role, false);
-        try {
-            authContext.createSubcontext(createNameBindname(cls, name), attrs);
-        } catch (final NameAlreadyBoundException e) {
-            // ignore as this is just debug code
-            // and we don't check if this is already bound first
-            LOG.debug(e);
-        }
-    }
-
-    private String createParmsBindname(final String cls, final String name, final String parms) {
-        final StringBuffer bindName = new StringBuffer();
-        bindName.append("cn=").append(parms).append(", ");
-        bindName.append(createNameBindname(cls, name));
-        return bindName.toString();
-    }
-
-    private void bindParms(final DirContext authContext, final String role, final Identifier member) throws NamingException {
-        final String cls = member.toIdentityString(Identifier.CLASS);
-        final String name = member.toIdentityString(Identifier.MEMBERNAME_ONLY);
-        // have to escape any commas in parms string or ldap parser is not happy
-        final String parms = member.toIdentityString(Identifier.PARAMETERS_ONLY).replace(",", "\\,");
-        if (parms.length() == 0) {
-            return;
-        }
-        final Attributes attrs = createCommonAttributes(parms, role, false);
-        try {
-            authContext.createSubcontext(createParmsBindname(cls, name, parms), attrs);
-        } catch (final NameAlreadyBoundException e) {
-            // ignore as this is just debug code
-            // and we don't check if this is already bound first
-            LOG.debug(e);
-        }
-    }
-
-    private boolean bindNames(final DirContext authContext, final String role, final Identifier member) throws NamingException {
-        bindClass(authContext, role, member);
-        bindName(authContext, role, member);
-        bindParms(authContext, role, member);
-        return true;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/site/apt/index.apt b/mothballed/component/security/ldap/src/site/apt/index.apt
deleted file mode 100644
index 8978117..0000000
--- a/mothballed/component/security/ldap/src/site/apt/index.apt
+++ /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.
-
-
-
-Security LDAP Implementation
-
- The <ldap security> module provides an implementation of Isis' authentication and
- authorization APIs where credentials are stored in a well-known LDAP server.
- 
- This makes the LDAP security implementation suitable for deployment where an
- LDAP exists.  Optionally it may be combined with other implementations (for example
- the authorization might be performed using the file-based implementation).
- 
- See the security 
- {{{../docbkx/html/guide/isis-security.html}HTML}} or 
- {{{../docbkx/pdf/isis-security.pdf}PDF}} documentation for more detail.
- 
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}default}} (no-op) security implementation, for prototyping use only
-
-  * the {{{../file/index.html}file-based}} security (reading from simple flat files)
-
-  * the {{{../sql/index.html}SQL}} security (reading from simple SQL tables)
-
-  []
-  

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/site/apt/jottings.apt b/mothballed/component/security/ldap/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/security/ldap/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/site/site.xml b/mothballed/component/security/ldap/src/site/site.xml
deleted file mode 100644
index 1f465f4..0000000
--- a/mothballed/component/security/ldap/src/site/site.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="LDAP" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="LDAP Security">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Security Modules">
-            <item name="Default (No-op)" href="../dflt/index.html" />
-            <item name="File" href="../file/index.html" />
-            <item name="LDAP" href="../ldap/index.html" />
-            <item name="SQL" href="../sql/index.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/ldap/src/test/java/org/apache/isis/security/ldap/authentication/LdapAuthenticatorTester.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/ldap/src/test/java/org/apache/isis/security/ldap/authentication/LdapAuthenticatorTester.java b/mothballed/component/security/ldap/src/test/java/org/apache/isis/security/ldap/authentication/LdapAuthenticatorTester.java
deleted file mode 100644
index e84ec1c..0000000
--- a/mothballed/component/security/ldap/src/test/java/org/apache/isis/security/ldap/authentication/LdapAuthenticatorTester.java
+++ /dev/null
@@ -1,53 +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.security.ldap.authentication;
-
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public class LdapAuthenticatorTester {
-
-    public static void main(final String[] args) {
-        final LdapAuthenticator auth = new LdapAuthenticator(IsisContext.getConfiguration());
-
-        AuthenticationRequestPassword req = new AuthenticationRequestPassword("unauth", "pass");
-        try {
-            System.out.println("unauth auth=" + auth.isValid(req));
-        } catch (final Exception e) {
-            System.out.println("unauth failed authentication!");
-            e.printStackTrace();
-        }
-        req = new AuthenticationRequestPassword("joe", "pass");
-        try {
-            System.out.println("joe auth=" + auth.isValid(req));
-        } catch (final Exception e) {
-            System.out.println("joe auth failed!!");
-            e.printStackTrace();
-        }
-        req = new AuthenticationRequestPassword("joe", "wrongpass");
-        try {
-            System.out.println("joe wrongpass auth=" + auth.isValid(req));
-        } catch (final Exception e) {
-            System.out.println("joe wrongpass auth failed!!");
-            e.printStackTrace();
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/NOTICE b/mothballed/component/security/sql/NOTICE
deleted file mode 100755
index ba21d0c..0000000
--- a/mothballed/component/security/sql/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/hsql-db/authenticator-tests.script
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/hsql-db/authenticator-tests.script b/mothballed/component/security/sql/hsql-db/authenticator-tests.script
deleted file mode 100644
index 18d5aac..0000000
--- a/mothballed/component/security/sql/hsql-db/authenticator-tests.script
+++ /dev/null
@@ -1,51 +0,0 @@
-SET DATABASE UNIQUE NAME HSQLDB3B5AA06E81
-SET DATABASE GC 0
-SET DATABASE DEFAULT RESULT MEMORY ROWS 0
-SET DATABASE EVENT LOG LEVEL 0
-SET DATABASE SQL NAMES FALSE
-SET DATABASE SQL REGULAR NAMES TRUE
-SET DATABASE SQL REFERENCES FALSE
-SET DATABASE SQL SIZE TRUE
-SET DATABASE SQL TYPES FALSE
-SET DATABASE SQL TDC DELETE TRUE
-SET DATABASE SQL TDC UPDATE TRUE
-SET DATABASE SQL TRANSLATE TTI TYPES TRUE
-SET DATABASE SQL CONCAT NULLS TRUE
-SET DATABASE SQL NULLS FIRST TRUE
-SET DATABASE SQL UNIQUE NULLS TRUE
-SET DATABASE SQL CONVERT TRUNCATE TRUE
-SET DATABASE SQL AVG SCALE 0
-SET DATABASE SQL DOUBLE NAN TRUE
-SET DATABASE SQL LONGVAR IS LOB FALSE
-SET DATABASE TRANSACTION CONTROL LOCKS
-SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
-SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
-SET DATABASE TEXT TABLE DEFAULTS ''
-SET FILES WRITE DELAY 500 MILLIS
-SET FILES BACKUP INCREMENT TRUE
-SET FILES CACHE SIZE 10000
-SET FILES CACHE ROWS 50000
-SET FILES SCALE 32
-SET FILES LOB SCALE 32
-SET FILES DEFRAG 0
-SET FILES NIO TRUE
-SET FILES NIO SIZE 256
-SET FILES LOG TRUE
-SET FILES LOG SIZE 50
-CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e'
-ALTER USER SA SET LOCAL TRUE
-CREATE SCHEMA PUBLIC AUTHORIZATION DBA
-SET SCHEMA PUBLIC
-CREATE MEMORY TABLE PUBLIC.USERS(EMAIL VARCHAR(32),PASSWORD VARCHAR(32))
-ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
-SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
-GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
-GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
-GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
-GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
-GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
-GRANT DBA TO SA
-SET SCHEMA SYSTEM_LOBS
-INSERT INTO BLOCKS VALUES(0,2147483647,0)
-SET SCHEMA PUBLIC
-INSERT INTO USERS VALUES('user1','password1')

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/pom.xml b/mothballed/component/security/sql/pom.xml
deleted file mode 100755
index 1463ac4..0000000
--- a/mothballed/component/security/sql/pom.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.1.1-SNAPSHOT</version>
-		<relativePath>../../../core/pom.xml</relativePath>
-	</parent>
-
-	<groupId>org.apache.isis.security</groupId>
-	<artifactId>isis-security-sql</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-	<name>Isis SQL Security</name>
-
-	<properties>
-        <siteBaseDir>.</siteBaseDir>
-		<relativeUrl/>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-	<build>
-		<pluginManagement>
-			<plugins>
-                <!-- Apache Release Audit Tool -->
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.8</version>
-	                <configuration>
-	                    <excludes>
-	                    	<!-- 
-	                    	overriding inherited excludes from oia.core:isis 
-	                    	with a more specific set for this component
-	                    	 -->
-	                        <exclude>**/target/**</exclude>
-	                        <exclude>**/target-ide/**</exclude>
-
-	                        <exclude>**/*.project</exclude>
-	                        <exclude>**/.classpath</exclude>
-	                        <exclude>**/.settings/**</exclude>
-	                    </excludes>
-                    </configuration>
-	            </plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-				<version>${maven-project-info-reports-plugin}</version>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencyManagement>
-    	<!-- for benefit of application developers, using scope=import -->
-    	<dependencies>
-			<dependency>
-			    <groupId>org.apache.isis.security</groupId>
-			    <artifactId>isis-security-sql</artifactId>
-				<version>1.0.0-SNAPSHOT</version>
-			</dependency>
-    	</dependencies>
-    </dependencyManagement>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.hsqldb</groupId>
-			<artifactId>hsqldb</artifactId>
-			<scope>test</scope>
-		</dependency>
-		
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		</dependency>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		    <type>test-jar</type>
-		    <scope>test</scope>
-		</dependency>
-	</dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/main/appended-resources/supplemental-models.xml b/mothballed/component/security/sql/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/mothballed/component/security/sql/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-   	<!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
-    <project>
-		<groupId>org.datanucleus</groupId>
-	    <artifactId>datanucleus-jodatime</artifactId>
-	    <version>3.1.1</version>
-          <licenses>
-			<license>
-	            <name>The Apache Software License, Version 2.0</name>
-	            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-	        </license>
-	    </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>org.scannotation</groupId>
-      <artifactId>scannotation</artifactId>
-      <version>1.0.3</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-    
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>net.jcip</groupId>
-      <artifactId>jcip-annotations</artifactId>
-      <version>1.0</version>
-      <licenses>
-        <license>
-            <name>Creative Commons Attribution 2.5 License</name>
-            <url>http://creativecommons.org/licenses/by/2.5/</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  
-
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.0</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
- 
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationConstants.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationConstants.java b/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationConstants.java
deleted file mode 100755
index 24c7298..0000000
--- a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationConstants.java
+++ /dev/null
@@ -1,27 +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.security.sql.authentication;
-
-public class SqlAuthenticationConstants {
-
-    private SqlAuthenticationConstants() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationManagerInstaller.java b/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationManagerInstaller.java
deleted file mode 100755
index 9dc53e2..0000000
--- a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationManagerInstaller.java
+++ /dev/null
@@ -1,70 +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.security.sql.authentication;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.ApplicationException;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authentication.AuthenticationManagerStandardInstallerAbstractForDfltRuntime;
-import org.apache.isis.core.runtime.authentication.standard.Authenticator;
-
-public class SqlAuthenticationManagerInstaller extends AuthenticationManagerStandardInstallerAbstractForDfltRuntime {
-
-    public static final String NAME = "sql";
-
-    public SqlAuthenticationManagerInstaller() {
-        super(NAME);
-    }
-
-    @Override
-    protected List<Authenticator> createAuthenticators(final IsisConfiguration configuration) {
-        return Lists.<Authenticator> newArrayList(createAuthenticator(configuration));
-    }
-
-    protected Authenticator createAuthenticator(final IsisConfiguration configuration) {
-        final String className = configuration.getString("isis.authentication.authenticator");
-        if (className == null) {
-            return new SqlAuthenticator(configuration);
-        }
-        try {
-            final Class<?> authenticatorClass = Class.forName(className);
-            return (Authenticator) authenticatorClass.getConstructor(IsisConfiguration.class).newInstance(configuration);
-        } catch (final ClassNotFoundException e) {
-            throw new ApplicationException("Unable to find authenticator class", e);
-        } catch (final IllegalArgumentException e) {
-            throw new ApplicationException("IllegalArgumentException creating authenticator class", e);
-        } catch (final SecurityException e) {
-            throw new ApplicationException("SecurityException creating authenticator class", e);
-        } catch (final InstantiationException e) {
-            throw new ApplicationException("InstantiationException creating authenticator class", e);
-        } catch (final IllegalAccessException e) {
-            throw new ApplicationException("IllegalAccessException creating authenticator class", e);
-        } catch (final InvocationTargetException e) {
-            throw new ApplicationException("InvocationTargetException creating authenticator class", e);
-        } catch (final NoSuchMethodException e) {
-            throw new ApplicationException("NoSuchMethodException creating authenticator class", e);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticator.java b/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticator.java
deleted file mode 100755
index 63df436..0000000
--- a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticator.java
+++ /dev/null
@@ -1,325 +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.security.sql.authentication;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import com.google.common.base.Strings;
-import com.google.inject.Inject;
-
-import org.apache.log4j.Logger;
-
-import org.apache.isis.applib.ApplicationException;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-import org.apache.isis.core.runtime.authentication.standard.PasswordRequestAuthenticatorAbstract;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public class SqlAuthenticator extends PasswordRequestAuthenticatorAbstract {
-    private static final Logger LOG = Logger.getLogger(SqlAuthenticator.class);
-
-    static SqlAuthenticator instance;
-
-    public static SqlAuthenticator getInstance() {
-        return instance;
-    }
-
-    // Override this method if dbPasswords are encoded.
-    protected boolean verifyPasswordsAreEqual(final String loginPassword, final String dbPassword) {
-        return dbPassword.equals(loginPassword);
-    }
-
-    // Override this method
-    protected ResultSet postProcessLogin(final String user, final String password, final ResultSet results) {
-        return results;
-    }
-
-    // override this method
-    protected String getRoles(final ResultSet results, final String roles) {
-        try {
-            if (userRoleField != null) {
-                final String dbRoles = results.getString(userRoleField);
-                return roles + "|" + dbRoles;
-            }
-        } catch (final SQLException e) {
-            LOG.warn("Error fetching role", e);
-        }
-        return roles;
-    }
-
-    // Override this method, if you want to create data.
-    public void initialise() {
-    }
-
-    static final String PROPERTY_BASE = "isis.authentication.sql";
-    static final String USER_TABLE = PROPERTY_BASE + ".userTable";
-    static final String USER_TABLE_NAME_FIELD = PROPERTY_BASE + ".userNameField";
-    static final String USER_TABLE_PASSWORD_FIELD = PROPERTY_BASE + ".passwordField";
-    static final String USER_TABLE_ROLE_FIELD = PROPERTY_BASE + ".roleField";
-
-    private Connection connection;
-
-    final String passwordField;
-    final String userTable;
-    final String userNameField;
-    final String userRoleField;
-
-    public static String getPropertyBase() {
-        return PROPERTY_BASE;
-    }
-
-    public static String getPropertyUserTable() {
-        return USER_TABLE;
-    }
-
-    public static String getPropertyUserTableNameField() {
-        return USER_TABLE_NAME_FIELD;
-    }
-
-    public static String getPropertyUserTablePasswordField() {
-        return USER_TABLE_PASSWORD_FIELD;
-    }
-
-    public static String getPropertyUserTableRoleField() {
-        return USER_TABLE_ROLE_FIELD;
-    }
-
-    @Inject
-    public SqlAuthenticator(final IsisConfiguration configuration) {
-        super(configuration);
-
-        userTable = configuration.getString(USER_TABLE);
-        userNameField = configuration.getString(USER_TABLE_NAME_FIELD);
-        passwordField = configuration.getString(USER_TABLE_PASSWORD_FIELD);
-        userRoleField = configuration.getString(USER_TABLE_ROLE_FIELD);
-
-        instance = this;
-    }
-
-    @Override
-    public void init() {
-        if (connection != null) {
-            LOG.info("close");
-        }
-
-        final String BASE = PROPERTY_BASE + ".jdbc.";
-        final IsisConfiguration params = IsisContext.getConfiguration().getProperties(BASE);
-
-        try {
-            final String driver = params.getString(BASE + "driver");
-            final String url = params.getString(BASE + "connection");
-            final String user = params.getString(BASE + "user");
-            final String password = params.getString(BASE + "password");
-
-            if (connection != null) {
-                throw new ApplicationException("Connection already established");
-            }
-
-            if (driver == null) {
-                throw new ApplicationException("No driver specified for database connection");
-            }
-            if (url == null) {
-                throw new ApplicationException("No connection URL specified to database");
-            }
-            if (user == null) {
-                throw new ApplicationException("No user specified for database connection");
-            }
-            if (password == null) {
-                throw new ApplicationException("No password specified for database connection");
-            }
-
-            Class.forName(driver);
-            LOG.info("Connecting to " + url + " as " + user);
-            connection = DriverManager.getConnection(url, user, password);
-            if (connection == null) {
-                throw new ApplicationException("No connection established to " + url);
-            }
-        } catch (final SQLException e) {
-            throw new ApplicationException("Failed to start", e);
-        } catch (final ClassNotFoundException e) {
-            throw new ApplicationException("Could not find database driver", e);
-        }
-
-    }
-
-    @Override
-    public void shutdown() {
-        String sql;
-        sql = "SHUTDOWN";
-        update(sql);
-        closeConnection();
-    }
-
-    private void closeConnection() {
-        try {
-            connection.close();
-            connection = null;
-        } catch (final SQLException e) {
-            LOG.warn("Failed to close connection:" + e);
-        }
-    }
-
-    @Override
-    public final boolean isValid(final AuthenticationRequest request) {
-        final AuthenticationRequestPassword passwordRequest = (AuthenticationRequestPassword) request;
-        final String username = passwordRequest.getName();
-        if (Strings.isNullOrEmpty(username)) {
-            return false;
-        }
-        final String password = passwordRequest.getPassword();
-        Assert.assertNotNull(password);
-
-        return isPasswordValidForUser(passwordRequest, username, password);
-
-    }
-
-    private boolean isPasswordValidForUser(final AuthenticationRequest request, final String user, final String password) {
-        final ResultSet results = loadUserDetails(user, password);
-        if (results != null) {
-            final String roles = getRoles(results, "org.apache.isis.viewer.wicket.roles.USER|org.starobjects.wicket.roles.USER");
-            setRoles(request, roles);
-
-            return true;
-        }
-        return false;
-    }
-
-    protected ResultSet loadUserDetails(final String user, final String password) {
-        final String sql = "SELECT * FROM " + userTable + " WHERE UPPER(" + userNameField + ") = ?";
-        addToQueryValues(user.toUpperCase());
-        final ResultSet results = select(sql);
-        try {
-            while (results.next()) {
-                final String dbPassword = results.getString(passwordField);
-                if (verifyPasswordsAreEqual(password, dbPassword)) {
-                    return postProcessLogin(user, password, results);
-                }
-            }
-        } catch (final SQLException e) {
-            LOG.error("Error loading user details: " + sql);
-            throw new ApplicationException("Error loading user details", e);
-        }
-
-        return null;
-    }
-
-    private final void setRoles(final AuthenticationRequest request, final String line) {
-        final StringTokenizer tokens = new StringTokenizer(line, "|", false);
-        final String[] roles = new String[tokens.countTokens()];
-        for (int i = 0; tokens.hasMoreTokens(); i++) {
-            roles[i] = tokens.nextToken();
-        }
-        request.setRoles(Arrays.asList(roles));
-    }
-
-    public boolean isSetup() {
-        return hasTable(userTable);
-    }
-
-    // {{ JDBC Connection SQL helpers
-    protected int update(final String sql) {
-        LOG.debug("SQL: " + sql);
-        PreparedStatement statement;
-        try {
-            statement = connection.prepareStatement(sql);
-            addPreparedValues(statement);
-            final int updateCount = statement.executeUpdate();
-            statement.close();
-            return updateCount;
-        } catch (final SQLException e) {
-            LOG.error("failed to execute " + sql, e);
-            throw new ApplicationException("Error executing update", e);
-        } finally {
-            clearPreparedValues();
-        }
-
-    }
-
-    private ResultSet select(final String sql) {
-        LOG.debug("SQL: " + sql);
-        PreparedStatement statement;
-        try {
-            statement = connection.prepareStatement(sql);
-            addPreparedValues(statement);
-            return (statement.executeQuery());
-        } catch (final SQLException e) {
-            LOG.error("failed to execte select: " + sql, e);
-            throw new ApplicationException("Error executing select", e);
-        } finally {
-            clearPreparedValues();
-        }
-    }
-
-    private final List<Object> queryValues = new ArrayList<Object>();
-
-    public String addToQueryValues(final Object o) {
-        queryValues.add(o);
-        return "?";
-    }
-
-    private void clearPreparedValues() {
-        queryValues.clear();
-    }
-
-    private void addPreparedValues(final PreparedStatement statement) throws SQLException {
-        if (queryValues.size() > 0) {
-            int i = 1;
-            try {
-                for (final Object value : queryValues) {
-                    statement.setObject(i, value);
-                    i++;
-                }
-            } catch (final SQLException e) {
-                LOG.error("Error adding prepared value " + i + " of type " + queryValues.get(i - 1).getClass().getSimpleName(), e);
-                throw e;
-            }
-        }
-    }
-
-    private boolean hasTable(final String tableName) {
-        try {
-            final ResultSet set = connection.getMetaData().getTables(null, null, tableName, null);
-            if (set.next()) {
-                LOG.debug("Found " + set.getString("TABLE_NAME"));
-                set.close();
-                return true;
-            } else {
-                set.close();
-                return false;
-            }
-        } catch (final SQLException e) {
-            LOG.error("failed to find table: " + tableName, e);
-            throw new ApplicationException("Error checking for table: " + tableName, e);
-        }
-    }
-
-    // }}
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizationManagerInstaller.java b/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizationManagerInstaller.java
deleted file mode 100755
index 16e78fc..0000000
--- a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizationManagerInstaller.java
+++ /dev/null
@@ -1,39 +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.security.sql.authorization;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandardInstallerAbstract;
-import org.apache.isis.core.runtime.authorization.standard.Authorizor;
-
-public class SqlAuthorizationManagerInstaller extends AuthorizationManagerStandardInstallerAbstract {
-
-    public static final String NAME = "sql";
-
-    public SqlAuthorizationManagerInstaller() {
-        super(NAME);
-    }
-
-    @Override
-    protected Authorizor createAuthorizor(final IsisConfiguration configuration) {
-        return new SqlAuthorizor(configuration);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizor.java
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizor.java b/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizor.java
deleted file mode 100755
index de12010..0000000
--- a/mothballed/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizor.java
+++ /dev/null
@@ -1,73 +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.security.sql.authorization;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizorAbstract;
-
-public class SqlAuthorizor extends AuthorizorAbstract {
-    // TODO: Need to implement this class.
-
-    // private static final Logger LOG = Logger.getLogger(SqlAuthorizor.class);
-
-    public SqlAuthorizor(final IsisConfiguration configuration) {
-        super(configuration);
-
-    }
-
-    // //////////////////////////////////////////////////////////////
-    // init, shutdown
-    // //////////////////////////////////////////////////////////////
-
-    @Override
-    public void init() {
-        // does nothing
-    }
-
-    @Override
-    public void shutdown() {
-        // does nothing
-    }
-
-    // //////////////////////////////////////////////////////////////
-    // API
-    // //////////////////////////////////////////////////////////////
-
-    @Override
-    public boolean isUsableInRole(final String role, final Identifier identifier) {
-        return true;
-    }
-
-    @Override
-    public boolean isVisibleInRole(final String user, final Identifier identifier) {
-        return true;
-    }
-
-    @Override
-    public boolean isVisibleInAnyRole(Identifier identifier) {
-        return true;
-    }
-
-    @Override
-    public boolean isUsableInAnyRole(Identifier identifier) {
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/site.xml b/mothballed/component/security/sql/src/site.xml
deleted file mode 100755
index 66aa164..0000000
--- a/mothballed/component/security/sql/src/site.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="SQL" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="SQL Security">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Security Modules">
-            <item name="Default (No-op)" href="../dflt/index.html" />
-            <item name="File" href="../file/index.html" />
-            <item name="LDAP" href="../ldap/index.html" />
-            <item name="SQL" href="../sql/index.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/security/sql/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/security/sql/src/site/apt/index.apt b/mothballed/component/security/sql/src/site/apt/index.apt
deleted file mode 100755
index 8451f4c..0000000
--- a/mothballed/component/security/sql/src/site/apt/index.apt
+++ /dev/null
@@ -1,124 +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.
-
-
-
-Security SQL Implementation
- 
- The <SQL security> module is a simple implementation of Isis' authentication and
- authorization APIs, that uses flat SQL tables to store user/passwords/roles (for authentication)
- and role-based permissions (for authorization).
- 
- No additional helpers are provided to maintain the SQL tables used, so you will have
- to find your own table viewers/editors to maintain them.
-
- At the moment, authorisation learning has not been implemented.
- 
- The SqlAuthenticator classes use jdbc to access the database tables, with no reliance on the 
- Isis SqlObjectStore.
- 
- 
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}default}} (no-op) security implementation, for prototyping use only
-
-  * the {{{../file/index.html}file}} security
-
-  * the {{{../ldap/index.html}LDAP}} security
-  
- See the security 
- {{{../docbkx/html/guide/isis-security.html}HTML}} or 
- {{{../docbkx/pdf/isis-security.pdf}PDF}} documentation for more details on these others.
-
-Setup
- 
- The SQL Authenticator is relatively easy to setup - just add the following to isis.properties:
- Change the connection, userTable, etc, definitions, to reflect that of your configuration.
- 
-+--
- isis.authentication=sql
- isis.authentication.sql.jdbc.driver=org.hsqldb.jdbcDriver
-
- # Connection string: e.g.
- isis.authentication.sql.jdbc.connection=jdbc:hsqldb:file:hsql-db/authentication
-
- # Connection authentication
- isis.authentication.sql.jdbc.user=sa
- isis.authentication.sql.jdbc.password=
-
- isis.authentication.sql.userTable=RealNameOfUserTable 
- isis.authentication.sql.userNameField=RealFieldThatContainsUsernames
- isis.authentication.sql.passwordField=RealFieldThatContainsPassword 
-
- # The following property is optional, for specifying roles:
- # Roles are of the forms ROLE1|ROLE2|ROLE3
- isis.authentication.sql.roleField=RealFieldThatContainsRoles
- 
-  # Optional: If you wish to override the default SqlAuthenticator, you can specify 
-  # your own, by providing the fully qualified class name of your class that extends
-  # PasswordRequestAuthenticatorAbstract:
-  isis.authentication.authenticator=domain.package.MyCustomSqlAuthenticator
-+--
-
-  * Operation
-  
-  The default SqlAuthenticator loads the record set from <<isis.authentication.sql.userTable>> with
-  values where <<isis.authentication.sql.userNameField>> matches the login form's username (converted to
-  upper-case, so the match is case-<<in>>sensitive). 
-  
-  A simple case-sensitive string comparison is performed to match the login form's password with the value
-  in <<isis.authentication.sql.passwordField>>.
-  
-  If a match is found, the user roles are loaded from the field 
-  <<isis.authentication.sql.roleField>>, if specified.      
-  
-Custom Authenticator
-  
-  If you want to replace or extend the current behaviour, you need to 
-  extend <<org.apache.isis.security.sql.authentication.SqlAuthenticator>> and optionally override 
-  whichever of the following methods you need to:
-  
-+--
-  boolean verifyPasswordsAreEqual(String userPassword, String dbPassword)
-  ResultSet postProcessLogin(String user, String password, ResultSet results)
-  String getRoles(final ResultSet results, final String roles)
-+--  
-
-  * <<verifyPasswordsAreEqual>>
-  
-  Lets you override the default password comparison check, which is a simple <loginPassword.equals(dbPassword)> check.
-  
-  Use this if your database passwords are encrypted.
-  
-  This method is called before postProcessLogin, which is only called if this method returns true.
-
-  * <<postProcessLogin>>
-  
-  Lets you perform additional processing to see if the found RecordSet (which has already been verified to match the
-  provided username and password, should be allowed to login.
-  
-  Simply return the results RecordSet, if so, else return null.
-  
-  * <<getRoles>>
-  
-  Lets you add additional roles to the default. Simply return your custom roles appended to the provided roles String.
-  Separate roles with a "|", e.g. <return roles+"|ROLE1|ROLE2">.    
-
-  []
- 


[47/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java
deleted file mode 100644
index 776057f..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java
+++ /dev/null
@@ -1,263 +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.objectstore.nosql.db.mongo;
-
-import java.net.UnknownHostException;
-import java.util.Iterator;
-import java.util.List;
-
-import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-import com.mongodb.DBCursor;
-import com.mongodb.DBObject;
-import com.mongodb.Mongo;
-import com.mongodb.MongoException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.objectstore.nosql.NoSqlCommandContext;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-import org.apache.isis.objectstore.nosql.db.StateReader;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-
-public class MongoDb implements NoSqlDataDatabase {
-
-	private static final String SERIALNUMBERS_COLLECTION_NAME = "serialnumbers";
-
-	private static final Logger LOG = LoggerFactory.getLogger(MongoDb.class);
-	
-	private static final int DEFAULT_PORT = 27017;
-
-    private final String host;
-    private final int port;
-    private final String dbName;
-    private final KeyCreatorDefault keyCreator;
-    
-	private Mongo mongo;
-	private DB db;
-
-    public MongoDb(final String host, final int port, final String name, final KeyCreatorDefault keyCreator) {
-        this.host = host;
-        this.port = port == 0 ? DEFAULT_PORT : port;
-        this.dbName = name;
-        this.keyCreator = keyCreator;
-    }
-
-    public KeyCreatorDefault getKeyCreator() {
-        return keyCreator;
-    }
-
-    @Override
-    public void open() {
-        try {
-            if (mongo == null) {
-                mongo = new Mongo(host, port);
-                db = mongo.getDB(dbName);
-                db.setWriteConcern(com.mongodb.WriteConcern.SAFE);
-                LOG.info("opened database (" + dbName + "): " + mongo);
-            } else {
-                LOG.info(" using opened database " + db);
-            }
-        } catch (final UnknownHostException e) {
-            throw new NoSqlStoreException(e);
-        } catch (final MongoException e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    @Override
-    public void close() {
-    }
-
-    public NoSqlCommandContext createTransactionContext() {
-        return null;
-    }
-
-    //////////////////////////////////////////////////
-    // contains data
-    //////////////////////////////////////////////////
-
-    @Override
-    public boolean containsData() {
-        return db.getCollectionNames().size() > 0;
-    }
-
-    
-    //////////////////////////////////////////////////
-    // serial numbers
-    //////////////////////////////////////////////////
-    
-    @Override
-    public long nextSerialNumberBatch(final ObjectSpecId name, final int batchSize) {
-        long next = readSerialNumber();
-        writeSerialNumber(next + batchSize);
-        return next + 1;
-    }
-
-    private void writeSerialNumber(final long serialNumber) {
-        final DBCollection system = db.getCollection(SERIALNUMBERS_COLLECTION_NAME);
-        DBObject object = system.findOne();
-        if (object == null) {
-            object = new BasicDBObject();
-        }
-        object.put("next-id", Long.toString(serialNumber));
-        system.save(object);
-        LOG.info("serial number written: " + serialNumber);
-    }
-
-    private long readSerialNumber() {
-        final DBCollection system = db.getCollection(SERIALNUMBERS_COLLECTION_NAME);
-        final DBObject data = system.findOne();
-        if (data == null) {
-            return 0;
-        } else {
-            final String number = (String) data.get("next-id");
-            LOG.info("serial number read: " + number);
-            return Long.valueOf(number);
-        }
-    }
-
-    //////////////////////////////////////////////////
-    // hasInstances, instancesOf
-    //////////////////////////////////////////////////
-
-    @Override
-    public boolean hasInstances(final ObjectSpecId objectSpecId) {
-        final DBCollection instances = db.getCollection(objectSpecId.asString());
-        return instances.getCount() > 0;
-    }
-
-    @Override
-    public Iterator<StateReader> instancesOf(final ObjectSpecId objectSpecId) {
-        final DBCollection instances = db.getCollection(objectSpecId.asString());
-        final DBCursor cursor = instances.find();
-        LOG.info("searching for instances of: " + objectSpecId);
-        return new Iterator<StateReader>() {
-            @Override
-            public boolean hasNext() {
-                return cursor.hasNext();
-            }
-
-            @Override
-            public StateReader next() {
-                return new MongoStateReader(cursor.next());
-            }
-
-            @Override
-            public void remove() {
-                throw new NoSqlStoreException("Can't remove elements");
-            }
-
-        };
-    }
-    
-    @Override
-    public Iterator<StateReader> instancesOf(ObjectSpecId objectSpecId, ObjectAdapter pattern) {
-        final DBCollection instances = db.getCollection(objectSpecId.asString());
-
-        // REVIEW check the right types are used in matches 
-        final BasicDBObject query = new BasicDBObject();
-        for ( ObjectAssociation association  : pattern.getSpecification().getAssociations(Contributed.EXCLUDED)) {
-            ObjectAdapter field = association.get(pattern);
-            if (!association.isEmpty(pattern)) {
-                if (field.isValue()) {
-                    query.put(association.getIdentifier().getMemberName(), field.titleString());
-                } else if (association.isOneToOneAssociation()) {
-                    query.put(association.getIdentifier().getMemberName(), field.getOid());
-                }
-            }
-        }
-        final DBCursor cursor = instances.find(query);
-        LOG.info("searching for instances of: " + objectSpecId);
-        return new Iterator<StateReader>() {
-            @Override
-            public boolean hasNext() {
-                return cursor.hasNext();
-            }
-
-            @Override
-            public StateReader next() {
-                return new MongoStateReader(cursor.next());
-            }
-
-            @Override
-            public void remove() {
-                throw new NoSqlStoreException("Can't remove elements");
-            }
-
-        };
-    }
-
-    @Override
-    public StateReader getInstance(final String key, final ObjectSpecId objectSpecId) {
-        return new MongoStateReader(db, objectSpecId, key);
-    }
-
-    //////////////////////////////////////////////////
-    // write, delete
-    //////////////////////////////////////////////////
-
-    public StateWriter createStateWriter(final ObjectSpecId objectSpecId) {
-        return new MongoStateWriter(db, objectSpecId);
-    }
-
-
-    @Override
-    public void write(final List<PersistenceCommand> commands) {
-        final NoSqlCommandContext context = new MongoClientCommandContext(db);
-        for (final PersistenceCommand command : commands) {
-            command.execute(context);
-        }
-    }
-
-
-    //////////////////////////////////////////////////
-    // services
-    //////////////////////////////////////////////////
-
-    @Override
-    public void addService(final ObjectSpecId objectSpecId, final String key) {
-        final DBCollection services = db.getCollection("services");
-        services.insert(new BasicDBObject().append("name", objectSpecId.asString()).append("key", key));
-        LOG.info("service added " + objectSpecId + ":" + key);
-    }
-
-    @Override
-    public String getService(final ObjectSpecId objectSpecId) {
-        final DBCollection services = db.getCollection("services");
-        final DBObject object = services.findOne(new BasicDBObject().append("name", objectSpecId.asString()));
-        if (object == null) {
-            return null;
-        } else {
-            final String id = (String) object.get("key");
-            LOG.info("service found " + objectSpecId + ":" + id);
-            return id;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoPersistorMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoPersistorMechanismInstaller.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoPersistorMechanismInstaller.java
deleted file mode 100644
index 135f07a..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoPersistorMechanismInstaller.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.objectstore.nosql.db.mongo;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-import org.apache.isis.objectstore.nosql.db.NoSqlPersistorMechanismInstaller;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-
-public class MongoPersistorMechanismInstaller extends NoSqlPersistorMechanismInstaller {
-
-    private static final String STRING = ConfigurationConstants.ROOT + "nosql.mongodb.";
-    private static final String DB_HOST = STRING + "host";
-    private static final String DB_PORT = STRING + "port";
-    private static final String DB_NAME = STRING + "name";
-
-    public MongoPersistorMechanismInstaller() {
-        super("mongodb");
-    }
-
-    @Override
-    protected NoSqlDataDatabase createNoSqlDatabase(final IsisConfiguration configuration) {
-        NoSqlDataDatabase db;
-        final String host = configuration.getString(DB_HOST, "localhost");
-        final int port = configuration.getInteger(DB_PORT, 0);
-        final String name = configuration.getString(DB_NAME, "isis");
-        final KeyCreatorDefault keyCreator = new KeyCreatorDefault();
-        db = new MongoDb(host, port, name, keyCreator);
-        return db;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReader.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReader.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReader.java
deleted file mode 100644
index 345d3fb..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReader.java
+++ /dev/null
@@ -1,123 +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.objectstore.nosql.db.mongo;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.mongodb.BasicDBList;
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-import com.mongodb.DBObject;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
-import org.apache.isis.objectstore.nosql.db.StateReader;
-
-public class MongoStateReader implements StateReader {
-    
-    private static final Logger LOG = LoggerFactory.getLogger(MongoStateReader.class);
-    private final DBObject instance;
-
-    public MongoStateReader(final DB db, final ObjectSpecId objectSpecId, final String mongoId) {
-        final DBCollection instances = db.getCollection(objectSpecId.asString());
-        instance = instances.findOne(mongoId);
-        if (instance == null) {
-            throw new ObjectNotFoundException(mongoId);
-        }
-        if(LOG.isDebugEnabled()) {
-            LOG.debug("loading " + instance);
-        }
-    }
-
-    public MongoStateReader(final DBObject instance) {
-        this.instance = instance;
-        if(LOG.isDebugEnabled()) {
-            LOG.debug("loading " + instance);
-        }
-    }
-
-    @Override
-    public long readLongField(final String id) {
-        final Object value = instance.get(id);
-        if (value == null || value.equals("null")) {
-            return 0;
-        } 
-        return Long.valueOf((String) value);
-    }
-
-    @Override
-    public String readField(final String name) {
-        final Object value = instance.get(name);
-        if (value == null || value.equals("null")) {
-            return null;
-        } else {
-            return (String) value;
-        }
-    }
-
-    @Override
-    public String readEncrytionType() {
-        return (String) instance.get(PropertyNames.ENCRYPT);
-    }
-
-    @Override
-    public String readOid() {
-        return readField(PropertyNames.OID);
-    }
-
-    @Override
-    public String readVersion() {
-        return readField(PropertyNames.VERSION);
-    }
-
-    @Override
-    public String readUser() {
-        return readField(PropertyNames.USER);
-    }
-
-    @Override
-    public String readTime() {
-        return readField(PropertyNames.TIME);
-    }
-
-    @Override
-    public StateReader readAggregate(final String id) {
-        DBObject object = (DBObject) instance.get(id);
-        return object == null ? null : new MongoStateReader(object);
-    }
-
-    @Override
-    public List<StateReader> readCollection(final String id) {
-        BasicDBList array = (BasicDBList) instance.get(id);
-        final List<StateReader> readers = new ArrayList<StateReader>();
-        if (array != null) {
-            final int size = array.size();
-            for (int i = 0; i < size; i++) {
-                readers.add(new MongoStateReader((DBObject) array.get(i)));
-            }
-        }
-        return readers;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriter.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriter.java
deleted file mode 100644
index 69cafca..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriter.java
+++ /dev/null
@@ -1,131 +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.objectstore.nosql.db.mongo;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-
-public class MongoStateWriter implements StateWriter {
-    
-    private static final Logger LOG = LoggerFactory.getLogger(MongoStateWriter.class);
-    private final DB db;
-    private final BasicDBObject dbObject;
-    private DBCollection instances;
-
-    public MongoStateWriter(final DB db, final ObjectSpecId objectSpecId) {
-        this(db);
-        instances = db.getCollection(objectSpecId.asString());
-    }
-
-    private MongoStateWriter(final DB db) {
-        this.db = db;
-        dbObject = new BasicDBObject();
-    }
-
-    public void flush() {
-        instances.save(dbObject);
-        if(LOG.isDebugEnabled()) {
-            LOG.debug("saved " + dbObject);
-        }
-    }
-
-    @Override
-    public void writeOid(final TypedOid typedOid) {
-        writeField(PropertyNames.OID, typedOid.enString(getOidMarshaller()));
-        if(typedOid instanceof RootOid) {
-            RootOid rootOid = (RootOid) typedOid;
-            writeField(PropertyNames.MONGO_INTERNAL_ID, rootOid.getIdentifier());
-        }
-    }
-
-    @Override
-    public void writeField(final String id, final String data) {
-        dbObject.put(id, data);
-    }
-
-    @Override
-    public void writeField(final String id, final long l) {
-        dbObject.put(id, Long.toString(l));
-    }
-
-    @Override
-    public void writeEncryptionType(final String type) {
-        writeField(PropertyNames.ENCRYPT, type);
-    }
-
-    @Override
-    public void writeVersion(final String currentVersion, final String newVersion) {
-         writeField(PropertyNames.VERSION, newVersion);
-    }
-
-    @Override
-    public void writeTime(final String time) {
-        writeField(PropertyNames.TIME, time);
-    }
-
-    @Override
-    public void writeUser(final String user) {
-        writeField(PropertyNames.USER, user);
-    }
-
-    @Override
-    public StateWriter addAggregate(final String id) {
-        final MongoStateWriter stateWriter = new MongoStateWriter(db);
-        dbObject.put(id, stateWriter.dbObject);
-        return stateWriter;
-    }
-
-    @Override
-    public StateWriter createElementWriter() {
-        return new MongoStateWriter(db);
-    }
-
-    @Override
-    public void writeCollection(final String id, final List<StateWriter> elements) {
-        final List<BasicDBObject> collection = Lists.newArrayList();
-        for (final StateWriter writer : elements) {
-            collection.add(((MongoStateWriter) writer).dbObject);
-        }
-        dbObject.put(id, collection);
-    }
-    
-    // ///////////////////////////////////////////////////////////////////
-    // dependencies
-    // ///////////////////////////////////////////////////////////////////
-
-    protected OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/PropertyNames.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/PropertyNames.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/PropertyNames.java
deleted file mode 100644
index e613227..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/PropertyNames.java
+++ /dev/null
@@ -1,37 +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.objectstore.nosql.db.mongo;
-
-public final class PropertyNames {
-    
-    private PropertyNames(){}
-    
-    static final String ENCRYPT = "_encrypt";
-    
-//    static final String TYPE = "_type";
-//    static final String ID = "_id";
-    
-    static final String MONGO_INTERNAL_ID = "_id";
-    static final String OID = "_oid";
-    static final String VERSION = "_version";
-    static final String TIME = "_time";
-    static final String USER = "_user";
-}
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/DataEncryption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/DataEncryption.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/DataEncryption.java
deleted file mode 100644
index e32d090..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/DataEncryption.java
+++ /dev/null
@@ -1,33 +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.objectstore.nosql.encryption;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-
-public interface DataEncryption {
-
-    void init(IsisConfiguration configuration);
-    
-    String getType();
-
-    String encrypt(String plainText);
-
-    String decrypt(String encryptedText);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/aes/DataEncryptionAes.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/aes/DataEncryptionAes.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/aes/DataEncryptionAes.java
deleted file mode 100644
index 49cf4af..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/aes/DataEncryptionAes.java
+++ /dev/null
@@ -1,74 +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.objectstore.nosql.encryption.aes;
-
-import javax.crypto.Cipher;
-import javax.crypto.spec.SecretKeySpec;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-
-/**
- * NOTE this does not work at the moment
- */
-public class DataEncryptionAes implements DataEncryption {
-
-    private static final String AES = "AES";
-    private final byte[] specKey;
-
-    public DataEncryptionAes() {
-        specKey = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 };
-    }
-
-    @Override
-    public void init(final IsisConfiguration configuration) {
-    }
-
-    @Override
-    public String getType() {
-        return AES;
-    }
-
-    @Override
-    public String encrypt(final String plainText) {
-        try {
-            final SecretKeySpec key = new SecretKeySpec(specKey, AES);
-            final Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
-            cipher.init(Cipher.ENCRYPT_MODE, key);
-            return new String(cipher.doFinal(plainText.getBytes()));
-        } catch (final Exception e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    @Override
-    public String decrypt(final String encryptedText) {
-        try {
-            final SecretKeySpec key = new SecretKeySpec(specKey, AES);
-            final Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
-            cipher.init(Cipher.DECRYPT_MODE, key);
-            final byte[] decrypted = cipher.doFinal(encryptedText.getBytes());
-            return new String(decrypted);
-        } catch (final Exception e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishAbstract.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishAbstract.java
deleted file mode 100644
index b5426db..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishAbstract.java
+++ /dev/null
@@ -1,70 +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.objectstore.nosql.encryption.blowfish;
-
-import javax.crypto.Cipher;
-import javax.crypto.spec.SecretKeySpec;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-
-public abstract class DataEncryptionBlowfishAbstract implements DataEncryption {
-
-    private static final String BLOWFISH = "Blowfish";
-    private byte[] specKey;
-
-    @Override
-    public void init(final IsisConfiguration configuration) {
-        specKey = secretKey(configuration);
-    }
-
-    public abstract byte[] secretKey(IsisConfiguration configuration);
-
-    @Override
-    public String getType() {
-        return BLOWFISH;
-    }
-
-    @Override
-    public String encrypt(final String plainText) {
-        try {
-            final SecretKeySpec key = new SecretKeySpec(specKey, BLOWFISH);
-            final Cipher cipher = Cipher.getInstance(BLOWFISH);
-            cipher.init(Cipher.ENCRYPT_MODE, key);
-            return new String(cipher.doFinal(plainText.getBytes()));
-        } catch (final Exception e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    @Override
-    public String decrypt(final String encryptedText) {
-        try {
-            final SecretKeySpec key = new SecretKeySpec(specKey, BLOWFISH);
-            final Cipher cipher = Cipher.getInstance(BLOWFISH);
-            cipher.init(Cipher.DECRYPT_MODE, key);
-            final byte[] decrypted = cipher.doFinal(encryptedText.getBytes());
-            return new String(decrypted);
-        } catch (final Exception e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishUsingConfiguration.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishUsingConfiguration.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishUsingConfiguration.java
deleted file mode 100644
index 501481d..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishUsingConfiguration.java
+++ /dev/null
@@ -1,38 +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.objectstore.nosql.encryption.blowfish;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-
-public class DataEncryptionBlowfishUsingConfiguration extends DataEncryptionBlowfishAbstract {
-
-    private static final String ENCRYPTION_KEY = ConfigurationConstants.ROOT + "nosql.encryption.blowfish-key";
-
-    @Override
-    public byte[] secretKey(final IsisConfiguration configuration) {
-        final String key = configuration.getString(ENCRYPTION_KEY);
-        if (key == null) {
-            throw new NoSqlStoreException("No blowfish encryption key specified in the configuration file (key: " + ENCRYPTION_KEY + ")");
-        }
-        return key.getBytes();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishUsingKeyFile.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishUsingKeyFile.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishUsingKeyFile.java
deleted file mode 100644
index 9d5cfd1..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/blowfish/DataEncryptionBlowfishUsingKeyFile.java
+++ /dev/null
@@ -1,54 +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.objectstore.nosql.encryption.blowfish;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-
-public class DataEncryptionBlowfishUsingKeyFile extends DataEncryptionBlowfishAbstract {
-
-    private static final String ENCRYPTION_KEY_FILE = ConfigurationConstants.ROOT + "nosql.encryption.blowfish-key-file";
-
-    @Override
-    public byte[] secretKey(final IsisConfiguration configuration) {
-        final String fileName = configuration.getString(ENCRYPTION_KEY_FILE, "./blowfish.key");
-        final File file = new File(fileName);
-        if (file.exists()) {
-            try {
-                final InputStream fileInput = new FileInputStream(file);
-                final byte[] buffer = new byte[1024];
-                final int length = fileInput.read(buffer);
-                final byte[] key = new byte[length];
-                System.arraycopy(buffer, 0, key, 0, length);
-                return key;
-            } catch (final IOException e) {
-                throw new NoSqlStoreException("Failed to read in encryption file: " + file.getAbsolutePath(), e);
-            }
-        } else {
-            throw new NoSqlStoreException("Cannot find encryption file: " + file.getAbsolutePath());
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/none/DataEncryptionNone.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/none/DataEncryptionNone.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/none/DataEncryptionNone.java
deleted file mode 100644
index 2048cb5..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/none/DataEncryptionNone.java
+++ /dev/null
@@ -1,45 +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.objectstore.nosql.encryption.none;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-
-public class DataEncryptionNone implements DataEncryption {
-
-    @Override
-    public void init(final IsisConfiguration configuration) {
-    }
-    
-    @Override
-    public String getType() {
-        return "none";
-    }
-
-    @Override
-    public String encrypt(final String plainText) {
-        return plainText;
-    }
-
-    @Override
-    public String decrypt(final String encryptedText) {
-        return encryptedText;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/rot13/Rot13Encryption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/rot13/Rot13Encryption.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/rot13/Rot13Encryption.java
deleted file mode 100644
index 0551634..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/encryption/rot13/Rot13Encryption.java
+++ /dev/null
@@ -1,68 +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.objectstore.nosql.encryption.rot13;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-
-public class Rot13Encryption implements DataEncryption {
-
-    @Override
-    public String getType() {
-        return "rot13";
-    }
-
-    @Override
-    public void init(final IsisConfiguration configuration) {
-    }
-
-    @Override
-    public String encrypt(final String plainText) {
-        return encode(plainText);
-    }
-
-    @Override
-    public String decrypt(final String encryptedText) {
-        return encode(encryptedText);
-    }
-
-    private String encode(final String plainText) {
-        if (plainText == null) {
-            return plainText;
-        }
-
-        // encode plainText
-        String encodedMessage = "";
-        for (int i = 0; i < plainText.length(); i++) {
-            char c = plainText.charAt(i);
-            if (c >= 'a' && c <= 'm') {
-                c += 13;
-            } else if (c >= 'n' && c <= 'z') {
-                c -= 13;
-            } else if (c >= 'A' && c <= 'M') {
-                c += 13;
-            } else if (c >= 'N' && c <= 'Z') {
-                c -= 13;
-            }
-            encodedMessage += c;
-        }
-        return encodedMessage;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/keys/KeyCreatorDefault.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/keys/KeyCreatorDefault.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/keys/KeyCreatorDefault.java
deleted file mode 100644
index b3fb21e..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/keys/KeyCreatorDefault.java
+++ /dev/null
@@ -1,99 +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.objectstore.nosql.keys;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-
-public class KeyCreatorDefault {
-
-    /**
-     * returns {@link RootOid#getIdentifier()} (oid must be {@link RootOid}, and must be persistent). 
-     */
-    public String getIdentifierForPersistentRoot(final Oid oid) {
-        if (!(oid instanceof RootOid)) {
-            throw new NoSqlStoreException("Oid is not a RootOid: " + oid);
-        } 
-        RootOid rootOid = (RootOid) oid;
-        if (rootOid.isTransient()) {
-            throw new NoSqlStoreException("Oid is not for a persistent object: " + oid);
-        }
-        return rootOid.getIdentifier();
-    }
-
-    /**
-     * Equivalent to the {@link Oid#enString(OidMarshaller)} for the adapter's Oid.
-     */
-    public String oidStrFor(final ObjectAdapter adapter) {
-        if(adapter == null) {
-            return null;
-        }
-        try {
-            //return adapter.getSpecification().getFullIdentifier() + "@" + key(adapter.getOid());
-            return adapter.getOid().enString(getOidMarshaller());
-        } catch (final NoSqlStoreException e) {
-            throw new NoSqlStoreException("Failed to create refence for " + adapter, e);
-        }
-    }
-
-    public RootOid createRootOid(ObjectSpecification objectSpecification, final String identifier) {
-        final ObjectSpecId objectSpecId = objectSpecification.getSpecId();
-        return RootOidDefault.create(objectSpecId, identifier);
-    }
-
-    public RootOid unmarshal(final String oidStr) {
-//        final ObjectSpecification objectSpecification = specificationFromReference(ref);
-//        final String id = ref.split("@")[1];
-//        return oid(objectSpecification, id);
-        return getOidMarshaller().unmarshal(oidStr, RootOid.class);
-    }
-
-    public ObjectSpecification specificationFromOidStr(final String oidStr) {
-//        final String name = ref.split("@")[0];
-//        return getSpecificationLoader().loadSpecification(name);
-        final TypedOid oid = getOidMarshaller().unmarshal(oidStr, TypedOid.class);
-        return getSpecificationLoader().lookupBySpecId(oid.getObjectSpecId());
-    }
-
-    
-    /////////////////////////////////////////////////
-    // dependencies (from context)
-    /////////////////////////////////////////////////
-    
-    
-    protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-    protected OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/versions/VersionCreator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/versions/VersionCreator.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/versions/VersionCreator.java
deleted file mode 100644
index 87719b7..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/versions/VersionCreator.java
+++ /dev/null
@@ -1,34 +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.objectstore.nosql.versions;
-
-import org.apache.isis.core.metamodel.adapter.version.Version;
-
-public interface VersionCreator {
-
-    Version version(String versionString, String user, String time);
-    String versionString(Version version);
-
-    String timeString(Version version);
-
-    Version newVersion(String user);
-
-    Version nextVersion(Version version, final String user);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/versions/VersionCreatorDefault.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/versions/VersionCreatorDefault.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/versions/VersionCreatorDefault.java
deleted file mode 100644
index 14d7f97..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/versions/VersionCreatorDefault.java
+++ /dev/null
@@ -1,59 +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.objectstore.nosql.versions;
-
-import java.util.Date;
-
-import org.apache.isis.core.metamodel.adapter.version.SerialNumberVersion;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-
-public class VersionCreatorDefault implements VersionCreator {
-
-    @Override
-    public String versionString(final Version version) {
-        final long sequence = version.getSequence();
-        return Long.toHexString(sequence);
-    }
-
-    @Override
-    public String timeString(final Version version) {
-        final Date time = version.getTime();
-        return Long.toHexString(time.getTime());
-    }
-
-    @Override
-    public Version version(final String versionString, final String user, final String timeString) {
-        final Long sequence = Long.valueOf(versionString, 16);
-        final Long time = Long.valueOf(timeString, 16);
-        final Date date = new Date(time);
-        return SerialNumberVersion.create(sequence, user, date);
-    }
-
-    @Override
-    public Version newVersion(final String user) {
-        return SerialNumberVersion.create(1, user, new Date());
-    }
-
-    @Override
-    public Version nextVersion(final Version version, final String user) {
-        final long sequence = version.getSequence() + 1;
-        return SerialNumberVersion.create(sequence, user, new Date());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/site/apt/index.apt b/mothballed/component/objectstore/nosql/src/site/apt/index.apt
deleted file mode 100644
index 9df5853..0000000
--- a/mothballed/component/objectstore/nosql/src/site/apt/index.apt
+++ /dev/null
@@ -1,37 +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.
-
-
-
-NoSQL Objectstore Implementation
- 
- The <nosql> objectstore module provides an implementation of the object store
- API that persists domain objects using JSON.
-
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}dflt}} in-memory object store (for prototyping only)
-
-  * the {{{../sql/index.html}SQL}} object store
-
-  * the {{{../xml/index.html}XML}} object store
-
-  []
- 
- []
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/site/apt/jottings.apt b/mothballed/component/objectstore/nosql/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/objectstore/nosql/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/site/site.xml b/mothballed/component/objectstore/nosql/src/site/site.xml
deleted file mode 100644
index 419f3ca..0000000
--- a/mothballed/component/objectstore/nosql/src/site/site.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="NoSQL" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="NoSQL Objectstore">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Objectstore Modules">
-            <item name="Default (in-mem)" href="../dflt/index.html" />
-            <item name="XML" href="../xml/index.html" />
-            <item name="SQL" href="../sql/index.html" />
-            <item name="NoSQL" href="../nosql/index.html" />
-        </menu>
-
-        <menu name="Documentation">
-            <item name="${docbkxGuideTitle} (PDF)" href="docbkx/pdf/${docbkxGuideName}.pdf" />
-            <item name="${docbkxGuideTitle} (HTML)" href="docbkx/html/guide/${docbkxGuideName}.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/DestroyObjectCommandImplementationTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/DestroyObjectCommandImplementationTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/DestroyObjectCommandImplementationTest.java
deleted file mode 100644
index 1eff942..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/DestroyObjectCommandImplementationTest.java
+++ /dev/null
@@ -1,107 +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.objectstore.nosql;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.nosql.versions.VersionCreatorDefault;
-
-public class DestroyObjectCommandImplementationTest {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    @Mock
-    private NoSqlCommandContext commandContext;
-    @Mock
-    private ObjectSpecification specification;
-    @Mock
-    private ObjectAdapter adapter;
-    
-    @Mock
-    private VersionCreatorDefault versionCreator;
-    @Mock
-    private Version version;
-
-    //private KeyCreatorDefault keyCreator;
-
-    private final ObjectSpecId specId = ObjectSpecId.of("com.foo.bar.SomeClass");
-
-    private long id = 123;
-    private String keyStr = Long.toString(id, 16);
-
-    private RootOid rootOid = RootOidDefault.create(specId, keyStr);
-
-    private NoSqlDestroyObjectCommand command;
-
-    @Before
-    public void setup() {
-        //keyCreator = new KeyCreatorDefault();
-        
-        context.checking(new Expectations(){{
-
-            allowing(specification).getFullIdentifier();
-            will(returnValue("com.foo.bar.SomeClass"));
-
-            allowing(specification).getSpecId();
-            will(returnValue(specId));
-
-            allowing(adapter).getSpecification();
-            will(returnValue(specification));
-            
-            allowing(adapter).getOid();
-            will(returnValue(rootOid));
-
-            allowing(adapter).getVersion();
-            will(returnValue(version));
-
-        }});
-    }
-
-    @Test
-    public void execute() throws Exception {
-        
-        final String versionStr = "3";
-
-        context.checking(new Expectations() {
-            {
-                one(versionCreator).versionString(version);
-                will(returnValue(versionStr));
-
-                one(commandContext).delete(specification.getSpecId(), keyStr, versionStr, rootOid);
-            }
-        });
-
-        command = new NoSqlDestroyObjectCommand(versionCreator, adapter);
-        command.execute(commandContext);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java
deleted file mode 100644
index 9b2a553..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java
+++ /dev/null
@@ -1,142 +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.objectstore.nosql;
-
-import static org.junit.Assert.assertEquals;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGenerator;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-
-public class NoSqlIdentifierGeneratorTest {
-
-    public static class ExamplePojo {
-    }
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
-
-    @Mock
-    private NoSqlDataDatabase db;
-    @Mock
-    private SpecificationLoader mockSpecificationLoader;
-    @Mock
-    private ObjectSpecification mockSpecification;
-
-    private final ObjectSpecId sequenceNumbersSpecId = ObjectSpecId.of("_id");
-    private IdentifierGenerator identifierGenerator;
-
-    @Before
-    public void setup() {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
-
-        context.checking(new Expectations() {
-            {
-                allowing(mockSpecificationLoader).loadSpecification(with(ExamplePojo.class));
-                will(returnValue(mockSpecification));
-
-                allowing(mockSpecification).getCorrespondingClass();
-                will(returnValue(ExamplePojo.class));
-
-                allowing(mockSpecification).getCorrespondingClass();
-                will(returnValue(sequenceNumbersSpecId));
-            }
-        });
-
-        identifierGenerator = new NoSqlIdentifierGenerator(db, -999, 4);
-    }
-
-    @Test
-    public void transientIdentifier() throws Exception {
-        String identifier = identifierGenerator.createTransientIdentifierFor(sequenceNumbersSpecId, new ExamplePojo());
-        assertEquals("-999", identifier);
-        
-        identifier = identifierGenerator.createTransientIdentifierFor(sequenceNumbersSpecId, new ExamplePojo());
-        assertEquals("-998", identifier);
-    }
-
-    @Test
-    public void batchCreatedAndReused() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(db).nextSerialNumberBatch(sequenceNumbersSpecId, 4);
-                will(returnValue(1L));
-            }
-        });
-
-        RootOid transientRootOid = RootOidDefault.createTransient(sequenceNumbersSpecId, "-998");
-        String identifier = identifierGenerator.createPersistentIdentifierFor(sequenceNumbersSpecId, new ExamplePojo(), transientRootOid);
-        assertEquals("1", identifier);
-
-        transientRootOid = RootOidDefault.createTransient(sequenceNumbersSpecId, "-997");
-        identifier = identifierGenerator.createPersistentIdentifierFor(sequenceNumbersSpecId, new ExamplePojo(), transientRootOid);
-        assertEquals("2", identifier);
-    }
-
-    @Test
-    public void secondBatchCreated() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(db).nextSerialNumberBatch(sequenceNumbersSpecId, 4);
-                will(returnValue(1L));
-            }
-        });
-
-        RootOid transientRootOid = RootOidDefault.createTransient(sequenceNumbersSpecId, "-998");
-        String identifier = identifierGenerator.createPersistentIdentifierFor(sequenceNumbersSpecId, new ExamplePojo(), transientRootOid);
-        assertEquals("1", identifier);
-
-        transientRootOid = RootOidDefault.createTransient(sequenceNumbersSpecId, "-997");
-        identifier = identifierGenerator.createPersistentIdentifierFor(sequenceNumbersSpecId, new ExamplePojo(), transientRootOid);
-        assertEquals("2", identifier);
-
-        transientRootOid = RootOidDefault.createTransient(sequenceNumbersSpecId, "-996");
-        identifier = identifierGenerator.createPersistentIdentifierFor(sequenceNumbersSpecId, new ExamplePojo(), transientRootOid);
-        assertEquals("3", identifier);
-
-        transientRootOid = RootOidDefault.createTransient(sequenceNumbersSpecId, "-995");
-        identifier = identifierGenerator.createPersistentIdentifierFor(sequenceNumbersSpecId, new ExamplePojo(), transientRootOid);
-        assertEquals("4", identifier);
-
-        context.checking(new Expectations() {
-            {
-                one(db).nextSerialNumberBatch(sequenceNumbersSpecId, 4);
-                will(returnValue(5L));
-            }
-        });
-
-        transientRootOid = RootOidDefault.createTransient(sequenceNumbersSpecId, "-994");
-        identifier = identifierGenerator.createPersistentIdentifierFor(sequenceNumbersSpecId, new ExamplePojo(), transientRootOid);
-        assertEquals("5", identifier);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlKeyCreatorTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlKeyCreatorTest.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlKeyCreatorTest.java
deleted file mode 100644
index 410f483..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlKeyCreatorTest.java
+++ /dev/null
@@ -1,98 +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.objectstore.nosql;
-
-import static org.junit.Assert.assertEquals;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-
-public class NoSqlKeyCreatorTest {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private OidMarshaller mockOidMarshaller;
-    @Mock
-    private SpecificationLoader mockSpecificationLoader;
-    @Mock
-    private ObjectSpecification mockSpecification;
-
-    private final RootOidDefault oid = RootOidDefault.create(ObjectSpecId.of("ERP"), "3");
-    private final String oidStr = oid.enString(new OidMarshaller());
-
-    private KeyCreatorDefault keyCreatorDefault;
-
-    
-    @Before
-    public void setUp() throws Exception {
-        keyCreatorDefault = new KeyCreatorDefault() {
-            @Override
-            protected OidMarshaller getOidMarshaller() {
-                return mockOidMarshaller;
-            }
-            @Override
-            protected SpecificationLoader getSpecificationLoader() {
-                return mockSpecificationLoader;
-            }
-        };
-    }
-
-    @Test
-    public void unmarshal() throws Exception {
-        context.checking(new Expectations() {
-
-            {
-                one(mockOidMarshaller).unmarshal(oidStr, RootOid.class);
-                will(returnValue(oid));
-            }
-        });
-        assertEquals(oid, keyCreatorDefault.unmarshal(oidStr));
-    }
-
-    @Test
-    public void specification() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(mockOidMarshaller).unmarshal(oidStr, TypedOid.class);
-                will(returnValue(oid));
-                one(mockSpecificationLoader).lookupBySpecId(oid.getObjectSpecId());
-                will(returnValue(mockSpecification));
-            }
-        });
-        final ObjectSpecification spec = keyCreatorDefault.specificationFromOidStr(oidStr);
-        assertEquals(mockSpecification, spec);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlKeyCreatorTest_reference.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlKeyCreatorTest_reference.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlKeyCreatorTest_reference.java
deleted file mode 100644
index 83d67f8..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlKeyCreatorTest_reference.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.objectstore.nosql;
-
-import static org.junit.Assert.assertEquals;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-
-public class NoSqlKeyCreatorTest_reference {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
-
-    @Mock
-    private ObjectSpecification specification;
-    @Mock
-    private ObjectAdapter adapter;
-    
-    private final String className = "com.foo.bar.SomeClass";
-    private final String objectType = "SCL";
-    
-    private final RootOidDefault rootOidDefault = RootOidDefault.create(ObjectSpecId.of(objectType), ""+123);
-    
-    private KeyCreatorDefault keyCreatorDefault;
-
-    @Before
-    public void setup() {
-        keyCreatorDefault = new KeyCreatorDefault();
-        
-        context.checking(new Expectations() {
-            {
-                allowing(adapter).getSpecification();
-                will(returnValue(specification));
-
-                allowing(adapter).getOid();
-                will(returnValue(rootOidDefault));
-
-                allowing(specification).getFullIdentifier();
-                will(returnValue(className));
-            }
-        });
-    }
-
-    @Test
-    public void reference() throws Exception {
-        final String expectedReference = objectType + ":" + rootOidDefault.getIdentifier();
-        assertEquals(expectedReference, keyCreatorDefault.oidStrFor(adapter));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java b/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java
deleted file mode 100644
index 05f9178..0000000
--- a/mothballed/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java
+++ /dev/null
@@ -1,103 +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.objectstore.nosql;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Map;
-
-import com.google.common.collect.Maps;
-
-import org.jmock.Expectations;
-import org.jmock.Sequence;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.runtime.system.persistence.OidGenerator;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-public class NoSqlObjectStoreTest_constructor {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    @Mock
-    private NoSqlDataDatabase db;
-    
-    @Mock
-    private VersionCreator versionCreator;
-
-    private Map<String, DataEncryption> dataEncrypter = Maps.newHashMap();
-
-    private NoSqlObjectStore store;
-
-    @Before
-    public void setup() {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);
-    }
-
-    @Test
-    public void withFixturesNotInstalled() throws Exception {
-        final Sequence constructor = context.sequence("<init>");
-        context.checking(new Expectations() {
-            {
-                one(db).open();
-                inSequence(constructor);
-                
-                one(db).containsData();
-                will(returnValue(false));
-                inSequence(constructor);
-                
-                one(db).close();
-                inSequence(constructor);
-            }
-        });
-        store = new NoSqlObjectStore(db, new OidGenerator(new NoSqlIdentifierGenerator(db)), versionCreator, null, dataEncrypter);
-        assertFalse(store.isFixturesInstalled());
-    }
-
-    @Test
-    public void withFixturesInstalled() throws Exception {
-        final Sequence constructor = context.sequence("<init>");
-        context.checking(new Expectations() {
-            {
-                one(db).open();
-                inSequence(constructor);
-                
-                one(db).containsData();
-                will(returnValue(true));
-                inSequence(constructor);
-                
-                one(db).close();
-                inSequence(constructor);
-            }
-        });
-        store = new NoSqlObjectStore(db, new OidGenerator(new NoSqlIdentifierGenerator(db)), versionCreator, null, dataEncrypter);
-        assertTrue(store.isFixturesInstalled());
-    }
-
-}


[05/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextSelection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextSelection.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextSelection.java
deleted file mode 100644
index ff78e7b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextSelection.java
+++ /dev/null
@@ -1,99 +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.dnd.view.text;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-public class TextSelection {
-    private final CursorPosition cursor;
-    private final CursorPosition start;
-
-    public TextSelection(final TextContent content) {
-        this.cursor = new CursorPosition(content, 0, 0);
-        this.start = new CursorPosition(content, 0, 0);
-    }
-
-    /**
-     * Determine if the selection is back to front. Returns true if the cursor
-     * position is before the start position.
-     */
-    private boolean backwardSelection() {
-        return cursor.isBefore(start);
-    }
-
-    public void extendTo(final CursorPosition pos) {
-        cursor.asFor(pos);
-    }
-
-    /**
-     * extends the selection so the end point is the same as the cursor.
-     */
-    public void extendTo(final Location at) {
-        cursor.cursorAt(at);
-    }
-
-    public CursorPosition from() {
-        return backwardSelection() ? cursor : start;
-    }
-
-    // private CursorPosition end = new CursorPosition(0,0);
-
-    /**
-     * returns true is a selection exists - if the start and end locations are
-     * not the same
-     */
-    public boolean hasSelection() {
-        return !cursor.samePosition(start);
-    }
-
-    /**
-     * clears the selection so nothing is selected. The start and end points are
-     * set to the same values as the cursor.
-     */
-    public void resetTo(final CursorPosition pos) {
-        start.asFor(pos);
-        cursor.asFor(pos);
-    }
-
-    public void selectSentence() {
-        resetTo(cursor);
-        start.home();
-        cursor.end();
-    }
-
-    /**
-     * set the selection to be for the word marked by the current cursor
-     * 
-     */
-    public void selectWord() {
-        resetTo(cursor);
-        start.wordLeft();
-        cursor.wordRight();
-    }
-
-    public CursorPosition to() {
-        return backwardSelection() ? start : cursor;
-    }
-
-    @Override
-    public String toString() {
-        return "Selection [from=" + start.getLine() + ":" + start.getCharacter() + ",to=" + cursor.getLine() + ":" + cursor.getCharacter() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextUtils.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextUtils.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextUtils.java
deleted file mode 100644
index be45cfd..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextUtils.java
+++ /dev/null
@@ -1,63 +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.dnd.view.text;
-
-import org.apache.isis.viewer.dnd.drawing.Text;
-
-public class TextUtils {
-
-    private TextUtils() {
-    }
-
-    public static String limitText(final String xtext, final Text style, final int maxWidth) {
-        String text = xtext;
-        final int ellipsisWidth = style.stringWidth("...");
-        if (maxWidth > 0 && style.stringWidth(text) > maxWidth) {
-            int lastCharacterWithinAllowedWidth = 0;
-            for (int textWidth = ellipsisWidth; textWidth <= maxWidth;) {
-                final char character = text.charAt(lastCharacterWithinAllowedWidth);
-                textWidth += style.charWidth(character);
-                lastCharacterWithinAllowedWidth++;
-            }
-
-            int space = text.lastIndexOf(' ', lastCharacterWithinAllowedWidth - 1);
-            if (space > 0) {
-                while (space >= 0) {
-                    final char character = text.charAt(space - 1);
-                    if (Character.isLetterOrDigit(character)) {
-                        break;
-                    }
-                    space--;
-                }
-
-                text = text.substring(0, space);
-            } else {
-                if (lastCharacterWithinAllowedWidth > 0) {
-                    text = text.substring(0, lastCharacterWithinAllowedWidth - 1);
-                } else {
-                    text = "";
-                }
-            }
-            text += "...";
-        }
-        return text;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TitleText.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TitleText.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TitleText.java
deleted file mode 100644
index 5680c3d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TitleText.java
+++ /dev/null
@@ -1,125 +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.dnd.view.text;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ResolveException;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewState;
-
-/**
- * TitleText draws the text derived from the subclass within a view. The text is
- * properly truncated if longer than the specified maximum width.
- */
-public abstract class TitleText {
-    private static final int NO_MAX_WIDTH = -1;
-    private final Color color;
-    private final Text style;
-    private final View view;
-    private boolean resolveFailure;
-
-    public TitleText(final View view, final Text style, final Color color) {
-        this.view = view;
-        this.style = style;
-        this.color = color;
-    }
-
-    /**
-     * Draw this TitleText's text stating from the specified x coordination and
-     * on the specified baseline.
-     */
-    public void draw(final Canvas canvas, final int x, final int baseline) {
-        draw(canvas, x, baseline, NO_MAX_WIDTH);
-    }
-
-    /**
-     * Draw this TitleText's text stating from the specified x coordination and
-     * on the specified baseline. If a maximum width is specified (ie it is
-     * positive) then the text drawn will not extend past that width.
-     * 
-     * @param maxWidth
-     *            the maximum width to display the text within; if negative no
-     *            limit is imposed
-     */
-    public void draw(final Canvas canvas, final int x, final int baseline, final int maxWidth) {
-        Color color;
-        final ViewState state = view.getState();
-        if (resolveFailure) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_ERROR);
-        } else if (state.canDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_VALID);
-        } else if (state.cantDrop()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_INVALID);
-        } else if (state.isObjectIdentified()) {
-            color = Toolkit.getColor(ColorsAndFonts.COLOR_IDENTIFIED);
-        } else {
-            color = this.color;
-        }
-
-        final String text = TextUtils.limitText(getTitle(), style, maxWidth);
-
-        final int xt = x;
-        final int yt = baseline;
-
-        if (Toolkit.debug) {
-            final int x2 = style.stringWidth(text);
-            canvas.drawDebugOutline(new Bounds(xt, yt - style.getAscent(), x2, style.getTextHeight()), baseline, Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_DRAW));
-        }
-        canvas.drawText(text, xt, yt, color, style);
-    }
-
-    public Size getSize() {
-        final int height = style.getTextHeight();
-        final int width = style.stringWidth(getTitle());
-        return new Size(width, height);
-    }
-
-    private String getTitle() {
-        if (resolveFailure) {
-            return "Resolve Failure!";
-        }
-
-        String title;
-        try {
-            title = title();
-        } catch (final ResolveException e) {
-            resolveFailure = true;
-            title = "Resolve Failure!";
-        }
-        return title;
-    }
-
-    protected abstract String title();
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("style", style);
-        str.append("color", color);
-        return str.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/undo/AssociateCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/undo/AssociateCommand.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/undo/AssociateCommand.java
deleted file mode 100644
index f1f163c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/undo/AssociateCommand.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.dnd.view.undo;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.dnd.view.Command;
-
-public class AssociateCommand implements Command {
-    private final String description;
-    private final OneToOneAssociation field;
-    private final ObjectAdapter object;
-    private final ObjectAdapter associatedObject;
-    private final String name;
-
-    public AssociateCommand(final ObjectAdapter object, final ObjectAdapter associatedObject, final OneToOneAssociation field) {
-        this.description = "Clear association of " + associatedObject.titleString();
-        this.name = "associate " + associatedObject.titleString();
-        this.object = object;
-        this.associatedObject = associatedObject;
-        this.field = field;
-    }
-
-    @Override
-    public String getDescription() {
-        return description;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public void undo() {
-        field.clearAssociation(object);
-    }
-
-    @Override
-    public void execute() {
-        field.setAssociation(object, associatedObject);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/undo/SetValueCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/undo/SetValueCommand.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/undo/SetValueCommand.java
deleted file mode 100644
index 156fa30..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/undo/SetValueCommand.java
+++ /dev/null
@@ -1,85 +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.dnd.view.undo;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.viewer.dnd.view.Command;
-
-public class SetValueCommand implements Command {
-    private final String description;
-    private final OneToOneAssociation value;
-    private final ObjectAdapter object;
-    private final String oldValue;
-
-    public SetValueCommand(final ObjectAdapter object, final OneToOneAssociation value) {
-        final EncodableFacet facet = value.getFacet(EncodableFacet.class);
-        this.oldValue = facet.toEncodedString(object);
-        this.object = object;
-        this.value = value;
-
-        this.description = "reset the value to " + oldValue;
-    }
-
-    @Override
-    public String getDescription() {
-        return description;
-    }
-
-    @Override
-    public void undo() {
-        final EncodableFacet facet = value.getFacet(EncodableFacet.class);
-        final Object obj = facet.fromEncodedString(oldValue);
-        final ObjectAdapter adapter = getAdapterManager().adapterFor(obj);
-        value.setAssociation(object, adapter);
-        // have commented this out because it isn't needed; the transaction
-        // manager will do this
-        // for us on endTransaction. Still, if I'm wrong and it is needed,
-        // hopefully this
-        // comment will help...
-        // IsisContext.getObjectPersistor().objectChangedAllDirty();
-    }
-
-    @Override
-    public void execute() {
-    }
-
-    @Override
-    public String getName() {
-        return "entry";
-    }
-
-    // //////////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // //////////////////////////////////////////////////////////////////
-
-    private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    private static AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/AbstractWindowBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/AbstractWindowBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/AbstractWindowBorder.java
deleted file mode 100644
index 0ec0d67..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/AbstractWindowBorder.java
+++ /dev/null
@@ -1,211 +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.dnd.view.window;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.interaction.ViewDragImpl;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.border.BorderDrawing;
-
-public abstract class AbstractWindowBorder extends AbstractBorder {
-    protected static BorderDrawing borderRender;
-    protected WindowControl controls[];
-    private WindowControl overControl;
-
-    public static void setBorderRenderer(final BorderDrawing borderRender) {
-        AbstractWindowBorder.borderRender = borderRender;
-    }
-
-    public AbstractWindowBorder(final View enclosedView) {
-        super(enclosedView);
-        left = borderRender.getLeft();
-        right = borderRender.getRight();
-        top = borderRender.getTop();
-        bottom = borderRender.getBottom();
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        borderRender.debugDetails(debug);
-        if (controls.length > 0) {
-            debug.appendln("controls:-");
-            debug.indent();
-            for (final WindowControl control : controls) {
-                debug.append(control);
-                debug.appendln();
-            }
-            debug.unindent();
-        }
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        if (overBorder(drag.getLocation())) {
-            final Location location = drag.getLocation();
-            final View dragOverlay = Toolkit.getViewFactory().createDragViewOutline(getView());
-            return new ViewDragImpl(this, new Offset(location.getX(), location.getY()), dragOverlay);
-        } else {
-            return super.dragStart(drag);
-        }
-    }
-
-    protected void setControls(final WindowControl[] controls) {
-        this.controls = controls;
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        super.setSize(size);
-        layoutControls(size);
-    }
-
-    @Override
-    public void setBounds(final Bounds bounds) {
-        super.setBounds(bounds);
-        layoutControls(bounds.getSize());
-    }
-
-    private void layoutControls(final Size size) {
-        left = borderRender.getLeft();
-        right = borderRender.getRight();
-        top = borderRender.getTop();
-        bottom = borderRender.getBottom();
-
-        borderRender.layoutControls(size, controls);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        // blank background
-        final Bounds bounds = getBounds();
-        final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_WINDOW + "." + getSpecification().getName());
-        canvas.drawSolidRectangle(1, 1, bounds.getWidth() - 2, bounds.getHeight() - 2, color);
-
-        final boolean hasFocus = containsFocus();
-        final ViewState state = getState();
-        borderRender.draw(canvas, getSize(), hasFocus, state, controls, title() + " (" + getSpecification().getName() + ")");
-        // canvas.drawRectangle(0, 0, getSize().getWidth(),
-        // borderRender.getTop(), Toolkit.getColor(0xfff));
-
-        // controls
-        for (int i = 0; controls != null && i < controls.length; i++) {
-            final Canvas controlCanvas = canvas.createSubcanvas(controls[i].getBounds());
-            controls[i].draw(controlCanvas);
-        }
-
-        super.draw(canvas);
-    }
-
-    protected abstract String title();
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        left = borderRender.getLeft();
-        right = borderRender.getRight();
-        top = borderRender.getTop();
-        bottom = borderRender.getBottom();
-
-        final Size size = super.getRequiredSize(maximumSize);
-        borderRender.getRequiredSize(size, title(), controls);
-        return size;
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        final View control = overControl(click.getLocation());
-        if (control == null) {
-            super.secondClick(click);
-        }
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-        final View control = overControl(click.getLocation());
-        if (control == null) {
-            super.thirdClick(click);
-        }
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final View control = overControl(click.getLocation());
-        if (control == null) {
-            if (overBorder(click.getLocation())) {
-                final Workspace workspace = getWorkspace();
-                if (workspace != null) {
-                    if (click.button2()) {
-                        workspace.lower(getView());
-                    } else if (click.button1()) {
-                        workspace.raise(getView());
-                    }
-                }
-            } else {
-                super.firstClick(click);
-            }
-
-        } else {
-            control.firstClick(click);
-        }
-    }
-
-    @Override
-    public void mouseMoved(final Location at) {
-        final WindowControl control = (WindowControl) overControl(at);
-        if (control != null) {
-            if (control != overControl) {
-                control.entered();
-                overControl = control;
-                return;
-            }
-        } else {
-            if (control != overControl) {
-                overControl.exited();
-                overControl = null;
-                return;
-            }
-        }
-        super.mouseMoved(at);
-    }
-
-    private View overControl(final Location location) {
-        for (final WindowControl control : controls) {
-            if (control.getBounds().contains(location)) {
-                return control;
-            }
-        }
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/CloseWindowControl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/CloseWindowControl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/CloseWindowControl.java
deleted file mode 100644
index d497a82..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/CloseWindowControl.java
+++ /dev/null
@@ -1,41 +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.dnd.view.window;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.option.CloseViewOption;
-
-public class CloseWindowControl extends WindowControl {
-    private static CloseWindowRender render;
-
-    public static void setRender(final CloseWindowRender render) {
-        CloseWindowControl.render = render;
-    }
-
-    public CloseWindowControl(final View target) {
-        super(new CloseViewOption(), target);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        render.draw(canvas, WIDTH, HEIGHT, action.disabled(this).isVetoed(), isOver(), isPressed());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/CloseWindowRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/CloseWindowRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/CloseWindowRender.java
deleted file mode 100644
index d19ba1f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/CloseWindowRender.java
+++ /dev/null
@@ -1,28 +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.dnd.view.window;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-
-public interface CloseWindowRender {
-
-    void draw(Canvas canvas, int width, int height, boolean isDisabled, boolean isOver, boolean isPressed);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/DialogBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/DialogBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/DialogBorder.java
deleted file mode 100644
index 4823b05..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/DialogBorder.java
+++ /dev/null
@@ -1,41 +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.dnd.view.window;
-
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-
-public class DialogBorder extends AbstractWindowBorder {
-
-    public DialogBorder(final View wrappedView, final boolean scrollable) {
-        super(scrollable ? new ScrollBorder(wrappedView) : wrappedView);
-        setControls(new WindowControl[] { new CloseWindowControl(this) });
-    }
-
-    @Override
-    protected String title() {
-        return getContent().windowTitle();
-    }
-
-    @Override
-    public String toString() {
-        return wrappedView.toString() + "/DialogBorder [" + getSpecification() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/IconizeWindowControl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/IconizeWindowControl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/IconizeWindowControl.java
deleted file mode 100644
index 9c54db3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/IconizeWindowControl.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.dnd.view.window;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.option.IconizeViewOption;
-
-public class IconizeWindowControl extends WindowControl {
-    private static IconizeWindowRender render;
-
-    public static void setRender(final IconizeWindowRender render) {
-        IconizeWindowControl.render = render;
-    }
-
-    public IconizeWindowControl(final View target) {
-        super(new IconizeViewOption(), target);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        render.draw(canvas, WIDTH, HEIGHT, false, isOver(), isPressed());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/IconizeWindowRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/IconizeWindowRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/IconizeWindowRender.java
deleted file mode 100644
index 82ccca8..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/IconizeWindowRender.java
+++ /dev/null
@@ -1,28 +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.dnd.view.window;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-
-public interface IconizeWindowRender {
-
-    void draw(Canvas canvas, int width, int height, boolean isDisabled, boolean isOver, boolean isPressed);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/ResizeWindowControl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/ResizeWindowControl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/ResizeWindowControl.java
deleted file mode 100644
index 47afae4..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/ResizeWindowControl.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.dnd.view.window;
-
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class ResizeWindowControl extends WindowControl {
-    private static ResizeWindowRender render;
-
-    public static void setRender(final ResizeWindowRender render) {
-        ResizeWindowControl.render = render;
-    }
-
-    public ResizeWindowControl(final View target) {
-        super(new UserAction() {
-
-            @Override
-            public Consent disabled(final View view) {
-                return Veto.DEFAULT;
-            }
-
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-            }
-
-            @Override
-            public String getDescription(final View view) {
-                return "";
-            }
-
-            @Override
-            public String getHelp(final View view) {
-                return "";
-            }
-
-            @Override
-            public ActionType getType() {
-                return ActionType.USER;
-            }
-
-            @Override
-            public String getName(final View view) {
-                return "Resize";
-            }
-        }, target);
-
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        render.draw(canvas, WIDTH, HEIGHT, action.disabled(this).isVetoed(), isOver(), isPressed());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/ResizeWindowRender.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/ResizeWindowRender.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/ResizeWindowRender.java
deleted file mode 100644
index c18e93b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/ResizeWindowRender.java
+++ /dev/null
@@ -1,28 +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.dnd.view.window;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-
-public interface ResizeWindowRender {
-
-    void draw(Canvas canvas, int width, int height, boolean isDisabled, boolean isOver, boolean isPressed);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/SubviewFocusManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/SubviewFocusManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/SubviewFocusManager.java
deleted file mode 100644
index f0d738f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/SubviewFocusManager.java
+++ /dev/null
@@ -1,54 +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.dnd.view.window;
-
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractFocusManager;
-
-public class SubviewFocusManager extends AbstractFocusManager {
-    private final WindowBorder windowBorder;
-
-    public SubviewFocusManager(final WindowBorder container) {
-        super(container);
-        windowBorder = container;
-    }
-
-    public SubviewFocusManager(final View container) {
-        super(container);
-        windowBorder = null;
-    }
-
-    public SubviewFocusManager(final View container, final View initalFocus) {
-        super(container, initalFocus);
-        windowBorder = null;
-    }
-
-    @Override
-    protected View[] getChildViews() {
-        final View[] subviews = container.getSubviews();
-        final View[] buttons = windowBorder == null ? new View[0] : windowBorder.getButtons();
-
-        final View[] views = new View[subviews.length + buttons.length];
-        System.arraycopy(subviews, 0, views, 0, subviews.length);
-        System.arraycopy(buttons, 0, views, subviews.length, buttons.length);
-        return views;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/WindowBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/WindowBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/WindowBorder.java
deleted file mode 100644
index 5614a4f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/WindowBorder.java
+++ /dev/null
@@ -1,132 +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.dnd.view.window;
-
-import java.util.Enumeration;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.border.ButtonBorder;
-import org.apache.isis.viewer.dnd.view.border.SaveTransientObjectBorder;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.option.CloseAllViewsForObjectOption;
-import org.apache.isis.viewer.dnd.view.option.CloseAllViewsOption;
-import org.apache.isis.viewer.dnd.view.option.CloseOtherViewsForObjectOption;
-import org.apache.isis.viewer.dnd.view.option.CloseViewOption;
-import org.apache.isis.viewer.dnd.view.option.IconizeViewOption;
-import org.apache.isis.viewer.dnd.view.option.ReplaceViewOption;
-
-public class WindowBorder extends AbstractWindowBorder {
-    private static final UserAction CLOSE_ALL_OPTION = new CloseAllViewsOption();
-    private static final UserAction CLOSE_OPTION = new CloseViewOption();
-    private static final UserAction CLOSE_VIEWS_FOR_OBJECT = new CloseAllViewsForObjectOption();
-    private static final UserAction CLOSE_OTHER_VIEWS_FOR_OBJECT = new CloseOtherViewsForObjectOption();
-    private static final IconizeViewOption iconizeOption = new IconizeViewOption();
-
-    public WindowBorder(final View wrappedView, final boolean scrollable) {
-        super(addTransientBorderIfNeccessary(scrollable ? new ScrollBorder(wrappedView) : wrappedView));
-
-        if (isTransient()) {
-            setControls(new WindowControl[] { new CloseWindowControl(this) });
-        } else {
-            setControls(new WindowControl[] { new IconizeWindowControl(this), new ResizeWindowControl(this), new CloseWindowControl(this) });
-        }
-    }
-
-    private static View addTransientBorderIfNeccessary(final View view) {
-        final Content content = view.getContent();
-        if (content.isPersistable() && content.isTransient()) {
-            return new SaveTransientObjectBorder(view);
-        } else {
-            return view;
-        }
-    }
-
-    /* TODO fix focus management and remove this hack */
-    public View[] getButtons() {
-        if (wrappedView instanceof ButtonBorder) {
-            return ((ButtonBorder) wrappedView).getButtons();
-        } else {
-            return new View[0];
-        }
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-        if (isTransient()) {
-            borderRender.drawTransientMarker(canvas, getSize());
-        }
-    }
-
-    private boolean isTransient() {
-        final Content content = getContent();
-        return content.isPersistable() && content.isTransient();
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        menuOptions.add(iconizeOption);
-        menuOptions.add(CLOSE_OPTION);
-        menuOptions.add(CLOSE_ALL_OPTION);
-        menuOptions.add(CLOSE_VIEWS_FOR_OBJECT);
-        menuOptions.add(CLOSE_OTHER_VIEWS_FOR_OBJECT);
-
-        super.viewMenuOptions(menuOptions);
-
-        final Content content = getContent();
-        final UserActionSet suboptions = menuOptions.addNewActionSet("Replace with");
-        replaceOptions(Toolkit.getViewFactory().availableViews(new ViewRequirement(content, ViewRequirement.OPEN)), suboptions);
-        replaceOptions(Toolkit.getViewFactory().availableViews(new ViewRequirement(content, ViewRequirement.CLOSED)), suboptions);
-    }
-
-    protected void replaceOptions(final Enumeration possibleViews, final UserActionSet options) {
-        if (possibleViews.hasMoreElements()) {
-            while (possibleViews.hasMoreElements()) {
-                final ViewSpecification specification = (ViewSpecification) possibleViews.nextElement();
-                if (specification != getSpecification()) {
-                    options.add(new ReplaceViewOption(specification));
-                }
-            }
-        }
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        if (overBorder(click.getLocation())) {
-            iconizeOption.execute(getWorkspace(), getView(), getAbsoluteLocation());
-        } else {
-            super.secondClick(click);
-        }
-    }
-
-    @Override
-    protected String title() {
-        return getContent().windowTitle();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/WindowControl.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/WindowControl.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/WindowControl.java
deleted file mode 100644
index 4cb42ff..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/window/WindowControl.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.dnd.view.window;
-
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.control.AbstractControlView;
-
-public abstract class WindowControl extends AbstractControlView {
-    public final static int HEIGHT = 13;
-    public final static int WIDTH = HEIGHT + 2;
-
-    protected WindowControl(final UserAction action, final View target) {
-        super(action, target);
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(WIDTH, HEIGHT);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/ApplicationOptions.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/ApplicationOptions.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/ApplicationOptions.java
deleted file mode 100644
index 6b92684..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/ApplicationOptions.java
+++ /dev/null
@@ -1,83 +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.dnd.viewer;
-
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.help.AboutView;
-import org.apache.isis.viewer.dnd.view.MenuOptions;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.ShutdownListener;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class ApplicationOptions implements MenuOptions {
-    private final ShutdownListener listener;
-
-    public ApplicationOptions(final ShutdownListener listener) {
-        this.listener = listener;
-    }
-
-    @Override
-    public void menuOptions(final UserActionSet options) {
-        options.add(new UserActionAbstract("About...") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final AboutView dialogView = new AboutView();
-                final Size windowSize = dialogView.getRequiredSize(new Size());
-                final Size workspaceSize = workspace.getSize();
-                final int x = workspaceSize.getWidth() / 2 - windowSize.getWidth() / 2;
-                final int y = workspaceSize.getHeight() / 2 - windowSize.getHeight() / 2;
-                workspace.addDialog(dialogView, new Placement(new Location(x, y)));
-            }
-        });
-
-        options.add(new UserActionAbstract("Log out") {
-            @Override
-            public Consent disabled(final View view) {
-                final boolean runningAsExploration = view.getViewManager().isRunningAsExploration();
-                if (runningAsExploration) {
-                    // TODO: move logic to Facet
-                    return new Veto("Can't log out in exploration mode");
-                } else {
-                    return Allow.DEFAULT;
-                }
-            }
-
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                listener.logOut();
-            }
-        });
-
-        options.add(new UserActionAbstract("Quit") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                listener.quit();
-            }
-        });
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/DefaultContentFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/DefaultContentFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/DefaultContentFactory.java
deleted file mode 100644
index 7a35fb2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/DefaultContentFactory.java
+++ /dev/null
@@ -1,73 +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.dnd.viewer;
-
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.IsisException;
-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.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentFactory;
-import org.apache.isis.viewer.dnd.view.collection.RootCollection;
-import org.apache.isis.viewer.dnd.view.content.RootObject;
-import org.apache.isis.viewer.dnd.view.field.OneToManyFieldImpl;
-import org.apache.isis.viewer.dnd.view.field.OneToOneFieldImpl;
-import org.apache.isis.viewer.dnd.view.field.TextParseableFieldImpl;
-
-public class DefaultContentFactory implements ContentFactory {
-
-    @Override
-    public Content createRootContent(final ObjectAdapter object) {
-        Assert.assertNotNull(object);
-        final ObjectSpecification objectSpec = object.getSpecification();
-        if (objectSpec.isParentedOrFreeCollection()) {
-            return new RootCollection(object);
-        }
-        if (objectSpec.isNotCollection()) {
-            return new RootObject(object);
-        }
-
-        throw new IllegalArgumentException("Must be an object or collection: " + object);
-    }
-
-    @Override
-    public Content createFieldContent(final ObjectAssociation field, final ObjectAdapter object) {
-        Content content;
-        final ObjectAdapter associatedObject = field.get(object);
-        if (field instanceof OneToManyAssociation) {
-            content = new OneToManyFieldImpl(object, associatedObject, (OneToManyAssociation) field);
-        } else if (field instanceof OneToOneAssociation) {
-            final ObjectSpecification fieldSpecification = field.getSpecification();
-            if (fieldSpecification.isParseable()) {
-                content = new TextParseableFieldImpl(object, associatedObject, (OneToOneAssociation) field);
-            } else {
-                content = new OneToOneFieldImpl(object, associatedObject, (OneToOneAssociation) field);
-            }
-        } else {
-            throw new IsisException();
-        }
-
-        return content;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/SkylarkViewFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/SkylarkViewFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/SkylarkViewFactory.java
deleted file mode 100644
index 0a69006..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/viewer/SkylarkViewFactory.java
+++ /dev/null
@@ -1,287 +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.dnd.viewer;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.factory.InstanceUtil;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.dialog.ActionDialogSpecification;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.interaction.ContentDragImpl;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.GlobalViewFactory;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.DragViewOutline;
-import org.apache.isis.viewer.dnd.view.border.DisposedObjectBorder;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.viewer.basic.FallbackView;
-import org.apache.isis.viewer.dnd.viewer.basic.MinimizedView;
-
-/**
- * This class holds all the different view types that all the different objects
- * can be viewed as.
- */
-public class SkylarkViewFactory implements GlobalViewFactory {
-    private static final ViewSpecification fallback = new FallbackView.Specification();
-    private final ViewSpecification dialogSpec = new ActionDialogSpecification();
-    public static final int INTERNAL = 2;
-    private static final Logger LOG = LoggerFactory.getLogger(SkylarkViewFactory.class);
-    public static final int WINDOW = 1;
-
-    private ViewSpecification emptyFieldSpecification;
-    private final Vector rootViews = new Vector();
-    private final Vector subviews = new Vector();
-    private ViewSpecification dragContentSpecification;
-
-    private final List<ViewSpecification> viewSpecifications = new ArrayList<ViewSpecification>();
-    private final List<ViewSpecification> designSpecifications = new ArrayList<ViewSpecification>();
-
-    @Override
-    public void addSpecification(final ViewSpecification specification) {
-        viewSpecifications.add(specification);
-    }
-
-    public void addSpecification(final String specClassName) {
-        ViewSpecification spec;
-        spec = (ViewSpecification) InstanceUtil.createInstance(specClassName);
-        LOG.info("adding view specification: " + spec);
-        addSpecification(spec);
-    }
-
-    public void addDesignSpecification(final ViewSpecification specification) {
-        designSpecifications.add(specification);
-    }
-
-    public void addEmptyFieldSpecification(final ViewSpecification spec) {
-        emptyFieldSpecification = spec;
-    }
-
-    @Override
-    public View createDialog(final Content content) {
-        return createView(dialogSpec, content);
-    }
-
-    private View createView(final ViewSpecification specification, final Content content) {
-        ViewSpecification spec;
-        if (specification == null) {
-            LOG.warn("no suitable view for " + content + " using fallback view");
-            spec = new FallbackView.Specification();
-        } else {
-            spec = specification;
-        }
-        // TODO this should be passed in so that factory created views can be
-        // related to the views that ask
-        // for them
-        final Axes axes = new Axes();
-        View createView = spec.createView(content, axes, -1);
-
-        /*
-         * ObjectSpecification contentSpecification =
-         * content.getSpecification(); if (contentSpecification != null) {
-         * Options viewOptions = Properties.getViewConfigurationOptions(spec);
-         * createView.loadOptions(viewOptions); }
-         */
-        if (content.isObject()) {
-            final ObjectAdapter adapter = content.getAdapter();
-            if (adapter != null && adapter.isDestroyed()) {
-                createView = new DisposedObjectBorder(createView);
-            }
-        }
-        createView.getSubviews();
-        return createView;
-    }
-
-    @Override
-    public void debugData(final DebugBuilder sb) {
-        sb.append("RootsViews\n");
-        Enumeration fields = rootViews.elements();
-        while (fields.hasMoreElements()) {
-            final ViewSpecification spec = (ViewSpecification) fields.nextElement();
-            sb.append("  ");
-            sb.append(spec);
-            sb.append("\n");
-        }
-        sb.append("\n\n");
-
-        sb.append("Subviews\n");
-        fields = subviews.elements();
-        while (fields.hasMoreElements()) {
-            final ViewSpecification spec = (ViewSpecification) fields.nextElement();
-            sb.append("  ");
-            sb.append(spec);
-            sb.append("\n");
-        }
-        sb.append("\n\n");
-
-        sb.append("Specifications\n");
-        for (final ViewSpecification spec : viewSpecifications) {
-            sb.append("  ");
-            sb.append(spec);
-            sb.append("\n");
-        }
-        sb.append("\n\n");
-    }
-
-    @Override
-    public String debugTitle() {
-        return "View factory entries";
-    }
-
-    private ViewSpecification getEmptyFieldSpecification() {
-        if (emptyFieldSpecification == null) {
-            LOG.error("missing empty field specification; using fallback");
-            return fallback;
-        }
-        return emptyFieldSpecification;
-    }
-
-    public void setDragContentSpecification(final ViewSpecification dragContentSpecification) {
-        this.dragContentSpecification = dragContentSpecification;
-    }
-
-    @Override
-    public View createDragViewOutline(final View view) {
-        return new DragViewOutline(view);
-    }
-
-    @Override
-    public DragEvent createDragContentOutline(final View view, final Location location) {
-        final View dragOverlay = dragContentSpecification.createView(view.getContent(), new Axes(), -1);
-        return new ContentDragImpl(view, location, dragOverlay);
-    }
-
-    @Override
-    public View createMinimizedView(final View view) {
-        return new MinimizedView(view);
-    }
-
-    @Override
-    public View createView(final ViewRequirement requirement) {
-        final ViewSpecification objectFieldSpecification = getSpecificationForRequirement(requirement);
-        return createView(objectFieldSpecification, requirement.getContent());
-    }
-
-    public ViewSpecification getSpecificationForRequirement(final ViewRequirement requirement) {
-        final Content content = requirement.getContent();
-        final ObjectSpecification specification = content.getSpecification();
-        final boolean isValue = specification != null && specification.containsFacet(ValueFacet.class);
-        if (content.isObject() && !isValue && content.getAdapter() == null) {
-            return getEmptyFieldSpecification();
-        } else {
-            if (specification != null) {
-                final Options viewOptions = Properties.getDefaultViewOptions(specification);
-                String spec = viewOptions.getString("spec");
-                if (spec == null) {
-                    if (content instanceof ObjectContent && requirement.isObject() && requirement.isClosed()) {
-                        spec = Properties.getDefaultIconViewOptions();
-                    } else if (content instanceof CollectionContent && requirement.isCollection()) {
-                        spec = Properties.getDefaultCollectionViewOptions();
-                    } else if (content instanceof ObjectContent && requirement.isObject() && requirement.isOpen()) {
-                        spec = Properties.getDefaultObjectViewOptions();
-                    }
-                }
-                if (spec != null) {
-                    final ViewSpecification lookSpec = lookupSpecByName(spec);
-                    if (lookSpec != null && lookSpec.canDisplay(requirement)) {
-                        return lookSpec;
-                    }
-                }
-            }
-            for (final ViewSpecification viewSpecification : viewSpecifications) {
-                if (viewSpecification.canDisplay(requirement)) {
-                    return viewSpecification;
-                }
-
-            }
-            LOG.error("missing specification; using fall back");
-            return fallback;
-        }
-    }
-
-    public void loadUserViewSpecifications() {
-        final Options options = Properties.getOptions("views.user-defined");
-        final Iterator<String> names = options.names();
-        while (names.hasNext()) {
-            final String name = names.next();
-            final Options viewOptions = options.getOptions(name);
-            final String specName = viewOptions.getString("design");
-            addSpecification(specName);
-        }
-    }
-
-    private ViewSpecification lookupSpecByName(final String name) {
-        for (final ViewSpecification viewSpecification : viewSpecifications) {
-            if (viewSpecification.getName().equals(name)) {
-                return viewSpecification;
-            }
-        }
-        LOG.warn("No specification found for " + name);
-        return null;
-    }
-
-    private ViewSpecification lookupSpecByClassName(final String className) {
-        for (final ViewSpecification viewSpecification : viewSpecifications) {
-            if (viewSpecification.getClass().getName().equals(className)) {
-                return viewSpecification;
-            }
-        }
-        LOG.warn("No specification found for " + className);
-        return null;
-    }
-
-    @Override
-    public Enumeration<ViewSpecification> availableViews(final ViewRequirement requirement) {
-        return viewsFor(requirement, viewSpecifications);
-    }
-
-    @Override
-    public Enumeration<ViewSpecification> availableDesigns(final ViewRequirement requirement) {
-        return viewsFor(requirement, designSpecifications);
-    }
-
-    private Enumeration<ViewSpecification> viewsFor(final ViewRequirement requirement, final List<ViewSpecification> viewSpecifications) {
-        final Vector<ViewSpecification> v = new Vector<ViewSpecification>();
-        for (final ViewSpecification specification : viewSpecifications) {
-            if (specification.canDisplay(requirement)) {
-                v.addElement(specification);
-            }
-        }
-        return v.elements();
-    }
-
-}


[49/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java
deleted file mode 100644
index 03ea9d9..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java
+++ /dev/null
@@ -1,252 +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.objectstore.nosql;
-
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.ResolveState;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationContainer;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.Persistor;
-import org.apache.isis.objectstore.nosql.db.StateReader;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-public class ObjectReader {
-
-    private static final Logger LOG = LoggerFactory.getLogger(ObjectReader.class);
-    
-    private final KeyCreatorDefault keyCreator = new KeyCreatorDefault();
-
-    public ObjectAdapter load(final StateReader reader, final VersionCreator versionCreator, final Map<String, DataEncryption> dataEncrypters) {
-        
-        final String oidStr = reader.readOid();
-        final RootOid rootOid = getOidMarshaller().unmarshal(oidStr, RootOid.class);
-        
-        final ObjectAdapter adapter = getAdapter(rootOid);
-        if (adapter.isResolved()) {
-            Version version = null;
-            final String versionString = reader.readVersion();
-            if (!versionString.equals("")) {
-                final String user = reader.readUser();
-                final String time = reader.readTime();
-                version = versionCreator.version(versionString, user, time);
-            }
-            if (version.different(adapter.getVersion())) {
-                // TODO - do we need to CHECK version and update
-                LOG.warn("while reading data into " + oidStr + " version was " + version + " when existing adapter was already " + adapter.getVersion());
-            }
-            
-        } else {
-            
-            // TODO move lock to common method
-            // object.setOptimisticLock(version);
-            loadState(reader, versionCreator, dataEncrypters, adapter);
-        }
-
-        return adapter;
-    }
-
-    public void update(final StateReader reader, final VersionCreator versionCreator, final Map<String, DataEncryption> dataEncrypters, final ObjectAdapter object) {
-        loadState(reader, versionCreator, dataEncrypters, object);
-    }
-
-    private void loadState(final StateReader reader, final VersionCreator versionCreator, final Map<String, DataEncryption> dataEncrypters, final ObjectAdapter object) {
-        final ResolveState resolveState = ResolveState.RESOLVING;
-        object.changeState(resolveState);
-        Version version = null;
-        final String versionString = reader.readVersion();
-        if (!versionString.equals("")) {
-            final String user = reader.readUser();
-            final String time = reader.readTime();
-            version = versionCreator.version(versionString, user, time);
-        }
-        final String encryptionType = reader.readEncrytionType();
-        readFields(reader, object, dataEncrypters.get(encryptionType));
-        object.setVersion(version);
-        object.changeState(resolveState.getEndState());
-    }
-
-    private void readFields(final StateReader reader, final ObjectAdapter object, final DataEncryption dataEncrypter) {
-        final ObjectAssociationContainer specification = object.getSpecification();
-        final List<ObjectAssociation> associations = specification.getAssociations(Contributed.EXCLUDED);
-        for (final ObjectAssociation association : associations) {
-            if (association.isNotPersisted()) {
-                continue;
-            }
-            if (association.isOneToManyAssociation()) {
-                readCollection(reader, dataEncrypter, (OneToManyAssociation) association, object);
-            } else if (association.getSpecification().isValue()) {
-                readValue(reader, dataEncrypter, (OneToOneAssociation) association, object);
-            } else if (association.getSpecification().isParented()) {
-                readAggregate(reader, dataEncrypter, (OneToOneAssociation) association, object);
-            } else {
-                readReference(reader, (OneToOneAssociation) association, object);
-            }
-        }
-    }
-
-    private void readAggregate(final StateReader reader, final DataEncryption dataEncrypter, final OneToOneAssociation association, final ObjectAdapter parentAdapter) {
-        final String id = association.getId();
-        final StateReader aggregateReader = reader.readAggregate(id);
-        
-        final ObjectAdapter fieldObject;
-        if (aggregateReader != null) {
-            final String oidStr = aggregateReader.readOid();
-            final AggregatedOid aggregatedOid = getOidMarshaller().unmarshal(oidStr, AggregatedOid.class);
-            fieldObject = restoreAggregatedObject(aggregateReader, aggregatedOid, dataEncrypter);
-        } else {
-            fieldObject = null;
-        }
-        
-        association.initAssociation(parentAdapter, fieldObject);
-    }
-
-    private ObjectAdapter restoreAggregatedObject(final StateReader aggregateReader, final AggregatedOid aggregatedOid, final DataEncryption dataEncrypter) {
-        final ObjectAdapter fieldObject = getAdapter(aggregatedOid);
-        final ResolveState resolveState = ResolveState.RESOLVING;
-        fieldObject.changeState(resolveState);
-        readFields(aggregateReader, fieldObject, dataEncrypter);
-        fieldObject.changeState(resolveState.getEndState());
-
-        return fieldObject;
-    }
-
-    private void readValue(final StateReader reader, final DataEncryption dataEncrypter, final OneToOneAssociation association, final ObjectAdapter object) {
-        final String fieldData = reader.readField(association.getId());
-        if (fieldData != null) {
-            if (fieldData.equals("null")) {
-                association.initAssociation(object, null);
-            } else {
-                final EncodableFacet encodeableFacet = association.getSpecification().getFacet(EncodableFacet.class);
-                final String decryptedData = dataEncrypter.decrypt(fieldData);
-                final ObjectAdapter value = encodeableFacet.fromEncodedString(decryptedData);
-                association.initAssociation(object, value);
-            }
-        }
-    }
-
-    private void readReference(final StateReader reader, final OneToOneAssociation association, final ObjectAdapter object) {
-        ObjectAdapter fieldObject;
-        final String ref = reader.readField(association.getId());
-        if (ref == null || ref.equals("null")) {
-            fieldObject = null;
-        } else {
-            if (ref.equals("")) {
-                throw new NoSqlStoreException("Invalid reference field (an empty string) in data for " + association.getName() + "  in " + object);
-            }
-            final RootOid oid = keyCreator.unmarshal(ref);
-            fieldObject = getAdapter(oid);
-        }
-        try {
-            association.initAssociation(object, fieldObject);
-        } catch (IllegalArgumentException e) {
-            throw new NoSqlStoreException("Failed to process field data for " + association.getName() + "  in " + object + ": " + ref);
-        }
-    }
-
-    private void readCollection(final StateReader reader, final DataEncryption dataEncrypter, final OneToManyAssociation association, final ObjectAdapter parentAdapter) {
-        final ObjectAdapter collectionAdapter = association.get(parentAdapter);
-        
-        final CollectionFacet facet = collectionAdapter.getSpecification().getFacet(CollectionFacet.class);
-        if (association.getSpecification().isParented()) {
-            // were persisted inline, so read back inline
-            final List<StateReader> readers = reader.readCollection(association.getId());
-            final ObjectAdapter[] elementAdapters = new ObjectAdapter[readers.size()];
-            int i = 0;
-            for (final StateReader elementReader : readers) {
-                
-                final String oidStr = elementReader.readOid();
-                final AggregatedOid aggregatedOid = getOidMarshaller().unmarshal(oidStr, AggregatedOid.class);
-                
-                elementAdapters[i++] = restoreAggregatedObject(elementReader, aggregatedOid, dataEncrypter);
-            }
-            facet.init(collectionAdapter, elementAdapters);
-        } else {
-            // were persisted as references, so read back as references
-            final String referencesList = reader.readField(association.getId());
-            if (referencesList == null || referencesList.length() == 0) {
-                facet.init(collectionAdapter, new ObjectAdapter[0]);
-            } else {
-                final ObjectAdapter[] elements = restoreElements(referencesList);
-                facet.init(collectionAdapter, elements);
-            }
-        }
-    }
-
-    private ObjectAdapter[] restoreElements(final String referencesList) {
-        final String[] references = referencesList.split("\\|");
-        final ObjectAdapter[] elements = new ObjectAdapter[references.length];
-        for (int i = 0; i < references.length; i++) {
-            
-            // no longer used
-            //final ObjectSpecification specification = keyCreator.specificationFromOidStr(references[i]);
-            
-            final RootOid oid = keyCreator.unmarshal(references[i]);
-            elements[i] = getAdapter(oid);
-        }
-        return elements;
-    }
-
-    protected ObjectAdapter getAdapter(final TypedOid oid) {
-        return getAdapterManager().adapterFor(oid);
-    }
-
-    
-    ////////////////////////////////////////////////////////////////////////////
-    // dependencies (from context)
-    ////////////////////////////////////////////////////////////////////////////
-    
-    protected Persistor getPersistenceSession() {
-    	return IsisContext.getPersistenceSession();
-    }
-    
-    protected AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
-    }
-
-    protected OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java
deleted file mode 100644
index 844d129..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java
+++ /dev/null
@@ -1,250 +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.objectstore.nosql;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.spec.DomainModelException;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.keys.KeyCreatorDefault;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-
-class WriteObjectCommand implements PersistenceCommand {
-    
-    public enum Mode {
-        UPDATE,
-        NON_UPDATE;
-        
-        public static Mode modeFor(boolean isUpdate) {
-            return isUpdate?UPDATE:NON_UPDATE;
-        }
-
-        public boolean isUpdate() {
-            return this == UPDATE;
-        }
-    }
-    
-    private final KeyCreatorDefault keyCreator = new KeyCreatorDefault();
-    private final ObjectAdapter adapter;
-    private final VersionCreator versionCreator;
-    private final DataEncryption dataEncrypter;
-    private final Mode mode;
-
-    WriteObjectCommand(final Mode mode, final VersionCreator versionCreator, final DataEncryption dataEncrypter, final ObjectAdapter adapter) {
-        this.mode = mode;
-        this.versionCreator = versionCreator;
-        this.dataEncrypter = dataEncrypter;
-        this.adapter = adapter;
-    }
-
-    @Override
-    public void execute(final PersistenceCommandContext context) {
-        final NoSqlCommandContext noSqlCommandContext = (NoSqlCommandContext) context;
-        
-        final ObjectSpecification objectSpec = adapter.getSpecification();
-        //final String specName = objectSpec.getFullIdentifier();
-        final StateWriter writer = noSqlCommandContext.createStateWriter(objectSpec.getSpecId());
-        
-        //final String key = keyCreator.key(adapter.getOid());
-        //writer.writeId(key);
-        final TypedOid typedOid = (TypedOid) adapter.getOid();
-        writer.writeOid(typedOid);
-        
-        writeFields(writer, adapter);
-        final String user = getAuthenticationSession().getUserName();
-
-        final Version currentVersion = adapter.getVersion();
-        
-        final Version newVersion = mode.isUpdate() ? versionCreator.nextVersion(currentVersion, user) : versionCreator.newVersion(user);
-        adapter.setVersion(newVersion);
-        if (newVersion != null) {
-            final String version = currentVersion == null ? null : versionCreator.versionString(currentVersion);
-            writer.writeVersion(version, versionCreator.versionString(newVersion));
-            writer.writeUser(newVersion.getUser());
-            writer.writeTime(versionCreator.timeString(newVersion));
-            writer.writeEncryptionType(dataEncrypter.getType());
-        }
-
-        if (mode.isUpdate()) {
-            noSqlCommandContext.update(writer);
-        } else {
-            noSqlCommandContext.insert(writer);
-        }
-    }
-
-    private void writeFields(final StateWriter writer, final ObjectAdapter adapter) {
-        
-        final List<ObjectAssociation> associations = adapter.getSpecification().getAssociations(Contributed.EXCLUDED);
-        
-//        final String specName = adapter.getSpecification().getFullIdentifier();
-//        writer.writeObjectType(specName);
-        
-        writer.writeOid((TypedOid) adapter.getOid());
-        
-        for (final ObjectAssociation association : associations) {
-            if (association.isNotPersisted()) {
-                continue;
-            }
-            final ObjectAdapter fieldAdapter = association.get(adapter);
-            if (association.isOneToManyAssociation()) {
-                final OneToManyAssociation oneToManyAssociation = (OneToManyAssociation) association;
-                final ObjectAdapter collectionAdapter = fieldAdapter; // to explain
-                writeCollection(writer, oneToManyAssociation, collectionAdapter);
-            } else { 
-                final OneToOneAssociation oneToOneAssociation = (OneToOneAssociation) association;
-                final ObjectAdapter propertyAdapter = fieldAdapter; // to explain
-                writeProperty(writer, oneToOneAssociation, propertyAdapter);
-            }
-        }
-    }
-
-    private void writeProperty(final StateWriter writer, final OneToOneAssociation oneToOneAssociation, final ObjectAdapter propertyAdapter) {
-        if (oneToOneAssociation.getSpecification().isValue()) {
-            final ObjectAdapter valueAdapter = propertyAdapter; // to explain
-            writeValueProperty(writer, oneToOneAssociation, valueAdapter);
-        } else { 
-            final ObjectAdapter referencedAdapter = propertyAdapter; // to explain 
-            writeReferenceProperty(writer, oneToOneAssociation, referencedAdapter);
-        }
-    }
-
-    private void writeValueProperty(final StateWriter writer, final OneToOneAssociation otoa, final ObjectAdapter valueAdapter) {
-        String data;
-        if (valueAdapter == null) {
-            data = null;
-        } else {
-            final EncodableFacet encodeableFacet = valueAdapter.getSpecification().getFacet(EncodableFacet.class);
-            data = encodeableFacet.toEncodedString(valueAdapter);
-            data = dataEncrypter.encrypt(data);
-        }
-        writer.writeField(otoa.getId(), data);
-    }
-
-    private void writeReferenceProperty(final StateWriter writer, final OneToOneAssociation otoa, final ObjectAdapter referencedAdapter) {
-        if (otoa.getSpecification().isParented()) {
-            writeReferencedAsAggregated(writer, otoa, referencedAdapter);
-        } else {
-            writeReference(writer, otoa, referencedAdapter);
-        }
-    }
-
-    private void writeReferencedAsAggregated(final StateWriter writer, final OneToOneAssociation otoa, final ObjectAdapter referencedAdapter) {
-        if (referencedAdapter == null) {
-            writer.writeField(otoa.getId(), null);
-            return;
-        } 
-        final Oid referencedOid = referencedAdapter.getOid();
-        if (!(referencedOid instanceof AggregatedOid)) {
-            throw new NoSqlStoreException("Object type is inconsistent with it OID - it should have an AggregatedOid: " + referencedAdapter);
-        } 
-        final AggregatedOid aggregatedOid = (AggregatedOid) referencedOid;
-        
-        final String associationId = otoa.getId();
-        final StateWriter aggregateWriter = writer.addAggregate(associationId);
-        //aggregateWriter.writeId(aggregatedOid.getLocalId());
-        aggregateWriter.writeOid(aggregatedOid);
-        
-        writeFields(aggregateWriter, referencedAdapter);
-    }
-
-    private void writeReference(final StateWriter writer, final ObjectAssociation association, final ObjectAdapter referencedAdapter) {
-        final String key = keyCreator.oidStrFor(referencedAdapter);
-        writer.writeField(association.getId(), key);
-    }
-
-    private void writeCollection(final StateWriter writer, final OneToManyAssociation association, final ObjectAdapter collectionAdapter) {
-        if (association.getSpecification().isParented()) {
-            writeCollectionOfAggregated(writer, association, collectionAdapter);
-        } else {
-            writeCollectionOfReferences(writer, association, collectionAdapter);
-        }
-    }
-
-    private void writeCollectionOfAggregated(final StateWriter writer, final ObjectAssociation association, final ObjectAdapter collectionAdapter) {
-        final List<StateWriter> elementWriters = Lists.newArrayList();
-        final CollectionFacet collectionFacet = collectionAdapter.getSpecification().getFacet(CollectionFacet.class);
-        for (final ObjectAdapter referencedAdapter : collectionFacet.iterable(collectionAdapter)) {
-            final AggregatedOid elementOid = (AggregatedOid) referencedAdapter.getOid();
-            final StateWriter elementWriter = writer.createElementWriter();
-            
-            //elementWriter.writeId(elementOid.getLocalId());
-            elementWriter.writeOid(elementOid);
-            
-            writeFields(elementWriter, referencedAdapter);
-            elementWriters.add(elementWriter);
-        }
-        writer.writeCollection(association.getId(), elementWriters);
-    }
-
-    private void writeCollectionOfReferences(final StateWriter writer, final ObjectAssociation association, final ObjectAdapter collectionAdapter) {
-        final CollectionFacet collectionFacet = collectionAdapter.getSpecification().getFacet(CollectionFacet.class);
-        
-        final StringBuilder buf = new StringBuilder();
-        for (final ObjectAdapter elementAdapter : collectionFacet.iterable(collectionAdapter)) {
-            if (elementAdapter.isParented()) {
-                throw new DomainModelException("Can't store an aggregated object within a collection that is not expected aggregates: " + elementAdapter + " (" + collectionAdapter + ")");
-            }
-            buf.append(keyCreator.oidStrFor(elementAdapter)).append("|");
-        }
-        if (buf.length() > 0) {
-            writer.writeField(association.getId(), buf.toString());
-        }
-    }
-
-
-    @Override
-    public ObjectAdapter onAdapter() {
-        return adapter;
-    }
-
-    @Override
-    public String toString() {
-        final ToString toString = new ToString(this);
-        toString.append("spec", adapter.getSpecification().getFullIdentifier());
-        toString.append("oid", adapter.getOid());
-        return toString.toString();
-    }
-    
-    
-    protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/NoSqlDataDatabase.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/NoSqlDataDatabase.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/NoSqlDataDatabase.java
deleted file mode 100644
index a6e283b..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/NoSqlDataDatabase.java
+++ /dev/null
@@ -1,47 +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.objectstore.nosql.db;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-
-public interface NoSqlDataDatabase {
-
-    void open();
-    void close();
-    
-    boolean containsData();
-
-    void addService(ObjectSpecId objectSpecId, String key);
-    String getService(ObjectSpecId objectSpecId);
-
-    boolean hasInstances(ObjectSpecId objectSpecId);
-    StateReader getInstance(String key, ObjectSpecId objectSpecId);
-    Iterator<StateReader> instancesOf(ObjectSpecId objectSpecId);
-    Iterator<StateReader> instancesOf(ObjectSpecId specId, ObjectAdapter pattern);
-
-    long nextSerialNumberBatch(ObjectSpecId objectSpecId, int batchSize);
-
-    void write(List<PersistenceCommand> commands);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/NoSqlPersistorMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/NoSqlPersistorMechanismInstaller.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/NoSqlPersistorMechanismInstaller.java
deleted file mode 100644
index 05e94ae..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/NoSqlPersistorMechanismInstaller.java
+++ /dev/null
@@ -1,114 +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.objectstore.nosql.db;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.factory.InstanceUtil;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapterFactory;
-import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract;
-import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.core.runtime.system.persistence.AdapterManagerSpi;
-import org.apache.isis.core.runtime.system.persistence.IdentifierGenerator;
-import org.apache.isis.core.runtime.system.persistence.OidGenerator;
-import org.apache.isis.objectstore.nosql.NoSqlIdentifierGenerator;
-import org.apache.isis.objectstore.nosql.NoSqlObjectStore;
-import org.apache.isis.objectstore.nosql.encryption.DataEncryption;
-import org.apache.isis.objectstore.nosql.encryption.none.DataEncryptionNone;
-import org.apache.isis.objectstore.nosql.versions.VersionCreator;
-import org.apache.isis.objectstore.nosql.versions.VersionCreatorDefault;
-
-public abstract class NoSqlPersistorMechanismInstaller extends PersistenceMechanismInstallerAbstract {
-
-    private static final Logger LOG = LoggerFactory.getLogger(NoSqlPersistorMechanismInstaller.class);
-
-    private static final String NAKEDOBJECTS_ENCRYPTION_CLASSES = ConfigurationConstants.ROOT + "nosql.encryption";
-
-    private NoSqlObjectStore objectStore;
-
-    public NoSqlPersistorMechanismInstaller(final String name) {
-        super(name);
-    }
-
-    @Override
-    protected ObjectStoreSpi createObjectStore(final IsisConfiguration configuration, final ObjectAdapterFactory objectFactory, final AdapterManagerSpi adapterManager) {
-        return getObjectStore(configuration);
-    }
-
-    @Override
-    public IdentifierGenerator createIdentifierGenerator(final IsisConfiguration configuration) {
-        return getObjectStore(configuration).getIdentifierGenerator();
-    }
-
-    private NoSqlObjectStore getObjectStore(final IsisConfiguration configuration) {
-        if (objectStore == null) {
-            //final KeyCreatorDefault keyCreator = createKeyCreator();
-            final VersionCreator versionCreator = createVersionCreator();
-            final NoSqlDataDatabase db = createNoSqlDatabase(configuration);
-            final OidGenerator oidGenerator = new OidGenerator(createIdentifierGenerator(db));
-
-            final Map<String, DataEncryption> availableDataEncryption = new HashMap<String, DataEncryption>();
-            try {
-                final String[] encryptionClasses = getConfiguration().getList(NAKEDOBJECTS_ENCRYPTION_CLASSES);
-                DataEncryption writeWithEncryption = null;
-                boolean encryptionSpecified = false;
-                for (final String fullyQualifiedClass : encryptionClasses) {
-                    LOG.info("  adding encryption " + fullyQualifiedClass);
-                    final DataEncryption encryption = (DataEncryption) InstanceUtil.createInstance(fullyQualifiedClass);
-                    encryption.init(configuration);
-                    availableDataEncryption.put(encryption.getType(), encryption);
-                    if (!encryptionSpecified) {
-                        writeWithEncryption = encryption;
-                    }
-                    encryptionSpecified = true;
-                }
-                if (!encryptionSpecified) {
-                    LOG.warn("No encryption specified");
-                    final DataEncryption encryption = new DataEncryptionNone();
-                    availableDataEncryption.put(encryption.getType(), encryption);
-                    writeWithEncryption = encryption;
-                }
-                objectStore = new NoSqlObjectStore(db, oidGenerator, versionCreator, writeWithEncryption, availableDataEncryption);
-            } catch (final IllegalArgumentException e) {
-                throw new IsisException(e);
-            } catch (final SecurityException e) {
-                throw new IsisException(e);
-            }
-        }
-        return objectStore;
-    }
-
-    protected NoSqlIdentifierGenerator createIdentifierGenerator(final NoSqlDataDatabase database) {
-        return new NoSqlIdentifierGenerator(database);
-    }
-
-    protected abstract NoSqlDataDatabase createNoSqlDatabase(IsisConfiguration configuration);
-
-    private VersionCreator createVersionCreator() {
-        return new VersionCreatorDefault();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/StateReader.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/StateReader.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/StateReader.java
deleted file mode 100644
index c7a3770..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/StateReader.java
+++ /dev/null
@@ -1,64 +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.objectstore.nosql.db;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-
-public interface StateReader {
-
-    /**
-     * Aggregated objects are persisted &quot;under&quot; a key taken from the
-     * association (property or collection).
-     * 
-     * <p>
-     * This is not to be confused with the adapter's {@link AggregatedOid#getLocalId() localId},
-     * which is a locally unique id for the adapter within the aggregate.
-     * 
-     * <p>
-     * The parameter passed here is the {@link OneToOneAssociation#getId() property Id}.
-     * 
-     * @param associationId - under which the aggregate (property/collection) were persisted. 
-     */
-    StateReader readAggregate(String propertyId);
-
-    List<StateReader> readCollection(String collectionId);
-
-    long readLongField(String id);
-
-    String readField(String id);
-
-    String readEncrytionType();
-
-//    String readObjectType();
-//    String readId();
-    
-    String readOid();
-
-    String readVersion();
-
-    String readUser();
-
-    String readTime();
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/StateWriter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/StateWriter.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/StateWriter.java
deleted file mode 100644
index e605a56..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/StateWriter.java
+++ /dev/null
@@ -1,51 +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.objectstore.nosql.db;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-
-public interface StateWriter {
-
-    StateWriter addAggregate(String id);
-
-//    void writeObjectType(String type);
-//    void writeId(String oid);
-    
-    void writeOid(TypedOid typedOid);
-
-    void writeEncryptionType(String type);
-
-    void writeField(String id, String data);
-
-    void writeField(String id, long l);
-
-    void writeVersion(String currentVersion, String newVersion);
-
-    void writeTime(String time);
-
-    void writeUser(String user);
-
-    void writeCollection(String id, List<StateWriter> elements);
-
-    StateWriter createElementWriter();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/ClientConnection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/ClientConnection.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/ClientConnection.java
deleted file mode 100644
index cf19cf2..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/ClientConnection.java
+++ /dev/null
@@ -1,170 +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.objectstore.nosql.db.file;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
-import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-import org.apache.isis.objectstore.nosql.db.file.server.Util;
-
-public class ClientConnection {
-
-    private static final Logger LOG = LoggerFactory.getLogger(ClientConnection.class);
-
-    private final InputStream inputStream;
-    private final OutputStream outputStream;
-    private final PrintWriter writer;
-    private final BufferedReader reader;
-    private String[] headers;
-    private int header;
-
-    public ClientConnection(final InputStream input, final OutputStream output) {
-        outputStream = Util.trace(output, true);
-        writer = new PrintWriter(new OutputStreamWriter(outputStream, Util.ENCODING));
-        inputStream = Util.trace(input, true);
-        reader = new BufferedReader(new InputStreamReader(inputStream, Util.ENCODING));
-    }
-
-    public void close() {
-        try {
-            reader.close();
-        } catch (final IOException e) {
-            LOG.error("Failed to close connection", e);
-        }
-        writer.close();
-    }
-
-    void logComplete() {
-        LOG.debug("request complete: " + outputStream);
-        LOG.debug("response complete: " + inputStream);
-    }
-
-    void logFailure() {
-        LOG.info("request failed: " + outputStream);
-        LOG.info("response failed: " + inputStream);
-    }
-
-    public void request(final char command, final String request) {
-        LOG.debug("request: " + command + request);
-        write(command + request);
-    }
-
-    public void validateRequest() {
-        writer.print('\n');
-        writer.flush();
-        getReponseHeader();
-        final String status = readNext();
-        if (status.equals("error")) {
-            final String message = getResponseData();
-            throw new RemotingException(message);
-        } else if (status.equals("not-found")) {
-            final String message = getResponseData();
-            throw new ObjectNotFoundException(message);
-        } else if (status.equals("concurrency")) {
-            final String data = getResponseData();
-            // TODO create better exceptions (requires way to restore
-            // object/version)
-            if (data.startsWith("{")) {
-                throw new ConcurrencyException(data, null);
-
-            } else {
-                throw new ConcurrencyException(data, null);
-
-            }
-        } else if (!status.equals("ok")) {
-            throw new RemotingException("Invalid status in response: " + status);
-        }
-    }
-
-    public void requestData(final String data) {
-        write(data);
-    }
-
-    public void endRequestSection() {
-        writer.print('\n');
-    }
-
-    private void write(final String req) {
-        writer.print(req);
-        writer.print('\n');
-    }
-
-    public void getReponseHeader() {
-        try {
-            final String response = reader.readLine();
-            LOG.debug("response: " + response);
-            headers = response.split(" ");
-        } catch (final IOException e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    public String getResponse() {
-        return readNext();
-    }
-
-    public boolean getResponseAsBoolean() {
-        final String response = readNext();
-        return response.equals("true") ? true : false;
-    }
-
-    public long getResponseAsLong() {
-        final String response = readNext();
-        return Long.valueOf(response).longValue();
-    }
-
-    /**
-     * Read all the data until the next blank line
-     */
-    public String getResponseData() {
-        try {
-            final StringBuffer buffer = new StringBuffer();
-            String line;
-            while ((line = reader.readLine()) != null && line.length() > 0) {
-                buffer.append(line);
-                buffer.append('\n');
-            }
-            return buffer.toString();
-        } catch (final Exception e) {
-            logFailure();
-            LOG.error(e.getMessage(), e);
-            throw new RemotingException(e);
-        }
-    }
-
-    private String readNext() {
-        if (header >= headers.length) {
-            throw new RemotingException("attempting to reader header property (index) " + header + " when there are only " + headers.length);
-        }
-        return headers[header++];
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileClientCommandContext.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileClientCommandContext.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileClientCommandContext.java
deleted file mode 100644
index df5357a..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileClientCommandContext.java
+++ /dev/null
@@ -1,80 +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.objectstore.nosql.db.file;
-
-import java.util.zip.CRC32;
-
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.objectstore.nosql.NoSqlCommandContext;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-
-class FileClientCommandContext implements NoSqlCommandContext {
-
-    private final ClientConnection connection;
-
-    public FileClientCommandContext(final ClientConnection connection) {
-        this.connection = connection;
-    }
-
-    @Override
-    public void start() {
-    }
-
-    @Override
-    public void end() {
-    }
-
-    @Override
-    public StateWriter createStateWriter(final ObjectSpecId specificationName) {
-        return new JsonStateWriter();
-    }
-
-    @Override
-    public void delete(final ObjectSpecId objectSpecId, final String key, final String version, final Oid oid) {
-        connection.request('D', objectSpecId + " " + key + " " + version + " null");
-        connection.endRequestSection();
-    }
-
-    @Override
-    public void insert(final StateWriter writer) {
-        write('I', (JsonStateWriter) writer);
-    }
-
-    @Override
-    public void update(final StateWriter writer) {
-        write('U', (JsonStateWriter) writer);
-    }
-
-    private void write(final char command, final JsonStateWriter writer) {
-        connection.request(command, writer.getRequest());
-        final String data = writer.getData();
-
-        final CRC32 inputChecksum = new CRC32();
-        inputChecksum.update(data.getBytes());
-        inputChecksum.update('\n');
-        final long checksum = inputChecksum.getValue();
-        final String code = Long.toHexString(checksum);
-
-        connection.requestData("00000000".substring(0, 8 - code.length()) + code + data);
-        connection.endRequestSection();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileServerDb.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileServerDb.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileServerDb.java
deleted file mode 100644
index a3f32b1..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileServerDb.java
+++ /dev/null
@@ -1,263 +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.objectstore.nosql.db.file;
-
-import java.io.IOException;
-import java.net.Socket;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.zip.CRC32;
-
-import org.apache.commons.lang.NotImplementedException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.objectstore.nosql.NoSqlCommandContext;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-import org.apache.isis.objectstore.nosql.db.StateReader;
-
-public class FileServerDb implements NoSqlDataDatabase {
-
-    private static final Logger LOG = LoggerFactory.getLogger(FileServerDb.class);
-
-    private final String host;
-    private final int port;
-
-    private final int timeout;
-
-    public FileServerDb(final String host, final int port, final int timeout) {
-        this.host = host;
-        this.port = port == 0 ? 9012 : port;
-        this.timeout = timeout;
-    }
-
-    // TODO pool connection and reuse
-    private ClientConnection getConnection() {
-        try {
-            final Socket socket;
-            socket = new Socket(host, port);
-            socket.setSoTimeout(timeout);
-            return new ClientConnection(socket.getInputStream(), socket.getOutputStream());
-        } catch (final UnknownHostException e) {
-            throw new NoSqlStoreException("Unknow host " + host, e);
-        } catch (final IOException e) {
-            throw new NoSqlStoreException("Failed to connect to " + host + ":" + port, e);
-        }
-
-    }
-
-    // TODO pool connection and reuse
-    private void returnConnection(final ClientConnection connection) {
-        connection.logComplete();
-        connection.close();
-    }
-
-    // TODO pool connection and reuse - probably need to replace the connection
-    private void abortConnection(final ClientConnection connection) {
-        connection.logFailure();
-        connection.close();
-    }
-
-    @Override
-    public StateReader getInstance(final String key, final ObjectSpecId objectSpecId) {
-        final ClientConnection connection = getConnection();
-        String data;
-        try {
-            final String request = objectSpecId + " " + key;
-            connection.request('R', request);
-            connection.validateRequest();
-            data = connection.getResponseData();
-        } catch (final RuntimeException e) {
-            LOG.error("aborting getInstance", e);
-            abortConnection(connection);
-            throw e;
-        }
-        data = checkData(data);
-        final JsonStateReader reader = new JsonStateReader(data);
-        returnConnection(connection);
-        return reader;
-    }
-
-    @Override
-    public Iterator<StateReader> instancesOf(final ObjectSpecId objectSpecId) {
-        final ClientConnection connection = getConnection();
-        List<StateReader> instances;
-        try {
-            instances = new ArrayList<StateReader>();
-            connection.request('L', objectSpecId + " 0");
-            connection.validateRequest();
-            String data;
-            while ((data = connection.getResponseData()).length() > 0) {
-                data = checkData(data);
-                final JsonStateReader reader = new JsonStateReader(data);
-                instances.add(reader);
-            }
-        } catch (final RuntimeException e) {
-            LOG.error("aborting instancesOf", e);
-            abortConnection(connection);
-            throw e;
-        }
-        returnConnection(connection);
-        return instances.iterator();
-
-    }
-
-    private String checkData(final String data) {
-        final String objectData = data.substring(8);
-
-        final CRC32 inputChecksum = new CRC32();
-        inputChecksum.update(objectData.getBytes());
-        final long actualChecksum = inputChecksum.getValue();
-
-        final String encodedChecksum = data.substring(0, 8);
-        final long expectedChecksum = Long.valueOf(encodedChecksum, 16);
-
-        if (actualChecksum != expectedChecksum) {
-            throw new NoSqlStoreException("Data integrity error; checksums different");
-        }
-
-        return objectData;
-    }
-
-    @Override
-    public void write(final List<PersistenceCommand> commands) {
-        final ClientConnection connection = getConnection();
-        PersistenceCommand currentCommand = null;
-        try {
-            connection.request('W', "");
-            final NoSqlCommandContext context = new FileClientCommandContext(connection);
-            for (final PersistenceCommand command : commands) {
-                currentCommand = command;
-                command.execute(context);
-            }
-            connection.validateRequest();
-
-        } catch (final ConcurrencyException e) {
-            throw e;
-        } catch (final RuntimeException e) {
-            LOG.error("aborting write, command: " + currentCommand, e);
-            abortConnection(connection);
-            throw e;
-        }
-        returnConnection(connection);
-    }
-
-    @Override
-    public void close() {
-    }
-
-    @Override
-    public void open() {
-    }
-
-    @Override
-    public boolean containsData() {
-        final ClientConnection connection = getConnection();
-        boolean flag;
-        try {
-            connection.request('X', "contains-data");
-            connection.validateRequest();
-            flag = connection.getResponseAsBoolean();
-        } catch (final RuntimeException e) {
-            LOG.error("aborting containsData", e);
-            abortConnection(connection);
-            throw e;
-        }
-        returnConnection(connection);
-        return flag;
-    }
-
-    @Override
-    public long nextSerialNumberBatch(final ObjectSpecId name, final int batchSize) {
-        final ClientConnection connection = getConnection();
-        long serialNumber;
-        try {
-            connection.request('N', name + " " + Integer.toString(batchSize));
-            connection.validateRequest();
-            serialNumber = connection.getResponseAsLong();
-        } catch (final RuntimeException e) {
-            LOG.error("aborting nextSerialNumberBatch", e);
-            abortConnection(connection);
-            throw e;
-        }
-        returnConnection(connection);
-        return serialNumber;
-    }
-
-    @Override
-    public void addService(final ObjectSpecId objectSpecId, final String key) {
-        final ClientConnection connection = getConnection();
-        try {
-            connection.request('T', objectSpecId.asString() + " " + key);
-            connection.validateRequest();
-        } catch (final RuntimeException e) {
-            LOG.error("aborting addService", e);
-            abortConnection(connection);
-            throw e;
-        }
-        returnConnection(connection);
-    }
-
-    @Override
-    public String getService(final ObjectSpecId objectSpecId) {
-        final ClientConnection connection = getConnection();
-        String response;
-        try {
-            connection.request('S', objectSpecId.asString());
-            connection.validateRequest();
-            response = connection.getResponse();
-        } catch (final RuntimeException e) {
-            LOG.error("aborting getServices", e);
-            abortConnection(connection);
-            throw e;
-        }
-        returnConnection(connection);
-        return response.equals("null") ? null : response;
-    }
-
-    @Override
-    public boolean hasInstances(final ObjectSpecId objectSpecId) {
-        final ClientConnection connection = getConnection();
-        boolean hasInstances;
-        try {
-            connection.request('I', objectSpecId.asString());
-            connection.validateRequest();
-            hasInstances = connection.getResponseAsBoolean();
-        } catch (final RuntimeException e) {
-            LOG.error("aborting hasInstances", e);
-            abortConnection(connection);
-            throw e;
-        }
-        returnConnection(connection);
-        return hasInstances;
-    }
-
-    public Iterator<StateReader> instancesOf(ObjectSpecId specId, ObjectAdapter pattern) {
-    	// TODO implement
-        throw new NotImplementedException();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileServerPersistorMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileServerPersistorMechanismInstaller.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileServerPersistorMechanismInstaller.java
deleted file mode 100644
index 28e7a07..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/FileServerPersistorMechanismInstaller.java
+++ /dev/null
@@ -1,49 +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.objectstore.nosql.db.file;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.objectstore.nosql.db.NoSqlDataDatabase;
-import org.apache.isis.objectstore.nosql.db.NoSqlPersistorMechanismInstaller;
-
-public class FileServerPersistorMechanismInstaller extends NoSqlPersistorMechanismInstaller {
-
-    private static final String ROOT = ConfigurationConstants.ROOT + "nosql.fileserver.";
-    private static final String DB_HOST = ROOT + "host";
-    private static final String DB_PORT = ROOT + "port";
-    private static final String DB_TIMEMOUT = ROOT + "timeout";
-
-    public FileServerPersistorMechanismInstaller() {
-        super("fileserver");
-    }
-
-    @Override
-    protected NoSqlDataDatabase createNoSqlDatabase(final IsisConfiguration configuration) {
-        NoSqlDataDatabase db;
-        final String host = configuration.getString(DB_HOST, "localhost");
-        final int port = configuration.getInteger(DB_PORT, 0);
-        final int timeout = configuration.getInteger(DB_TIMEMOUT, 5000);
-        db = new FileServerDb(host, port, timeout);
-        return db;
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/JsonStateReader.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/JsonStateReader.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/JsonStateReader.java
deleted file mode 100644
index e471b2c..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/JsonStateReader.java
+++ /dev/null
@@ -1,155 +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.objectstore.nosql.db.file;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-import org.apache.isis.objectstore.nosql.db.StateReader;
-
-public class JsonStateReader implements StateReader {
-    
-    // private static final Logger LOG = LoggerFactory.getLogger(FileStateReader.class);
-    
-    private JSONObject instance;
-
-    public JsonStateReader(final String data) {
-        try {
-            final JSONObject instance = new JSONObject(data);
-            this.instance = instance;
-        } catch (final JSONException e) {
-            throw new NoSqlStoreException("failed initialise JSON object for text form: " + data, e);
-        }
-    }
-
-    private JsonStateReader(final JSONObject aggregatedObject) {
-        instance = aggregatedObject;
-    }
-
-    @Override
-    public StateReader readAggregate(final String name) {
-        if (instance.has(name)) {
-            final JSONObject aggregatedObject = instance.optJSONObject(name);
-            if (aggregatedObject == null) {
-                return null;
-            } else {
-                return new JsonStateReader(aggregatedObject);
-            }
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public long readLongField(final String id) {
-        final Object value = instance.opt(id);
-        if (value == null) {
-            return 0;
-        } else {
-            return Long.valueOf((String) value);
-        }
-    }
-
-    @Override
-    public String readField(final String name) {
-        if (instance.has(name)) {
-            final Object value = instance.optString(name);
-            if (value == null) {
-                return null;
-            } else {
-                return (String) value;
-            }
-        } else {
-            return null;
-        }
-    }
-
-//    @Override
-//    public String readObjectType() {
-//        return readRequiredField("_type");
-//    }
-//
-//    @Override
-//    public String readId() {
-//        return readRequiredField("_id");
-//    }
-
-      @Override
-      public String readOid() {
-          return readRequiredField(PropertyNames.OID);
-      }
-
-    @Override
-    public String readVersion() {
-        return readRequiredField(PropertyNames.VERSION);
-    }
-
-    @Override
-    public String readEncrytionType() {
-        try {
-            String encryptionType;
-            if (instance.has("_encrypt")) {
-                encryptionType = instance.getString("_encrypt");
-            } else {
-                encryptionType = "none";
-            }
-            return encryptionType;
-        } catch (final JSONException e) {
-            throw new NoSqlStoreException("failed to read field _encrypt", e);
-        }
-    }
-
-    @Override
-    public String readUser() {
-        return readRequiredField(PropertyNames.USER);
-    }
-
-    @Override
-    public String readTime() {
-        return readRequiredField(PropertyNames.TIME);
-    }
-
-    private String readRequiredField(final String name) {
-        try {
-            final Object value = instance.get(name);
-            return (String) value;
-        } catch (final JSONException e) {
-            throw new NoSqlStoreException("failed to read field " + name, e);
-        }
-    }
-
-    @Override
-    public List<StateReader> readCollection(final String id) {
-        final JSONArray array = instance.optJSONArray(id);
-        final List<StateReader> readers = new ArrayList<StateReader>();
-        if (array != null) {
-            final int size = array.length();
-            for (int i = 0; i < size; i++) {
-                readers.add(new JsonStateReader(array.optJSONObject(i)));
-            }
-        }
-        return readers;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/JsonStateWriter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/JsonStateWriter.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/JsonStateWriter.java
deleted file mode 100644
index b63c079..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/JsonStateWriter.java
+++ /dev/null
@@ -1,140 +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.objectstore.nosql.db.file;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-
-public class JsonStateWriter implements StateWriter {
-
-    private final JSONObject dbObject = new JSONObject();
-    
-    private TypedOid oid;
-    private String currentVersion;
-    private String newVersion;
-
-
-    @Override
-    public StateWriter addAggregate(final String id) {
-        final JsonStateWriter jsonStateWriter = new JsonStateWriter();
-        try {
-            dbObject.put(id, jsonStateWriter.dbObject);
-        } catch (final JSONException e) {
-            throw new NoSqlStoreException(e);
-        }
-        return jsonStateWriter;
-    }
-
-    @Override
-    public void writeOid(final TypedOid typedOid) {
-        this.oid = typedOid;
-        writeField(PropertyNames.OID, typedOid.enString(getOidMarshaller()));
-    }
-    
-    @Override
-    public void writeEncryptionType(final String type) {
-        writeField(PropertyNames.ENCRYPT, type);
-    }
-
-    @Override
-    public void writeVersion(final String currentVersion, final String newVersion) {
-        this.currentVersion = currentVersion;
-        this.newVersion = newVersion;
-        writeField(PropertyNames.VERSION, newVersion);
-    }
-
-    @Override
-    public void writeTime(final String time) {
-        writeField(PropertyNames.TIME, time);
-    }
-
-    @Override
-    public void writeUser(final String user) {
-        writeField(PropertyNames.USER, user);
-    }
-
-    @Override
-    public void writeField(final String id, final String data) {
-        try {
-            dbObject.put(id, data == null ? JSONObject.NULL : data);
-        } catch (final JSONException e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    @Override
-    public void writeField(final String id, final long l) {
-        try {
-            dbObject.put(id, Long.toString(l));
-        } catch (final JSONException e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    public String getRequest() {
-        return oid.enString(getOidMarshaller()) + " " + currentVersion + " " + newVersion;
-    }
-
-    public String getData() {
-        try {
-            return dbObject.toString(4);
-        } catch (final JSONException e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    @Override
-    public StateWriter createElementWriter() {
-        return new JsonStateWriter();
-    }
-
-    @Override
-    public void writeCollection(final String id, final List<StateWriter> elements) {
-        final List<JSONObject> collection = Lists.newArrayList();
-        for (final StateWriter writer : elements) {
-            collection.add(((JsonStateWriter) writer).dbObject);
-        }
-        try {
-            dbObject.put(id, collection);
-        } catch (final JSONException e) {
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    
-    ///////////////////////////////////////////////////////
-    // dependencies (from context)
-    ///////////////////////////////////////////////////////
-    
-    protected OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/PropertyNames.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/PropertyNames.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/PropertyNames.java
deleted file mode 100644
index ac4e282..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/PropertyNames.java
+++ /dev/null
@@ -1,33 +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.objectstore.nosql.db.file;
-
-interface PropertyNames {
-    static final String ENCRYPT = "_encrypt";
-    
-//    static final String TYPE = "_type";
-//    static final String ID = "_id";
-    
-    static final String OID = "_oid";
-    static final String VERSION = "_version";
-    static final String TIME = "_time";
-    static final String USER = "_user";
-}
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/RemotingException.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/RemotingException.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/RemotingException.java
deleted file mode 100644
index e76d5f6..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/RemotingException.java
+++ /dev/null
@@ -1,36 +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.objectstore.nosql.db.file;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class RemotingException extends IsisException {
-
-    private static final long serialVersionUID = 1L;
-
-    public RemotingException(final String message) {
-        super(message);
-    }
-
-    public RemotingException(final Exception e) {
-        super(e);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/DataFileReader.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/DataFileReader.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/DataFileReader.java
deleted file mode 100644
index b10163d..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/DataFileReader.java
+++ /dev/null
@@ -1,88 +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.objectstore.nosql.db.file.server;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataFileReader {
-    private static final Logger LOG = LoggerFactory.getLogger(DataFileReader.class);
-
-    private final BufferedReader reader;
-    private final String id;
-    private final String version;
-
-    /**
-     * Opens the file for the specified id. The top line contains: type id
-     * version newline The remainder contains the data.
-     */
-    public DataFileReader(final String type, final String id) throws IOException {
-        final File file = Util.dataFile(type, id);
-        reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "utf-8"));
-        final String line = reader.readLine();
-        if (line == null || line.length() == 0) {
-            throw new FileServerException("No data in file: " + file.getAbsolutePath());
-        }
-        final String[] split = line.split(" ");
-        this.id = split[1];
-        if (!id.equals(id)) {
-            throw new FileServerException("Id in file (" + this.id + ") not the same as the file name: " + file.getAbsolutePath());
-        }
-        version = split[2];
-    }
-
-    public void close() {
-        if (reader != null) {
-            try {
-                reader.close();
-            } catch (final IOException e) {
-                LOG.error("Failed to close reader " + reader, e);
-            }
-        }
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public String getData() {
-        try {
-            final StringBuffer buffer = new StringBuffer();
-            String line;
-            while ((line = reader.readLine()) != null) {
-                buffer.append(line);
-                buffer.append("\n");
-            }
-            return buffer.toString();
-        } catch (final IOException e) {
-            throw new FileServerException("Failed to read data for " + id, e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/DataFileWriter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/DataFileWriter.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/DataFileWriter.java
deleted file mode 100644
index ac13b5e..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/DataFileWriter.java
+++ /dev/null
@@ -1,68 +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.objectstore.nosql.db.file.server;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.List;
-
-public class DataFileWriter {
-
-    // private static final Logger LOG = LoggerFactory.getLogger(DataWriter.class);
-
-    private final List<FileContent> files;
-
-    public DataFileWriter(final List<FileContent> files) {
-        this.files = files;
-    }
-
-    public void writeData() throws IOException {
-        for (final FileContent content : files) {
-            if (Util.isDelete(content.command)) {
-                final File f = Util.dataFile(content.type, content.id);
-                f.delete();
-            } else {
-                writeFile(content);
-            }
-        }
-    }
-
-    // TODO to be consistent use PrintWriter
-    private void writeFile(final FileContent content) throws IOException {
-        FileOutputStream output = null;
-        final File file = Util.dataFile(content.type, content.id);
-        if (!file.getParentFile().exists()) {
-            file.getParentFile().mkdir();
-        }
-        try {
-            output = new FileOutputStream(file);
-            content.write(output);
-        } finally {
-            Util.closeSafely(output);
-        }
-    }
-
-    public void close() {
-        // TODO Auto-generated method stub
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileContent.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileContent.java
deleted file mode 100644
index c794dbf..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileContent.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.objectstore.nosql.db.file.server;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-class FileContent {
-
-    private static final String ENCODING = "utf-8";
-
-    final char command;
-    final String id;
-    final String currentVersion;
-    final String newVersion;
-    final String data;
-    final String type;
-
-    public FileContent(final char command, final String id, final String currentVersion, final String newVersion, final String type, final String buf) {
-        this.command = command;
-        this.id = id;
-        this.currentVersion = currentVersion;
-        this.newVersion = newVersion;
-        this.type = type;
-        this.data = buf;
-    }
-
-    public void write(final OutputStream output) throws IOException {
-        output.write(type.getBytes(ENCODING));
-        output.write(' ');
-        output.write(id.getBytes(ENCODING));
-        output.write(' ');
-        output.write(newVersion.getBytes(ENCODING));
-        output.write('\n');
-        output.write(data.getBytes(ENCODING));
-    }
-
-}


[41/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcTimeMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcTimeMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcTimeMapper.java
deleted file mode 100644
index 3b76abc..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcTimeMapper.java
+++ /dev/null
@@ -1,84 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.applib.PersistFailedException;
-import org.apache.isis.applib.value.Time;
-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.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-public class JdbcTimeMapper extends AbstractJdbcFieldMapping {
-
-    private final String dataType;
-
-    public static class Factory extends AbstractFieldMappingFactory {
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, Defaults.TYPE_TIME());
-            return new JdbcTimeMapper(field, dataType);
-        }
-    }
-
-    protected JdbcTimeMapper(final ObjectAssociation field, final String dataType) {
-        super(field);
-        this.dataType = dataType;
-    }
-
-    @Override
-    protected Object preparedStatementObject(final ObjectAdapter value) {
-        final Time asTime = (Time) value.getObject();
-        return asTime.asJavaTime();
-    }
-
-    @Override
-    public ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
-        /*
-         * Long hour = Long.decode(encodedValue.substring(0, 2)); Long minute =
-         * Long.decode(encodedValue.substring(3, 5)); Long millis = (minute +
-         * hour * 60) * 60 * 1000; String valueString = "T" +
-         * Long.toString(millis); return
-         * field.getSpecification().getFacet(EncodableFacet.class)
-         * .fromEncodedString(valueString);
-         */
-        ObjectAdapter restoredValue;
-        final Class<?> correspondingClass = field.getSpecification().getCorrespondingClass();
-        if (correspondingClass == Time.class) {
-            final Time timeValue = results.getTime(columnName);
-            restoredValue = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(timeValue);
-        } else {
-            throw new PersistFailedException("Unhandled time type: " + correspondingClass.getCanonicalName());
-        }
-        return restoredValue;
-
-    }
-
-    @Override
-    public String columnType() {
-        return dataType;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcTimestampMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcTimestampMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcTimestampMapper.java
deleted file mode 100644
index 73e6906..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcTimestampMapper.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.objectstore.sql.jdbc;
-
-import org.apache.isis.applib.PersistFailedException;
-import org.apache.isis.applib.value.TimeStamp;
-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.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-public class JdbcTimestampMapper extends AbstractJdbcFieldMapping {
-
-    private final String dataType;
-
-    public static class Factory extends AbstractFieldMappingFactory {
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, Defaults.TYPE_TIMESTAMP());
-            return new JdbcTimestampMapper(field, dataType);
-        }
-    }
-
-    protected JdbcTimestampMapper(final ObjectAssociation field, final String dataType) {
-        super(field);
-        this.dataType = dataType;
-    }
-
-    @Override
-    protected Object preparedStatementObject(final ObjectAdapter value) {
-        final TimeStamp asDate = (TimeStamp) value.getObject();
-        final java.sql.Timestamp timeStamp = new java.sql.Timestamp(asDate.longValue());
-        return timeStamp;
-    }
-
-    @Override
-    public ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
-
-        ObjectAdapter restoredValue;
-        final Class<?> correspondingClass = field.getSpecification().getCorrespondingClass();
-        if (correspondingClass == TimeStamp.class) {
-            final java.sql.Timestamp o = (java.sql.Timestamp) results.getObject(columnName);
-            final TimeStamp timeValue = new TimeStamp(o.getTime());
-            restoredValue = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(timeValue);
-        } else {
-            throw new PersistFailedException("Unhandled time type: " + correspondingClass.getCanonicalName());
-        }
-        return restoredValue;
-    }
-
-    @Override
-    public String columnType() {
-        return dataType;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/helpers/SimplePasswordEncoderDecoder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/helpers/SimplePasswordEncoderDecoder.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/helpers/SimplePasswordEncoderDecoder.java
deleted file mode 100644
index 8f6c797..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/helpers/SimplePasswordEncoderDecoder.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.objectstore.sql.jdbc.helpers;
-
-/**
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class SimplePasswordEncoderDecoder {
-    private final String passwordSeed;
-    private final int seedLength;
-    private final Integer valueOfZero = Integer.valueOf('0');
-    private final int dbLength;
-
-    public SimplePasswordEncoderDecoder(String passwordSeed, Integer encLength) {
-        this.passwordSeed = passwordSeed;
-        if (passwordSeed == null) {
-            seedLength = 0;
-        } else {
-            seedLength = passwordSeed.length();
-        }
-        dbLength = encLength;
-    }
-
-    /**
-     * Use a simple algorithm to encode the given value into an encoded String
-     * 
-     * @param String
-     *            raw value
-     * @return encoded String
-     */
-    public final String encodeRawValueIntoEncodedString(final String value) {
-        if (passwordSeed == null) {
-            return value;
-        }
-        final int rawLength = value.length();
-        String length = Integer.toHexString(rawLength);
-        if (length.length() == 1) {
-            length = "0" + length;
-        }
-        String encodePart1 = length + value;
-        String encoded = "";
-        for (int i = 0; i < rawLength + 2; i++) {
-            int thisSeed = passwordSeed.charAt(i % seedLength);
-            int thisPassword = encodePart1.charAt(i);
-            int nextValue = (thisSeed + thisPassword) % 255;
-            encoded = encoded.concat(String.format("%2h", nextValue));
-
-        }
-        for (int i = rawLength; i < (dbLength / 2) - 2; i++) {
-            int thisSeed = passwordSeed.charAt(i % seedLength);
-            int thisPassword = passwordSeed.charAt((i - 2) % seedLength);
-            int nextValue = (thisSeed + thisPassword + i) % 255;
-            encoded = encoded.concat(String.format("%2h", nextValue));
-        }
-
-        return encoded;
-    }
-
-    /**
-     * Use a simple algorithm to decode the given encoded String into a raw String
-     * 
-     * @param String
-     *            encoded value
-     * @return decoded raw String
-     */
-    public final String decodeEncodedValueIntoRawString(final String encodedValue) {
-        if (passwordSeed == null) {
-            return encodedValue;
-        }
-        int passwordLength = extractIndexedValueAsInt(encodedValue, 0);
-
-        String decodedValue = "";
-        for (int i = 0; i < passwordLength; i++) {
-            char extracted = extractIndexedValueAsChar(encodedValue, i + 2);
-            decodedValue = decodedValue + (extracted);
-        }
-        return decodedValue;
-    }
-
-    private int extractIndexedValueAsInt(final String encodedValue, int index) {
-        int value1 = decodeIndexedValue(encodedValue, index) - valueOfZero;
-        int value2 = decodeIndexedValue(encodedValue, index + 1) - valueOfZero;
-        return value1 * 16 + value2;
-    }
-
-    private char extractIndexedValueAsChar(final String encodedValue, int index) {
-        int value1 = decodeIndexedValue(encodedValue, index);
-        return (char) value1;
-    }
-
-    private int decodeIndexedValue(final String encodedValue, int index) {
-        String s = encodedValue.substring((index) * 2, (index) * 2 + 2);
-        int hex = Integer.valueOf(s, 16);
-        int thisSeed = passwordSeed.charAt(index % seedLength);
-        int passwordValue = hex - thisSeed;
-        return passwordValue;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java
deleted file mode 100644
index 62391bf..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java
+++ /dev/null
@@ -1,93 +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.objectstore.sql.jdbc.installer;
-
-import org.apache.isis.applib.value.Color;
-import org.apache.isis.applib.value.Date;
-import org.apache.isis.applib.value.DateTime;
-import org.apache.isis.applib.value.Image;
-import org.apache.isis.applib.value.Money;
-import org.apache.isis.applib.value.Password;
-import org.apache.isis.applib.value.Percentage;
-import org.apache.isis.applib.value.Time;
-import org.apache.isis.applib.value.TimeStamp;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.FieldMappingFactoryInstaller;
-import org.apache.isis.objectstore.sql.FieldMappingLookup;
-import org.apache.isis.objectstore.sql.jdbc.JdbcBinaryValueMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcColorValueMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcDateMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcDateTimeMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcGeneralValueMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcImageValueMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcMoneyValueMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcObjectReferenceFieldMapping;
-import org.apache.isis.objectstore.sql.jdbc.JdbcObjectReferenceMappingFactory;
-import org.apache.isis.objectstore.sql.jdbc.JdbcPasswordValueMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcTimeMapper;
-import org.apache.isis.objectstore.sql.jdbc.JdbcTimestampMapper;
-
-public class JdbcFieldMappingFactoryInstaller implements FieldMappingFactoryInstaller {
-
-    @Override
-    public void load(final FieldMappingLookup lookup) {
-
-        lookup.addFieldMappingFactory(Image.class,
-            new JdbcImageValueMapper.Factory(Defaults.TYPE_STRING(), Defaults.TYPE_BLOB()));
-
-        lookup.addFieldMappingFactory(Boolean.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_BOOLEAN()));
-        lookup.addFieldMappingFactory(Short.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_SHORT()));
-        lookup.addFieldMappingFactory(Integer.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_INT()));
-        lookup.addFieldMappingFactory(Long.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_LONG()));
-        lookup.addFieldMappingFactory(Float.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_FLOAT()));
-        lookup.addFieldMappingFactory(Double.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_DOUBLE()));
-        lookup.addFieldMappingFactory(char.class, new JdbcGeneralValueMapper.Factory("CHAR(2)"));
-
-        lookup.addFieldMappingFactory(Money.class, new JdbcMoneyValueMapper.Factory("FLOAT", "VARCHAR(3)"));
-        lookup.addFieldMappingFactory(Percentage.class, new JdbcGeneralValueMapper.Factory("FLOAT"));
-        lookup.addFieldMappingFactory(Password.class, new JdbcPasswordValueMapper.Factory(Defaults.TYPE_PASSWORD(),
-            Defaults.PASSWORD_SEED(), Defaults.PASSWORD_ENC_LENGTH()));
-        lookup.addFieldMappingFactory(Color.class, new JdbcColorValueMapper.Factory(Defaults.TYPE_LONG()));
-        lookup.addFieldMappingFactory(String.class, new JdbcGeneralValueMapper.Factory(Defaults.TYPE_STRING()));
-
-        lookup.addFieldMappingFactory(Date.class, new JdbcDateMapper.Factory());
-        lookup.addFieldMappingFactory(Time.class, new JdbcTimeMapper.Factory());
-        lookup.addFieldMappingFactory(DateTime.class, new JdbcDateTimeMapper.Factory());
-        lookup.addFieldMappingFactory(TimeStamp.class, new JdbcTimestampMapper.Factory());
-
-        lookup.addFieldMappingFactory(java.sql.Date.class, new JdbcDateMapper.Factory());
-        lookup.addFieldMappingFactory(java.sql.Time.class, new JdbcTimeMapper.Factory());
-        lookup.addFieldMappingFactory(java.util.Date.class, new JdbcDateTimeMapper.Factory());
-        lookup.addFieldMappingFactory(java.sql.Timestamp.class, new JdbcTimestampMapper.Factory());
-
-        lookup.addFieldMappingFactory(boolean.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_BOOLEAN()));
-        lookup.addFieldMappingFactory(short.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_SHORT()));
-        lookup.addFieldMappingFactory(int.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_INT()));
-        lookup.addFieldMappingFactory(long.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_LONG()));
-        lookup.addFieldMappingFactory(float.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_FLOAT()));
-        lookup.addFieldMappingFactory(double.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_DOUBLE()));
-
-        lookup.setReferenceFieldMappingFactory(new JdbcObjectReferenceFieldMapping.Factory());
-
-        lookup.setObjectReferenceMappingfactory(new JdbcObjectReferenceMappingFactory());
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/FieldMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/FieldMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/FieldMapping.java
deleted file mode 100644
index 0cc664e..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/FieldMapping.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.objectstore.sql.mapping;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Results;
-
-public interface FieldMapping {
-	
-    public ObjectAssociation getField();
-
-    void appendColumnDefinitions(StringBuffer sql);
-
-    void appendColumnNames(StringBuffer sql);
-
-    void appendInsertValues(DatabaseConnector connector, StringBuffer sql, ObjectAdapter object);
-
-    void appendUpdateValues(DatabaseConnector connector, StringBuffer sql, ObjectAdapter object);
-
-    void initializeField(ObjectAdapter object, Results rs);
-
-    void appendWhereClause(DatabaseConnector connector, StringBuffer sql, ObjectAdapter object);
-
-    void debugData(DebugBuilder debug);
-
-    void appendWhereObject(DatabaseConnector connector, ObjectAdapter objectAdapter);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/FieldMappingFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/FieldMappingFactory.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/FieldMappingFactory.java
deleted file mode 100644
index 4a139cf..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/FieldMappingFactory.java
+++ /dev/null
@@ -1,27 +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.objectstore.sql.mapping;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-
-public interface FieldMappingFactory {
-    FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/ObjectReferenceMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/ObjectReferenceMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/ObjectReferenceMapping.java
deleted file mode 100644
index e064cbe..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/ObjectReferenceMapping.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.objectstore.sql.mapping;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Results;
-
-public interface ObjectReferenceMapping {
-
-    void appendColumnDefinitions(StringBuffer sql);
-
-    void appendInsertValues(DatabaseConnector connector, StringBuffer sb, ObjectAdapter value);
-
-    void appendColumnNames(StringBuffer sql);
-
-    void appendUpdateValues(DatabaseConnector connector, StringBuffer sql, ObjectAdapter object);
-
-    Oid recreateOid(final Results rs, final ObjectSpecification specification);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/ObjectReferenceMappingFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/ObjectReferenceMappingFactory.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/ObjectReferenceMappingFactory.java
deleted file mode 100644
index 6a13d63..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/mapping/ObjectReferenceMappingFactory.java
+++ /dev/null
@@ -1,26 +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.objectstore.sql.mapping;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-public interface ObjectReferenceMappingFactory {
-    ObjectReferenceMapping createReferenceMapping(String columnName, ObjectSpecification specification);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/site/apt/index.apt b/mothballed/component/objectstore/sql/sql-impl/src/site/apt/index.apt
deleted file mode 100644
index 891352a..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/site/apt/index.apt
+++ /dev/null
@@ -1,27 +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.
-
-
-
-SQL ObjectStore Implementation
-
- This module holds the implementation of the {{{../index.html}SQL ObjectStore}}.
-
-Further Info
-  
- See this module's {{{./apidocs/index.html}Javadoc}} and {{{../docbkx/html/guide/isis-sql-objectstore.html}User Guide}} for more information.
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/site/apt/jottings.apt b/mothballed/component/objectstore/sql/sql-impl/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/site/site.xml b/mothballed/component/objectstore/sql/sql-impl/src/site/site.xml
deleted file mode 100644
index fea0aec..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/site/site.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="Implementation" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="SQL Objectstore Implementation">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="SQL OS Modules">
-            <item name="Implementation" href="../sql-impl/index.html" />
-            <item name="Tests" href="../sql-tests-common/index.html" />
-            <item name="Integration Tests" href="../sql-tests-served/index.html" /> 
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/test/java/org/apache/isis/objectstore/sql/DefaultsTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/test/java/org/apache/isis/objectstore/sql/DefaultsTest.java b/mothballed/component/objectstore/sql/sql-impl/src/test/java/org/apache/isis/objectstore/sql/DefaultsTest.java
deleted file mode 100644
index 86b5db4..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/test/java/org/apache/isis/objectstore/sql/DefaultsTest.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.objectstore.sql;
-
-import static org.hamcrest.Matchers.is;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-
-public class DefaultsTest {
-    @Test
-    public void tablePrefixDefaultsTo_Isis() {
-        final String prefix = "isis.persistor.sql";
-        final IsisConfiguration config = new IsisConfigurationDefault();
-        Defaults.initialise(prefix, config);
-        Assert.assertThat(Defaults.getTablePrefix(), is("isis_"));
-    }
-
-    @Test
-    public void tablePrefixCanBeReplaced() {
-        final String prefix = "isis.persistor.sql";
-        final String key = "isis.persistor.sql.default.tableprefix";
-        final IsisConfigurationDefault config = new IsisConfigurationDefault();
-        config.add(key, "");
-        Defaults.initialise(prefix, config);
-        Assert.assertThat(Defaults.getTablePrefix(), is(""));
-    }
-    
-    @Test 
-    public void checkLimitStatement(){
-        final String prefix = "isis.persistor.sql";
-        final IsisConfigurationDefault config = new IsisConfigurationDefault();
-        Defaults.initialise(prefix, config);
-        
-        final long startIndex=0;
-        final long rowCount=0;
-        
-        Assert.assertThat(Defaults.getLimitsClause(startIndex, rowCount), is("LIMIT 0, 0"));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/test/java/org/apache/isis/objectstore/sql/jdbc/helpers/SimplePasswordEncoderDecoderTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/test/java/org/apache/isis/objectstore/sql/jdbc/helpers/SimplePasswordEncoderDecoderTest.java b/mothballed/component/objectstore/sql/sql-impl/src/test/java/org/apache/isis/objectstore/sql/jdbc/helpers/SimplePasswordEncoderDecoderTest.java
deleted file mode 100644
index e2a976a..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/test/java/org/apache/isis/objectstore/sql/jdbc/helpers/SimplePasswordEncoderDecoderTest.java
+++ /dev/null
@@ -1,66 +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.objectstore.sql.jdbc.helpers;
-
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.not;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class SimplePasswordEncoderDecoderTest {
-
-    private static final String testSeed = "randomString12345";
-    private static final Integer encLength = 120;
-
-    @Test
-    public void testEncodingValueFromString() {
-        SimplePasswordEncoderDecoder encdec = new SimplePasswordEncoderDecoder(testSeed, encLength);
-        String input = "password";
-        String encoded = encdec.encodeRawValueIntoEncodedString(input);
-        Assert.assertThat(encoded, is(not(input)));
-        Assert.assertThat(encoded.length(), is(120));
-    }
-
-    @Test
-    public void testDecodingEncodedValue() {
-        SimplePasswordEncoderDecoder encdec = new SimplePasswordEncoderDecoder(testSeed, encLength);
-        String input = "password";
-        String encoded = encdec.encodeRawValueIntoEncodedString(input);
-        Assert.assertThat(encoded, is(not(input)));
-
-        String decoded = encdec.decodeEncodedValueIntoRawString(encoded);
-        Assert.assertThat(decoded, is(input));
-    }
-
-    @Test
-    public void testNoSeedDoesNothing() {
-        SimplePasswordEncoderDecoder encdec = new SimplePasswordEncoderDecoder(null, encLength);
-        String input = "password";
-        String encoded = encdec.encodeRawValueIntoEncodedString(input);
-        Assert.assertThat(encoded, is(input));
-
-        String decoded = encdec.decodeEncodedValueIntoRawString(encoded);
-        Assert.assertThat(decoded, is(input));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/pom.xml b/mothballed/component/objectstore/sql/sql-tests-common/pom.xml
deleted file mode 100644
index ddb472a..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/pom.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.objectstore</groupId>
-        <artifactId>isis-objectstore-sql</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>isis-objectstore-sql-tests-common</artifactId>
-
-    <name>Isis SQL ObjectStore Integration Tests - Common</name>
-
-    <properties>
-	    <siteBaseDir>..</siteBaseDir>
-		<relativeUrl>sql-tests-common/</relativeUrl>
-
-        <xml-objectstore.version>1.0.0-SNAPSHOT</xml-objectstore.version>
-        <hsqldb.version>2.2.9</hsqldb.version>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <description>Common code to test the sql persistor. Uses the HSQLDB for maximum compatibility.</description>
-    <build>
-        <plugins>
-            <!-- TODO: currently set to ignore test failures -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <testFailureIgnore>false</testFailureIgnore>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-				<version>${maven-project-info-reports-plugin}</version>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependency-management</report>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.hsqldb</groupId>
-                <artifactId>hsqldb</artifactId>
-                <version>${hsqldb.version}</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-unittestsupport</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-integtestsupport</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-        </dependency>
-
-        
-        <!--  Required for TestProxy -->
-		<!-- Isis defaults -->
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-        	<groupId>org.apache.isis.core</groupId>
-        	<artifactId>isis-core-bytecode-cglib</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-		<!-- Isis Object store -->
-        <dependency>
-            <groupId>org.apache.isis.objectstore</groupId>
-            <artifactId>isis-objectstore-sql-impl</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-tck-dom</artifactId>
-        </dependency>
-
-
-        <!-- HSQLDB -->
-        <dependency>
-            <groupId>org.hsqldb</groupId>
-            <artifactId>hsqldb</artifactId>
-        </dependency>
-        <!-- Required to support the XML cross-test -->
-        <dependency>
-            <groupId>org.apache.isis.objectstore</groupId>
-            <artifactId>isis-objectstore-xml</artifactId>
-        </dependency>
-		<!-- others -->
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-junit4</artifactId>
-        </dependency>
-        <dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-        </dependency>
-    </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/Data.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/Data.java b/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/Data.java
deleted file mode 100644
index f54f756..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/Data.java
+++ /dev/null
@@ -1,100 +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.objectstore.sql.common;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.isis.applib.value.Color;
-import org.apache.isis.applib.value.Date;
-import org.apache.isis.applib.value.DateTime;
-import org.apache.isis.applib.value.Image;
-import org.apache.isis.applib.value.Money;
-import org.apache.isis.applib.value.Password;
-import org.apache.isis.applib.value.Percentage;
-import org.apache.isis.applib.value.Time;
-import org.apache.isis.applib.value.TimeStamp;
-
-public class Data {
-
-    // private static final TimeZone GMTm2_TIME_ZONE;
-
-    // Helper values
-    static final java.sql.Date sqlDate;
-    static final java.sql.Date sqlDate20100305;
-
-    static {
-        /*
-         * 
-         * // For testing -ve offset timezone local regions. GMTm2_TIME_ZONE = TimeZone.getTimeZone("GMT-0200");
-         * //GMTm2_TIME_ZONE = TimeZone.getTimeZone("UTC"); TimeZone.setDefault(GMTm2_TIME_ZONE);
-         */
-
-        /*
-         * TimeZone timeZone = TimeZone.getTimeZone("Etc/UTC"); if (timeZone == null) { timeZone =
-         * TimeZone.getTimeZone("UTC"); } UTC_TIME_ZONE = timeZone;
-         */
-
-        /*
-         * There is still an issue assigning a java.sql.Date variable from a calendar. final Calendar cal =
-         * Calendar.getInstance(); cal.setTimeZone(UTC_TIME_ZONE); cal.clear(); cal.set(Calendar.YEAR, 2011);
-         * cal.set(Calendar.MONTH, 4-1); cal.set(Calendar.DAY_OF_MONTH, 8);
-         */
-        // 2011-4-8 = 1,270,684,800,000
-        final Date date20100308 = new Date(2010, 4, 8);
-        sqlDate = new java.sql.Date(date20100308.getMillisSinceEpoch());
-
-        sqlDate20100305 = new java.sql.Date(new Date(2010, 3, 5).getMillisSinceEpoch());
-    }
-
-    static final Date applibDate = new Date(2010, 3, 5); // 2010-03-05 =
-                                                         // 1,267,747,200,000
-    static final DateTime dateTime = new DateTime(2010, 3, 5, 1, 23); // 1,267,752,180,000
-    static final TimeStamp timeStamp = new TimeStamp(dateTime.millisSinceEpoch());
-    static final Time time = new Time(14, 56); // 53,760,000
-
-    static final Color color = Color.WHITE;
-    static final Image image = new Image(new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } });
-    static final Password password = new Password("password");
-    static final Percentage percentage = new Percentage(42);
-    static final Money money = new Money(99.99, "ZAR");
-
-    // Standard values
-    static final int intMaxValue = Integer.MAX_VALUE;
-    static final short shortMaxValue = Short.MAX_VALUE;
-    static final long longMaxValue = Long.MAX_VALUE;
-    static final double doubleMaxValue = 1e308;// Double.MAX_VALUE;
-    static final float floatMaxValue = (float) 1e37;// Float.MAX_VALUE;
-
-    static final int intMinValue = Integer.MIN_VALUE;
-    static final short shortMinValue = Short.MIN_VALUE;
-    static final long longMinValue = Long.MIN_VALUE;
-    static final double doubleMinValue = 1e-307;// Double.MIN_VALUE;
-    static final float floatMinValue = (float) 1e-37;// Float.MIN_VALUE;
-
-    // Collection mapper tests
-    static final List<String> stringList1 = Arrays.asList("Baking", "Bakery", "Canned", "Dairy");
-    static final List<String> stringList2 = Arrays.asList("Fridge", "Deli", "Fresh Produce", "Frozen", "Household",
-        "Other..");
-
-    public static List<String> getTableNames() {
-        return Arrays.asList("sqldataclass", "simpleclass", "simpleclasstwo", "primitivevaluedentity");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestCommonBase.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestCommonBase.java b/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestCommonBase.java
deleted file mode 100755
index 0747bcd..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestCommonBase.java
+++ /dev/null
@@ -1,190 +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.objectstore.sql.common;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Properties;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.FixMethodOrder;
-import org.junit.Rule;
-import org.junit.runners.MethodSorters;
-
-import org.apache.isis.core.tck.dom.poly.ReferencingPolyTypesEntity;
-import org.apache.isis.core.tck.dom.sqlos.SqlDomainObjectRepository;
-import org.apache.isis.core.tck.dom.sqlos.data.SqlDataClass;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures.State;
-
-/**
- * @author Kevin kevin@kmz.co.za
- * 
- *         This common test class is used by all sql objectstore tests to manage the Isis framework.
- * 
- * @version $Rev$ $Date$
- */
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public abstract class SqlIntegrationTestCommonBase {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    protected SqlIntegrationTestFixtures getSqlIntegrationTestFixtures() {
-        return SqlIntegrationTestFixtures.getInstance();
-    }
-
-    protected SqlDomainObjectRepository factory;
-    protected SqlDataClass sqlDataClass;
-    protected ReferencingPolyTypesEntity referencingPolyTypesEntity;
-
-    public Properties getProperties() {
-        try {
-            final Properties properties = new Properties();
-            properties.load(new FileInputStream("src/test/config/" + getPropertiesFilename()));
-            return properties;
-        } catch (final FileNotFoundException e) {
-            e.printStackTrace();
-        } catch (final IOException e) {
-            e.printStackTrace();
-        }
-
-        return null;
-    }
-
-    public abstract String getPropertiesFilename();
-
-    protected void setFixtureInitializationStateIfNot(State state, String persistenceMechanism) {
-        if (!persistenceMechanismIs(persistenceMechanism)) {
-            setFixtureInitializationState(state);
-        }
-    }
-
-    protected void setFixtureInitializationState(final State state, final String persistenceMechanism) {
-        if (persistenceMechanismIs(persistenceMechanism)) {
-            setFixtureInitializationState(state);
-        }
-    }
-
-    protected void setFixtureInitializationState(final State state) {
-        getSqlIntegrationTestFixtures().setState(state);
-    }
-
-    protected boolean persistenceMechanismIs(final String persistenceMechanism) {
-        return getProperties().getProperty("isis.persistor").equals(persistenceMechanism);
-    }
-
-    /**
-     * This method can be used to do any DB specific actions the first time the test framework is setup. e.g. In the XML
-     * test, it must delete all XML files in the data store directory.
-     * 
-     * You can also use @BeforeClass to perform pre-connection cleanup, such as deleting hsql-db data directories.
-     */
-    public void resetPersistenceStoreDirectlyIfRequired() {
-    }
-
-    protected void testSetup() {
-        resetPersistenceStoreDirectlyIfRequired();
-        getSqlIntegrationTestFixtures().setState(State.INITIALIZE);
-    }
-
-    // //////////////////////////////////////////////////////////////////////////////
-    // before, after
-    // //////////////////////////////////////////////////////////////////////////////
-
-    @Before
-    public void setUpSystem() throws Exception {
-        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.INFO);
-
-        if (!getSqlIntegrationTestFixtures().getState().isInitialize()) {
-            return;
-        }
-
-        final Properties properties = getProperties();
-        if (properties == null) {
-            getSqlIntegrationTestFixtures().initSystem("src/test/config", getPropertiesFilename());
-        } else {
-            getSqlIntegrationTestFixtures().initSystem(properties);
-        }
-
-        final String sqlSetupString = getSqlSetupString();
-        if (sqlSetupString != null) {
-            getSqlIntegrationTestFixtures().sqlExecute(sqlSetupString);
-        }
-    }
-
-    /**
-     * optional hook
-     */
-    protected String getSqlSetupString() {
-        return null;
-    }
-
-    @Before
-    public void setUpFactory() throws Exception {
-        factory = getSqlIntegrationTestFixtures().getSqlDataClassFactory();
-
-        // may have been setup by previous test
-        sqlDataClass = getSqlIntegrationTestFixtures().getSqlDataClass();
-        referencingPolyTypesEntity = getSqlIntegrationTestFixtures().getPolyTestClass();
-    }
-    
-
-
-    // //////////////////////////////////////////////////////////////////////////////
-    // after
-    // //////////////////////////////////////////////////////////////////////////////
-
-
-    @After
-    public void tearDown() throws Exception {
-        
-        
-        
-        if (!getSqlIntegrationTestFixtures().getState().isInitialize()) {
-            return;
-        }
-        final String sqlTeardownString = getSqlTeardownString();
-        if (sqlTeardownString != null) {
-            try {
-                getSqlIntegrationTestFixtures().sqlExecute(sqlTeardownString);
-            } catch (final SQLException e) {
-                e.printStackTrace();
-            }
-        }
-        getSqlIntegrationTestFixtures().shutDown();
-    }
-
-
-    /**
-     * optional hook
-     */
-    protected String getSqlTeardownString() {
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java b/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java
deleted file mode 100644
index dcb5db1..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java
+++ /dev/null
@@ -1,651 +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.objectstore.sql.common;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-
-import org.apache.isis.applib.value.Color;
-import org.apache.isis.applib.value.Date;
-import org.apache.isis.applib.value.DateTime;
-import org.apache.isis.applib.value.Image;
-import org.apache.isis.applib.value.Money;
-import org.apache.isis.applib.value.Password;
-import org.apache.isis.applib.value.Percentage;
-import org.apache.isis.applib.value.Time;
-import org.apache.isis.applib.value.TimeStamp;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.tck.dom.scalars.PrimitiveValuedEntity;
-import org.apache.isis.core.tck.dom.sqlos.SqlDomainObjectRepository;
-import org.apache.isis.core.tck.dom.sqlos.data.SimpleClass;
-import org.apache.isis.core.tck.dom.sqlos.data.SimpleClassTwo;
-import org.apache.isis.core.tck.dom.sqlos.data.SqlDataClass;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures.State;
-
-/**
- * @author Kevin kevin@kmz.co.za
- * 
- *         This common class is used by the datatype tests (values, objects, collections) to ensure proper creation and
- *         reloading of domain objects.
- * 
- *         There are two "tests", with the framework re-initialised each time (to flush any objectstore memory of any
- *         created domain objects).
- * 
- *         The Singleton class {@link SqlIntegrationTestFixtures} is used to preserve values between tests.
- * 
- * @version $Rev$ $Date$
- */
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public abstract class SqlIntegrationTestData extends SqlIntegrationTestCommonBase {
-
-    private static final Logger LOG = LoggerFactory.getLogger(SqlIntegrationTestData.class);
-
-    private static List<SimpleClass> simpleClassList1 = new ArrayList<SimpleClass>();
-    private static List<SimpleClass> simpleClassList2 = new ArrayList<SimpleClass>();
-
-    private static SimpleClassTwo simpleClassTwoA;
-    private static SimpleClassTwo simpleClassTwoB;
-
-    private static PrimitiveValuedEntity pve1;
-    private static PrimitiveValuedEntity pve2;
-
-    
-    @Before
-    public void setUpXactn() throws Exception {
-        IsisContext.getTransactionManager().startTransaction();
-    }
-
-    @After
-    public void tearDownXactn() throws Exception {
-        IsisContext.getTransactionManager().endTransaction();
-        assertThat(IsisContext.getTransactionManager().getTransaction().getState().isComplete(), is(true));
-        
-    }
-
-    
-    /**
-     * Uses factory methods within the Isis framework to create the test data,
-     * thus exercising the "create data" portion of the object store.
-     * 
-     * The Isis framework will be again be re-created in the next test unless the 
-     * object store is "in-memory" (this is required since "in-memory" has to be
-     * left alone for created data to still be present in the next test).
-     */
-    @Test
-    public void testSetupStore() throws Exception {
-        testSetup();
-        setUpFactory();
-        testCreate();
-    }
-
-    protected void testCreate() throws Exception {
-
-        sqlDataClass = factory.newDataClass();
-
-        sqlDataClass.setString("Test String");
-        sqlDataClass.setDate(Data.applibDate);
-        sqlDataClass.setSqlDate(Data.sqlDate);
-        sqlDataClass.setMoney(Data.money);
-        sqlDataClass.setDateTime(Data.dateTime);
-        sqlDataClass.setTimeStamp(Data.timeStamp);
-        sqlDataClass.setTime(Data.time);
-        sqlDataClass.setColor(Data.color);
-        sqlDataClass.setImage(Data.image);
-        sqlDataClass.setPassword(Data.password);
-        sqlDataClass.setPercentage(Data.percentage);
-
-        // Setup SimpleClassTwo
-        simpleClassTwoA = factory.newSimpleClassTwo();
-        simpleClassTwoA.setText("A");
-        simpleClassTwoA.setIntValue(999);
-        simpleClassTwoA.setBooleanValue(true);
-
-        simpleClassTwoB = factory.newSimpleClassTwo();
-        simpleClassTwoB.setText("B");
-
-        sqlDataClass.setSimpleClassTwo(simpleClassTwoA);
-
-        // NumericClasses
-        // standard min types
-        pve2 = factory.newPrimitiveValuedEntity();
-        LOG.info( "Bits to represent Double: " + Double.SIZE);
-        pve2.setIntProperty(Data.intMinValue);
-        pve2.setShortProperty(Data.shortMinValue);
-        pve2.setLongProperty(Data.longMinValue);
-        pve2.setDoubleProperty(Data.doubleMinValue);
-        pve2.setFloatProperty(Data.floatMinValue);
-        pve2.setCharProperty((char) (32)); // temporary work around: See ISIS-269
-
-        sqlDataClass.setPrimitiveValuedEntityMin(pve2);
-
-        // standard max types
-        pve1 = factory.newPrimitiveValuedEntity();
-        pve1.setIntProperty(Data.intMaxValue);
-        pve1.setShortProperty(Data.shortMaxValue);
-        pve1.setLongProperty(Data.longMaxValue);
-        pve1.setDoubleProperty(Data.doubleMaxValue);
-        pve1.setFloatProperty(Data.floatMaxValue);
-        pve1.setCharProperty((char) (255));
-
-        sqlDataClass.setPrimitiveValuedEntityMax(pve1);
-
-        // Initialise collection1
-        boolean bMustAdd = false;
-        if (simpleClassList1.size() == 0) {
-            bMustAdd = true;
-        }
-        for (final String string : Data.stringList1) {
-            final SimpleClass simpleClass = factory.newSimpleClass();
-            simpleClass.setString(string);
-            simpleClass.setSimpleClassTwoA(simpleClassTwoA);
-            sqlDataClass.addToSimpleClasses1(simpleClass);
-            if (bMustAdd) {
-                simpleClassList1.add(simpleClass);
-            }
-        }
-
-        // Initialise collection2
-        for (final String string : Data.stringList2) {
-            final SimpleClass simpleClass = factory.newSimpleClass();
-            simpleClass.setString(string);
-            simpleClass.setSimpleClassTwoA(simpleClassTwoB);
-            sqlDataClass.addToSimpleClasses2(simpleClass);
-            if (bMustAdd) {
-                simpleClassList2.add(simpleClass);
-            }
-        }
-
-        // Initialise Image
-        Image image = new Image(new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } });
-        sqlDataClass.setImage(image);
-
-        // Save
-        factory.save(sqlDataClass);
-
-        setFixtureInitializationState(State.DONT_INITIALIZE, "in-memory");
-    }
-
-    /**
-     * The actual "tests". Unless the test is using the "in-memory" object store 
-     * the Isis framework is re-created, thus ensuring that no domain objects are
-     * left over from the previous "create" step, forcing the objects to be created
-     * via the object store.
-     * 
-     * Exercises the "restore data" portion of the object store.
-     * 
-     * Confirms that values and objects (single and collections) are loaded as expected.
-     * Especially, it confirms that dates, times, etc, do not suffer from differences in
-     * time zones between the database and the Isis framework.
-     */
-    @Test
-    public void testTestAll() throws Exception {
-        
-        testLoad();
-
-        setUpFactory();
-
-        testString();
-        setStringToDifferentValue();
-        testSimpleClassCollection1Lazy();
-
-        testMoney();
-        testColor();
-        testPassword();
-        testPercentage();
-        
-        testImage();
-        
-        testStandardValueTypesMaxima();
-        testStandardValueTypesMinima();
-
-        testSingleReferenceLazy();
-        testSimpleClassTwoReferenceLazy();
-
-        testSimpleClassCollection1();
-        testSimpleClassCollection2();
-
-        testSingleReferenceResolve();
-        testSimpleClassTwoReferenceResolve();
-        testSimpleClassTwo();
-        testUpdate1();
-        testUpdate2();
-        testUpdateCollectionIsDirty();
-        testFindByMatchString();
-        testFindByMatchEntity();
-
-        testApplibDate();
-        testSqlDate();
-        testTime();
-        testTimeStamp();
-        testDateTimezoneIssue();
-        testDateTime();
-        
-        // Test LIMIT statement
-        testLimitCount();
-
-        // Must be here so that the Isis framework is initialised for the next test package.
-        setFixtureInitializationState(State.INITIALIZE);
-    }
-
-    private void testLoad() throws Exception {
-        final List<SqlDataClass> dataClasses = factory.allDataClasses();
-        IsisContext.getTransactionManager().flushTransaction();
-        
-        assertEquals(1, dataClasses.size());
-        final SqlDataClass sqlDataClass = dataClasses.get(0);
-        getSqlIntegrationTestFixtures().setSqlDataClass(sqlDataClass);
-
-        setFixtureInitializationState(State.DONT_INITIALIZE);
-    }
-
-    private void testString() {
-        assertEquals("Test String", sqlDataClass.getString());
-    }
-
-    private void setStringToDifferentValue() {
-        sqlDataClass.setString("String 2");
-    }
-
-    private void testSimpleClassCollection1Lazy() {
-        final List<SimpleClass> collection = sqlDataClass.simpleClasses1;
-
-        assertEquals("collection size is not equal!", collection.size(), simpleClassList1.size());
-    }
-
-    /**
-     * Test {@link SqlDataClass} {@link Date} field.
-     * 
-     * @throws Exception
-     */
-    private void testApplibDate() {
-
-        LOG.info("Test: testDate() '2010-3-5' = 1267747200000");
-
-        // 2010-3-5 = 1267747200000
-        LOG.info( "applibDate.dateValue() as String: " + Data.applibDate);
-        LOG.info( "applibDate.dateValue() as Long: " + Data.applibDate.getMillisSinceEpoch());
-
-        // 2010-3-5 = 1267747200000
-        LOG.info( "sqlDataClass.getDate() as String: " + sqlDataClass.getDate());
-        LOG.info( "sqlDataClass.getDate().getTime() as Long: " + sqlDataClass.getDate().getMillisSinceEpoch());
-
-        if (!Data.applibDate.isEqualTo(sqlDataClass.getDate())) {
-            fail("Applib date: Test '2010-3-5', expected " + Data.applibDate.toString() + ", but got "
-                + sqlDataClass.getDate().toString() + ". Check log for more info.");
-        } else {
-            // LOG.log(Level.INFO,
-            // "SQL applib.value.date: test passed! Woohoo!");
-        }
-
-    }
-
-    /**
-     * Test {@link SqlDataClass} {@link java.sql.Date} field.
-     * 
-     * @throws Exception
-     */
-    private void testSqlDate() {
-
-        LOG.info( "Test: testSqlDate() '2011-4-8' == 1302220800000");
-
-        // 2011-4-8 = 1302220800000
-        LOG.info( "sqlDate.toString() as String:" + Data.sqlDate); // shows
-        // as
-        // 2011-04-07
-        LOG.info( "sqlDate.getTime() as Long:" + Data.sqlDate.getTime());
-
-        // 2011-4-8 = 1302220800000
-        LOG.info( "sqlDataClass.getSqlDate() as String:" + sqlDataClass.getSqlDate()); // shows
-                                                                                                 // as
-        // 2011-04-07
-        LOG.info( "sqlDataClass.getSqlDate().getTime() as Long:" + sqlDataClass.getSqlDate().getTime());
-
-        if (Data.sqlDate.compareTo(sqlDataClass.getSqlDate()) != 0) {
-            fail("SQL date: Test '2011-4-8', expected " + Data.sqlDate.toString() + ", but got "
-                + sqlDataClass.getSqlDate().toString() + ". Check log for more info.");
-        } else {
-            // LOG.log(Level.INFO, "SQL date: test passed! Woohoo!");
-        }
-
-    }/**/
-
-    private void testDateTimezoneIssue() {
-        /*
-         * At the moment, applib Date and java.sql.Date are restored from ValueSemanticsProviderAbstractTemporal with an
-         * explicit hourly offset that comes from the timezone. I.e. in South Africa, with TZ +2h00, they have an
-         * implicit time of 02h00 (2AM). This can potentially seriously screw up GMT-X dates, which, I suspect, will
-         * actually be set to the dat BEFORE.
-         * 
-         * This test is a simple test to confirm that date/time before and after checks work as expected.
-         */
-
-        DateTime dateTime = sqlDataClass.getDateTime(); // new DateTime(2010, 3, 5, 1, 23);
-        Date date = sqlDataClass.getDate(); // new Date(2010, 3, 5);
-
-        // java.sql.Date sqlDate = sqlDataClass.getSqlDate(); // "2010-03-05"
-        // assertTrue("dateTime's value (" + dateTime.dateValue() + ") should be after java.sql.date's (" + sqlDate +
-        // ")",
-        // dateTime.dateValue().after(sqlDate));
-
-        assertTrue("dateTime's value (" + dateTime.dateValue() + ") should be after date's (" + date + ")", dateTime
-            .dateValue().after(date.dateValue()));
-
-    }
-
-    /**
-     * Test {@link Money} type.
-     */
-    private void testMoney() {
-        assertEquals(Data.money, sqlDataClass.getMoney());
-    }
-
-    /**
-     * Test {@link DateTime} type.
-     */
-    private void testDateTime() {
-
-        LOG.info( "Test: testDateTime()");
-        LOG.info( "sqlDataClass.getDateTime() as String:" + sqlDataClass.getDateTime());
-        LOG.info( "dateTime.toString() as String:" + Data.dateTime);
-
-        LOG.info( "sqlDataClass.getDateTime().getTime() as Long:"
-            + sqlDataClass.getDateTime().millisSinceEpoch());
-        LOG.info( "dateTime.getTime() as Long:" + Data.dateTime.millisSinceEpoch());
-
-        if (!Data.dateTime.equals(sqlDataClass.getDateTime())) {
-            fail("DateTime " + Data.dateTime.toString() + " is not expected " + sqlDataClass.getDateTime().toString());
-        }
-    }
-
-    /**
-     * Test {@link TimeStamp} type.
-     */
-    private void testTimeStamp() {
-        assertTrue(
-            "TimeStamp " + sqlDataClass.getTimeStamp().toString() + " does not equal expected "
-                + Data.timeStamp.toString(), Data.timeStamp.isEqualTo(sqlDataClass.getTimeStamp()));
-    }
-
-    /**
-     * Test {@link Time} type.
-     */
-    /**/
-    private void testTime() {
-        assertNotNull("sqlDataClass is null", sqlDataClass);
-        assertNotNull("getTime() is null", sqlDataClass.getTime());
-        assertTrue("Time 14h56: expected " + Data.time.toString() + ", but got " + sqlDataClass.getTime().toString(),
-            Data.time.isEqualTo(sqlDataClass.getTime()));
-    }
-
-    /**
-     * Test {@link Color} type.
-     */
-    private void testColor() {
-        assertEquals(Data.color, sqlDataClass.getColor());
-    }
-
-    /**
-     * Test {@link Image} type.
-     */
-    private void testImage() {
-        Image image1 = new Image(new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } });
-        Image image2 = sqlDataClass.getImage();
-        // REVIEW: Only XML persistor fails here...
-        if (!persistenceMechanismIs("xml")) {
-            assertImagesEqual(image1, image2);
-        }
-    }
-
-    private void assertImagesEqual(Image image2, Image image3) {
-        assertEquals(image2.getHeight(), image3.getHeight());
-        assertEquals(image2.getWidth(), image3.getWidth());
-        boolean same = true;
-        int i = 0, j = 0;
-        int p1 = 0, p2 = 0;
-        String error = "";
-        int[][] i1 = image2.getImage(), i2 = image3.getImage();
-        for (i = 0; same && i < image2.getHeight(); i++) {
-            int[] r1 = i1[i], r2 = i2[i];
-            for (j = 0; same && j < image2.getWidth(); j++) {
-                p1 = r1[j];
-                p2 = r2[j];
-                if (p1 != p2) {
-                    same = false;
-                    error = "Images differ at i = " + i + ", j = " + j + ", " + p1 + " is not " + p2 + "!";
-                    break;
-                }
-            }
-        }
-        assertTrue(error, same);
-    }
-
-    /**
-     * Test {@link Password} type.
-     */
-    private void testPassword() {
-        assertEquals(Data.password, sqlDataClass.getPassword());
-    }
-
-    /**
-     * Test {@link Percentage} type.
-     */
-    private void testPercentage() {
-        assertEquals(Data.percentage, sqlDataClass.getPercentage());
-    }
-
-    private void testStandardValueTypesMaxima() {
-        final PrimitiveValuedEntity pveMax = sqlDataClass.getPrimitiveValuedEntityMax();
-
-        assertEquals(Data.shortMaxValue, pveMax.getShortProperty());
-        assertEquals(Data.intMaxValue, pveMax.getIntProperty());
-        assertEquals(Data.longMaxValue, pveMax.getLongProperty());
-        assertEquals(Data.doubleMaxValue, pveMax.getDoubleProperty(), 0.00001f); // fails
-        // in
-        assertEquals(Data.floatMaxValue, pveMax.getFloatProperty(), 0.00001f);
-    }
-
-    private void testStandardValueTypesMinima() {
-        final PrimitiveValuedEntity pveMin = sqlDataClass.getPrimitiveValuedEntityMin();
-
-        assertEquals(Data.shortMinValue, pveMin.getShortProperty());
-        assertEquals(Data.intMinValue, pveMin.getIntProperty());
-        assertEquals(Data.longMinValue, pveMin.getLongProperty());
-        assertEquals(Data.doubleMinValue, pveMin.getDoubleProperty(), 0.00001f); // fails
-        // in
-        // MySQL
-        // =
-        // infinity
-        assertEquals(Data.floatMinValue, pveMin.getFloatProperty(), 0.00001f);
-    }
-
-    /**
-     * Test {@link StringCollection} type.
-     */
-    /*
-     * public void testStringCollection(){ SqlDataClass sqlDataClass = SqlIntegrationTestSingleton.getPerson();
-     * List<String> collection = sqlDataClass.getStringCollection(); int i = 0; for (String string : collection) {
-     * assertEquals(SqlIntegrationTestCommon.stringList.get(i++), string); } }
-     */
-
-    private void testSingleReferenceLazy() {
-        final SimpleClassTwo a = sqlDataClass.getSimpleClassTwo();
-        if (!persistenceMechanismIs("in-memory")) {
-            assertEquals(null, a.text); // must check direct value, as
-            // framework can auto-resolve, if you use getText()
-        }
-    }
-
-    /**
-     * Test a collection of {@link SimpleClass} type.
-     */
-    private void testSimpleClassCollection1() {
-        final List<SimpleClass> collection = sqlDataClass.getSimpleClasses1();
-
-        assertEquals("collection size is not equal!", simpleClassList1.size(), collection.size());
-
-        int i = 0;
-        for (final SimpleClass simpleClass : simpleClassList1) {
-            assertEquals(simpleClass.getString(), collection.get(i++).getString());
-        }
-    }
-
-    /**
-     * Test another collection of {@link SimpleClass} type.
-     */
-    private void testSimpleClassCollection2() {
-        final List<SimpleClass> collection = sqlDataClass.getSimpleClasses2();
-
-        assertEquals("collection size is not equal!", simpleClassList2.size(), collection.size());
-
-        int i = 0;
-        for (final SimpleClass simpleClass : simpleClassList2) {
-            assertEquals(simpleClass.getString(), collection.get(i++).getString());
-        }
-    }
-
-    private void testSimpleClassTwoReferenceLazy() {
-        final List<SimpleClass> collection = sqlDataClass.getSimpleClasses1();
-        if (getProperties().getProperty("isis.persistor") != "in-memory") {
-            for (final SimpleClass simpleClass : collection) {
-                final SimpleClassTwo a = simpleClass.getSimpleClassTwoA();
-                assertEquals(null, a.text); // must check direct value, as
-                                            // framework can auto-resolve, if
-                                            // you use getText()
-            }
-        }
-    }
-
-    private void testSingleReferenceResolve() {
-        final SimpleClassTwo a = sqlDataClass.getSimpleClassTwo();
-        factory.resolve(a);
-        assertEquals(simpleClassTwoA.getText(), a.getText());
-    }
-
-    private void testSimpleClassTwoReferenceResolve() {
-        final List<SimpleClass> collection = sqlDataClass.getSimpleClasses1();
-        for (final SimpleClass simpleClass : collection) {
-            final SimpleClassTwo a = simpleClass.getSimpleClassTwoA();
-            factory.resolve(a);
-            assertEquals(simpleClassTwoA.getText(), a.getText());
-            assertEquals(simpleClassTwoA.getIntValue(), a.getIntValue());
-            assertEquals(simpleClassTwoA.getBooleanValue(), a.getBooleanValue());
-        }
-    }
-
-    private void testSimpleClassTwo() {
-        final SqlDomainObjectRepository factory = getSqlIntegrationTestFixtures().getSqlDataClassFactory();
-        final List<SimpleClassTwo> classes = factory.allSimpleClassTwos();
-        assertEquals(2, classes.size());
-        for (final SimpleClassTwo simpleClass : classes) {
-            // assertEquals(simpleClassTwoA.getText(), simpleClass.getText());
-            assertTrue("AB".contains(simpleClass.getText()));
-        }
-    }
-
-    private void testUpdate1() {
-        final List<SimpleClassTwo> classes = factory.allSimpleClassTwos();
-        assertEquals(2, classes.size());
-
-        final SimpleClassTwo simpleClass = classes.get(0);
-        simpleClass.setText("XXX");
-        simpleClass.setBooleanValue(false);
-        simpleClassTwoA.setBooleanValue(false);
-
-        setFixtureInitializationStateIfNot(State.INITIALIZE, "in-memory");
-    }
-
-    private void testUpdate2() {
-        final List<SimpleClassTwo> classes = factory.allSimpleClassTwos();
-        assertEquals(2, classes.size());
-
-        final SimpleClassTwo simpleClass = classes.get(0);
-        assertEquals("XXX", simpleClass.getText());
-        assertEquals(simpleClassTwoA.getBooleanValue(), simpleClass.getBooleanValue());
-
-        setFixtureInitializationState(State.DONT_INITIALIZE);
-    }
-
-    private void testUpdateCollectionIsDirty() {
-
-        final List<SqlDataClass> sqlDataClasses = factory.allDataClasses();
-        final SqlDataClass sqlDataClass = sqlDataClasses.get(0);
-
-        final List<SimpleClass> collection = sqlDataClass.getSimpleClasses1();
-        final SimpleClass simpleClass1 = collection.get(0);
-
-        collection.remove(simpleClass1);
-
-        // REVIEW: I'm very doubtful about this...
-        // what exactly is meant by updating an internal collection?
-        if (!persistenceMechanismIs("xml")) {
-            factory.update(collection);
-        }
-
-        factory.update(sqlDataClass);
-    }
-    
-    private void testLimitCount() {
-        final List<SimpleClass> subset = factory.someSimpleClasses(0, 2);
-        assertEquals(2, subset.size());
-        // TODO: This test does not confirm that the *right* 2 were returned. 
-    }
-
-    private void testFindByMatchString() {
-        final SimpleClass simpleClassMatch = new SimpleClass();
-        simpleClassMatch.setString(Data.stringList1.get(1));
-
-        final List<SimpleClass> classes = factory.allSimpleClassesThatMatch(simpleClassMatch);
-        assertEquals(1, classes.size());
-
-    }
-
-    private void testFindByMatchEntity() {
-        final List<SimpleClassTwo> classTwos = factory.allSimpleClassTwos();
-
-        final SimpleClass simpleClassMatch = new SimpleClass();
-        simpleClassMatch.setSimpleClassTwoA(classTwos.get(0));
-
-        final List<SimpleClass> classes = factory.allSimpleClassesThatMatch(simpleClassMatch);
-
-        // TODO: Why is this hack required?
-        if (!getProperties().getProperty("isis.persistor").equals("in-memory")) {
-            assertEquals(Data.stringList1.size(), classes.size());
-        } else {
-            assertEquals(Data.stringList1.size() + 2, classes.size());
-        }
-    }
-}


[06/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/DetailedMessageViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/DetailedMessageViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/DetailedMessageViewSpecification.java
deleted file mode 100644
index 0acae98..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/DetailedMessageViewSpecification.java
+++ /dev/null
@@ -1,186 +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.dnd.view.message;
-
-import java.util.StringTokenizer;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.ButtonAction;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.border.ButtonBorder;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.control.AbstractButtonAction;
-import org.apache.isis.viewer.dnd.view.control.CancelAction;
-import org.apache.isis.viewer.dnd.view.debug.DebugOutput;
-
-public class DetailedMessageViewSpecification implements ViewSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        final Content content = requirement.getContent();
-        return content instanceof MessageContent && ((MessageContent) content).getDetail() != null;
-    }
-
-    @Override
-    public String getName() {
-        return "Detailed Message";
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final ButtonAction actions[] = new ButtonAction[] { new AbstractButtonAction("Print...") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                DebugOutput.print("Print exception", extract(view));
-            }
-        }, new AbstractButtonAction("Save...") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                DebugOutput.saveToFile("Save exception", "Exception", extract(view));
-            }
-        }, new AbstractButtonAction("Copy") {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                DebugOutput.saveToClipboard(extract(view));
-            }
-        }, new CancelAction(),
-
-        };
-
-        final DetailedMessageView messageView = new DetailedMessageView(content, this);
-        return new ButtonBorder(actions, new ScrollBorder(messageView));
-    }
-
-    private String extract(final View view) {
-        final Content content = view.getContent();
-        final String message = ((MessageContent) content).getMessage();
-        final String heading = ((MessageContent) content).title();
-        final String detail = ((MessageContent) content).getDetail();
-
-        final StringBuffer text = new StringBuffer();
-        text.append(heading);
-        text.append("\n\n");
-        text.append(message);
-        text.append("\n\n");
-        text.append(detail);
-        text.append("\n\n");
-        return text.toString();
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return true;
-    }
-}
-
-class DetailedMessageView extends AbstractView {
-    protected DetailedMessageView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size size = new Size();
-        size.extendHeight(Toolkit.getText(ColorsAndFonts.TEXT_TITLE).getTextHeight());
-        size.extendHeight(30);
-
-        final String message = ((MessageContent) getContent()).getMessage();
-        size.ensureWidth(500);
-        size.extendHeight(Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).stringHeight(message, 500));
-        size.extendHeight(30);
-
-        final String detail = ((MessageContent) getContent()).getDetail();
-        final StringTokenizer st = new StringTokenizer(detail, "\n\r");
-        while (st.hasMoreTokens()) {
-            final String line = st.nextToken();
-            final Text text = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-            size.ensureWidth((line.startsWith("\t") ? 20 : 0) + text.stringWidth(line));
-            size.extendHeight(text.getTextHeight());
-        }
-
-        size.extend(40, 20);
-        return size;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final int left = 10;
-        final Text title = Toolkit.getText(ColorsAndFonts.TEXT_TITLE);
-        int y = 10 + title.getAscent();
-        final String message = ((MessageContent) getContent()).getMessage();
-        final String heading = ((MessageContent) getContent()).title();
-        final String detail = ((MessageContent) getContent()).getDetail();
-
-        final Color black = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        canvas.drawText(heading, left, y, black, title);
-        y += title.getTextHeight();
-        final Text text = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-        canvas.drawText(message, left, y, 500, black, text);
-
-        y += text.stringHeight(message, 500);
-        canvas.drawText(detail, left, y, 1000, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1), text);
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        return ViewAreaType.VIEW;
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/ExceptionMessageContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/ExceptionMessageContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/ExceptionMessageContent.java
deleted file mode 100644
index c8b5518..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/ExceptionMessageContent.java
+++ /dev/null
@@ -1,191 +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.dnd.view.message;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisApplicationException;
-import org.apache.isis.core.commons.lang.StringExtensions;
-import org.apache.isis.core.commons.lang.ThrowableExtensions;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-
-public class ExceptionMessageContent implements MessageContent {
-
-    protected String message;
-    protected String name;
-    protected String trace;
-    protected String title;
-    private final String icon;
-
-    public ExceptionMessageContent(final Throwable error) {
-        String fullName = error.getClass().getName();
-        fullName = fullName.substring(fullName.lastIndexOf('.') + 1);
-        name = StringExtensions.asNaturalName2(fullName);
-        message = error.getMessage();
-        trace = ThrowableExtensions.stackTraceFor(error);
-        if (trace.indexOf("\tat") != -1) {
-            trace = trace.substring(trace.indexOf("\tat"));
-        }
-
-        if (name == null) {
-            name = "";
-        }
-        if (message == null) {
-            message = "";
-        }
-        if (trace == null) {
-            trace = "";
-        }
-
-        if (error instanceof IsisApplicationException) {
-            title = "Application Error";
-            icon = "application-error";
-        } else if (error instanceof ConcurrencyException) {
-            title = "Concurrency Error";
-            icon = "concurrency-error";
-        } else {
-            title = "System Error";
-            icon = "system-error";
-        }
-
-    }
-
-    @Override
-    public String getMessage() {
-        return message;
-    }
-
-    @Override
-    public String getDetail() {
-        return trace;
-    }
-
-    @Override
-    public String getIconName() {
-        return icon;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public String getDescription() {
-        return name;
-    }
-
-    @Override
-    public String getHelp() {
-        return "";
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        return null;
-    }
-
-    @Override
-    public String getId() {
-        return "message-exception";
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return null;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return null;
-    }
-
-    @Override
-    public boolean isCollection() {
-        return false;
-    }
-
-    @Override
-    public boolean isObject() {
-        return false;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public boolean isPersistable() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return false;
-    }
-
-    @Override
-    public boolean isTextParseable() {
-        return false;
-    }
-
-    public void parseTextEntry(final String entryText) {
-    }
-
-    @Override
-    public String title() {
-        return name;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-    }
-
-    @Override
-    public String windowTitle() {
-        return title;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/MessageContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/MessageContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/MessageContent.java
deleted file mode 100644
index b8e6c33..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/MessageContent.java
+++ /dev/null
@@ -1,28 +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.dnd.view.message;
-
-import org.apache.isis.viewer.dnd.view.Content;
-
-public interface MessageContent extends Content {
-    String getMessage();
-
-    String getDetail();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/MessageDialogSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/MessageDialogSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/MessageDialogSpecification.java
deleted file mode 100644
index d7ec4d33..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/MessageDialogSpecification.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.dnd.view.message;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.ButtonAction;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.border.ButtonBorder;
-import org.apache.isis.viewer.dnd.view.border.ScrollBorder;
-import org.apache.isis.viewer.dnd.view.control.AbstractButtonAction;
-import org.apache.isis.viewer.dnd.view.window.SubviewFocusManager;
-
-public class MessageDialogSpecification implements ViewSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.getContent() instanceof MessageContent;
-    }
-
-    @Override
-    public String getName() {
-        return "Message Dialog";
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final ButtonAction actions[] = new ButtonAction[] { new CloseViewAction() };
-        final MessageView messageView = new MessageView((MessageContent) content, this);
-        final View dialogView = new ButtonBorder(actions, new ScrollBorder(messageView));
-        dialogView.setFocusManager(new SubviewFocusManager(dialogView));
-        return dialogView;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    public static class CloseViewAction extends AbstractButtonAction {
-        public CloseViewAction() {
-            super("Close");
-        }
-
-        @Override
-        public void execute(final Workspace workspace, final View view, final Location at) {
-            view.dispose();
-        }
-    }
-}
-
-class MessageView extends AbstractView {
-    private static final int MAX_TEXT_WIDTH = 400;
-    private static final int LEFT = 20;
-    private static final int RIGHT = 20;
-    private static final int TOP = 15;
-    private static final int PADDING = 10;
-    private Image errorIcon;
-    private FocusManager focusManager;
-
-    protected MessageView(final MessageContent content, final ViewSpecification specification) {
-        super(content, specification);
-        final String iconName = ((MessageContent) getContent()).getIconName();
-        errorIcon = ImageFactory.getInstance().loadIcon(iconName, 32, null);
-        if (errorIcon == null) {
-            errorIcon = ImageFactory.getInstance().loadDefaultIcon(32, null);
-        }
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size size = new Size();
-
-        final String message = ((MessageContent) getContent()).getMessage();
-        final String heading = ((MessageContent) getContent()).title();
-
-        size.ensureHeight(errorIcon.getHeight());
-        final Text text = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-        final Text titleText = Toolkit.getText(ColorsAndFonts.TEXT_TITLE);
-        size.extendWidth(text.stringWidth(message, MAX_TEXT_WIDTH));
-        int textHeight = titleText.getLineHeight();
-        textHeight += text.stringHeight(message, MAX_TEXT_WIDTH);
-        size.ensureHeight(textHeight);
-
-        size.ensureWidth(titleText.stringWidth(heading));
-
-        size.extendWidth(errorIcon.getWidth());
-        size.extendWidth(PADDING);
-
-        size.extend(LEFT + RIGHT, TOP * 2);
-        return size;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final String message = ((MessageContent) getContent()).getMessage();
-        final String heading = ((MessageContent) getContent()).title();
-
-        clearBackground(canvas, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-
-        canvas.drawImage(errorIcon, LEFT, TOP);
-
-        final int x = LEFT + errorIcon.getWidth() + PADDING;
-        int y = TOP + 3 + Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getAscent();
-        final Color black = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        if (!heading.equals("")) {
-            final Text title = Toolkit.getText(ColorsAndFonts.TEXT_TITLE);
-            canvas.drawText(heading, x, y, black, title);
-            y += title.getLineHeight();
-        }
-        canvas.drawText(message, x, y, MAX_TEXT_WIDTH, black, Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        return ViewAreaType.VIEW;
-    }
-
-    @Override
-    public FocusManager getFocusManager() {
-        return focusManager == null ? super.getFocusManager() : focusManager;
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-        this.focusManager = focusManager;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/TextMessageContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/TextMessageContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/TextMessageContent.java
deleted file mode 100644
index 189fa9d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/message/TextMessageContent.java
+++ /dev/null
@@ -1,165 +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.dnd.view.message;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-
-public class TextMessageContent implements MessageContent {
-    protected final String message;
-    protected final String heading;
-    protected final String detail;
-    protected final String title;
-
-    public TextMessageContent(final String title, final String message) {
-        final int pos = message.indexOf(':');
-        if (pos > 2) {
-            this.heading = message.substring(0, pos).trim();
-            this.message = message.substring(pos + 1).trim();
-        } else {
-            this.heading = "";
-            this.message = message;
-        }
-        this.title = title;
-        this.detail = null;
-    }
-
-    @Override
-    public String getMessage() {
-        return message;
-    }
-
-    @Override
-    public String getDetail() {
-        return detail;
-    }
-
-    @Override
-    public Consent canDrop(final Content sourceContent) {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-    }
-
-    @Override
-    public void debugDetails(final DebugBuilder debug) {
-    }
-
-    @Override
-    public ObjectAdapter drop(final Content sourceContent) {
-        return null;
-    }
-
-    @Override
-    public String getDescription() {
-        return title;
-    }
-
-    @Override
-    public String getHelp() {
-        return "";
-    }
-
-    @Override
-    public String getIconName() {
-        return "message";
-    }
-
-    @Override
-    public Image getIconPicture(final int iconHeight) {
-        return null;
-    }
-
-    @Override
-    public String getId() {
-        return "message-exception";
-    }
-
-    @Override
-    public ObjectAdapter getAdapter() {
-        return null;
-    }
-
-    @Override
-    public ObjectAdapter[] getOptions() {
-        return null;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return null;
-    }
-
-    @Override
-    public boolean isCollection() {
-        return false;
-    }
-
-    @Override
-    public boolean isObject() {
-        return false;
-    }
-
-    @Override
-    public boolean isPersistable() {
-        return false;
-    }
-
-    @Override
-    public boolean isOptionEnabled() {
-        return false;
-    }
-
-    @Override
-    public boolean isTransient() {
-        return false;
-    }
-
-    @Override
-    public boolean isTextParseable() {
-        return false;
-    }
-
-    public void parseTextEntry(final String entryText) {
-    }
-
-    @Override
-    public String title() {
-        return heading;
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-    }
-
-    @Override
-    public String windowTitle() {
-        return title;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseAllViewsForObjectOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseAllViewsForObjectOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseAllViewsForObjectOption.java
deleted file mode 100644
index 3e76ba3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseAllViewsForObjectOption.java
+++ /dev/null
@@ -1,49 +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.dnd.view.option;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class CloseAllViewsForObjectOption extends UserActionAbstract {
-    public CloseAllViewsForObjectOption() {
-        super("Close all views for this object");
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        final ObjectAdapter object = view.getContent().getAdapter();
-        final View views[] = workspace.getSubviews();
-        for (final View v : views) {
-            if (v.getContent().getAdapter() == object) {
-                v.dispose();
-            }
-        }
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        final String title = view.getContent().title();
-        return "Close all views for '" + title + "'";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseAllViewsOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseAllViewsOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseAllViewsOption.java
deleted file mode 100644
index 6d14efb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseAllViewsOption.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.dnd.view.option;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class CloseAllViewsOption extends UserActionAbstract {
-    public CloseAllViewsOption() {
-        super("Close all others");
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        final View views[] = view.getWorkspace().getSubviews();
-
-        for (final View otherView : views) {
-            if (otherView.getSpecification().isOpen() && otherView != view) {
-                otherView.dispose();
-            }
-        }
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "Close all views except " + view.getSpecification().getName().toLowerCase();
-    }
-
-    @Override
-    public String toString() {
-        return new ToString(this).toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseOtherViewsForObjectOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseOtherViewsForObjectOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseOtherViewsForObjectOption.java
deleted file mode 100644
index 44d254d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseOtherViewsForObjectOption.java
+++ /dev/null
@@ -1,49 +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.dnd.view.option;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class CloseOtherViewsForObjectOption extends UserActionAbstract {
-    public CloseOtherViewsForObjectOption() {
-        super("Close other views for this object");
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        final ObjectAdapter object = view.getContent().getAdapter();
-        final View views[] = workspace.getSubviews();
-        for (final View v : views) {
-            if (view != v && v.getContent().getAdapter() == object) {
-                v.dispose();
-            }
-        }
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        final String title = view.getContent().title();
-        return "Close other views for '" + title + "'";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseViewOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseViewOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseViewOption.java
deleted file mode 100644
index 751b5ce..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/CloseViewOption.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.dnd.view.option;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class CloseViewOption extends UserActionAbstract {
-    public CloseViewOption() {
-        super("Close");
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        view.dispose();
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "Close this " + view.getSpecification().getName();
-    }
-
-    @Override
-    public String toString() {
-        return new ToString(this).toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/DisposeObjectOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/DisposeObjectOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/DisposeObjectOption.java
deleted file mode 100644
index 6432ce5..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/DisposeObjectOption.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.dnd.view.option;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.Persistor;
-import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-/**
- * Destroy this object
- */
-public class DisposeObjectOption extends UserActionAbstract {
-    public DisposeObjectOption() {
-        super("Dispose Object", ActionType.EXPLORATION);
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        final ObjectAdapter adapter = view.getContent().getAdapter();
-        if (adapter.isDestroyed()) {
-            // TODO: move logic into Facet
-            return new Veto("Can't do anything with a destroyed object");
-        }
-        if (isObjectInRootView(view)) {
-            return Allow.DEFAULT;
-        } else {
-            // TODO: move logic into Facet
-            return new Veto("Can't dispose an object from within another view.");
-        }
-    }
-
-    private boolean isObjectInRootView(final View view) {
-        final View rootView = rootView(view);
-        return view.getContent() == rootView.getContent();
-    }
-
-    private View rootView(final View view) {
-        final View parent = view.getParent();
-        if (view.getWorkspace() == parent) {
-            return view;
-        } else {
-            return rootView(parent);
-        }
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-
-        final ObjectAdapter object = ((ObjectContent) view.getContent()).getObject();
-
-        // xactn mgmt now done by PersistenceSession#destroyObject()
-        // getTransactionManager().startTransaction();
-
-        getPersistenceSession().destroyObject(object);
-
-        // getTransactionManager().endTransaction();
-
-        getUpdateNotifier().addDisposedObject(object);
-        view.getViewManager().disposeUnneededViews();
-        view.getFeedbackManager().showMessagesAndWarnings();
-    }
-
-    // /////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // /////////////////////////////////////////////////////
-
-    private static Persistor getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    private static UpdateNotifier getUpdateNotifier() {
-        return IsisContext.getUpdateNotifier();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/IconizeViewOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/IconizeViewOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/IconizeViewOption.java
deleted file mode 100644
index 7581211..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/IconizeViewOption.java
+++ /dev/null
@@ -1,66 +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.dnd.view.option;
-
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class IconizeViewOption extends UserActionAbstract {
-    public IconizeViewOption() {
-        super("Iconize");
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        return Allow.DEFAULT;
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        final View minimizedView = Toolkit.getViewFactory().createMinimizedView(view);
-        minimizedView.setLocation(view.getLocation());
-        final View[] views = workspace.getSubviews();
-        for (final View view2 : views) {
-            if (view2 == view) {
-                workspace.removeView(view);
-                workspace.addView(minimizedView);
-                workspace.invalidateLayout();
-                return;
-            }
-        }
-
-        /*
-         * // TODO change so that an iconized version of the window is created
-         * and displayed, which holds the original view. View iconView = new
-         * RootIconSpecification().createView(view.getContent(), null);
-         * iconView.setLocation(view.getLocation()); workspace.replaceView(view,
-         * iconView);
-         */
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "Show this object as an icon on the workspace";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/OpenViewOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/OpenViewOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/OpenViewOption.java
deleted file mode 100644
index c61f156..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/OpenViewOption.java
+++ /dev/null
@@ -1,65 +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.dnd.view.option;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public class OpenViewOption extends UserActionAbstract {
-    private static final Logger LOG = LoggerFactory.getLogger(OpenViewOption.class);
-    private final ViewSpecification specification;
-
-    public OpenViewOption(final ViewSpecification builder) {
-        super(builder.getName());
-        this.specification = builder;
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        Content content = view.getContent();
-        if (content.getAdapter() != null && !(content instanceof FieldContent)) {
-            content = Toolkit.getContentFactory().createRootContent(content.getAdapter());
-        }
-        final View newView = specification.createView(content, view.getViewAxes(), -1);
-        LOG.debug("open view " + newView);
-        workspace.addWindow(newView, new Placement(view));
-        workspace.markDamaged();
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        final String title = view.getContent().title();
-        return "Open '" + title + "' in a " + specification.getName() + " window";
-    }
-
-    @Override
-    public String toString() {
-        return super.toString() + " [prototype=" + specification.getName() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/ReplaceViewOption.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/ReplaceViewOption.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/ReplaceViewOption.java
deleted file mode 100644
index fda4361..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/ReplaceViewOption.java
+++ /dev/null
@@ -1,61 +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.dnd.view.option;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public class ReplaceViewOption extends UserActionAbstract {
-    private static final Logger LOG = LoggerFactory.getLogger(ReplaceViewOption.class);
-    private final ViewSpecification specification;
-
-    public ReplaceViewOption(final ViewSpecification specification) {
-        super(specification.getName());
-        this.specification = specification;
-    }
-
-    @Override
-    public String getDescription(final View view) {
-        return "Replace this " + view.getSpecification().getName() + " view with a " + specification.getName() + " view";
-    }
-
-    @Override
-    public void execute(final Workspace workspace, final View view, final Location at) {
-        final View replacement = specification.createView(view.getContent(), new Axes(), -1);
-        LOG.debug("replacement view " + replacement);
-        replace(view, replacement);
-    }
-
-    protected void replace(final View view, final View withReplacement) {
-        final View existingView = view.getView();
-        view.getParent().replaceView(existingView, withReplacement);
-    }
-
-    @Override
-    public String toString() {
-        return super.toString() + " [prototype=" + specification.getName() + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/UserActionAbstract.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/UserActionAbstract.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/UserActionAbstract.java
deleted file mode 100644
index 372dd22..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/option/UserActionAbstract.java
+++ /dev/null
@@ -1,96 +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.dnd.view.option;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-/**
- * Each option that a user is shown in an objects popup menu a MenuOption. A
- * MenuOption details: the name of an option (in the users language);
- * <ul>
- * the type of object that might result when requesting this option
- * </ul>
- * ; a way to determine whether a user can select this option on the current
- * object.
- */
-public abstract class UserActionAbstract implements UserAction {
-    private String description;
-    private String name;
-    private final ActionType type;
-
-    public UserActionAbstract(final String name) {
-        this(name, ActionType.USER);
-    }
-
-    public UserActionAbstract(final String name, final ActionType type) {
-        this.name = name;
-        this.type = type;
-    }
-
-    @Override
-    public Consent disabled(final View view) {
-        return Allow.DEFAULT;
-    }
-
-    @Override
-    public abstract void execute(final Workspace workspace, final View view, final Location at);
-
-    @Override
-    public String getDescription(final View view) {
-        return description;
-    }
-
-    @Override
-    public String getHelp(final View view) {
-        return "No help available for user action";
-    }
-
-    /**
-     * Returns the stored name of the menu option.
-     */
-    @Override
-    public String getName(final View view) {
-        return name;
-    }
-
-    @Override
-    public ActionType getType() {
-        return type;
-    }
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("name", name);
-        str.append("type", type);
-        return str.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/CursorPosition.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/CursorPosition.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/CursorPosition.java
deleted file mode 100644
index d5d9d2a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/CursorPosition.java
+++ /dev/null
@@ -1,261 +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.dnd.view.text;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-/**
- * Represents the position of a line cursor within a TextContent. The character
- * position for a line extends from zero to text.length + 1. Where 0 means the
- * cursor is to the left of the first character, and 1 is to right of the first
- * character and to the left of the second character.
- */
-public class CursorPosition {
-    private int character;
-    private int line;
-    private final TextContent textContent;
-
-    public CursorPosition(final TextContent content, final CursorPosition pos) {
-        this(content, pos.line, pos.character);
-    }
-
-    public CursorPosition(final TextContent content, final int line, final int afterCharacter) {
-        this.textContent = content;
-        this.line = line;
-        this.character = afterCharacter;
-    }
-
-    public void asFor(final CursorPosition pos) {
-        line = pos.line;
-        character = pos.character;
-    }
-
-    /**
-     * Move the cursor to the bottom-right of the field
-     */
-    public void bottom() {
-        line = textContent.getNoLinesOfContent() - 1;
-        textContent.alignDisplay(line);
-        end();
-    }
-
-    public void cursorAt(final Location atLocation) {
-        line = textContent.cursorAtLine(atLocation);
-        character = textContent.cursorAtCharacter(atLocation, line);
-
-        if (line >= textContent.getNoLinesOfContent()) {
-            line = textContent.getNoLinesOfContent() - 1;
-            end();
-        }
-    }
-
-    /**
-     * Move the cursor to the end of the line
-     */
-    public void end() {
-        final String text = textContent.getText(line);
-        character = text == null ? 0 : text.length();
-    }
-
-    /**
-     * @return the character within this line.
-     */
-    public int getCharacter() {
-        return character;
-    }
-
-    /**
-     * @return the line within the field
-     */
-    public int getLine() {
-        return line;
-    }
-
-    /**
-     * Move the cursor to the left end of the field
-     */
-    public void home() {
-        character = 0;
-    }
-
-    /**
-     * Movet the cursor left by one character.
-     */
-    public void left() {
-        if (!((line == 0) && (character == 0))) {
-            character--;
-
-            if (character < 0) {
-                line--;
-                textContent.alignDisplay(line);
-                end();
-            }
-        }
-    }
-
-    /**
-     * Move down one line.
-     */
-    public void lineDown() {
-        moveDown(1);
-    }
-
-    /**
-     * Move up one line.
-     */
-    public void lineUp() {
-        moveUp(1);
-    }
-
-    private void moveDown(final int byLines) {
-        final int size = textContent.getNoLinesOfContent();
-
-        if (line < (size - 1)) {
-            line += byLines;
-            line = Math.min(size - 1, line);
-
-            character = Math.min(character, textContent.getText(line).length());
-
-            textContent.alignDisplay(line);
-        }
-    }
-
-    private void moveUp(final int byLines) {
-        if (line > 0) {
-            line -= byLines;
-            line = Math.max(0, line);
-            textContent.alignDisplay(line);
-        }
-    }
-
-    /**
-     * Move down one page.
-     */
-    public void pageDown() {
-        moveDown(textContent.getNoDisplayLines() - 1);
-    }
-
-    /**
-     * Move cursor up by a page
-     */
-    public void pageUp() {
-        moveUp(textContent.getNoDisplayLines() - 1);
-    }
-
-    /**
-     * Move the cursor right by one character.
-     */
-    public void right() {
-        right(1);
-    }
-
-    /**
-     * Move the cursor right by one character.
-     */
-    public void right(final int characters) {
-        final int length = textContent.getText(line).length();
-
-        if ((character + characters) > length) {
-            if ((line + 1) < textContent.getNoLinesOfContent()) {
-                line++;
-                textContent.alignDisplay(line);
-
-                final int remainder = (character + characters) - length;
-                character = 0;
-                right(remainder);
-            }
-        } else {
-            character += characters;
-        }
-    }
-
-    /**
-     * Move the cursor to the top-left of the field
-     */
-    public void top() {
-        line = 0;
-        character = 0;
-        textContent.alignDisplay(line);
-    }
-
-    @Override
-    public String toString() {
-        return "CursorPosition [line=" + line + ",character=" + character + "]";
-    }
-
-    /**
-     * Move the cursor left to the beginning of the previous word.
-     */
-    public void wordLeft() {
-        if (!((line == 0) && (character == 0))) {
-            if (character == 0) {
-                line--;
-                end();
-            }
-
-            final String text = textContent.getText(line);
-
-            do {
-                character--;
-            } while ((character >= 0) && (text.charAt(character) == ' '));
-
-            while ((character >= 0) && (text.charAt(character) != ' ')) {
-                character--;
-            }
-
-            character++;
-        }
-    }
-
-    /**
-     * Move the cursor right to the end of the current word.
-     */
-    public void wordRight() {
-        final String text = textContent.getText(line);
-        final int lineLength = text.length();
-        if (!(line == textContent.getNoLinesOfContent() - 1 && character == lineLength - 1)) {
-            // skip spaces before
-            while (character < lineLength && text.charAt(character) == ' ') {
-                character++;
-            }
-            // skip characters (until next space)
-            while (character < lineLength && text.charAt(character) != ' ') {
-                character++;
-            }
-            // skip spaces after word
-            while (character < lineLength && text.charAt(character) == ' ') {
-                character++;
-            }
-            // wrap to nexrt line if at end
-            if (character >= lineLength && line + 1 < textContent.getNoLinesOfContent()) {
-                line++;
-                character = 0;
-            }
-        }
-    }
-
-    public boolean samePosition(final CursorPosition positionToCompare) {
-        return line == positionToCompare.line && character == positionToCompare.character;
-    }
-
-    public boolean isBefore(final CursorPosition positionToCompare) {
-        return line < positionToCompare.line || (line == positionToCompare.line && character < positionToCompare.character);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/ObjectTitleText.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/ObjectTitleText.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/ObjectTitleText.java
deleted file mode 100644
index 1bb723c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/ObjectTitleText.java
+++ /dev/null
@@ -1,41 +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.dnd.view.text;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class ObjectTitleText extends TitleText {
-    private final Content content;
-
-    public ObjectTitleText(final View view, final Text style) {
-        super(view, style, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-        content = view.getContent();
-    }
-
-    @Override
-    protected String title() {
-        return content.title();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextBlock.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextBlock.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextBlock.java
deleted file mode 100644
index 05b20e9..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextBlock.java
+++ /dev/null
@@ -1,224 +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.dnd.view.text;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class TextBlock {
-    private static final Logger LOG = LoggerFactory.getLogger(TextBlock.class);
-    private static final Logger UI_LOG = LoggerFactory.getLogger("ui." + TextBlock.class.getName());
-    private final TextBlockTarget forField;
-    private String text;
-    private int[] lineBreaks;
-    private boolean isFormatted;
-    private int lineCount;
-    private boolean canWrap;
-
-    TextBlock(final TextBlockTarget forField, final String text, final boolean canWrap) {
-        this.forField = forField;
-        this.text = text;
-        isFormatted = false;
-        this.canWrap = canWrap;
-    }
-
-    public String getLine(final int line) {
-        if (line < 0 || line > lineCount) {
-            throw new IllegalArgumentException("line outside of block " + line);
-        }
-
-        format();
-
-        final int from = lineStart(line);
-        final int to = lineEnd(line);
-
-        return text.substring(from, to);
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void deleteLeft(final int line, final int character) {
-        final int pos = pos(line, character);
-        if (pos > 0) {
-            text = text.substring(0, pos - 1) + text.substring(pos);
-            isFormatted = false;
-        }
-    }
-
-    public void delete(final int fromLine, final int fromCharacter, final int toLine, final int toCharacter) {
-        format();
-        final int from = pos(fromLine, fromCharacter);
-        final int to = pos(toLine, toCharacter);
-        text = text.substring(0, from) + text.substring(to);
-        isFormatted = false;
-    }
-
-    public void deleteTo(final int toLine, final int toCharacter) {
-        format();
-        final int from = 0;
-        final int to = pos(toLine, toCharacter);
-        text = text.substring(0, from) + text.substring(to);
-        isFormatted = false;
-    }
-
-    public void deleteFrom(final int fromLine, final int fromCharacter) {
-        format();
-        final int from = pos(fromLine, fromCharacter);
-        final int to = text.length();
-        text = text.substring(0, from) + text.substring(to);
-        isFormatted = false;
-    }
-
-    public void deleteRight(final int line, final int character) {
-        final int pos = pos(line, character);
-        if (pos < text.length()) {
-            text = text.substring(0, pos) + text.substring(pos + 1);
-            isFormatted = false;
-        }
-    }
-
-    public int noLines() {
-        format();
-        return lineCount + 1;
-    }
-
-    private void breakAt(final int breakAt) {
-        // TODO deal with growing array
-        lineBreaks[lineCount] = breakAt;
-        lineCount++;
-    }
-
-    private void format() {
-        if (canWrap && !isFormatted) {
-            lineBreaks = new int[100];
-            lineCount = 0;
-
-            final int length = text.length();
-
-            int lineWidth = 0;
-            int breakAt = -1;
-
-            for (int pos = 0; pos < length; pos++) {
-                final char ch = text.charAt(pos);
-
-                if (ch == '\n') {
-                    throw new IllegalStateException("Block must not contain newline characters");
-                }
-
-                lineWidth += forField.getText().charWidth(ch);
-
-                if (lineWidth > forField.getMaxFieldWidth()) {
-                    breakAt = (breakAt == -1) ? pos - 1 : breakAt;
-                    // ensures that a string without spaces doesn't loop forever
-                    breakAt(breakAt);
-
-                    // include the remaining chars in the starting width.
-                    lineWidth = forField.getText().stringWidth(text.substring(breakAt - 1, pos + 1));
-
-                    // reset for next line
-                    // start = breakAt;
-                    breakAt = -1;
-
-                    continue;
-                }
-
-                if (ch == ' ') {
-                    breakAt = pos + 1; // break at the character after the space
-                }
-            }
-
-            isFormatted = true;
-        }
-    }
-
-    public void insert(final int line, final int character, final String characters) {
-        if (characters.indexOf('\n') >= 0) {
-            throw new IllegalArgumentException("Insert characters cannot contain newline");
-        }
-        final int pos = pos(line, character);
-        text = text.substring(0, pos) + characters + text.substring(pos);
-        isFormatted = false;
-    }
-
-    private int pos(final int line, final int character) {
-        int pos = lineStart(line);
-        pos += character;
-        LOG.debug("position " + pos);
-        return pos;
-    }
-
-    private int lineStart(final int line) {
-        final int pos = line == 0 ? 0 : lineBreaks[line - 1];
-        UI_LOG.debug("line " + line + " starts at " + pos);
-        return pos;
-    }
-
-    private int lineEnd(final int line) {
-        final int pos = line >= lineCount ? text.length() : lineBreaks[line];
-        UI_LOG.debug("line " + line + " ends at " + pos);
-        return pos;
-    }
-
-    /**
-     * breaks a block at the cursor position by truncating this block and
-     * creating a new block and adding the removed text.
-     */
-    public TextBlock splitAt(final int line, final int character) {
-        format();
-        final int pos = pos(line, character);
-        final TextBlock newBlock = new TextBlock(forField, text.substring(pos), canWrap);
-        text = text.substring(0, pos);
-        isFormatted = false;
-        return newBlock;
-    }
-
-    public void setCanWrap(final boolean canWrap) {
-        this.canWrap = canWrap;
-    }
-
-    @Override
-    public String toString() {
-        final StringBuffer content = new StringBuffer();
-        content.append("TextBlock [");
-        content.append("formatted=");
-        content.append(isFormatted);
-        content.append(",lines=");
-        content.append(lineCount);
-        content.append(",text=");
-        content.append(text);
-        content.append(",breaks=");
-        if (lineBreaks == null) {
-            content.append("none");
-        } else {
-            for (int i = 0; i < lineBreaks.length; i++) {
-                content.append(i == 0 ? "" : ",");
-                content.append(lineBreaks[i]);
-            }
-        }
-        content.append("]");
-        return content.toString();
-    }
-
-    public void join(final TextBlock textBlock) {
-        text += textBlock.text;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextBlockTarget.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextBlockTarget.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextBlockTarget.java
deleted file mode 100644
index 309e5c7..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextBlockTarget.java
+++ /dev/null
@@ -1,32 +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.dnd.view.text;
-
-import org.apache.isis.viewer.dnd.drawing.Text;
-
-public interface TextBlockTarget {
-
-    /**
-     * Maximum text entry width.
-     */
-    int getMaxFieldWidth();
-
-    Text getText();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextContent.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextContent.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextContent.java
deleted file mode 100644
index 1ce881f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/text/TextContent.java
+++ /dev/null
@@ -1,373 +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.dnd.view.text;
-
-import java.util.Enumeration;
-import java.util.Vector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-public class TextContent {
-    private static final Logger LOG = LoggerFactory.getLogger(TextContent.class);
-    private static final Logger UI_LOG = LoggerFactory.getLogger("ui." + TextContent.class.getName());
-    public static final int NO_WRAPPING = 1;
-    public static final int WRAPPING = 0;
-    private final Vector blocks;
-    private final TextBlockTarget target;
-    private int displayFromLine;
-    private int availableDisplayLines;
-    private final boolean useEmptyLines;
-    private final int wrap;
-
-    public TextContent(final TextBlockTarget target, final int noLines, final int wrapStyle) {
-        this(target, noLines, wrapStyle, false);
-    }
-
-    public TextContent(final TextBlockTarget target, final int noLines, final int wrapStyle, final boolean useEmptyLines) {
-        this.target = target;
-        this.wrap = wrapStyle;
-        this.blocks = new Vector();
-        this.useEmptyLines = useEmptyLines;
-        availableDisplayLines = noLines;
-        displayFromLine = 0;
-        addBlock("");
-        alignDisplay(0);
-    }
-
-    private void addBlock(final String text) {
-        final TextBlock block = new TextBlock(target, text, wrap == TextContent.WRAPPING);
-        LOG.debug("add block " + block);
-        blocks.addElement(block);
-    }
-
-    /**
-     * Returns the number of lines that this field will display the content.
-     * This can be smaller than the actual number of lines of content, but will
-     * be at least one.
-     */
-    public int getNoDisplayLines() {
-        return availableDisplayLines;
-    }
-
-    /**
-     * Aligns the lines of content so that the specified line is within the
-     * array of lines returned by getDisplayLines().
-     * 
-     * @see #getDisplayLines()
-     */
-    public void alignDisplay(final int line) {
-        final int noContentLines = getNoLinesOfContent();
-        final int lastLine = noContentLines - 1;
-
-        int displayToLine = Math.min(displayFromLine + availableDisplayLines, noContentLines);
-        if (noContentLines <= availableDisplayLines) {
-            displayFromLine = 0;
-        } else {
-            if (line >= displayToLine) {
-                displayToLine = line + 3;
-                displayToLine = Math.min(displayToLine, lastLine);
-
-                displayFromLine = displayToLine - availableDisplayLines + 1;
-                displayFromLine = Math.max(displayFromLine, 0);
-            }
-
-            if (line < displayFromLine) {
-                displayFromLine = line;
-                displayToLine = (displayFromLine + availableDisplayLines) - 1;
-
-                if (displayToLine >= noContentLines) {
-                    displayToLine = lastLine;
-                    displayFromLine = Math.max(0, displayToLine - availableDisplayLines);
-                }
-            }
-        }
-
-        LOG.debug("display line " + line + " " + displayFromLine + "~" + displayToLine);
-    }
-
-    public void breakBlock(final CursorPosition cursorAt) {
-        final BlockToLineMapping mapping = findBlockFor(cursorAt.getLine());
-        final TextBlock newBlock = mapping.textBlock.splitAt(mapping.line, cursorAt.getCharacter());
-        blocks.insertElementAt(newBlock, mapping.index + 1);
-    }
-
-    /**
-     * deletes the selected text
-     */
-    public void delete(final TextSelection selection) {
-        final CursorPosition from = selection.from();
-        final CursorPosition to = selection.to();
-
-        final BlockToLineMapping fromMapping = findBlockFor(from.getLine());
-        final int fromBlock = fromMapping.index;
-        final int fromLine = fromMapping.line;
-        final int fromCharacter = from.getCharacter();
-
-        final BlockToLineMapping toMapping = findBlockFor(to.getLine());
-        final int toBlock = toMapping.index;
-        final int toLine = toMapping.line;
-        final int toCharacter = to.getCharacter();
-
-        if (fromBlock == toBlock) {
-            final TextBlock block = (TextBlock) blocks.elementAt(fromBlock);
-            block.delete(fromLine, fromCharacter, toLine, toCharacter);
-        } else {
-            TextBlock block = (TextBlock) blocks.elementAt(toBlock);
-            block.deleteTo(toLine, toCharacter);
-
-            block = (TextBlock) blocks.elementAt(fromBlock);
-            block.deleteFrom(fromLine, fromCharacter);
-
-            fromMapping.textBlock.join(toMapping.textBlock);
-            blocks.removeElementAt(toMapping.index);
-
-            for (int i = fromBlock + 1; i < toBlock; i++) {
-                blocks.removeElementAt(i);
-            }
-        }
-    }
-
-    public void deleteLeft(final CursorPosition cursorAt) {
-        final BlockToLineMapping mapping = findBlockFor(cursorAt.getLine());
-        if (mapping == null || mapping.textBlock == null) {
-            throw new IsisException("invalid block " + mapping + " for line " + cursorAt.getLine());
-        }
-        mapping.textBlock.deleteLeft(mapping.line, cursorAt.getCharacter());
-    }
-
-    public void deleteRight(final CursorPosition cursorAt) {
-        final BlockToLineMapping mapping = findBlockFor(cursorAt.getLine());
-        mapping.textBlock.deleteRight(mapping.line, cursorAt.getCharacter());
-    }
-
-    private BlockToLineMapping findBlockFor(final int line) {
-        if (line < 0) {
-            throw new IllegalArgumentException("Line must be greater than, or equal to, zero: " + line);
-        }
-
-        int lineWithinBlock = line;
-        for (int i = 0; i < blocks.size(); i++) {
-            final TextBlock block = (TextBlock) blocks.elementAt(i);
-            final int noLines = block.noLines();
-            if (lineWithinBlock < noLines) {
-                UI_LOG.debug("block " + i + ", line " + lineWithinBlock);
-                return new BlockToLineMapping(i, block, lineWithinBlock);
-            }
-            lineWithinBlock -= noLines;
-        }
-        return null;
-        // throw new IllegalArgumentException("line number not valid " + line);
-
-    }
-
-    /**
-     * returns the entire text of the content, with a newline between each block
-     * (but not after the final block.
-     */
-    public String getText() {
-        final StringBuffer content = new StringBuffer();
-        final Enumeration e = blocks.elements();
-        while (e.hasMoreElements()) {
-            final TextBlock block = (TextBlock) e.nextElement();
-            if (content.length() > 0) {
-                content.append("\n");
-            }
-            content.append(block.getText());
-        }
-        return content.toString();
-    }
-
-    /**
-     * returns the text on the specified line
-     */
-    public String getText(final int forLine) {
-        final BlockToLineMapping block = findBlockFor(forLine);
-        if (block == null) {
-            return null;
-        }
-        return block.textBlock.getLine(block.line);
-    }
-
-    /**
-     * returns only the text that is selected
-     */
-    public String getText(final TextSelection selection) {
-        final CursorPosition from = selection.from();
-        final CursorPosition to = selection.to();
-
-        final int line = from.getLine();
-        String text = getText(line);
-        if (from.getLine() == to.getLine()) {
-            return text.substring(from.getCharacter(), to.getCharacter());
-
-        } else {
-            final StringBuffer str = new StringBuffer();
-            str.append(text.substring(from.getCharacter()));
-            for (int i = line + 1; i < line + (to.getLine() - from.getLine()); i++) {
-                text = getText(i);
-                str.append(text);
-            }
-            text = getText(line + (to.getLine() - from.getLine()));
-            str.append(text.substring(0, to.getCharacter()));
-            return str.toString();
-        }
-    }
-
-    public void insert(final CursorPosition cursorAt, final String characters) {
-        Assert.assertNotNull(cursorAt);
-
-        final BlockToLineMapping block = findBlockFor(cursorAt.getLine());
-
-        Assert.assertNotNull("failed to get block for line " + cursorAt.getLine(), block);
-
-        block.textBlock.insert(block.line, cursorAt.getCharacter(), characters);
-    }
-
-    /**
-     * Returns the number of lines required to display the content text in it
-     * entirety.
-     */
-    public int getNoLinesOfContent() {
-        int lineCount = 0;
-        final Enumeration e = blocks.elements();
-        while (e.hasMoreElements()) {
-            lineCount += ((TextBlock) e.nextElement()).noLines();
-        }
-        return lineCount;
-    }
-
-    public void setText(final String text) {
-        blocks.removeAllElements();
-
-        if (text == null || text.equals("")) {
-            addBlock("");
-        } else {
-            final String[] tokens = text.split("\\n");
-            for (final String token : tokens) {
-                if (useEmptyLines || token.length() > 0) {
-                    addBlock(token);
-                }
-            }
-        }
-    }
-
-    @Override
-    public String toString() {
-        final ToString content = new ToString(this);
-        content.append("field", target);
-        content.append("lines", availableDisplayLines);
-        content.append("blocks=", blocks.size());
-        /*
-         * for (int i = 0; i < blocks.size(); i++) { content.append(i == 0 ? " "
-         * : "\n "); content.append(blocks.elementAt(i)); }
-         */
-        return content.toString();
-    }
-
-    public String[] getDisplayLines() {
-        final String[] lines = new String[availableDisplayLines];
-        for (int i = 0, j = displayFromLine; i < lines.length; i++, j++) {
-            final String line = getText(j);
-            lines[i] = line == null ? "" : line;
-        }
-        return lines;
-    }
-
-    public int getDisplayFromLine() {
-        return displayFromLine;
-    }
-
-    public void setNoDisplayLines(final int noDisplayLines) {
-        this.availableDisplayLines = noDisplayLines;
-    }
-
-    public void increaseDepth() {
-        availableDisplayLines++;
-    }
-
-    public boolean decreaseDepth() {
-        if (availableDisplayLines > 1) {
-            availableDisplayLines--;
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    private static class BlockToLineMapping {
-        TextBlock textBlock;
-        int index;
-        int line;
-
-        public BlockToLineMapping(final int blockIndex, final TextBlock block, final int line) {
-            this.index = blockIndex;
-            this.textBlock = block;
-            this.line = line;
-        }
-    }
-
-    int cursorAtLine(final Location atLocation) {
-        LOG.debug("pointer at " + atLocation);
-        final int y = atLocation.getY();
-        int lineIndex = displayFromLine + (y / target.getText().getLineHeight());
-        lineIndex = Math.max(lineIndex, 0);
-        return lineIndex;
-    }
-
-    int cursorAtCharacter(final Location atLocation, final int lineOffset) {
-        final String text = getText(lineOffset);
-        if (text == null) {
-            for (int i = lineOffset; i >= 0; i--) {
-                final String text2 = getText(i);
-                if (text2 != null) {
-                    final int at = text2.length();
-                    LOG.debug("character at " + at + " line " + lineOffset);
-                    return at;
-                }
-            }
-        }
-
-        /*
-         * slightly offsetting mouse helps the user position the cursor between
-         * characters near the pointer rather than always after the pointer
-         */
-        final int x = atLocation.getX() - 3;
-
-        int at = 0;
-        final int endAt = text.length();
-
-        int width = 0;
-
-        while (at < endAt && x > width) {
-            width += target.getText().charWidth(text.charAt(at));
-            at++;
-        }
-
-        LOG.debug("character at " + at + " line " + lineOffset);
-        return at;
-    }
-
-}


[42/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcAbstractReferenceFieldMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcAbstractReferenceFieldMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcAbstractReferenceFieldMapping.java
deleted file mode 100755
index d3bd1b7..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcAbstractReferenceFieldMapping.java
+++ /dev/null
@@ -1,150 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-/**
- * Provides support for persisting abstract classes and interfaces.
- * 
- * Provides two columns: the first is the standard property field. The second is
- * initialised only when the field is "saved", and contains the actual classname
- * of the persisted concrete class.
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class JdbcAbstractReferenceFieldMapping extends JdbcObjectReferenceFieldMapping {
-    private final String classnameColumn;
-    private final String dataType;
-
-    public static class Factory extends AbstractFieldMappingFactory {
-
-        public Factory(final String type) {
-            super();
-        }
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, Defaults.TYPE_LONG_STRING());
-            return new JdbcAbstractReferenceFieldMapping(field, dataType);
-        }
-    }
-
-    public JdbcAbstractReferenceFieldMapping(final ObjectAssociation field, final String dataType) {
-        super(field);
-        this.dataType = dataType;
-        classnameColumn = Sql.identifier(getColumn() + "_cls");
-    }
-
-    @Override
-    public void appendColumnDefinitions(final StringBuffer sql) {
-        super.appendColumnDefinitions(sql);
-
-        sql.append(", ");
-        sql.append(classnameColumn);
-        sql.append(" ");
-        sql.append(dataType);
-    }
-
-    @Override
-    public void appendCreateColumnDefinitions(final StringBuffer sql) {
-        super.appendCreateColumnDefinitions(sql);
-        sql.append(classnameColumn);
-        sql.append(" ");
-        sql.append(dataType);
-    }
-
-    @Override
-    public void appendColumnNames(final StringBuffer sql) {
-        super.appendColumnNames(sql);
-        sql.append(", ");
-        sql.append(classnameColumn);
-    }
-
-    @Override
-    public void appendWhereClause(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        super.appendWhereClause(connector, sql, object);
-    }
-
-    @Override
-    public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        super.appendInsertValues(connector, sql, object);
-        sql.append(",?");
-
-        final ObjectAdapter objectAdapter = field.get(object);
-        if (objectAdapter != null) {
-            connector.addToQueryValues(objectAdapter.getSpecification().getFullIdentifier());
-        } else {
-            connector.addToQueryValues(null);
-        }
-    }
-
-    @Override
-    public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        super.appendUpdateValues(connector, sql, object);
-
-        sql.append(",");
-        sql.append(classnameColumn);
-        sql.append(" = ?");
-
-        final ObjectAdapter objectAdapter = field.get(object);
-        if (objectAdapter != null) {
-            connector.addToQueryValues(objectAdapter.getSpecification().getFullIdentifier());
-        } else {
-            connector.addToQueryValues(null);
-        }
-    }
-
-    @Override
-    public void initializeField(final ObjectAdapter object, final Results rs) {
-        final String className = rs.getString(classnameColumn);
-        if (className != null) {
-            final ObjectSpecification specification = getReflector().loadSpecification(className);
-
-            final Oid oid = recreateOid(rs, specification);
-
-            final ObjectAdapter reference = getAdapter(specification, oid);
-            ((OneToOneAssociation) field).initAssociation(object, reference);
-        }
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln(field.getId(), getColumn());
-    }
-
-    private SpecificationLoader getReflector() {
-        return IsisContext.getSpecificationLoader();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcBinaryValueMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcBinaryValueMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcBinaryValueMapper.java
deleted file mode 100755
index 16366b4..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcBinaryValueMapper.java
+++ /dev/null
@@ -1,132 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.core.commons.exceptions.IsisApplicationException;
-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.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-/**
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class JdbcBinaryValueMapper extends AbstractJdbcFieldMapping {
-
-    public static class Factory extends AbstractFieldMappingFactory {
-        private final String type;
-
-        public Factory(final String type) {
-            super();
-            this.type = type;
-        }
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, type);
-            return new JdbcBinaryValueMapper(field, dataType);
-        }
-    }
-
-    private final String type;
-
-    public JdbcBinaryValueMapper(final ObjectAssociation field, final String type) {
-        super(field);
-        this.type = type;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping
-     * #columnType()
-     */
-    @Override
-    protected String columnType() {
-        return type;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping
-     * #preparedStatementObject(org.apache
-     * .isis.core.metamodel.adapter.ObjectAdapter)
-     */
-    @Override
-    protected Object preparedStatementObject(final ObjectAdapter value) {
-        if (value == null) {
-            return null;
-        }
-        final Object o = value.getObject();
-        return o;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping
-     * #setFromDBColumn(org.apache.isis. runtimes.dflt.objectstores.sql.Results,
-     * java.lang.String,
-     * org.apache.isis.core.metamodel.spec.feature.ObjectAssociation)
-     */
-    @Override
-    protected ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
-        ObjectAdapter restoredValue;
-
-        final Class<?> correspondingClass = field.getSpecification().getCorrespondingClass();
-        Object resultObject = results.getObject(columnName);
-        if (resultObject == null) {
-            return null;
-        }
-
-        if (resultObject.getClass() != correspondingClass) {
-            if (checkIfIsClass(correspondingClass, Integer.class, int.class)) {
-                resultObject = results.getInt(columnName);
-            } else if (checkIfIsClass(correspondingClass, Double.class, double.class)) {
-                resultObject = results.getDouble(columnName);
-            } else if (checkIfIsClass(correspondingClass, Float.class, float.class)) {
-                resultObject = results.getFloat(columnName);
-            } else if (checkIfIsClass(correspondingClass, Short.class, short.class)) {
-                resultObject = results.getShort(columnName);
-            } else if (checkIfIsClass(correspondingClass, Long.class, long.class)) {
-                resultObject = results.getLong(columnName);
-            } else if (checkIfIsClass(correspondingClass, Boolean.class, boolean.class)) {
-                resultObject = results.getBoolean(columnName);
-            } else {
-                throw new IsisApplicationException("Unhandled type: " + correspondingClass.getCanonicalName());
-            }
-        }
-
-        restoredValue = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(resultObject);
-
-        return restoredValue;
-
-    }
-
-    private boolean checkIfIsClass(final Class<?> expected, final Class<?> couldBe1, final Class<?> couldBe2) {
-        return (expected == couldBe1 || expected == couldBe2);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcColorValueMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcColorValueMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcColorValueMapper.java
deleted file mode 100755
index e36c14a..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcColorValueMapper.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.objectstore.sql.jdbc;
-
-import org.apache.isis.applib.value.Color;
-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.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-/**
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class JdbcColorValueMapper extends AbstractJdbcFieldMapping {
-
-    public static class Factory extends AbstractFieldMappingFactory {
-        private final String type;
-
-        public Factory(final String type) {
-            super();
-            this.type = type;
-        }
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, type);
-            return new JdbcColorValueMapper(field, dataType);
-        }
-    }
-
-    private final String type;
-
-    public JdbcColorValueMapper(final ObjectAssociation field, final String type) {
-        super(field);
-        this.type = type;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping
-     * #columnType()
-     */
-    @Override
-    protected String columnType() {
-        return type;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping
-     * #preparedStatementObject(org.apache
-     * .isis.core.metamodel.adapter.ObjectAdapter)
-     */
-    @Override
-    protected Object preparedStatementObject(final ObjectAdapter value) {
-        final Object o = value.getObject();
-        return ((Color) o).intValue();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping
-     * #setFromDBColumn(org.apache.isis. runtimes.dflt.objectstores.sql.Results,
-     * java.lang.String,
-     * org.apache.isis.core.metamodel.spec.feature.ObjectAssociation)
-     */
-    @Override
-    protected ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
-        ObjectAdapter restoredValue;
-        final int intValue = results.getInt(columnName);
-        final Color colorValue = new Color(intValue);
-        restoredValue = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(colorValue);
-        return restoredValue;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java
deleted file mode 100644
index 9c3523e..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java
+++ /dev/null
@@ -1,404 +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.objectstore.sql.jdbc;
-
-import java.io.InputStream;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.joda.time.DateTimeZone;
-import org.joda.time.LocalDate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.AbstractDatabaseConnector;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.SqlMetaData;
-import org.apache.isis.objectstore.sql.SqlObjectStore;
-import org.apache.isis.objectstore.sql.SqlObjectStoreException;
-
-public class JdbcConnector extends AbstractDatabaseConnector {
-    private static final Logger LOG = LoggerFactory.getLogger(JdbcConnector.class);
-    private Connection connection;
-    private final String baseName;
-
-    public JdbcConnector() {
-        baseName = SqlObjectStore.BASE_NAME;
-    }
-
-    public JdbcConnector(final String propertyBase) {
-        baseName = propertyBase;
-    }
-
-    @Override
-    public void close() {
-        try {
-            if (connection != null) {
-                LOG.info("close");
-                connection.close();
-                connection = null;
-
-            }
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("Failed to close", e);
-        }
-    }
-
-    @Override
-    public int count(final String sql) {
-        LOG.debug("SQL: " + sql);
-        PreparedStatement statement;
-        try {
-            statement = connection.prepareStatement(sql);
-            final ResultSet result = statement.executeQuery();
-            result.next();
-            final int count = result.getInt(1);
-            statement.close();
-            return count;
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("Failed count", e);
-        }
-    }
-
-    @Override
-    public void delete(final String sql) {
-        update(sql);
-    }
-
-    public void open() {
-        final String BASE = baseName + ".jdbc.";
-        final IsisConfiguration params = IsisContext.getConfiguration().getProperties(BASE);
-
-        try {
-            final String driver = params.getString(BASE + "driver");
-            final String url = params.getString(BASE + "connection");
-            final String user = params.getString(BASE + "user");
-            final String password = params.getString(BASE + "password");
-
-            if (connection != null) {
-                throw new SqlObjectStoreException("Connection already established");
-            }
-
-            if (driver == null) {
-                throw new SqlObjectStoreException("No driver specified for database connection");
-            }
-            if (url == null) {
-                throw new SqlObjectStoreException("No connection URL specified to database");
-            }
-            if (user == null) {
-                LOG.info("No user specified; will attempt to login with no credentials");
-            } else {
-                if (password == null) {
-                    throw new SqlObjectStoreException("No password specified for database connection");
-                }
-            }
-
-            Class.forName(driver);
-            connection = getConnection(url, user, password);
-            if (connection == null) {
-                throw new SqlObjectStoreException("No connection established to " + url);
-            }
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("Failed to start", e);
-        } catch (final ClassNotFoundException e) {
-            throw new SqlObjectStoreException("Could not find database driver", e);
-        }
-
-    }
-
-    private static Connection getConnection(final String url, final String user, final String password)
-        throws SQLException {
-        if (user != null) {
-            LOG.info("Connecting to " + url + " as " + user);
-            return DriverManager.getConnection(url, user, password);
-        } else {
-            LOG.info("Connecting to " + url + " with no credentials");
-            return DriverManager.getConnection(url);
-        }
-    }
-
-    /*
-     * public void executeStoredProcedure(final StoredProcedure storedProcedure) { Parameter[] parameters =
-     * storedProcedure.getParameters(); StringBuffer sql = new StringBuffer("{call ");
-     * sql.append(storedProcedure.getName()); sql.append(" ("); for (int i = 0, no = parameters.length; i < no; i++) {
-     * sql.append(i == 0 ? "?" : ",?"); } sql.append(")}"); LOG.debug("SQL: " + sql);
-     * 
-     * CallableStatement statement; try { statement = connection.prepareCall(sql.toString());
-     * 
-     * for (int i = 0; i < parameters.length; i++) { LOG.debug(" setup param " + i + " " + parameters[i]);
-     * parameters[i].setupParameter(i + 1, parameters[i].getName(), storedProcedure); } LOG.debug(" execute ");
-     * statement.execute(); for (int i = 0; i < parameters.length; i++) { parameters[i].retrieve(i + 1,
-     * parameters[i].getName(), storedProcedure); LOG.debug(" retrieve param " + i + " " + parameters[i]); } } catch
-     * (SQLException e) { throw new ObjectAdapterRuntimeException(e); }
-     * 
-     * }
-     * 
-     * 
-     * public MultipleResults executeStoredProcedure(final String name, final Parameter[] parameters) { StringBuffer sql
-     * = new StringBuffer("{call "); sql.append(name); sql.append(" ("); for (int i = 0; i < parameters.length; i++) {
-     * sql.append(i == 0 ? "?" : ",?"); } sql.append(")}"); LOG.debug("SQL: " + sql);
-     * 
-     * CallableStatement statement; try { statement = connection.prepareCall(sql.toString());
-     * 
-     * StoredProcedure storedProcedure = new JdbcStoredProcedure(statement);
-     * 
-     * for (int i = 0; i < parameters.length; i++) { LOG.debug(" setup param " + i + " " + parameters[i]);
-     * parameters[i].setupParameter(i + 1, parameters[i].getName(), storedProcedure); } LOG.debug(" execute ");
-     * statement.execute(); for (int i = 0; i < parameters.length; i++) { parameters[i].retrieve(i + 1,
-     * parameters[i].getName(), storedProcedure); LOG.debug(" retrieve param " + i + " " + parameters[i]); }
-     * 
-     * return new JdbcResults(statement); } catch (SQLException e) { throw new ObjectAdapterRuntimeException(e); } }
-     */
-
-    @Override
-    public Results select(final String sql) {
-        LOG.debug("SQL: " + sql);
-        PreparedStatement statement;
-        try {
-            statement = connection.prepareStatement(sql);
-            addPreparedValues(statement);
-            return new JdbcResults(statement.executeQuery());
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        } finally {
-            clearPreparedValues();
-        }
-    }
-
-    @Override
-    public int update(final String sql) {
-        if (sql.length() == 0) {
-            return 0;
-        }
-        LOG.debug("SQL: " + sql);
-        PreparedStatement statement;
-        try {
-            statement = connection.prepareStatement(sql);
-            addPreparedValues(statement);
-            final int updateCount = statement.executeUpdate();
-            statement.close();
-            return updateCount;
-        } catch (final SQLException e) {
-            LOG.error("failed to execute " + sql, e);
-            throw new SqlObjectStoreException("SQL error: " + e.toString(), e);
-        } finally {
-            clearPreparedValues();
-        }
-    }
-
-    private void clearPreparedValues() {
-        queryValues.clear();
-    }
-
-    private void addPreparedValues(final PreparedStatement statement) throws SQLException {
-        if (queryValues.size() > 0) {
-            int i = 1;
-            try {
-                for (final Object value : queryValues) {
-                    if (value instanceof LocalDate) {
-                        try {
-                            statement.setObject(i, value, java.sql.Types.DATE);
-                        } catch (final SQLException e) {
-                            // TODO This daft catch is required my MySQL, which
-                            // also requires the TimeZone offset to be
-                            // "undone"
-                            final LocalDate localDate = (LocalDate) value;
-                            final int millisOffset = -DateTimeZone.getDefault().getOffset(null);
-                            final java.util.Date javaDate =
-                                localDate.toDateTimeAtStartOfDay(DateTimeZone.forOffsetMillis(millisOffset)).toDate();
-
-                            statement.setObject(i, javaDate, java.sql.Types.DATE);
-                        }
-                    } else if (value instanceof InputStream) {
-                        statement.setBlob(i, (InputStream) value);
-                    } else {
-                        statement.setObject(i, value);
-                    }
-                    i++;
-                }
-            } catch (final SQLException e) {
-                LOG.error("Error adding prepared value " + i + " of type "
-                    + queryValues.get(i - 1).getClass().getSimpleName(), e);
-                throw e;
-            }
-        }
-    }
-
-    @Override
-    public boolean hasTable(final String tableName) {
-        try {
-            final ResultSet set = connection.getMetaData().getTables(null, null, tableName, null);
-            if (set.next()) {
-                LOG.debug("Found " + set.getString("TABLE_NAME"));
-                set.close();
-                return true;
-            } else {
-                set.close();
-                return false;
-            }
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public boolean hasColumn(final String tableName, final String columnName) {
-        try {
-            final ResultSet set = connection.getMetaData().getColumns(null, null, tableName, columnName);
-            if (set.next()) {
-                LOG.debug("Found " + set.getString("COLUMN_NAME") + " in " + set.getString("TABLE_NAME"));
-                set.close();
-                return true;
-            } else {
-                set.close();
-                return false;
-            }
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public void insert(final String sql) {
-        update(sql);
-    }
-
-    @Override
-    public void insert(final String sql, final Object oid) {
-        LOG.debug("SQL: " + sql);
-        PreparedStatement statement;
-        try {
-            statement = connection.prepareStatement(sql);
-            statement.executeUpdate();
-            /*
-             * require 3.0 ResultSet rs = statement.getGeneratedKeys(); if(rs.next()) { int id = rs.getInt(1); }
-             */statement.close();
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("SQL error", e);
-        }
-    }
-
-    public Connection getConnection() {
-        return connection;
-    }
-
-    @Override
-    public void commit() {
-        try {
-            LOG.debug("commit");
-            connection.commit();
-            connection.setAutoCommit(true);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("Commit error", e);
-        }
-    }
-
-    @Override
-    public void begin() {
-        try {
-            LOG.debug("begin transaction");
-            connection.setAutoCommit(false);
-            clearPreparedValues();
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("Rollback error", e);
-        }
-
-    }
-
-    @Override
-    public void rollback() {
-        try {
-            LOG.debug("rollback");
-            connection.rollback();
-            connection.setAutoCommit(true);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("Rollback error", e);
-        }
-    }
-
-    @Override
-    public SqlMetaData getMetaData() {
-        try {
-            final DatabaseMetaData metaData = connection.getMetaData();
-            return new JdbcSqlMetaData(metaData);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("Metadata error", e);
-        }
-    }
-
-    @Override
-    public void debug(final DebugBuilder debug) {
-        try {
-            final DatabaseMetaData metaData = connection.getMetaData();
-            debug.appendln("Product", metaData.getDatabaseProductName() + "  " + metaData.getDatabaseProductVersion());
-            try {
-                debug.appendln("Product Version",
-                    metaData.getDatabaseMajorVersion() + "." + metaData.getDatabaseMinorVersion());
-            } catch (final AbstractMethodError ignore) {
-            }
-            debug.appendln("Drive", metaData.getDriverName() + "  " + metaData.getDriverVersion());
-            debug.appendln("Driver Version", metaData.getDriverMajorVersion() + "." + metaData.getDriverMinorVersion());
-            debug.appendln("Keywords", metaData.getSQLKeywords());
-            debug.appendln("Date/Time functions", metaData.getTimeDateFunctions());
-            debug.appendln("Mixed case identifiers", metaData.supportsMixedCaseIdentifiers());
-            debug.appendln("Lower case identifiers", metaData.storesLowerCaseIdentifiers());
-            debug.appendln("Lower case quoted", metaData.storesLowerCaseQuotedIdentifiers());
-            debug.appendln("Mixed case identifiers", metaData.storesMixedCaseIdentifiers());
-            debug.appendln("Mixed case quoted", metaData.storesMixedCaseQuotedIdentifiers());
-            debug.appendln("Upper case identifiers", metaData.storesUpperCaseIdentifiers());
-            debug.appendln("Upper case quoted", metaData.storesUpperCaseQuotedIdentifiers());
-            debug.appendln("Max table name length", metaData.getMaxTableNameLength());
-            debug.appendln("Max column name length", metaData.getMaxColumnNameLength());
-
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException("Metadata error", e);
-        }
-    }
-
-    private final List<Object> queryValues = new ArrayList<Object>();
-
-    @Override
-    public String addToQueryValues(final int i) {
-        queryValues.add(i);
-        return "?";
-    }
-
-    @Override
-    public String addToQueryValues(final String s) {
-        queryValues.add(s);
-        return "?";
-    }
-
-    @Override
-    public String addToQueryValues(final Object o) {
-        queryValues.add(o);
-        return "?";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnectorFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnectorFactory.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnectorFactory.java
deleted file mode 100644
index fcb6a72..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnectorFactory.java
+++ /dev/null
@@ -1,34 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.DatabaseConnectorFactory;
-
-public class JdbcConnectorFactory implements DatabaseConnectorFactory {
-
-    @Override
-    public DatabaseConnector createConnector() {
-        final JdbcConnector connection = new JdbcConnector();
-        connection.open();
-        return connection;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcDateMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcDateMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcDateMapper.java
deleted file mode 100644
index 20592b3..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcDateMapper.java
+++ /dev/null
@@ -1,108 +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.objectstore.sql.jdbc;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.PersistFailedException;
-import org.apache.isis.applib.value.Date;
-import org.apache.isis.core.commons.exceptions.IsisApplicationException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-/**
- * Handles reading and writing java.sql.Date and org.apache.isis.applib.value.Date values to and from the data store.
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class JdbcDateMapper extends AbstractJdbcFieldMapping {
-
-    private final String dataType;
-
-    public static class Factory extends AbstractFieldMappingFactory {
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, Defaults.TYPE_DATE());
-            return new JdbcDateMapper(field, dataType);
-        }
-    }
-
-    protected JdbcDateMapper(final ObjectAssociation field, final String dataType) {
-        super(field);
-        this.dataType = dataType;
-    }
-
-    @Override
-    protected Object preparedStatementObject(final ObjectAdapter value) {
-        final Object o = value.getObject();
-        if (o instanceof java.sql.Date) {
-            final java.sql.Date javaSqlDate = (java.sql.Date) value.getObject();
-            final long millisSinceEpoch = javaSqlDate.getTime();
-            return new LocalDate(millisSinceEpoch);
-        } else if (o instanceof Date) {
-            final Date asDate = (Date) value.getObject();
-            return new LocalDate(asDate.getMillisSinceEpoch());
-        } else {
-            throw new IsisApplicationException("Unimplemented JdbcDateMapper instance type: "
-                + value.getClass().toString());
-        }
-    }
-
-    @Override
-    public ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
-        ObjectAdapter restoredValue;
-        final java.util.Date javaDateValue = results.getJavaDateOnly(columnName);
-        final Class<?> correspondingClass = field.getSpecification().getCorrespondingClass();
-        if (correspondingClass == java.util.Date.class || correspondingClass == java.sql.Date.class) {
-            // 2011-04-08 = 1270684800000
-            restoredValue = getAdapterManager().adapterFor(javaDateValue);
-        } else if (correspondingClass == Date.class) {
-            // 2010-03-05 = 1267747200000
-            Date dateValue;
-            dateValue = new Date(javaDateValue);
-            restoredValue = getAdapterManager().adapterFor(dateValue);
-        } else {
-            throw new PersistFailedException("Unhandled date type: " + correspondingClass.getCanonicalName());
-        }
-        return restoredValue;
-    }
-
-    @Override
-    public String columnType() {
-        return dataType;
-    }
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    protected AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcDateTimeMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcDateTimeMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcDateTimeMapper.java
deleted file mode 100644
index 19c2c96..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcDateTimeMapper.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.objectstore.sql.jdbc;
-
-import org.apache.isis.applib.PersistFailedException;
-import org.apache.isis.applib.value.DateTime;
-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.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-public class JdbcDateTimeMapper extends AbstractJdbcFieldMapping {
-
-    private final String dataType;
-
-    public static class Factory extends AbstractFieldMappingFactory {
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, Defaults.TYPE_DATETIME());
-            return new JdbcDateTimeMapper(field, dataType);
-        }
-    }
-
-    protected JdbcDateTimeMapper(final ObjectAssociation field, final String dataType) {
-        super(field);
-        this.dataType = dataType;
-    }
-
-    @Override
-    protected Object preparedStatementObject(final ObjectAdapter value) {
-        final DateTime asDate = (DateTime) value.getObject();
-        final java.sql.Timestamp dateTime = new java.sql.Timestamp(asDate.millisSinceEpoch());
-        return dateTime;
-    }
-
-    @Override
-    public ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
-
-        ObjectAdapter restoredValue;
-        final Class<?> correspondingClass = field.getSpecification().getCorrespondingClass();
-        if (correspondingClass == DateTime.class) {
-            final java.sql.Timestamp o = (java.sql.Timestamp) results.getObject(columnName);
-            final DateTime timeValue = new DateTime(o.getTime());
-            restoredValue = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(timeValue);
-        } else {
-            throw new PersistFailedException("Unhandled time type: " + correspondingClass.getCanonicalName());
-        }
-        return restoredValue;
-    }
-
-    @Override
-    public String columnType() {
-        return dataType;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcGeneralValueMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcGeneralValueMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcGeneralValueMapper.java
deleted file mode 100644
index 0129ddc..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcGeneralValueMapper.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.objectstore.sql.jdbc;
-
-import org.apache.isis.applib.value.Money;
-import org.apache.isis.applib.value.Password;
-import org.apache.isis.applib.value.Percentage;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-public class JdbcGeneralValueMapper extends AbstractJdbcFieldMapping {
-
-    public static class Factory extends AbstractFieldMappingFactory {
-        private final String type;
-
-        public Factory(final String type) {
-            super();
-            this.type = type;
-        }
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, type);
-            return new JdbcGeneralValueMapper(field, dataType);
-        }
-    }
-
-    private final String type;
-
-    public JdbcGeneralValueMapper(final ObjectAssociation field, final String type) {
-        super(field);
-        this.type = type;
-    }
-
-    @Override
-    protected Object preparedStatementObject(final ObjectAdapter value) {
-        if (value == null) {
-            return null;
-        }
-
-        final Object o = value.getObject();
-
-        if (o instanceof Money) {
-            return ((Money) o).floatValue();
-        } else if (o instanceof Percentage) {
-            return ((Percentage) o).floatValue();
-        } else if (o instanceof Password) {
-            return ((Password) o).getPassword();
-        } else if (o instanceof String) {
-            return o;
-        } else if (o instanceof Boolean) {
-            return o;
-        } else {
-            if (columnType().contains("CHAR")) {
-                final EncodableFacet facet = value.getSpecification().getFacet(EncodableFacet.class);
-                final String encodedString = facet.toEncodedString(value);
-                return encodedString;
-            } else {
-                return o;
-            }
-        }
-    }
-
-    @Override
-    public ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
-        final String encodedValue = results.getString(columnName);
-        if (encodedValue == null) {
-            return null;
-        }
-        final EncodableFacet facet = field.getSpecification().getFacet(EncodableFacet.class);
-        return facet.fromEncodedString(encodedValue);
-    }
-
-    @Override
-    public String columnType() {
-        return type;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcImageValueMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcImageValueMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcImageValueMapper.java
deleted file mode 100644
index f64bf24..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcImageValueMapper.java
+++ /dev/null
@@ -1,116 +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.objectstore.sql.jdbc;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.isis.applib.PersistFailedException;
-import org.apache.isis.applib.value.Image;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-import org.apache.isis.objectstore.sql.mapping.FieldMappingFactory;
-
-/**
- * 
- * 
- * @version $Rev$ $Date$
- */
-public class JdbcImageValueMapper extends AbstractJdbcMultiFieldMapping {
-
-    public static class Factory implements FieldMappingFactory {
-        private final String type_string; // A reference, e.g. file name
-        private final String type_blob; // The BLOB data
-
-        public Factory(final String string_type, final String type_blob) {
-            this.type_string = string_type;
-            this.type_blob = type_blob;
-        }
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            return new JdbcImageValueMapper(field, type_string, type_blob);
-        }
-    }
-
-    public JdbcImageValueMapper(final ObjectAssociation field, final String type1, final String type2) {
-        super(field, 2, type1, type2);
-    }
-
-    @Override
-    protected Object preparedStatementObject(int index, Object o) {
-        if (o instanceof Image) {
-            if (index == 0) {
-                return "Image";
-            } else {
-                return getOutputStreamFromImage((Image) o);
-            }
-        } else {
-            throw new PersistFailedException("Invalid object type " + o.getClass().getCanonicalName()
-                + " for JdbcImageValueMapper");
-        }
-    }
-
-    private Object getOutputStreamFromImage(Image o) {
-        int[][] intArray = o.getImage();
-        ByteArrayOutputStream stream = new ByteArrayOutputStream();
-        final int height = o.getHeight();
-        final int width = o.getWidth();
-
-        stream.write(height);
-        stream.write(width);
-        for (int j = 0; j < height; j++) {
-            for (int i = 0; i < width; i++) {
-                // stream.write(o.getImage());
-                stream.write(intArray[j][i]);
-            }
-        }
-        return new ByteArrayInputStream(stream.toByteArray());
-    }
-
-    @Override
-    protected Object getObjectFromResults(Results results) {
-        // final String name = results.getString(columnName(0));
-        InputStream binaryStream = results.getStream(columnName(1));
-
-        int[][] intArray;
-        try {
-            int width = binaryStream.read();
-            int height = binaryStream.read();
-
-            intArray = new int[height][width];
-            for (int j = 0; j < height; j++) {
-                for (int i = 0; i < width; i++) {
-                    intArray[j][i] = binaryStream.read();
-                }
-            }
-        } catch (IOException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-            intArray = new int[0][0];
-        }
-
-        final Image object = new Image(intArray);
-
-        return object;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcMoneyValueMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcMoneyValueMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcMoneyValueMapper.java
deleted file mode 100755
index 1821795..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcMoneyValueMapper.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.objectstore.sql.jdbc;
-
-import org.apache.isis.applib.PersistFailedException;
-import org.apache.isis.applib.value.Money;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-import org.apache.isis.objectstore.sql.mapping.FieldMappingFactory;
-
-/**
- * Money needs to implement a two-column persistence, 1 for amount, 1 for
- * 3-digit currency
- * 
- * @version $Rev$ $Date$
- */
-public class JdbcMoneyValueMapper extends AbstractJdbcMultiFieldMapping {
-
-    public static class Factory implements FieldMappingFactory {
-        private final String type1;
-        private final String type2;
-
-        public Factory(final String type1, final String type2) {
-            this.type1 = type1;
-            this.type2 = type2;
-        }
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            return new JdbcMoneyValueMapper(field, type1, type2);
-        }
-    }
-
-    public JdbcMoneyValueMapper(final ObjectAssociation field, final String type1, final String type2) {
-        super(field, 2, type1, type2);
-    }
-
-    @Override
-    protected Object preparedStatementObject(final int index, final Object o) {
-
-        if (o instanceof Money) {
-            if (index == 0) {
-                return ((Money) o).doubleValue();
-            } else {
-                return ((Money) o).getCurrency();
-            }
-        } else {
-            throw new PersistFailedException("Invalid object type " + o.getClass().getCanonicalName() + " for MoneyValueMapper");
-        }
-    }
-
-    @Override
-    protected Object getObjectFromResults(final Results results) {
-        final double doubleValue = results.getDouble(columnName(0));
-        final String currencyValue = results.getString(columnName(1));
-
-        final Money moneyObject = new Money(doubleValue, currencyValue);
-
-        return moneyObject;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceFieldMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceFieldMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceFieldMapping.java
deleted file mode 100644
index db826c4..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceFieldMapping.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.objectstore.sql.jdbc;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-public class JdbcObjectReferenceFieldMapping extends JdbcObjectReferenceMapping implements FieldMapping {
-
-    public static class Factory extends AbstractFieldMappingFactory {
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            if (field.getSpecification().isAbstract()) {
-                final String dataType = getTypeOverride(object, field, Defaults.TYPE_LONG_STRING());
-                return new JdbcAbstractReferenceFieldMapping(field, dataType);
-            }
-            return new JdbcObjectReferenceFieldMapping(field);
-        }
-    }
-
-    protected final ObjectAssociation field;
-
-    @Override
-    public ObjectAssociation getField() {
-        return field;
-    }
-
-    @Override
-    public void appendWhereClause(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        final ObjectAdapter fieldValue = field.get(object);
-        final RootOid oid = (RootOid) fieldValue.getOid();
-        appendWhereClause(connector, sql, oid);
-    }
-
-    @Override
-    public void appendWhereObject(final DatabaseConnector connector, final ObjectAdapter objectAdapter) {
-        final ObjectAdapter fieldValue = field.get(objectAdapter);
-        final RootOid oid = (RootOid) fieldValue.getOid();
-        connector.addToQueryValues(primaryKey(oid));
-    }
-
-    public JdbcObjectReferenceFieldMapping(final ObjectAssociation field) {
-        super(columnName(field), field.getSpecification());
-        this.field = field;
-    }
-
-    private static String columnName(final ObjectAssociation field) {
-        return Sql.sqlFieldName(field.getId());
-    }
-
-    @Override
-    public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sb, final ObjectAdapter object) {
-        final ObjectAdapter fieldValue = field.get(object);
-        super.appendInsertValues(connector, sb, fieldValue);
-    }
-
-    @Override
-    public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
-        final ObjectAdapter fieldValue = field.get(object);
-        super.appendUpdateValues(connector, sql, fieldValue);
-    }
-
-    @Override
-    public void initializeField(final ObjectAdapter object, final Results rs) {
-        final ObjectAdapter reference = initializeField(rs);
-        ((OneToOneAssociation) field).initAssociation(object, reference);
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln(field.getId(), getColumn());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceMapping.java
deleted file mode 100644
index 95a02b5..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceMapping.java
+++ /dev/null
@@ -1,68 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.IdMappingAbstract;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.SqlObjectStoreException;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMapping;
-
-public class JdbcObjectReferenceMapping extends IdMappingAbstract implements ObjectReferenceMapping {
-    private final ObjectSpecification specification;
-
-    public JdbcObjectReferenceMapping(final String columnName, final ObjectSpecification specification) {
-        this.specification = specification;
-        final String idColumn = Sql.sqlName("fk_" + columnName);
-        setColumn(idColumn);
-    }
-
-    @Override
-    public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter adapter) {
-        sql.append(getColumn());
-        if (adapter == null) {
-            sql.append("= NULL ");
-        } else {
-            sql.append("= ?");
-            // sql.append(primaryKey(object.getOid()));
-            final RootOid oid = (RootOid) adapter.getOid();
-            connector.addToQueryValues(primaryKey(oid));
-        }
-    }
-
-    public ObjectAdapter initializeField(final Results rs) {
-        final Oid oid = recreateOid(rs, specification);
-        if (oid != null) {
-            if (specification.isAbstract()) {
-                throw new SqlObjectStoreException("NOT DEALING WITH POLYMORPHIC ASSOCIATIONS");
-            } else {
-                return getAdapter(specification, oid);
-            }
-        } else {
-            return null;
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceMappingFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceMappingFactory.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceMappingFactory.java
deleted file mode 100644
index e2e1d23..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcObjectReferenceMappingFactory.java
+++ /dev/null
@@ -1,33 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMapping;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMappingFactory;
-
-public class JdbcObjectReferenceMappingFactory implements ObjectReferenceMappingFactory {
-
-    @Override
-    public ObjectReferenceMapping createReferenceMapping(final String columnName, final ObjectSpecification specification) {
-        return new JdbcObjectReferenceMapping(columnName, specification);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcPasswordValueMapper.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcPasswordValueMapper.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcPasswordValueMapper.java
deleted file mode 100644
index 0c2bd4e..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcPasswordValueMapper.java
+++ /dev/null
@@ -1,106 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.applib.value.Password;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.objectstore.sql.AbstractFieldMappingFactory;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.jdbc.helpers.SimplePasswordEncoderDecoder;
-import org.apache.isis.objectstore.sql.mapping.FieldMapping;
-
-/**
- * Implements a Password string type that stores the passwords with a simple encoding in the database.
- * 
- * @version $Rev$ $Date$
- */
-public class JdbcPasswordValueMapper extends AbstractJdbcFieldMapping {
-
-    public static class Factory extends AbstractFieldMappingFactory {
-        private final String type;
-        private final String passwordSeed;
-        private final Integer encLength;
-
-        public Factory(final String type, final String passwordSeed, final Integer encLength) {
-            super();
-            this.type = type;
-            this.passwordSeed = passwordSeed;
-            this.encLength = encLength;
-        }
-
-        @Override
-        public FieldMapping createFieldMapping(final ObjectSpecification object, final ObjectAssociation field) {
-            final String dataType = getTypeOverride(object, field, type);
-            return new JdbcPasswordValueMapper(field, dataType, passwordSeed, encLength);
-        }
-    }
-
-    private final String type;
-
-    private final SimplePasswordEncoderDecoder simplePasswordEncoderDecoder;
-
-    public JdbcPasswordValueMapper(final ObjectAssociation field, final String type, final String passwordSeed,
-        final Integer encLength) {
-        super(field);
-        this.type = type;
-
-        simplePasswordEncoderDecoder = new SimplePasswordEncoderDecoder(passwordSeed, encLength);
-    }
-
-    /*
-     * @see org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping#columnType()
-     */
-    @Override
-    protected String columnType() {
-        return type;
-    }
-
-    /*
-     * @see
-     * org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping#preparedStatementObject(org.apache
-     * .isis.core.metamodel.adapter.ObjectAdapter)
-     */
-    @Override
-    protected Object preparedStatementObject(ObjectAdapter value) {
-        if (value == null) {
-            return null;
-        }
-        final Object o = value.getObject();
-        final String rawPassword = ((Password) o).getPassword();
-        return simplePasswordEncoderDecoder.encodeRawValueIntoEncodedString(rawPassword);
-    }
-
-    /*
-     * @see
-     * org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.AbstractJdbcFieldMapping#setFromDBColumn(org.apache.isis.
-     * runtimes.dflt.objectstores.sql.Results, java.lang.String,
-     * org.apache.isis.core.metamodel.spec.feature.ObjectAssociation)
-     */
-    @Override
-    protected ObjectAdapter setFromDBColumn(Results results, String columnName, ObjectAssociation field) {
-        final String encodedValue = results.getString(columnName);
-        if (encodedValue == null) {
-            return null;
-        }
-        final EncodableFacet facet = field.getSpecification().getFacet(EncodableFacet.class);
-        return facet.fromEncodedString(simplePasswordEncoderDecoder.decodeEncodedValueIntoRawString(encodedValue));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcPolymorphicObjectReferenceMapping.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcPolymorphicObjectReferenceMapping.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcPolymorphicObjectReferenceMapping.java
deleted file mode 100755
index cf6c419..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcPolymorphicObjectReferenceMapping.java
+++ /dev/null
@@ -1,71 +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.objectstore.sql.jdbc;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.objectstore.sql.DatabaseConnector;
-import org.apache.isis.objectstore.sql.IdMappingAbstract;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.SqlObjectStoreException;
-import org.apache.isis.objectstore.sql.mapping.ObjectReferenceMapping;
-
-public class JdbcPolymorphicObjectReferenceMapping extends IdMappingAbstract implements ObjectReferenceMapping {
-    private ObjectSpecification specification;
-
-    public JdbcPolymorphicObjectReferenceMapping(final String columnName) {
-        final String idColumn = Sql.sqlName(columnName);
-        setColumn(idColumn);
-    }
-
-    public void setObjectSpecification(final ObjectSpecification specification) {
-        this.specification = specification;
-    }
-
-    @Override
-    public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter adapter) {
-        sql.append(getColumn());
-        if (adapter == null) {
-            sql.append("= NULL ");
-        } else {
-            sql.append("= ?");
-            // sql.append(primaryKey(object.getOid()));
-            final RootOid oid = (RootOid) adapter.getOid();
-            connector.addToQueryValues(primaryKey(oid));
-        }
-    }
-
-    public ObjectAdapter initializeField(final Results rs) {
-        final Oid oid = recreateOid(rs, specification);
-        if (oid != null) {
-            if (specification.isAbstract()) {
-                throw new SqlObjectStoreException("NOT DEALING WITH POLYMORPHIC ASSOCIATIONS");
-            } else {
-                return getAdapter(specification, oid);
-            }
-        } else {
-            return null;
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcResults.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcResults.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcResults.java
deleted file mode 100644
index 8fb81a8..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcResults.java
+++ /dev/null
@@ -1,232 +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.objectstore.sql.jdbc;
-
-import java.io.InputStream;
-import java.sql.CallableStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Calendar;
-import java.util.HashMap;
-
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
-
-import org.apache.isis.applib.value.Date;
-import org.apache.isis.applib.value.Time;
-import org.apache.isis.objectstore.sql.Defaults;
-import org.apache.isis.objectstore.sql.Results;
-import org.apache.isis.objectstore.sql.SqlObjectStoreException;
-
-public class JdbcResults implements Results {
-    ResultSet set;
-
-    public JdbcResults(final CallableStatement statement) {
-    }
-
-    public JdbcResults(final ResultSet set) {
-        this.set = set;
-    }
-
-    @Override
-    public void close() {
-        try {
-            set.close();
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public int getInt(final String columnName) {
-        try {
-            return set.getInt(columnName);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public long getLong(final String columnName) {
-        try {
-            return set.getLong(columnName);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public String getString(final String columnName) {
-        try {
-            return set.getString(columnName);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public boolean next() {
-        try {
-            return set.next();
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public java.sql.Date getJavaDateOnly(final String columnName) {
-        try {
-            // 2010-03-05 = 1267747200000
-            // 2010-04-08 = 1270684800000
-            // This is really painful! Java refuses to create java.util.Date in
-            // UTC!
-            // It creates java.util.Dates in Local time-zone, but assumes the DB
-            // date is UTC.
-            final String string = set.getString(columnName);
-            final DateTime utcDate = new DateTime(string, Defaults.getTimeZone());
-            final java.sql.Date date = new java.sql.Date(utcDate.getMillis());
-            return date;
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public java.sql.Time getJavaTimeOnly(final String columnName) {
-        try {
-            final String string = set.getString(columnName);
-
-            final DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm:ss");
-
-            final DateTime utcDate = formatter.withZone(Defaults.getTimeZone()).parseDateTime(string);
-            final java.sql.Time time = new java.sql.Time(utcDate.getMillis());
-
-            return time;
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public java.util.Date getJavaDateTime(final String columnName, final Calendar calendar) {
-        try {
-            return set.getDate(columnName, calendar);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public Object getObject(final String columnName) {
-        try {
-            return set.getObject(columnName);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public Date getDate(final String columnName) {
-        try {
-            // 2010-03-05 = 1267747200000
-            // 2010-04-08 = 1270684800000
-            // This is really painful! Java refuses to create java.util.Date in
-            // UTC!
-            // It creates java.util.Dates in Local time-zone, but assumes the DB
-            // date is UTC.
-            final String string = set.getString(columnName);
-            final DateTime utcDate = new DateTime(string, Defaults.getTimeZone());
-            return new Date(utcDate);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public Time getTime(final String columnName) {
-        try {
-            final String string = set.getString(columnName);
-            final DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm:ss");
-            final DateTimeZone defaultTimeZone = Defaults.getTimeZone();
-            final DateTime utcDate = formatter.withZone(defaultTimeZone).parseDateTime(string);
-            return new Time(utcDate);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public double getDouble(final String columnName) {
-        try {
-            return set.getDouble(columnName);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public Object getAsType(final String columnName, final Class<?> clazz) {
-        try {
-            final HashMap<String, Class<?>> map = new HashMap<String, Class<?>>();
-            map.put("FLOAT", float.class);
-            return set.getObject(columnName, map);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public Float getFloat(final String columnName) {
-        try {
-            return set.getFloat(columnName);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public Short getShort(final String columnName) {
-        try {
-            return set.getShort(columnName);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public Boolean getBoolean(final String columnName) {
-        try {
-            return set.getBoolean(columnName);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-
-    @Override
-    public InputStream getStream(String column) {
-        try {
-            return set.getBinaryStream(column);
-        } catch (final SQLException e) {
-            throw new SqlObjectStoreException(e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcSqlMetaData.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcSqlMetaData.java b/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcSqlMetaData.java
deleted file mode 100644
index 0efd9fe..0000000
--- a/mothballed/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcSqlMetaData.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.objectstore.sql.jdbc;
-
-import java.sql.DatabaseMetaData;
-import java.sql.SQLException;
-
-import org.apache.isis.objectstore.sql.SqlMetaData;
-
-public class JdbcSqlMetaData implements SqlMetaData {
-
-    private final boolean hasQuoteString;
-    private final String quoteString;
-    private final String keywords;
-    private final String timeDateFunctions;
-    private final boolean storesLowerCaseIdentifiers;
-    private final boolean storesMixedCaseIdentifiers;
-    private final boolean storesUpperCaseIdentifiers;
-
-    public JdbcSqlMetaData(final DatabaseMetaData metaData) throws SQLException {
-        keywords = metaData.getSQLKeywords();
-        timeDateFunctions = metaData.getTimeDateFunctions();
-        quoteString = metaData.getIdentifierQuoteString();
-        hasQuoteString = (quoteString != " ");
-        storesLowerCaseIdentifiers = metaData.storesLowerCaseIdentifiers();
-        storesMixedCaseIdentifiers = metaData.storesMixedCaseIdentifiers();
-        storesUpperCaseIdentifiers = metaData.storesUpperCaseIdentifiers();
-
-    }
-
-    @Override
-    public String getKeywords() {
-        return keywords;
-    }
-
-    @Override
-    public String getTimeDateFunctions() {
-        return timeDateFunctions;
-    }
-
-    @Override
-    public String getQuoteString() {
-        return quoteString;
-    }
-
-    @Override
-    public boolean isStoresLowerCaseIdentifiers() {
-        return storesLowerCaseIdentifiers;
-    }
-
-    @Override
-    public boolean isStoresMixedCaseIdentifiers() {
-        return storesMixedCaseIdentifiers;
-    }
-
-    @Override
-    public boolean isStoresUpperCaseIdentifiers() {
-        return storesUpperCaseIdentifiers;
-    }
-
-    @Override
-    public String quoteIdentifier(final String identifier) {
-        if (hasQuoteString) {
-            return quoteString + identifier + quoteString;
-        } else {
-            return identifier;
-        }
-    }
-}


[48/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java
deleted file mode 100644
index fe6c832..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java
+++ /dev/null
@@ -1,686 +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.objectstore.nosql.db.file.server;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.DataInput;
-import java.io.DataInputStream;
-import java.io.DataOutput;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.net.ConnectException;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketTimeoutException;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.zip.CRC32;
-import java.util.zip.CheckedInputStream;
-import java.util.zip.CheckedOutputStream;
-
-import org.apache.commons.cli.BasicParser;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.HelpFormatter;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
-import org.apache.commons.configuration.CompositeConfiguration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
-import org.apache.commons.configuration.SystemConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.lang.ObjectExtensions;
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-
-public class FileServer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(FileServer.class);
-    private static final String DEFAULT_HOST = "localhost";
-    private static final int DEFAULT_SERVICE_PORT = 9100;
-    private static final int DEFAULT_CONTROL_PORT = 9101;
-    private static final int DEFAULT_SYNC_PORT = 9102;
-    private static final int BACKLOG = 0;
-    private static final int INIT = 1;
-    private static final int RECOVERY_LOG = 2;
-
-    public static void main(final String[] args) throws IOException, ParseException {
-
-        final Options options = new Options();
-        options.addOption("h", "help", false, "Show this help");
-        options.addOption("m", "mode", true, "mode: normal | secondary | recovery | archive");
-
-        final CommandLineParser parser = new BasicParser();
-        final CommandLine cmd = parser.parse(options, args);
-
-        if (cmd.hasOption('h')) {
-            printHelp(options);
-            return;
-        }
-
-        final String mode = cmd.getOptionValue("m");
-
-        final List<String> argList = ObjectExtensions.asT(cmd.getArgList());
-        if ("recovery".equals(mode)) {
-            final FileServer fileServer = new FileServer();
-            fileServer.startRecovery(argList);
-        } else if ("archive".equals(mode)) {
-            final FileServer fileServer = new FileServer();
-            fileServer.startArchive(argList);
-        } else if ("secondary".equals(mode)) {
-            final FileServer fileServer = new FileServer();
-            fileServer.startSecondary();
-        } else if (mode == null || "normal".equals(mode)) {
-            final FileServer fileServer = new FileServer();
-            fileServer.startNormal();
-        } else {
-            printHelp(options);
-        }
-    }
-
-    private static void printHelp(final Options options) {
-        final HelpFormatter help = new HelpFormatter();
-        help.printHelp("FileSever [OPTIONS] [FIRST RECOVERY FILES] [LAST RECOVERY FILES]", options);
-    }
-
-    private FileServerProcessor server;
-    private CompositeConfiguration config;
-
-    private boolean awaitConnections = true;
-    private boolean isQuiescent = false;
-    private long requests;
-
-    public FileServer() {
-        org.apache.log4j.PropertyConfigurator.configure("config/logging.properties");
-
-        try {
-            config = new CompositeConfiguration();
-            config.addConfiguration(new SystemConfiguration());
-            config.addConfiguration(new PropertiesConfiguration("config/server.properties"));
-
-            final String data = config.getString("fileserver.data");
-            final String services = config.getString("fileserver.services");
-            final String logs = config.getString("fileserver.logs");
-            final String archive = config.getString("fileserver.archive");
-
-            Util.setDirectory(data, services, logs, archive);
-            server = new FileServerProcessor();
-        } catch (final ConfigurationException e) {
-            LOG.error("configuration failure", e);
-            System.out.println(e.getMessage());
-            System.exit(0);
-        }
-    }
-
-    private void startNormal() {
-        new Thread("control") {
-            @Override
-            public void run() {
-                startControl();
-            };
-        }.start();
-        new Thread("service") {
-            @Override
-            public void run() {
-                startService();
-            };
-        }.start();
-        new Thread("log-rolling") {
-            @Override
-            public void run() {
-                startLogRolling();
-            }
-        }.start();
-        if (config.getBoolean("fileserver.sync", false)) {
-            new Thread("sync") {
-                @Override
-                public void run() {
-                    startSyncing();
-                };
-            }.start();
-        } else {
-            LOG.info("not syncing to secondary server");
-        }
-
-    }
-
-    private void startService() {
-        final String serviceHost = config.getString("fileserver.host", DEFAULT_HOST);
-        final int servicePort = config.getInt("fileserver.port", DEFAULT_SERVICE_PORT);
-        final int connectionTimeout = config.getInt("fileserver.connection.timeout", 5000);
-        final int readTimeout = config.getInt("fileserver.read.timeout", 5000);
-
-        ServerSocket socket = null;
-        try {
-            LOG.debug("setting up service socket on " + serviceHost + ":" + servicePort);
-            final InetAddress address = InetAddress.getByName(serviceHost);
-            socket = new ServerSocket(servicePort, BACKLOG, address);
-            socket.setSoTimeout(connectionTimeout);
-            LOG.info("file service listenting on " + socket.getInetAddress().getHostAddress() + " port " + socket.getLocalPort());
-            LOG.debug("file service listenting on " + socket);
-            final LogRange logFileRange = Util.logFileRange();
-            if (!logFileRange.noLogFile()) {
-                final long lastRecoveryFile = logFileRange.getLast();
-                final File file = Util.logFile(lastRecoveryFile);
-                LOG.info("replaying last recovery file: " + file.getAbsolutePath());
-                recover(file);
-            }
-            server.startup();
-        } catch (final UnknownHostException e) {
-            LOG.error("Unknown host " + serviceHost, e);
-            System.exit(0);
-        } catch (final IOException e) {
-            LOG.error("start failure - networking not set up for " + serviceHost, e);
-            System.exit(0);
-        } catch (final RuntimeException e) {
-            LOG.error("start failure", e);
-            System.exit(0);
-        }
-        do {
-            try {
-                while (isQuiescent) {
-                    try {
-                        Thread.sleep(300);
-                    } catch (final InterruptedException ignore) {
-                    }
-                }
-                final Socket connection = socket.accept();
-                LOG.debug("connection from " + connection);
-                connection.setSoTimeout(readTimeout);
-                serviceConnection(connection, readTimeout);
-            } catch (final SocketTimeoutException expected) {
-            } catch (final IOException e) {
-                LOG.error("networking problem", e);
-            }
-        } while (awaitConnections);
-    }
-
-    private void serviceConnection(final Socket connection, final int readTimeout) {
-        try {
-            final InputStream input = connection.getInputStream();
-            final OutputStream output = connection.getOutputStream();
-            final ServerConnection pipe = new ServerConnection(input, output);
-            requests++;
-            server.process(pipe);
-            pipe.logComplete();
-        } catch (final NoSqlStoreException e) {
-            if (e.getCause() instanceof SocketTimeoutException) {
-                LOG.error("read timed out after " + (readTimeout / 1000.0) + " seconds", e);
-            } else {
-                LOG.error("file server failure", e);
-            }
-        } catch (final IOException e) {
-            LOG.error("networking failure", e);
-        } catch (final RuntimeException e) {
-            LOG.error("request failure", e);
-        } finally {
-            try {
-                connection.close();
-            } catch (final IOException e) {
-                LOG.warn("failure to close connection", e);
-            }
-        }
-    }
-
-    private void startSyncing() {
-        final String syncHost = config.getString("fileserver.sync-host", DEFAULT_HOST);
-        final int syncPort = config.getInt("fileserver.sync-port", DEFAULT_SYNC_PORT);
-        final int connectionTimeout = config.getInt("fileserver.connection.timeout", 5000);
-
-        LOG.info("preparing to sync to secondary server on " + syncHost + " port " + syncPort);
-
-        final InetAddress address;
-        try {
-            address = InetAddress.getByName(syncHost);
-        } catch (final UnknownHostException e) {
-            LOG.error("Unknown host " + syncHost, e);
-            System.exit(0);
-            return;
-        }
-
-        while (awaitConnections) {
-            Socket socket = null;
-            try {
-                socket = new Socket(address, syncPort);
-                LOG.info("sync connected to " + socket.getInetAddress().getHostAddress() + " port " + socket.getLocalPort());
-
-                final CRC32 crc32 = new CRC32();
-                final DataOutput output = new DataOutputStream(new CheckedOutputStream(socket.getOutputStream(), crc32));
-                final DataInput input = new DataInputStream(socket.getInputStream());
-                output.writeByte(INIT);
-                long logId = input.readLong();
-                do {
-                    final long nextLogId = logId + 1;
-                    final File file = Util.logFile(nextLogId);
-                    if (file.exists() && server.getLogger().isWritten(nextLogId)) {
-                        logId++;
-
-                        output.writeByte(RECOVERY_LOG);
-                        crc32.reset();
-                        output.writeLong(logId);
-
-                        LOG.info("sending recovery file: " + file.getName());
-                        final BufferedInputStream fileInput = new BufferedInputStream(new FileInputStream(file));
-
-                        final byte[] buffer = new byte[8092];
-                        int read;
-                        while ((read = fileInput.read(buffer)) > 0) {
-                            output.writeInt(read);
-                            output.write(buffer, 0, read);
-                        }
-                        output.writeInt(0);
-
-                        output.writeLong(crc32.getValue());
-                    }
-                    try {
-                        Thread.sleep(300);
-                    } catch (final InterruptedException ignore) {
-                    }
-
-                    while (isQuiescent) {
-                        try {
-                            Thread.sleep(300);
-                        } catch (final InterruptedException ignore) {
-                        }
-                    }
-                } while (awaitConnections);
-
-            } catch (final ConnectException e) {
-                LOG.warn("not yet connected to secondary server at " + syncHost + " port " + syncPort);
-                try {
-                    Thread.sleep(connectionTimeout);
-                } catch (final InterruptedException ignore) {
-                }
-            } catch (final IOException e) {
-                LOG.error("start failure - networking not set up for " + syncHost, e);
-                try {
-                    Thread.sleep(300);
-                } catch (final InterruptedException ignore) {
-                }
-            } catch (final RuntimeException e) {
-                LOG.error("start failure", e);
-                try {
-                    Thread.sleep(300);
-                } catch (final InterruptedException ignore) {
-                }
-            }
-        }
-
-    }
-
-    private void startControl() {
-        final String controlHost = config.getString("fileserver.control-host", DEFAULT_HOST);
-        final int controlPort = config.getInt("fileserver.control-port", DEFAULT_CONTROL_PORT);
-        final int connectionTimeout = config.getInt("fileserver.connection.timeout", 5000);
-
-        ServerSocket socket = null;
-        try {
-            LOG.debug("setting up control socket on " + controlHost + ":" + controlPort);
-            final InetAddress address = InetAddress.getByName(controlHost);
-            socket = new ServerSocket(controlPort, 0, address);
-            socket.setSoTimeout(connectionTimeout);
-            LOG.info("file control listenting on " + socket.getInetAddress().getHostAddress() + " port " + socket.getLocalPort());
-            LOG.debug("file control listenting on " + socket);
-        } catch (final UnknownHostException e) {
-            LOG.error("Unknown host " + controlHost, e);
-            System.exit(0);
-        } catch (final IOException e) {
-            LOG.error("start failure - networking not set up for " + controlHost, e);
-            System.exit(0);
-        } catch (final RuntimeException e) {
-            LOG.error("start failure", e);
-            System.exit(0);
-        }
-        do {
-            try {
-                final Socket connection = socket.accept();
-                LOG.info("control connection from " + connection);
-                controlConnection(connection);
-            } catch (final SocketTimeoutException expected) {
-            } catch (final IOException e) {
-                LOG.error("networking problem", e);
-            }
-        } while (awaitConnections);
-    }
-
-    private void controlConnection(final Socket connection) {
-        try {
-            final InputStream input = connection.getInputStream();
-            final BufferedReader reader = new BufferedReader(new InputStreamReader(input));
-            final OutputStream output = connection.getOutputStream();
-            final PrintWriter print = new PrintWriter(output);
-            print.print("> ");
-            print.flush();
-            String line;
-            while ((line = reader.readLine()) != null) {
-                if ("shutdown".equals(line)) {
-                    awaitConnections = false;
-                    print.println("Server shutdown initiated...");
-                    print.flush();
-                    server.shutdown();
-                    break;
-                } else if ("quiesce".equals(line)) {
-                    isQuiescent = true;
-                    final String message = "Placing server in a quiescent state";
-                    LOG.info(message);
-                    print.println(message);
-                    print.print("> ");
-                    print.flush();
-                } else if ("resume".equals(line)) {
-                    if (isQuiescent) {
-                        isQuiescent = false;
-                        final String message = "Resuming from a quiescent state";
-                        LOG.info(message);
-                        print.println(message);
-                    } else {
-                        print.println("Can't resume as not currently in a quiescent state");
-                    }
-                    print.print("> ");
-                    print.flush();
-                } else if ("quit".equals(line)) {
-                    print.println("Bye");
-                    print.flush();
-                    break;
-                } else if ("status".equals(line)) {
-                    print.println("requests: " + requests);
-                    print.println("quiescent: " + isQuiescent);
-                    print.print("> ");
-                    print.flush();
-                } else {
-                    print.println("Unknown command, valid commands are: quit, quiesce, status, resume, shutdown");
-                    print.print("> ");
-                    print.flush();
-                }
-            }
-        } catch (final IOException e) {
-            LOG.error("networking failure", e);
-        } catch (final RuntimeException e) {
-            LOG.error("request failure", e);
-        } finally {
-            try {
-                connection.close();
-            } catch (final IOException e) {
-                LOG.warn("failure to close connection", e);
-            }
-        }
-    }
-
-    private void startRecovery(final List<String> list) {
-        LOG.info("starting recovery");
-        final LogRange logFileRange = Util.logFileRange();
-        if (logFileRange.noLogFile()) {
-            System.err.println("No recovery files found");
-            System.exit(0);
-        }
-        final long lastId = logFileRange.getLast();
-        LOG.info("last log file is " + Util.logFile(lastId).getName());
-
-        long startId = lastId;
-        long endId = lastId;
-
-        final int size = list.size();
-        if (size > 0) {
-            startId = Long.valueOf(list.get(0));
-            if (size > 1) {
-                endId = Long.valueOf(list.get(1));
-            }
-        }
-        if (startId < logFileRange.getFirst() || startId > lastId || endId > lastId) {
-            System.err.println("File IDs invalid: they must be between " + logFileRange.getFirst() + " and " + lastId);
-            System.exit(0);
-        }
-        if (startId > endId) {
-            System.err.println("File IDs invalid: start must be before the end");
-            System.exit(0);
-        }
-
-        Util.ensureDirectoryExists();
-        for (long id = startId; id <= endId; id++) {
-            final File file = Util.logFile(id);
-            LOG.info("recovering data from " + file.getName());
-            recover(file);
-        }
-        LOG.info("recovery complete");
-    }
-
-    private void startArchive(final List<String> list) {
-        LOG.info("starting archiving");
-        final LogRange logFileRange = Util.logFileRange();
-        if (logFileRange.noLogFile()) {
-            System.err.println("No recovery files found");
-            System.exit(0);
-        }
-        final long lastId = logFileRange.getLast();
-        LOG.info("last log file is " + Util.logFile(lastId).getName());
-
-        long endId = lastId - 1;
-
-        final int size = list.size();
-        if (size > 0) {
-            endId = Long.valueOf((String) list.get(0));
-        }
-        if (endId >= lastId) {
-            System.err.println("File ID invalid: they must be less that " + lastId);
-            System.exit(0);
-        }
-        final long startId = logFileRange.getFirst();
-        for (long id = startId; id <= endId; id++) {
-            final File file = Util.logFile(id);
-            LOG.info("moving " + file.getName());
-            final File destination = Util.archiveLogFile(id);
-            file.renameTo(destination);
-        }
-        LOG.info("archive complete");
-
-    }
-
-    private void startSecondary() {
-        final String serviceHost = config.getString("fileserver.sync-host", DEFAULT_HOST);
-        final int servicePort = config.getInt("fileserver.sync-port", DEFAULT_SYNC_PORT);
-
-        Util.ensureDirectoryExists();
-        ServerSocket socket = null;
-        try {
-            LOG.debug("setting up syncing socket on " + serviceHost + ":" + servicePort);
-            final InetAddress address = InetAddress.getByName(serviceHost);
-            socket = new ServerSocket(servicePort, 0, address);
-            LOG.info("listenting on " + socket.getInetAddress().getHostAddress() + " port " + socket.getLocalPort());
-            LOG.debug("listenting on " + socket);
-            do {
-                syncConnection(socket.accept(), 0);
-            } while (awaitConnections);
-        } catch (final UnknownHostException e) {
-            LOG.error("Unknown host " + serviceHost, e);
-            System.exit(0);
-        } catch (final IOException e) {
-            LOG.error("start failure - networking not set up for " + serviceHost, e);
-            System.exit(0);
-        } catch (final RuntimeException e) {
-            LOG.error("start failure", e);
-            System.exit(0);
-        }
-    }
-
-    private void syncConnection(final Socket connection, final int readTimeout) {
-        try {
-            final CRC32 crc32 = new CRC32();
-            final DataOutput output = new DataOutputStream(connection.getOutputStream());
-            final DataInput input = new DataInputStream(new CheckedInputStream(connection.getInputStream(), crc32));
-
-            if (input.readByte() != INIT) {
-                return;
-            }
-
-            final LogRange logFileRange = Util.logFileRange();
-            final long lastId = logFileRange.noLogFile() ? -1 : logFileRange.getLast();
-            output.writeLong(lastId);
-            do {
-                if (input.readByte() != RECOVERY_LOG) {
-                    return;
-                }
-                crc32.reset();
-                final long logId = input.readLong();
-                final File file = Util.tmpLogFile(logId);
-                LOG.info("syncing recovery file: " + file.getName());
-                final BufferedOutputStream fileOutput = new BufferedOutputStream(new FileOutputStream(file));
-
-                final byte[] buffer = new byte[8092];
-                int length;
-                while ((length = input.readInt()) > 0) {
-                    input.readFully(buffer, 0, length);
-                    fileOutput.write(buffer, 0, length);
-                }
-                fileOutput.close();
-
-                final long calculatedChecksum = crc32.getValue();
-                final long sentChecksum = input.readLong();
-                if (calculatedChecksum != sentChecksum) {
-                    throw new NoSqlStoreException("Checksum didn't match during download of " + file.getName());
-                }
-
-                recover(file);
-                final File renameTo = Util.logFile(logId);
-                file.renameTo(renameTo);
-            } while (true);
-        } catch (final NoSqlStoreException e) {
-            LOG.error("file server failure", e);
-        } catch (final IOException e) {
-            LOG.error("networking failure", e);
-        } catch (final RuntimeException e) {
-            LOG.error("request failure", e);
-        } finally {
-            try {
-                connection.close();
-            } catch (final IOException e) {
-                LOG.warn("failure to close connection", e);
-            }
-        }
-
-        // TODO restart
-    }
-
-    private void recover(final File file) {
-        LineNumberReader reader = null;
-        try {
-            reader = new LineNumberReader(new InputStreamReader(new FileInputStream(file), Util.ENCODING));
-
-            while (true) {
-                final String line = reader.readLine();
-                if (line == null) {
-                    break;
-                }
-                if (!line.startsWith("#transaction started")) {
-                    throw new NoSqlStoreException("No transaction start found: " + line + " (" + reader.getLineNumber() + ")");
-                }
-                readTransaction(reader);
-            }
-        } catch (final IOException e) {
-            throw new NoSqlStoreException(e);
-        } finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                } catch (final IOException e) {
-                    throw new NoSqlStoreException(e);
-                }
-            }
-        }
-    }
-
-    private void readTransaction(final LineNumberReader reader) throws IOException {
-        final ArrayList<FileContent> files = new ArrayList<FileContent>();
-        final DataFileWriter content = new DataFileWriter(files);
-        String header;
-        while ((header = reader.readLine()) != null) {
-            if (header.startsWith("#transaction ended")) {
-                LOG.debug("transaction read in (ending " + reader.getLineNumber() + ")");
-                content.writeData();
-                reader.readLine();
-                return;
-            }
-            if (header.startsWith("S")) {
-                final String[] split = header.substring(1).split(" ");
-                final String key = split[0];
-                final String name = split[1];
-                server.saveService(key, name);
-                reader.readLine();
-            } else if (header.startsWith("B")) {
-                final String[] split = header.substring(1).split(" ");
-                final String name = split[0];
-                final long nextBatch = Long.valueOf(split[1]);
-                server.saveNextBatch(name, nextBatch);
-                reader.readLine();
-            } else {
-                FileContent elementData;
-                elementData = readElementData(header, reader);
-                files.add(elementData);
-            }
-        }
-        LOG.warn("transaction has no ending marker so is incomplete and will not be restored (ending " + reader.getLineNumber() + ")");
-    }
-
-    private FileContent readElementData(final String header, final LineNumberReader reader) throws IOException {
-        final StringBuffer content = new StringBuffer();
-        String line;
-        while ((line = reader.readLine()) != null) {
-            if (line.length() == 0) {
-                break;
-            }
-            content.append(line);
-            content.append('\n');
-        }
-
-        final char command = header.charAt(0);
-        final String[] split = header.substring(1).split(" ");
-        final String type = split[0];
-        final String id = split[1];
-        final String version = split[2];
-        return new FileContent(command, id, null, version, type, content.toString());
-    }
-
-    private void startLogRolling() {
-        final int rollPeriod = config.getInt("fileserver.log-period", 5);
-        final long sleepTime = rollPeriod * 60 * 1000;
-
-        while (awaitConnections) {
-            final LogWriter logger = server.getLogger();
-            if (logger != null) {
-                logger.startNewFile();
-            }
-            try {
-                Thread.sleep(sleepTime);
-            } catch (final InterruptedException ignore) {
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerException.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerException.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerException.java
deleted file mode 100644
index 1f103e5..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerException.java
+++ /dev/null
@@ -1,38 +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.objectstore.nosql.db.file.server;
-
-import java.io.IOException;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class FileServerException extends IsisException {
-
-    private static final long serialVersionUID = 1L;
-
-    public FileServerException(final String message, final IOException e) {
-        super(message, e);
-    }
-
-    public FileServerException(final String message) {
-        super(message);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerProcessor.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerProcessor.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerProcessor.java
deleted file mode 100644
index 09fd8ff..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServerProcessor.java
+++ /dev/null
@@ -1,386 +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.objectstore.nosql.db.file.server;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-
-public class FileServerProcessor {
-
-    private static final Logger LOG = LoggerFactory.getLogger(FileServerProcessor.class);
-
-    private boolean acceptNewRequests = true;
-    private LockManager locks;
-    private LogWriter logger;
-
-    public void startup() {
-        Util.ensureDirectoryExists();
-        logger = new LogWriter();
-        logger.startup();
-        locks = new LockManager();
-    }
-
-    public void shutdown() {
-        acceptNewRequests = false;
-        locks.waitUntilAllRealeased();
-        logger.shutdown();
-    }
-
-    LogWriter getLogger() {
-        return logger;
-    }
-
-    public void process(final ServerConnection connection) {
-        try {
-            if (acceptNewRequests) {
-                connection.readCommand();
-                final char command = connection.getCommand();
-                switch (command) {
-                case 'L':
-                    list(connection);
-                    break;
-
-                case 'R':
-                    read(connection);
-                    break;
-
-                case 'W':
-                    write(connection);
-                    break;
-
-                case 'I':
-                    hasInstances(connection);
-                    break;
-
-                case 'S':
-                    service(connection);
-                    break;
-
-                case 'T':
-                    saveService(connection);
-                    break;
-
-                case 'N':
-                    nextSerialBatch(connection);
-                    break;
-
-                case 'X':
-                    status(connection);
-                    break;
-
-                default:
-                    LOG.warn("Unrecognised command " + command);
-                    connection.error("Unrecognised command " + command);
-                }
-            } else {
-                connection.abort();
-            }
-        } catch (final Exception e) {
-            LOG.error("Request failed", e);
-            connection.error("Remote exception thrown:\n" + e.getMessage(), e);
-
-        } finally {
-            connection.close();
-        }
-    }
-
-    private void list(final ServerConnection connection) {
-        try {
-            connection.endCommand();
-            final String type = connection.getRequest();
-            int limit = connection.getRequestAsInt();
-            if (limit == 0) {
-                limit = Integer.MAX_VALUE;
-            }
-
-            final File[] listFiles = listFiles(type);
-            if (listFiles != null) {
-                connection.ok();
-                for (final File file : listFiles) {
-                    final String fileName = file.getName();
-                    final String id = fileName.substring(0, fileName.length() - 5);
-                    final DataFileReader reader = findInstance(type, id, connection);
-                    readInstance(reader, connection);
-                    locks.release(id, getTransactionId());
-                    if (limit-- < 0) {
-                        break;
-                    }
-                }
-                connection.endBlock();
-            } else {
-                connection.response("");
-            }
-
-        } catch (final IOException e) {
-            throw new NoSqlStoreException(Util.READ_ERROR, e);
-        }
-    }
-
-    private File[] listFiles(final String type) {
-        final File[] listFiles = Util.directory(type).listFiles(new FileFilter() {
-            @Override
-            public boolean accept(final File pathname) {
-                return pathname.getName().endsWith(".data");
-            }
-        });
-        return listFiles;
-    }
-
-    private void read(final ServerConnection connection) {
-        String type = null;
-        String id = null;
-        try {
-            connection.endCommand();
-            type = connection.getRequest();
-            id = connection.getRequest();
-            final DataFileReader reader = findInstance(type, id, connection);
-            if (reader == null) {
-                connection.notFound(Util.FILE_NOT_FOUND + " for " + type + "/" + id);
-            } else {
-                connection.ok();
-                readInstance(reader, connection);
-            }
-        } catch (final IOException e) {
-            throw new NoSqlStoreException(Util.READ_ERROR + " for " + type + "/" + id, e);
-        } finally {
-            locks.release(id, getTransactionId());
-        }
-
-    }
-
-    private DataFileReader findInstance(final String type, final String id, final ServerConnection connection) throws IOException {
-        LOG.debug("reading file " + id);
-        locks.acquireRead(id, getTransactionId());
-        try {
-            return new DataFileReader(type, id);
-        } catch (final FileNotFoundException e) {
-            LOG.error(Util.FILE_NOT_FOUND + " for " + type + "/" + id, e);
-            return null;
-        }
-    }
-
-    private void readInstance(final DataFileReader reader, final ServerConnection connection) {
-        final String data = reader.getData();
-        reader.close();
-        connection.responseData(data);
-    }
-
-    private void write(final ServerConnection connection) {
-        List<FileContent> files = null;
-        try {
-            files = getWriteRequests(connection);
-            final String error = acquireLocks(files);
-            if (error == null) {
-                logger.logWrites(files);
-                final DataFileWriter content = new DataFileWriter(files);
-                content.writeData();
-                connection.ok();
-            } else {
-                connection.error(error);
-            }
-
-        } catch (final IOException e) {
-            throw new NoSqlStoreException("Failed to write data", e);
-        } finally {
-            if (files != null) {
-                releaseLocks(files);
-            }
-        }
-    }
-
-    private List<FileContent> getWriteRequests(final ServerConnection connection) throws IOException {
-        final ArrayList<FileContent> files = new ArrayList<FileContent>();
-        while (connection.readWriteHeaders()) {
-            final char command = connection.getCommand();
-            final String type = connection.getRequest();
-            final String id = connection.getRequest();
-            final String currentVersion = connection.getRequest();
-            final String newVersion = connection.getRequest();
-            LOG.debug("write for " + type + "@" + id + " v." + newVersion);
-
-            final String buf = connection.getData();
-            files.add(new FileContent(command, id, currentVersion, newVersion, type, buf));
-        }
-        // connection.endCommand();
-        return files;
-    }
-
-    private String acquireLocks(final List<FileContent> list) throws IOException {
-        final Thread transactionId = getTransactionId();
-        for (final FileContent item : list) {
-            if (!locks.acquireWrite(item.id, transactionId)) {
-                return item.type + " being changed by another user, please try again\n" + item.data;
-            }
-            if (Util.shouldFileExist(item.command)) {
-                final DataFileReader dataReader = new DataFileReader(item.type, item.id);
-                final String version = dataReader.getVersion();
-                if (!version.equals(item.currentVersion)) {
-                    // String data = dataReader.getData();
-                    dataReader.close();
-                    return "mismatch between FileContent version (" + item.currentVersion + ") and DataReader version (" + version + ")";
-                }
-                dataReader.close();
-            }
-        }
-        return null;
-    }
-
-    private void releaseLocks(final List<FileContent> list) {
-        final Thread transactionId = getTransactionId();
-        for (final FileContent item : list) {
-            locks.release(item.id, transactionId);
-        }
-    }
-
-    private Thread getTransactionId() {
-        return Thread.currentThread();
-    }
-
-    private void status(final ServerConnection connection) throws IOException {
-        connection.endCommand();
-        final String request = connection.getRequest();
-        if (request.equals("contains-data")) {
-            connection.response(Util.isPopulated());
-
-        } else {
-            connection.error("Unrecognised command " + request);
-        }
-    }
-
-    private void service(final ServerConnection connection) {
-        connection.endCommand();
-        final String name = connection.getRequest();
-        final File file = Util.serviceFile(name);
-        if (file.exists()) {
-            final String id = readServiceFile(file);
-            connection.response(id);
-        } else {
-            connection.response("null");
-        }
-    }
-
-    private String readServiceFile(final File file) {
-        BufferedReader reader = null;
-        try {
-            reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Util.ENCODING));
-            final String[] split = reader.readLine().split(" ");
-            return split[1];
-        } catch (final IOException e) {
-            LOG.error("failed to read service file", e);
-            throw new FileServerException("Failed to read service file", e);
-        } finally {
-            try {
-                reader.close();
-            } catch (final IOException e) {
-                LOG.error("failed to close file", e);
-            }
-        }
-    }
-
-    private void saveService(final ServerConnection connection) throws IOException {
-        connection.endCommand();
-        final String name = connection.getRequest();
-        final String key = connection.getRequest();
-        logger.logServiceEntry(key, name);
-        saveService(key, name);
-        connection.ok();
-    }
-
-    void saveService(final String key, final String name) throws FileNotFoundException, IOException, UnsupportedEncodingException {
-        FileOutputStream fileOut = null;
-        final File file = Util.serviceFile(name);
-        try {
-            fileOut = new FileOutputStream(file);
-            fileOut.write(name.getBytes(Util.ENCODING));
-            fileOut.write(' ');
-            fileOut.write(key.getBytes(Util.ENCODING));
-        } finally {
-            if (fileOut != null) {
-                try {
-                    fileOut.close();
-                } catch (final IOException e) {
-                    throw new NoSqlStoreException(e);
-                }
-            }
-        }
-    }
-
-    private void nextSerialBatch(final ServerConnection connection) throws IOException {
-        // TODO lock file first
-
-        connection.endCommand();
-        final String name = connection.getRequest();
-        final int batchSize = connection.getRequestAsInt();
-
-        long nextId;
-        final File file = Util.serialNumberFile(name);
-        if (!file.exists()) {
-            nextId = 1;
-            LOG.info("Initial ID batch created at " + nextId);
-        } else {
-            final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Util.ENCODING));
-            nextId = Long.valueOf(reader.readLine()).longValue();
-            reader.close();
-            LOG.info("New ID batch allocated, from " + nextId);
-        }
-
-        final long newBatchAt = nextId + batchSize;
-        logger.logNextSerialBatch(name, newBatchAt);
-
-        saveNextBatch(file, newBatchAt);
-
-        // TODO remove lock
-
-        connection.response(nextId);
-    }
-
-    private void saveNextBatch(final File file, final long newBatchAt) throws FileNotFoundException, IOException {
-        final FileOutputStream fileOutput = new FileOutputStream(file);
-        fileOutput.write(Long.toString(newBatchAt).getBytes(Util.ENCODING));
-        fileOutput.close();
-    }
-
-    public void saveNextBatch(final String name, final long nextBatch) throws IOException {
-        saveNextBatch(Util.serialNumberFile(name), nextBatch);
-    }
-
-    private void hasInstances(final ServerConnection connection) throws IOException {
-        connection.endCommand();
-        final String type = connection.getRequest();
-        final File[] listFiles = listFiles(type);
-        final boolean hasInstances = listFiles != null && listFiles.length > 0;
-        connection.response(hasInstances);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/Lock.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/Lock.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/Lock.java
deleted file mode 100644
index 22818db..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/Lock.java
+++ /dev/null
@@ -1,54 +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.objectstore.nosql.db.file.server;
-
-import java.util.ArrayList;
-import java.util.List;
-
-class Lock {
-
-    private Thread write;
-    private final List<Thread> reads = new ArrayList<Thread>();
-
-    public boolean isWriteLocked() {
-        return write != null;
-    }
-
-    public void addRead(final Thread transaction) {
-        reads.add(transaction);
-    }
-
-    public void setWrite(final Thread transaction) {
-        write = transaction;
-    }
-
-    public void remove(final Thread transaction) {
-        if (write == transaction) {
-            write = null;
-        } else {
-            reads.remove(transaction);
-        }
-    }
-
-    public boolean isEmpty() {
-        return write == null && reads.isEmpty();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LockManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LockManager.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LockManager.java
deleted file mode 100644
index a014dfa..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LockManager.java
+++ /dev/null
@@ -1,66 +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.objectstore.nosql.db.file.server;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class LockManager {
-
-    private final Map<String, Lock> locks = new HashMap<String, Lock>();
-
-    public synchronized void acquireRead(final String id, final Thread transaction) {
-        final Lock lock = getLock(id);
-        lock.addRead(transaction);
-    }
-
-    public boolean acquireWrite(final String id, final Thread transaction) {
-        final Lock lock = getLock(id);
-        if (lock.isWriteLocked()) {
-            return false;
-        }
-        lock.setWrite(transaction);
-        return true;
-    }
-
-    private Lock getLock(final String id) {
-        Lock lock;
-        synchronized (this) {
-            lock = locks.get(id);
-            if (lock == null) {
-                lock = new Lock();
-                locks.put(id, lock);
-            }
-        }
-        return lock;
-    }
-
-    public synchronized void release(final String id, final Thread transaction) {
-        final Lock lock = getLock(id);
-        lock.remove(transaction);
-        if (lock.isEmpty()) {
-            locks.remove(id);
-        }
-    }
-
-    public void waitUntilAllRealeased() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LogRange.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LogRange.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LogRange.java
deleted file mode 100644
index 594d7e8..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LogRange.java
+++ /dev/null
@@ -1,41 +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.objectstore.nosql.db.file.server;
-
-class LogRange {
-    private long first = Long.MAX_VALUE;
-    private long last = 0;
-
-    public long getFirst() {
-        return first;
-    }
-
-    public long getLast() {
-        return last;
-    }
-
-    public boolean noLogFile() {
-        return first == Long.MAX_VALUE && last == 0;
-    }
-
-    public void add(final long sequence) {
-        last = Math.max(last, sequence);
-        first = Math.min(first, sequence);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LogWriter.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LogWriter.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LogWriter.java
deleted file mode 100644
index 10de29f..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/LogWriter.java
+++ /dev/null
@@ -1,149 +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.objectstore.nosql.db.file.server;
-
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-
-public class LogWriter {
-
-    private DataOutputStream writer;
-    private boolean startNewFile = false;
-    private long nextLogIdToWrite;
-
-    public void startNewFile() {
-        // don't start new file if old one is empty
-        final File file = Util.logFile(nextLogIdToWrite);
-        if (file.exists() && file.length() > 0) {
-            startNewFile = true;
-        }
-    }
-
-    public synchronized void logNextSerialBatch(final String name, final long newBatchAt) {
-        startNewFileIfNeeded();
-        try {
-            writer.write(("#transaction started - " + new Date().toString() + "\n").getBytes());
-            writer.write('B');
-            writer.write(name.getBytes(Util.ENCODING));
-            writer.write(' ');
-            writer.write(Long.toString(newBatchAt).getBytes(Util.ENCODING));
-            writer.write('\n');
-            writer.write('\n');
-            writer.write("#transaction ended\n\n".getBytes());
-            writer.flush();
-        } catch (final IOException e) {
-            throw new NoSqlStoreException("Failed to write serial number data to log file", e);
-        }
-
-    }
-
-    public synchronized void logServiceEntry(final String key, final String name) {
-        startNewFileIfNeeded();
-        try {
-            writer.write(("#transaction started - " + new Date().toString() + "\n").getBytes());
-            writer.write('S');
-            writer.write(key.getBytes(Util.ENCODING));
-            writer.write(' ');
-            writer.write(name.getBytes(Util.ENCODING));
-            writer.write('\n');
-            writer.write('\n');
-            writer.write("#transaction ended\n\n".getBytes());
-            writer.flush();
-        } catch (final IOException e) {
-            throw new NoSqlStoreException("Failed to write service entry data to log file", e);
-        }
-    }
-
-    public synchronized void logWrites(final List<FileContent> items) {
-        startNewFileIfNeeded();
-        try {
-            writer.write(("#transaction started - " + new Date().toString() + "\n").getBytes());
-            for (final FileContent content : items) {
-                writer.write(content.command);
-                content.write(writer);
-                writer.write('\n');
-            }
-            writer.write("#transaction ended\n\n".getBytes());
-            writer.flush();
-        } catch (final IOException e) {
-            throw new NoSqlStoreException("Failed to write data to log file", e);
-        }
-    }
-
-    private void startNewFileIfNeeded() {
-        if (startNewFile) {
-            close();
-            openNewFile();
-            startNewFile = false;
-        }
-    }
-
-    private void openNewFile() {
-        nextLogIdToWrite++;
-        final File file = Util.logFile(nextLogIdToWrite);
-        if (file.exists()) {
-            throw new NoSqlStoreException("Log file already exists");
-        }
-        openFile(file);
-    }
-
-    private void openFile(final File file) {
-        try {
-            writer = new DataOutputStream(new FileOutputStream(file));
-            startNewFile = false;
-        } catch (final IOException e) {
-            throw new NoSqlStoreException("Failed to open log file", e);
-        }
-    }
-
-    public void startup() {
-        nextLogIdToWrite = Util.logFileRange().getLast();
-        startNewFile();
-        if (!startNewFile) {
-            final File file = Util.logFile(nextLogIdToWrite);
-            openFile(file);
-        } else {
-            openNewFile();
-        }
-    }
-
-    public void shutdown() {
-        close();
-    }
-
-    private void close() {
-        try {
-            writer.close();
-        } catch (final IOException e) {
-            throw new NoSqlStoreException("Falied to close log file", e);
-        }
-    }
-
-    public synchronized boolean isWritten(final long logId) {
-        startNewFileIfNeeded();
-        return logId < nextLogIdToWrite;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/ServerConnection.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/ServerConnection.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/ServerConnection.java
deleted file mode 100644
index 77c61ac..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/ServerConnection.java
+++ /dev/null
@@ -1,238 +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.objectstore.nosql.db.file.server;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-import org.apache.isis.objectstore.nosql.db.file.RemotingException;
-
-public class ServerConnection {
-
-    private static final Logger LOG = LoggerFactory.getLogger(ServerConnection.class);
-
-    private final BufferedReader reader;
-    private final PrintWriter writer;
-    private final OutputStream outputStream;
-    private final InputStream inputStream;
-    private int header;
-    private String[] headers;
-    private char command;
-
-    public ServerConnection(final InputStream input, final OutputStream output) {
-        outputStream = Util.trace(output, true);
-        inputStream = Util.trace(input, true);
-        this.reader = new BufferedReader(new InputStreamReader(inputStream, Util.ENCODING));
-        this.writer = new PrintWriter(new OutputStreamWriter(outputStream, Util.ENCODING));
-    }
-
-    public void readCommand() {
-        readHeaders();
-    }
-
-    private void logFailure() {
-        LOG.error("(failed " + inputStream + ")");
-        LOG.error("(failed " + outputStream + ")");
-    }
-
-    public void logComplete() {
-        LOG.debug("(complete " + inputStream + ")");
-        LOG.debug("(complete " + outputStream + ")");
-    }
-
-    boolean readHeaders() {
-        try {
-            final String line = reader.readLine();
-            LOG.debug("header: " + line);
-            if (line == null) {
-                logFailure();
-                throw new RemotingException("stream ended prematurely while reading header, aborting request");
-            }
-            if (line.length() == 0) {
-                return false;
-            } else {
-                command = line.charAt(0);
-                headers = line.substring(1).split(" ");
-                this.header = 0;
-                return true;
-            }
-        } catch (final IOException e) {
-            logFailure();
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    public boolean readWriteHeaders() {
-        final boolean readHeaders = readHeaders();
-        if (readHeaders && headers.length != 4) {
-            logFailure();
-            throw new RemotingException("invalid header string, aborting request");
-        }
-        return readHeaders;
-    }
-
-    public String getRequest() {
-        return headers[header++];
-    }
-
-    public int getRequestAsInt() {
-        return Integer.valueOf(getRequest()).intValue();
-    }
-
-    public char getCommand() {
-        return command;
-    }
-
-    public void endCommand() {
-        try {
-            final String line = reader.readLine();
-            if (line == null) {
-                logFailure();
-                throw new RemotingException("stream ended prematurely while reading end of command, aborting request");
-            }
-            if (line.length() > 0) {
-                logFailure();
-                throw new RemotingException("command didn't end with an empty blank line, aborting request");
-            }
-        } catch (final IOException e) {
-            logFailure();
-            throw new NoSqlStoreException(e);
-        }
-    }
-
-    /**
-     * Reads all the data up until the next blank line.
-     */
-    public String getData() {
-        try {
-            final StringBuffer buffer = new StringBuffer();
-            String line;
-            while (true) {
-                line = reader.readLine();
-                if (line == null) {
-                    logFailure();
-                    throw new RemotingException("stream ended prematurely while reading data, aborting request");
-                }
-                if (line.length() == 0) {
-                    break;
-                }
-                buffer.append(line);
-                buffer.append('\n');
-            }
-            return buffer.toString();
-        } catch (final IOException e) {
-            logFailure();
-            throw new RemotingException(e);
-        }
-    }
-
-    /*
-     * public void getTermination() { try { String line = reader.readLine(); if
-     * (line == null || !line.equals("***")) { logFailure(); throw new
-     * RemotingException
-     * ("stream ended abruptly while reading data, aborting request"); } } catch
-     * (IOException e) { logFailure(); throw new RemotingException(e); }
-     * 
-     * }
-     */
-    public void notFound(final String message) {
-        writer.print("not-found");
-        writer.print('\n');
-        writer.print(message);
-        writer.print('\n');
-        writer.flush();
-    }
-
-    public void error(final String message) {
-        writer.print("error");
-        writer.print('\n');
-        writer.print(message);
-        writer.print('\n');
-        writer.flush();
-    }
-
-    public void error(final String message, final Exception exception) {
-        error(message);
-        exception.printStackTrace(writer);
-        writer.print('\n');
-        writer.print('\n');
-        writer.flush();
-    }
-
-    private void write(final String result) {
-        writer.print(result);
-        writer.print('\n');
-        writer.flush();
-    }
-
-    public void ok() {
-        response(Util.OK, "");
-    }
-
-    public void abort() {
-        response(Util.ABORT, "");
-    }
-
-    public void response(final boolean flag) {
-        response(Util.OK, " " + (flag ? "true" : "false"));
-    }
-
-    public void response(final long value) {
-        response(Util.OK, " " + Long.toString(value));
-    }
-
-    public void response(final String message) {
-        response(Util.OK, " " + message);
-    }
-
-    private void response(final String status, final String message) {
-        final String response = status + message;
-        LOG.debug("response: " + response);
-        write(response);
-    }
-
-    public void responseData(final String data) {
-        write(data);
-    }
-
-    public void close() {
-        try {
-            reader.close();
-            writer.close();
-        } catch (final IOException e) {
-            logFailure();
-            throw new RemotingException(e);
-        }
-    }
-
-    public void endBlock() {
-        writer.print('\n');
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/Util.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/Util.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/Util.java
deleted file mode 100644
index c394997..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/Util.java
+++ /dev/null
@@ -1,331 +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.objectstore.nosql.db.file.server;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.objectstore.nosql.NoSqlStoreException;
-
-public class Util {
-
-    private static final Logger LOG = LoggerFactory.getLogger(Util.class);
-
-    private static final String DEFAULT_DIRECTORY = "data";
-    private static final String SERVICES_DIRECTORY = "services";
-    private static final String LOGS_DIRECTORY = "logs";
-    private static final String LOGS_ARCHIVE_DIRECTORY = "archive";
-    public static final String ABORT = "abort";
-    public static final String OK = "ok";
-    public static final String READ_ERROR = "Read error";
-    public static final String FILE_NOT_FOUND = "File not found";
-    private static final int NEWLINE = '\n';
-
-    private static File dataDirectory = new File(DEFAULT_DIRECTORY);
-    private static File serviceDirectory = new File(DEFAULT_DIRECTORY, SERVICES_DIRECTORY);
-    private static File logDirectory = new File(DEFAULT_DIRECTORY, LOGS_DIRECTORY);
-    private static File logArchiveDirectory = new File(DEFAULT_DIRECTORY, LOGS_ARCHIVE_DIRECTORY);
-
-    static void setDirectory(final String data, final String services, final String logs, final String archive) {
-        final String directory = data == null ? DEFAULT_DIRECTORY : data;
-        Util.dataDirectory = new File(directory);
-        Util.serviceDirectory = new File(directory, services == null ? SERVICES_DIRECTORY : services);
-        Util.logDirectory = new File(directory, logs == null ? LOGS_DIRECTORY : logs);
-        Util.logArchiveDirectory = new File(directory, archive == null ? LOGS_ARCHIVE_DIRECTORY : archive);
-    }
-
-    static void ensureDirectoryExists() {
-        if (!serviceDirectory.exists()) {
-            serviceDirectory.mkdirs();
-        }
-        if (!logDirectory.exists()) {
-            logDirectory.mkdirs();
-        }
-        if (!logArchiveDirectory.exists()) {
-            logArchiveDirectory.mkdirs();
-        }
-    }
-
-    public static boolean isPopulated() {
-        final FileFilter filter = new FileFilter() {
-            @Override
-            public boolean accept(final File pathname) {
-                final String name = pathname.getName();
-                return name.endsWith(".data") || name.endsWith(".id") || name.endsWith(".log");
-            }
-        };
-
-        final File[] data = dataDirectory.listFiles();
-        for (final File directory : data) {
-            if (directory.isDirectory() && directory.listFiles(filter).length > 1) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public static boolean hasInstances(final String type) {
-        final FileFilter filter = new FileFilter() {
-            @Override
-            public boolean accept(final File pathname) {
-                final String name = pathname.getName();
-                return name.endsWith(".data") || name.endsWith(".id") || name.endsWith(".log");
-            }
-        };
-
-        final File[] data = dataDirectory.listFiles();
-        for (final File directory : data) {
-            if (directory.isDirectory() && directory.listFiles(filter).length > 1) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public static String xxreadNext(final InputStream input) throws IOException {
-        final byte[] buffer = new byte[100];
-        int c;
-        int i = 0;
-        // TODO deal with buffer overrun
-        while ((c = input.read()) != ' ' && c != '\n' && c != -1) {
-            buffer[i++] = (byte) c;
-        }
-        if (i == 0) {
-            throw new NoSqlStoreException("No data read from " + input);
-        }
-        final String read = new String(buffer, 0, i);
-        LOG.debug("read " + read);
-        return read;
-    }
-
-    public static byte[] xxreadData(final InputStream input) throws IOException {
-        // TODO increase to suitable size
-        byte[] buf = new byte[32];
-        int i = 0;
-        int c1 = input.read();
-        if (c1 == '.') {
-            return null;
-        }
-        int c2 = input.read();
-        boolean isEnd;
-        do {
-            if (i == buf.length) {
-                final byte[] newBuf = new byte[buf.length * 2];
-                System.arraycopy(buf, 0, newBuf, 0, buf.length);
-                buf = newBuf;
-            }
-            buf[i++] = (byte) c1;
-            c1 = c2;
-            c2 = input.read();
-            isEnd = (c1 == NEWLINE && c2 == NEWLINE) || c2 == -1;
-        } while (!isEnd);
-        return buf;
-    }
-
-    static File directory(final String type) {
-        return new File(dataDirectory, type);
-    }
-
-    static File dataFile(final String type, final String id) {
-        final File dir = directory(type);
-        return new File(dir, id + ".data");
-    }
-
-    public static File serviceFile(final String name) {
-        return new File(serviceDirectory, name + ".id");
-    }
-
-    public static File serialNumberFile(final String name) {
-        return new File(dataDirectory, "serialnumbers" + name.trim() + ".data");
-    }
-
-    static File logFile(final long id) {
-        return new File(logDirectory, "recovery" + id + ".log");
-    }
-
-    static File tmpLogFile(final long id) {
-        return new File(logDirectory, "recovery" + id + ".log.tmp");
-    }
-
-    public static File archiveLogFile(final long id) {
-        return new File(logArchiveDirectory, "recovery" + id + ".log");
-    }
-
-    static LogRange logFileRange() {
-        final LogRange logRange = new LogRange();
-        final File[] listFiles = logDirectory.listFiles();
-        if (listFiles != null) {
-            for (final File file : listFiles) {
-                final String name = file.getName();
-                final String substring = name.substring(8, name.length() - 4);
-                try {
-                    final long sequence = Long.parseLong(substring);
-                    logRange.add(sequence);
-                } catch (final NumberFormatException ignore) {
-                }
-            }
-        }
-        return logRange;
-    }
-
-    static final char DELETE = 'D';
-
-    public static final Charset ENCODING = Charset.forName("utf-8");
-
-    public static boolean isDelete(final char command) {
-        return command == Util.DELETE;
-    }
-
-    public static boolean isSave(final char command) {
-        return command != Util.DELETE;
-    }
-
-    public static boolean shouldFileExist(final char command) {
-        return command == 'D' || command == 'U';
-    }
-
-    public static InputStream trace(final InputStream inputStream, final boolean isOn) {
-        return !isOn ? inputStream : new InputStream() {
-            StringBuffer log = new StringBuffer();
-
-            @Override
-            public int read() throws IOException {
-                final int b = inputStream.read();
-                log(b);
-                return b;
-            }
-
-            private void log(final int b) {
-                log.append(b < 32 ? ("<" + b + ">" + (char) b) : (char) b);
-                // System.out.print(b < 32 ? ("<" + b + ">" + (char) b) : (char)
-                // b);
-            }
-
-            @Override
-            public int read(final byte[] b) throws IOException {
-                final int read = inputStream.read(b);
-                for (int i = 0; i < read; i++) {
-                    log(b[i]);
-                }
-                return read;
-            }
-
-            @Override
-            public int read(final byte[] b, final int off, final int len) throws IOException {
-                final int read = inputStream.read(b, off, len);
-                for (int i = 0; i < read; i++) {
-                    log(b[off + i]);
-                }
-                return read;
-            }
-
-            @Override
-            public int available() throws IOException {
-                return inputStream.available();
-            }
-
-            @Override
-            public long skip(final long n) throws IOException {
-                return inputStream.skip(n);
-            }
-
-            @Override
-            public void close() throws IOException {
-                // LOG.debug("in - " + log.toString());
-                inputStream.close();
-            }
-
-            @Override
-            public String toString() {
-                return "in#" + Long.toHexString(hashCode()) + " " + log;
-            }
-        };
-    }
-
-    public static OutputStream trace(final OutputStream outputStream, final boolean isOn) {
-        return !isOn ? outputStream : new OutputStream() {
-            StringBuffer log = new StringBuffer();
-
-            @Override
-            public void write(final int b) throws IOException {
-                log(b);
-                outputStream.write(b);
-            }
-
-            private void log(final int b) {
-                log.append(b < 32 ? ("<" + b + ">" + (char) b) : (char) b);
-                // System.out.print(b < 32 ? ("<" + b + ">" + (char) b) : (char)
-                // b);
-            }
-
-            @Override
-            public void write(final byte[] b) throws IOException {
-                for (final byte element : b) {
-                    log(element);
-                }
-                outputStream.write(b);
-            }
-
-            @Override
-            public void write(final byte[] b, final int off, final int len) throws IOException {
-                for (int i = 0; i < len; i++) {
-                    log(b[off + i]);
-                }
-                outputStream.write(b, off, len);
-            }
-
-            @Override
-            public void flush() throws IOException {
-                outputStream.flush();
-            }
-
-            @Override
-            public void close() throws IOException {
-                // LOG.debug("out - " + log.toString());
-                outputStream.close();
-            }
-
-            @Override
-            public String toString() {
-                return "out#" + Long.toHexString(hashCode()) + " " + log;
-            }
-        };
-    }
-
-    public static void closeSafely(final FileOutputStream output) {
-        if (output != null) {
-            try {
-                output.flush();
-                output.close();
-            } catch (final IOException e) {
-                // throw new ObjectAdapterRuntimeException(e);
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoClientCommandContext.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoClientCommandContext.java b/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoClientCommandContext.java
deleted file mode 100644
index 2745967..0000000
--- a/mothballed/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoClientCommandContext.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.objectstore.nosql.db.mongo;
-
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-import com.mongodb.DBObject;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.objectstore.nosql.NoSqlCommandContext;
-import org.apache.isis.objectstore.nosql.db.StateWriter;
-
-
-public class MongoClientCommandContext implements NoSqlCommandContext {
-
-    private static final Logger LOG = LoggerFactory.getLogger(MongoClientCommandContext.class);
-    private final DB db;
-
-    public MongoClientCommandContext(DB db) {
-        this.db = db;
-    }
-
-    @Override
-    public void start() {}
-
-    @Override
-    public void end() {}
-
-    @Override
-    public StateWriter createStateWriter(final ObjectSpecId objectSpecId) {
-        return new MongoStateWriter(db, objectSpecId);
-    }
-
-    @Override
-    public void delete(final ObjectSpecId objectSpecId, final String mongoId, final String version, final Oid oid) {
-        final DBCollection instances = db.getCollection(objectSpecId.asString());
-        final DBObject object = instances.findOne(mongoId);
-        if (!object.get(PropertyNames.VERSION).equals(version)) {
-            throw new ConcurrencyException("Could not delete object of different version", oid);
-        }
-        instances.remove(object);
-        LOG.info("removed " + oid);
-    }
-
-    @Override
-    public void insert(final StateWriter writer) {
-        ((MongoStateWriter) writer).flush();
-    }
-
-    @Override
-    public void update(final StateWriter writer) {
-        ((MongoStateWriter) writer).flush();
-    }
-
-}


[26/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtColor.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtColor.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtColor.java
deleted file mode 100644
index 8cbb702..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtColor.java
+++ /dev/null
@@ -1,90 +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.dnd.awt;
-
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.util.Properties;
-
-public class AwtColor implements Color {
-    public static final AwtColor DEBUG_BASELINE = new AwtColor(java.awt.Color.magenta);
-    public static final AwtColor DEBUG_DRAW_BOUNDS = new AwtColor(java.awt.Color.cyan);
-    public static final AwtColor DEBUG_VIEW_BOUNDS = new AwtColor(java.awt.Color.orange);
-    public static final AwtColor DEBUG_REPAINT_BOUNDS = new AwtColor(java.awt.Color.green);
-    public static final AwtColor DEBUG_BORDER_BOUNDS = new AwtColor(java.awt.Color.pink);
-
-    public static final AwtColor RED = new AwtColor(java.awt.Color.red);
-    public static final AwtColor GREEN = new AwtColor(java.awt.Color.green);
-    public static final AwtColor BLUE = new AwtColor(java.awt.Color.blue);
-    public static final AwtColor BLACK = new AwtColor(java.awt.Color.black);
-    public static final AwtColor WHITE = new AwtColor(java.awt.Color.white);
-    public static final AwtColor GRAY = new AwtColor(java.awt.Color.gray);
-    public static final AwtColor LIGHT_GRAY = new AwtColor(java.awt.Color.lightGray);
-    public static final AwtColor ORANGE = new AwtColor(java.awt.Color.orange);
-    public static final AwtColor YELLOW = new AwtColor(java.awt.Color.yellow);
-
-    static public final AwtColor NULL = new AwtColor(0);
-
-    private static final String PROPERTY_STEM = Properties.PROPERTY_BASE + "color.";
-    private final java.awt.Color color;
-    private String name;
-
-    public AwtColor(final int rgbColor) {
-        this(new java.awt.Color(rgbColor));
-    }
-
-    private AwtColor(final java.awt.Color color) {
-        this.color = color;
-    }
-
-    public AwtColor(final String propertyName, final String defaultColor) {
-        this.name = propertyName;
-        color = IsisContext.getConfiguration().getColor(PROPERTY_STEM + propertyName, java.awt.Color.decode(defaultColor));
-    }
-
-    public AwtColor(final String propertyName, final AwtColor defaultColor) {
-        this.name = propertyName;
-        color = IsisContext.getConfiguration().getColor(PROPERTY_STEM + propertyName, defaultColor.getAwtColor());
-    }
-
-    @Override
-    public Color brighter() {
-        return new AwtColor(color.brighter());
-    }
-
-    @Override
-    public Color darker() {
-        return new AwtColor(color.darker());
-    }
-
-    public java.awt.Color getAwtColor() {
-        return color;
-    }
-
-    @Override
-    public String toString() {
-        return name + " (" + "#" + Integer.toHexString(color.getRGB()) + ")";
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtColorsAndFonts.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtColorsAndFonts.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtColorsAndFonts.java
deleted file mode 100644
index cc05daa..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtColorsAndFonts.java
+++ /dev/null
@@ -1,168 +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.dnd.awt;
-
-import java.util.Hashtable;
-
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-
-public class AwtColorsAndFonts implements ColorsAndFonts {
-    private final Hashtable colors = new Hashtable();
-    private int defaultBaseline;
-    private int defaultFieldHeight;
-    private final Hashtable fonts = new Hashtable();
-
-    @Override
-    public int defaultBaseline() {
-        if (defaultBaseline == 0) {
-            final int iconSize = getText(TEXT_NORMAL).getAscent();
-            defaultBaseline = ViewConstants.VPADDING + iconSize;
-        }
-        return defaultBaseline;
-    }
-
-    @Override
-    public int defaultFieldHeight() {
-        if (defaultFieldHeight == 0) {
-            defaultFieldHeight = getText(TEXT_NORMAL).getTextHeight();
-        }
-        return defaultFieldHeight;
-    }
-
-    @Override
-    public Color getColor(final String name) {
-        Color color = (Color) colors.get(name);
-        if (color == null && name.startsWith(COLOR_WINDOW + ".")) {
-            color = new AwtColor(name, (AwtColor) getColor(COLOR_WINDOW));
-            colors.put(name, color);
-        }
-        return color;
-
-    }
-
-    @Override
-    public Color getColor(final int rgbColor) {
-        return new AwtColor(rgbColor);
-    }
-
-    @Override
-    public Text getText(final String name) {
-        return (Text) fonts.get(name);
-    }
-
-    @Override
-    public void init() {
-        // core color scheme
-        setColor(COLOR_BLACK, "#000000");
-        setColor(COLOR_WHITE, "#ffffff");
-        setColor(COLOR_PRIMARY1, "#666699");
-        setColor(COLOR_PRIMARY2, "#9999cc");
-        setColor(COLOR_PRIMARY3, "#ccccff");
-        setColor(COLOR_SECONDARY1, "#666666");
-        setColor(COLOR_SECONDARY2, "#999999");
-        setColor(COLOR_SECONDARY3, "#cccccc");
-
-        // background colors
-        setColor(COLOR_APPLICATION, "#e0e0e0");
-        setColor(COLOR_WINDOW, getColor(COLOR_WHITE));
-        setColor(COLOR_MENU_VALUE, getColor(COLOR_PRIMARY3)); // "#ccffcc");
-        setColor(COLOR_MENU_CONTENT, getColor(COLOR_PRIMARY3)); // "#ffcccc");
-        setColor(COLOR_MENU_VIEW, getColor(COLOR_SECONDARY3)); // "#ffccff");
-        setColor(COLOR_MENU_WORKSPACE, getColor(COLOR_SECONDARY3)); // "#cccccc");
-
-        // menu colors
-        setColor(COLOR_MENU, getColor(COLOR_BLACK));
-        setColor(COLOR_MENU_DISABLED, getColor(COLOR_SECONDARY1));
-        setColor(COLOR_MENU_REVERSED, getColor(COLOR_WHITE));
-
-        // label colors
-        setColor(COLOR_LABEL_MANDATORY, getColor(COLOR_BLACK));
-        setColor(COLOR_LABEL, getColor(COLOR_SECONDARY1));
-        setColor(COLOR_LABEL_DISABLED, getColor(COLOR_SECONDARY2));
-
-        // state colors
-        setColor(COLOR_IDENTIFIED, getColor(COLOR_PRIMARY1)); // "#0099ff");
-        setColor(COLOR_VALID, "#32CD32");
-        setColor(COLOR_INVALID, "#ee1919");
-        setColor(COLOR_ERROR, "#ee1919");
-        setColor(COLOR_ACTIVE, "#ff0000");
-        setColor(COLOR_OUT_OF_SYNC, "#662200");
-
-        // text colors
-        setColor(COLOR_TEXT_SAVED, getColor(COLOR_SECONDARY1));
-        setColor(COLOR_TEXT_EDIT, getColor(COLOR_PRIMARY1)); // "#009933");
-        setColor(COLOR_TEXT_CURSOR, getColor(COLOR_PRIMARY1));
-        setColor(COLOR_TEXT_HIGHLIGHT, getColor(COLOR_PRIMARY3));
-
-        // debug outline colors
-        setColor(COLOR_DEBUG_BASELINE, AwtColor.DEBUG_BASELINE);
-        setColor(COLOR_DEBUG_BOUNDS_BORDER, AwtColor.DEBUG_BORDER_BOUNDS);
-        setColor(COLOR_DEBUG_BOUNDS_DRAW, AwtColor.DEBUG_DRAW_BOUNDS);
-        setColor(COLOR_DEBUG_BOUNDS_REPAINT, AwtColor.DEBUG_REPAINT_BOUNDS);
-        setColor(COLOR_DEBUG_BOUNDS_VIEW, AwtColor.DEBUG_VIEW_BOUNDS);
-
-        // fonts
-        final String defaultFontFamily = AwtText.defaultFontFamily();
-        final int defaultFontSizeSmall = AwtText.defaultFontSizeSmall();
-        final int defaultFontSizeMedium = AwtText.defaultFontSizeMedium();
-        final int defaultFontSizeLarge = AwtText.defaultFontSizeLarge();
-
-        setText(TEXT_TITLE, defaultFontFamily + "-bold-" + defaultFontSizeLarge);
-
-        setText(TEXT_TITLE_SMALL, defaultFontFamily + "-bold-" + defaultFontSizeMedium);
-        setText(TEXT_NORMAL, defaultFontFamily + "-plain-" + defaultFontSizeMedium);
-        setText(TEXT_CONTROL, defaultFontFamily + "-bold-" + defaultFontSizeMedium);
-        setText(TEXT_STATUS, defaultFontFamily + "--" + defaultFontSizeMedium);
-        setText(TEXT_ICON, defaultFontFamily + "-bold-" + defaultFontSizeMedium);
-        setText(TEXT_MENU, defaultFontFamily + "--" + defaultFontSizeMedium);
-
-        setText(TEXT_LABEL_MANDATORY, defaultFontFamily + "--" + defaultFontSizeSmall);
-        setText(TEXT_LABEL_DISABLED, defaultFontFamily + "--" + defaultFontSizeSmall);
-        setText(TEXT_LABEL, defaultFontFamily + "--" + defaultFontSizeSmall);
-    }
-
-    private void setColor(final String name, final Color defaultColor) {
-        setColor(name, (AwtColor) defaultColor);
-    }
-
-    private void setColor(final String name, final AwtColor defaultColor) {
-        if (getColor(name) == null) {
-            final AwtColor color = new AwtColor(name, defaultColor);
-            colors.put(name, color);
-        }
-    }
-
-    private void setColor(final String name, final String defaultColor) {
-        if (getColor(name) == null) {
-            final AwtColor color = new AwtColor(name, defaultColor);
-            colors.put(name, color);
-        }
-    }
-
-    private void setText(final String name, final String defaultFont) {
-        if (getText(name) == null) {
-            final AwtText font = new AwtText(name, defaultFont);
-            fonts.put(name, font);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtImageFactory.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtImageFactory.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtImageFactory.java
deleted file mode 100644
index 27d8c18..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtImageFactory.java
+++ /dev/null
@@ -1,83 +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.dnd.awt;
-
-import java.awt.Toolkit;
-import java.awt.image.FilteredImageSource;
-import java.awt.image.RGBImageFilter;
-
-import org.apache.isis.core.runtime.imageloader.TemplateImage;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.view.base.AwtImage;
-
-public class AwtImageFactory extends ImageFactory {
-
-    private static class Filter extends RGBImageFilter {
-        @Override
-        public int filterRGB(final int x, final int y, final int rgb) {
-            return 0xFFFFFF - rgb;
-        }
-    }
-
-    private final TemplateImageLoader loader;
-
-    public AwtImageFactory(final TemplateImageLoader imageLoader) {
-        loader = imageLoader;
-    }
-
-    /**
-     * Load an image with the given name.
-     */
-    @Override
-    public Image loadImage(final String path) {
-        final TemplateImage template = templateImage(path);
-        if (template == null) {
-            return null;
-        }
-        return new AwtImage(template.getImage());
-    }
-
-    @Override
-    protected Image loadImage(final String name, final int height, final Color tint) {
-        final TemplateImage template = templateImage(name);
-        if (template == null) {
-            return null;
-        }
-        final java.awt.Image iconImage = template.getIcon(height);
-        if (tint != null) {
-            Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(iconImage.getSource(), new Filter()));
-        }
-        final Image icon = new AwtImage(iconImage);
-        return icon;
-    }
-
-    // ////////////////////////////////////////////////////////////////////
-    // Helpers
-    // ////////////////////////////////////////////////////////////////////
-
-    private TemplateImage templateImage(final String name) {
-        final TemplateImage template = loader.getTemplateImage(name);
-        return template;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtText.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtText.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtText.java
deleted file mode 100644
index 7f5dbfb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtText.java
+++ /dev/null
@@ -1,243 +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.dnd.awt;
-
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Frame;
-import java.util.StringTokenizer;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.util.Properties;
-
-public class AwtText implements Text {
-    private static final String ASCENT_ADJUST = Properties.PROPERTY_BASE + "ascent-adjust";
-    private static final String FONT_PROPERTY_STEM = Properties.PROPERTY_BASE + "font.";
-    private static final Logger LOG = LoggerFactory.getLogger(AwtText.class);
-    private static final String SPACING_PROPERTYSTEM = Properties.PROPERTY_BASE + "spacing.";
-    private final boolean ascentAdjust;
-    private Font font;
-    private final Frame fontMetricsComponent = new Frame();
-    private final int lineSpacing;
-    private int maxCharWidth;
-    private final FontMetrics metrics;
-    private final String propertyName;
-
-    protected AwtText(final String propertyName, final String defaultFont) {
-        final IsisConfiguration cfg = IsisContext.getConfiguration();
-        font = cfg.getFont(FONT_PROPERTY_STEM + propertyName, Font.decode(defaultFont));
-        LOG.info("font " + propertyName + " loaded as " + font);
-
-        this.propertyName = propertyName;
-
-        if (font == null) {
-            font = cfg.getFont(FONT_PROPERTY_STEM + ColorsAndFonts.TEXT_DEFAULT, new Font("SansSerif", Font.PLAIN, 12));
-        }
-
-        metrics = fontMetricsComponent.getFontMetrics(font);
-
-        maxCharWidth = metrics.getMaxAdvance() + 1;
-        if (maxCharWidth == 0) {
-            maxCharWidth = (charWidth('X') + 3);
-        }
-
-        lineSpacing = cfg.getInteger(SPACING_PROPERTYSTEM + propertyName, 0);
-
-        ascentAdjust = cfg.getBoolean(ASCENT_ADJUST, false);
-
-        LOG.debug("font " + propertyName + " height=" + metrics.getHeight() + ", leading=" + metrics.getLeading() + ", ascent=" + metrics.getAscent() + ", descent=" + metrics.getDescent() + ", line spacing=" + lineSpacing);
-    }
-
-    @Override
-    public int charWidth(final char c) {
-        return metrics.charWidth(c);
-    }
-
-    @Override
-    public int getAscent() {
-        return metrics.getAscent() - (ascentAdjust ? metrics.getDescent() : 0);
-    }
-
-    /**
-     * Returns the Font from the AWT used for drawing within the AWT.
-     * 
-     * @see Font
-     */
-    public Font getAwtFont() {
-        return font;
-    }
-
-    @Override
-    public int getDescent() {
-        return metrics.getDescent();
-    }
-
-    @Override
-    public int getLineHeight() {
-        return metrics.getHeight() + getLineSpacing();
-    }
-
-    @Override
-    public int getLineSpacing() {
-        return lineSpacing;
-    }
-
-    @Override
-    public String getName() {
-        return propertyName;
-    }
-
-    @Override
-    public int getMidPoint() {
-        return getAscent() / 2;
-    }
-
-    @Override
-    public int getTextHeight() {
-        return metrics.getHeight() - (ascentAdjust ? metrics.getDescent() : 0);
-    }
-
-    @Override
-    public int stringHeight(final String text, final int maxWidth) {
-        int noLines = 0;
-        final StringTokenizer lines = new StringTokenizer(text, "\n\r");
-        while (lines.hasMoreTokens()) {
-            final String line = lines.nextToken();
-            final StringTokenizer words = new StringTokenizer(line, " ");
-            final StringBuffer l = new StringBuffer();
-            int width = 0;
-            while (words.hasMoreTokens()) {
-                final String nextWord = words.nextToken();
-                final int wordWidth = stringWidth(nextWord);
-                width += wordWidth;
-                if (width >= maxWidth) {
-                    noLines++;
-                    l.setLength(0);
-                    width = wordWidth;
-                }
-                l.append(nextWord);
-                l.append(" ");
-                width += stringWidth(" ");
-            }
-            noLines++;
-        }
-        return noLines * getLineHeight();
-    }
-
-    @Override
-    public int stringWidth(final String text, final int maxWidth) {
-        int width = 0;
-        final StringTokenizer lines = new StringTokenizer(text, "\n\r");
-        while (lines.hasMoreTokens()) {
-            final String line = lines.nextToken();
-            final StringTokenizer words = new StringTokenizer(line, " ");
-            final StringBuffer l = new StringBuffer();
-            int lineWidth = 0;
-            while (words.hasMoreTokens()) {
-                final String nextWord = words.nextToken();
-                final int wordWidth = stringWidth(nextWord);
-                lineWidth += wordWidth;
-                if (lineWidth >= maxWidth) {
-                    return maxWidth;
-                }
-                if (lineWidth > width) {
-                    width = lineWidth;
-                }
-                l.append(nextWord);
-                l.append(" ");
-                lineWidth += stringWidth(" ");
-            }
-        }
-        return width;
-    }
-
-    // DKH: 20060404... yes, this will grow over time, but only used client-side
-    // RCM this is only a temporary solutions to help deal with titles, TODO
-    // move the caching up to the
-    // views/components that use this method
-    private final java.util.Hashtable stringWidthByString = new java.util.Hashtable();
-
-    // DKH 20060404: new implementation that caches
-    @Override
-    public int stringWidth(final String text) {
-        int[] cachedStringWidth = (int[]) stringWidthByString.get(text);
-        if (cachedStringWidth == null) {
-            cachedStringWidth = new int[] { stringWidthInternal(text) };
-            stringWidthByString.put(text, cachedStringWidth);
-        }
-        return cachedStringWidth[0];
-    }
-
-    // DKH 20060404: previously was stringWidth, now cached, see above.
-    private int stringWidthInternal(final String text) {
-        int stringWidth = metrics.stringWidth(text);
-        if (stringWidth > text.length() * maxCharWidth) {
-            LOG.debug("spurious width of string; calculating manually: " + stringWidth + " for " + this + ": " + text);
-            /*
-             * This fixes an intermittent bug in .NET where stringWidth()
-             * returns a ridiculous number is returned for the width.
-             * 
-             * TODO don't do this when running Java
-             */
-            stringWidth = 0;
-            for (int i = 0; i < text.length(); i++) {
-                int charWidth = charWidth(text.charAt(i));
-                if (charWidth > maxCharWidth) {
-                    LOG.debug("spurious width of character; using max width: " + charWidth + " for " + text.charAt(i));
-                    charWidth = maxCharWidth;
-                }
-                stringWidth += charWidth;
-                LOG.debug(i + " " + stringWidth);
-            }
-        }
-        return stringWidth;
-    }
-
-    @Override
-    public String toString() {
-        return font.toString();
-    }
-
-    public static String defaultFontFamily() {
-        final IsisConfiguration cfg = IsisContext.getConfiguration();
-        return cfg.getString(FONT_PROPERTY_STEM + "family", "SansSerif");
-    }
-
-    public static int defaultFontSizeSmall() {
-        final IsisConfiguration cfg = IsisContext.getConfiguration();
-        return cfg.getInteger(FONT_PROPERTY_STEM + "size.small", 10);
-    }
-
-    public static int defaultFontSizeMedium() {
-        final IsisConfiguration cfg = IsisContext.getConfiguration();
-        return cfg.getInteger(FONT_PROPERTY_STEM + "size.medium", 11);
-    }
-
-    public static int defaultFontSizeLarge() {
-        final IsisConfiguration cfg = IsisContext.getConfiguration();
-        return cfg.getInteger(FONT_PROPERTY_STEM + "size.large", 12);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtToolkit.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtToolkit.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtToolkit.java
deleted file mode 100644
index 5d45d27..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/AwtToolkit.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.dnd.awt;
-
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.viewer.DefaultContentFactory;
-import org.apache.isis.viewer.dnd.viewer.SkylarkViewFactory;
-import org.apache.isis.viewer.dnd.viewer.basic.LogoBackground;
-
-public class AwtToolkit extends Toolkit {
-    @Override
-    protected void init() {
-        final XViewer v = new XViewer();
-        final XFeedbackManager f = new XFeedbackManager(v);
-        v.setFeedbackManager(f);
-        feedbackManager = f;
-        viewer = v;
-        viewer.setBackground(new LogoBackground());
-        contentFactory = new DefaultContentFactory();
-        viewFactory = new SkylarkViewFactory();
-        colorsAndFonts = new AwtColorsAndFonts();
-
-        colorsAndFonts.init();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/DebugFrame.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/DebugFrame.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/DebugFrame.java
deleted file mode 100644
index fa3b41a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/DebugFrame.java
+++ /dev/null
@@ -1,354 +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.dnd.awt;
-
-import java.awt.BorderLayout;
-import java.awt.Button;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Image;
-import java.awt.Insets;
-import java.awt.Panel;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.TextArea;
-import java.awt.Toolkit;
-import java.awt.event.ActionEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.net.URL;
-import java.util.Vector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugString;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.viewer.dnd.view.debug.DebugOutput;
-
-/**
- * A specialised frame for displaying the details of an object and its display
- * mechanisms.
- */
-public abstract class DebugFrame extends Frame {
-    private static final long serialVersionUID = 1L;
-    private static final Logger LOG = LoggerFactory.getLogger(DebugFrame.class);
-    private static Vector<Frame> frames = new Vector<Frame>();
-    private int panel = 0;
-
-    /**
-     * Calls dispose on all the open debug frames
-     * 
-     */
-    public static void disposeAll() {
-        final Frame[] f = new Frame[frames.size()];
-
-        for (int i = 0; i < f.length; i++) {
-            f[i] = frames.elementAt(i);
-        }
-
-        for (final Frame element : f) {
-            element.dispose();
-        }
-    }
-
-    private TextArea field;
-    private TabPane tabPane;
-
-    public DebugFrame() {
-        frames.addElement(this);
-
-        addWindowListener(new WindowAdapter() {
-            @Override
-            public void windowClosing(final WindowEvent e) {
-                closeDialog();
-            }
-        });
-
-        final URL url = DebugFrame.class.getResource("/" + "images/debug-log.gif");
-        if (url != null) {
-            final Image image = Toolkit.getDefaultToolkit().getImage(url);
-            if (image != null) {
-                setIconImage(image);
-            }
-        }
-
-        setLayout(new BorderLayout(7, 7));
-        final Panel tabPane = createTabPane();
-        add(tabPane);
-    }
-
-    private Panel createTabPane() {
-        tabPane = new TabPane();
-        tabPane.addMouseListener(new MouseAdapter() {
-            @Override
-            public void mouseClicked(final MouseEvent e) {
-                final Point point = e.getPoint();
-                panel = tabPane.select(point);
-
-                showDebugForPane();
-            }
-        });
-
-        tabPane.setLayout(new BorderLayout(7, 7));
-
-        final TextArea textArea = new TextArea("", 60, 110, TextArea.SCROLLBARS_BOTH);
-        textArea.setForeground(Color.black);
-        textArea.setEditable(false);
-        // Font font = Isis.getConfiguration().getFont("isis.debug.font", new
-        // Font("Monospaced", Font.PLAIN, 10));
-        final Font font = new Font("Monospaced", Font.PLAIN, 11);
-        textArea.setFont(font);
-        tabPane.add("Center", textArea);
-        field = textArea;
-
-        final Panel buttons = new Panel();
-        buttons.setLayout(new FlowLayout());
-        tabPane.add(buttons, BorderLayout.SOUTH);
-
-        // add buttons
-        Button b = new java.awt.Button("Refresh");
-        b.setFont(font);
-
-        buttons.add(b);
-        b.addActionListener(new java.awt.event.ActionListener() {
-            @Override
-            public void actionPerformed(final ActionEvent e) {
-                showDebugForPane();
-            }
-        });
-
-        b = new java.awt.Button("Print...");
-        b.setFont(font);
-
-        buttons.add(b);
-        b.addActionListener(new java.awt.event.ActionListener() {
-            @Override
-            public void actionPerformed(final ActionEvent e) {
-                DebugOutput.print("Debug " + tabPane.getName(), field.getText());
-            }
-        });
-
-        b = new java.awt.Button("Save...");
-        b.setFont(font);
-
-        buttons.add(b);
-        b.addActionListener(new java.awt.event.ActionListener() {
-            @Override
-            public void actionPerformed(final ActionEvent e) {
-                DebugOutput.saveToFile("Save details", "Debug " + tabPane.getName(), field.getText());
-            }
-        });
-
-        b = new java.awt.Button("Copy");
-        b.setFont(font);
-
-        buttons.add(b);
-        b.addActionListener(new java.awt.event.ActionListener() {
-            @Override
-            public void actionPerformed(final ActionEvent e) {
-                DebugOutput.saveToClipboard(field.getText());
-            }
-        });
-
-        b = new java.awt.Button("Close");
-        b.setFont(font);
-
-        buttons.add(b);
-        b.addActionListener(new java.awt.event.ActionListener() {
-            @Override
-            public void actionPerformed(final ActionEvent e) {
-                closeDialog();
-            }
-        });
-
-        return tabPane;
-    }
-
-    @Override
-    public Insets getInsets() {
-        final Insets insets = super.getInsets();
-        insets.left += 10;
-        insets.right += 10;
-        insets.top += 10;
-        insets.bottom += 10;
-        return insets;
-    }
-
-    private void closeDialog() {
-        dialogClosing();
-        // hide();
-        dispose();
-    }
-
-    public void dialogClosing() {
-    }
-
-    @Override
-    public void dispose() {
-        LOG.debug("dispose...");
-        tabPane.removeAll();
-        frames.removeElement(this);
-        super.dispose();
-        LOG.debug("...disposed");
-    }
-
-    protected abstract DebuggableWithTitle[] getInfo();
-
-    /**
-     * show the frame at the specified coordinates
-     */
-    public void show(final int x, final int y) {
-        /*
-         * WARNING - When refresh button is pressed it is in the AWT thread; if
-         * the repository is thread based then the wrong set of components will
-         * be used giving strange results, particularly in the object persistor.
-         */
-        // TODO run in correct thread
-        refresh();
-
-        pack();
-        limitBounds(x, y);
-        setVisible(true);
-    }
-
-    private void refresh() {
-        final DebuggableWithTitle[] infos = getInfo();
-        final DebuggableWithTitle info = infos[panel];
-        if (info != null) {
-            setTitle(info.debugTitle());
-            final DebugString str = new DebugString();
-            info.debugData(str);
-            field.setText(str.toString());
-            field.setCaretPosition(0);
-        }
-    }
-
-    public void showDebugForPane() {
-        refresh();
-    }
-
-    private void limitBounds(final int xLimit, final int yLimit) {
-        final Dimension screenSize = getToolkit().getScreenSize();
-        final int maxWidth = screenSize.width - 50;
-        final int maxHeight = screenSize.height - 50;
-
-        int width = getSize().width;
-        int height = getSize().height;
-
-        int x = xLimit;
-        if (x + width > maxWidth) {
-            x = 0;
-            if (x + width > maxWidth) {
-                width = maxWidth;
-            }
-        }
-
-        int y = yLimit;
-        if (y + height > maxHeight) {
-            y = 0;
-            if (y + height > maxHeight) {
-                height = maxHeight;
-            }
-        }
-
-        setSize(width, height);
-        setLocation(x, y);
-    }
-
-    private class TabPane extends Panel {
-        private static final long serialVersionUID = 1L;
-        private Rectangle[] tabs;
-        private int panel = 0;
-
-        public int select(final Point point) {
-            for (int i = 0; i < tabs.length; i++) {
-                if (tabs[i] != null && tabs[i].contains(point)) {
-                    panel = i;
-                    repaint();
-                    break;
-                }
-            }
-            return panel;
-        }
-
-        @Override
-        public Insets getInsets() {
-            final Insets insets = super.getInsets();
-            insets.left += 10;
-            insets.right += 10;
-            insets.top += 30;
-            insets.bottom += 10;
-            return insets;
-        }
-
-        @Override
-        public void paint(final Graphics g) {
-            final DebuggableWithTitle[] info = getInfo();
-
-            if (info != null) {
-                if (tabs == null) {
-                    tabs = new Rectangle[getInfo().length];
-                }
-                final Dimension size = getSize();
-                g.setColor(Color.gray);
-                g.drawRect(0, 20, size.width - 1, size.height - 21);
-
-                FontMetrics fm;
-                fm = g.getFontMetrics();
-                int offset = 0;
-                final int maxWidth = info.length == 0 ? size.width : size.width / info.length - 1;
-                for (int i = 0; i < info.length; i++) {
-                    String title = info[i].debugTitle();
-                    title = title == null ? info[i].getClass().getName() : title;
-                    final int width = Math.min(maxWidth, fm.stringWidth(title) + 20);
-
-                    tabs[i] = new Rectangle(offset, 0, width, 20);
-                    g.setColor(Color.gray);
-                    g.drawRect(offset + 0, 0, width, 20);
-                    if (i == panel) {
-                        g.setColor(Color.white);
-                        g.fillRect(offset + 1, 1, width - 1, 20);
-                        // g.drawLine(offset + 1, 20, offset + width, 20);
-                        g.setColor(Color.black);
-                    } else {
-                        g.setColor(Color.lightGray);
-                        g.fillRect(offset + 1, 1, width - 1, 20 - 1);
-                        g.setColor(Color.gray);
-                    }
-
-                    g.drawString(title, offset + 9, 20 - 5);
-
-                    offset += width;
-                }
-                g.setColor(Color.white);
-                g.fillRect(offset + 1, 1, size.width - offset, 20 - 1);
-            }
-        }
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/DebugOptions.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/DebugOptions.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/DebugOptions.java
deleted file mode 100644
index 5017e26..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/DebugOptions.java
+++ /dev/null
@@ -1,158 +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.dnd.awt;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.runtime.sysout.SystemPrinter;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.MenuOptions;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public class DebugOptions implements MenuOptions {
-    private final XViewer viewer;
-
-    public DebugOptions(final XViewer viewer) {
-        this.viewer = viewer;
-    }
-
-    @Override
-    public void menuOptions(final UserActionSet options) {
-        final String showExplorationMenu = "Always show exploration menu " + (viewer.showExplorationMenuByDefault ? "off" : "on");
-        options.add(new UserActionAbstract(showExplorationMenu, ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                viewer.showExplorationMenuByDefault = !viewer.showExplorationMenuByDefault;
-                view.markDamaged();
-            }
-        });
-
-        final String repaint = "Show painting area  " + (viewer.showRepaintArea ? "off" : "on");
-        options.add(new UserActionAbstract(repaint, ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                viewer.showRepaintArea = !viewer.showRepaintArea;
-                view.markDamaged();
-            }
-        });
-
-        final String debug = "Debug graphics " + (Toolkit.debug ? "off" : "on");
-        options.add(new UserActionAbstract(debug, ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                Toolkit.debug = !Toolkit.debug;
-                view.markDamaged();
-            }
-        });
-
-        final String action = viewer.isShowingMouseSpy() ? "Hide" : "Show";
-        options.add(new UserActionAbstract(action + " mouse spy", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                viewer.setShowMouseSpy(!viewer.isShowingMouseSpy());
-            }
-        });
-
-        // I've commented this out because in the new design we should close the
-        // ExecutionContext
-        // and then re-login.
-        // options.add(new AbstractUserAction("Restart object loader/persistor",
-        // UserAction.DEBUG) {
-        // @Override
-        // public void execute(final Workspace workspace, final View view, final
-        // Location at) {
-        // IsisContext.getObjectPersistor().reset();
-        // }
-        // });
-
-        options.add(new UserActionAbstract("Diagnostics...", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final InfoDebugFrame f = new InfoDebugFrame();
-                final DebuggableWithTitle info = new DebuggableWithTitle() {
-
-                    @Override
-                    public void debugData(final DebugBuilder debug) {
-                        final ByteArrayOutputStream out2 = new ByteArrayOutputStream();
-                        final PrintStream out = new PrintStream(out2);
-                        new SystemPrinter(out).printDiagnostics();
-                        debug.append(out2.toString());
-                    }
-
-                    @Override
-                    public String debugTitle() {
-                        return "Diagnostics";
-                    }
-
-                };
-                f.setInfo(info);
-                f.show(at.getX() + 50, workspace.getBounds().getY() + 6);
-            }
-        });
-
-        options.add(new UserActionAbstract("Debug system...", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final InfoDebugFrame f = new InfoDebugFrame();
-                final DebuggableWithTitle[] contextInfo = IsisContext.debugSystem();
-                f.setInfo(contextInfo);
-                f.show(at.getX() + 50, workspace.getBounds().getY() + 6);
-            }
-        });
-
-        options.add(new UserActionAbstract("Debug session...", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final InfoDebugFrame f = new InfoDebugFrame();
-                final DebuggableWithTitle[] contextInfo = IsisContext.debugSession();
-                f.setInfo(contextInfo);
-                f.show(at.getX() + 50, workspace.getBounds().getY() + 6);
-            }
-        });
-
-        options.add(new UserActionAbstract("Debug viewer...", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final InfoDebugFrame f = new InfoDebugFrame();
-                f.setInfo(new DebuggableWithTitle[] { Toolkit.getViewFactory(), viewer.updateNotifier });
-                f.show(at.getX() + 50, workspace.getBounds().getY() + 6);
-            }
-        });
-
-        options.add(new UserActionAbstract("Debug overlay...", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final DebugFrame f = new OverlayDebugFrame(viewer);
-                f.show(at.getX() + 50, workspace.getBounds().getY() + 6);
-            }
-        });
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/InfoDebugFrame.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/InfoDebugFrame.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/InfoDebugFrame.java
deleted file mode 100644
index bfc55fd..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/InfoDebugFrame.java
+++ /dev/null
@@ -1,47 +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.dnd.awt;
-
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-
-public class InfoDebugFrame extends DebugFrame {
-    private static final long serialVersionUID = 1L;
-    private DebuggableWithTitle[] info;
-
-    @Override
-    protected DebuggableWithTitle[] getInfo() {
-        return info;
-    }
-
-    /**
-     * set the display strategy to use to display the information.
-     */
-    public void setInfo(final DebuggableWithTitle info) {
-        this.info = new DebuggableWithTitle[] { info };
-    }
-
-    /**
-     * set the display strategies to use to display the information.
-     */
-    public void setInfo(final DebuggableWithTitle[] info) {
-        this.info = info;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/InteractionHandler.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/InteractionHandler.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/InteractionHandler.java
deleted file mode 100644
index 8f423bf..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/InteractionHandler.java
+++ /dev/null
@@ -1,504 +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.dnd.awt;
-
-import java.awt.Point;
-import java.awt.event.InputEvent;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-import java.awt.event.MouseMotionListener;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.interaction.ClickImpl;
-import org.apache.isis.viewer.dnd.interaction.ContentDragImpl;
-import org.apache.isis.viewer.dnd.interaction.DragStartImpl;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.InteractionSpy;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-
-public class InteractionHandler implements MouseMotionListener, MouseListener, KeyListener {
-    private static final Logger LOG = LoggerFactory.getLogger(InteractionHandler.class);
-    private final static int THRESHOLD = 7;
-    private boolean canDrag;
-    /*
-     * The location within the frame where the mouse button was pressed down.
-     */
-    private Location downAt;
-    private DragEvent drag;
-    private final KeyboardManager keyboardManager;
-    private View identifiedView;
-    private final InteractionSpy spy;
-    private final XViewer viewer;
-    private KeyEvent lastTyped;
-    private View draggedView;
-    private final XFeedbackManager feedbackManager;
-
-    public InteractionHandler(final XViewer viewer, final XFeedbackManager feedbackManager, final KeyboardManager keyboardManager, final InteractionSpy spy) {
-        this.viewer = viewer;
-        this.feedbackManager = feedbackManager;
-        this.spy = spy;
-        this.keyboardManager = keyboardManager;
-    }
-
-    private void drag(final MouseEvent me) {
-        final Location location = createLocation(me.getPoint());
-        spy.addAction("Mouse dragged " + location);
-        final View target = viewer.identifyView(new Location(location), false);
-        drag.drag(target, location, me.getModifiers());
-    }
-
-    private Location createLocation(final Point point) {
-        return new Location(point.x, point.y);
-    }
-
-    private void dragStart(final MouseEvent me) {
-        if (!isOverThreshold(downAt, me.getPoint())) {
-            return;
-        }
-
-        spy.addAction("Drag start  at " + downAt);
-        drag = viewer.dragStart(new DragStartImpl(downAt, me.getModifiers()));
-
-        if (drag == null) {
-            spy.addAction("drag start  ignored");
-            canDrag = false;
-        } else {
-            spy.addAction("drag start " + drag);
-            final View overlay = drag.getOverlay();
-            if (overlay != null) {
-                viewer.setOverlayView(overlay);
-            }
-            final View target = viewer.identifyView(createLocation(me.getPoint()), false);
-            drag.drag(target, createLocation(me.getPoint()), me.getModifiers());
-        }
-        identifiedView = null;
-    }
-
-    /**
-     * Returns true when the point is outside the area around the downAt
-     * location
-     */
-    private boolean isOverThreshold(final Location pressed, final Point dragged) {
-        final int xDown = pressed.getX();
-        final int yDown = pressed.getY();
-        final int x = dragged.x;
-        final int y = dragged.y;
-
-        return x > xDown + THRESHOLD || x < xDown - THRESHOLD || y > yDown + THRESHOLD || y < yDown - THRESHOLD;
-    }
-
-    /**
-     * Listener for key presses. Cancels popup and drags, and forwards key
-     * presses to the view that has the keyboard focus.
-     * 
-     * @see java.awt.event.KeyListener#keyPressed(KeyEvent)
-     */
-    @Override
-    public void keyPressed(final KeyEvent ke) {
-        if (isBusy(identifiedView)) {
-            return;
-        }
-
-        lastTyped = null;
-        try {
-            if (ke.getKeyCode() == KeyEvent.VK_ESCAPE && drag != null) {
-                if (drag != null) {
-                    drag.cancel(viewer);
-                    drag = null;
-                }
-                viewer.clearAction();
-            } else if (ke.getKeyCode() == KeyEvent.VK_F5) {
-                draggedView = identifiedView;
-            } else if (draggedView != null && ke.getKeyCode() == KeyEvent.VK_F6) {
-                final ContentDrag content = new ContentDragImpl(draggedView, new Location(), new AbstractView(new NullContent()) {
-                });
-                if (identifiedView != null) {
-                    identifiedView.drop(content);
-                }
-
-                draggedView = null;
-            } else {
-                keyboardManager.pressed(ke.getKeyCode(), ke.getModifiers());
-            }
-            // ke.consume();
-
-            redraw();
-        } catch (final Exception e) {
-            interactionException("keyPressed", e);
-        }
-    }
-
-    /**
-     * Listener for key releases and forward them to the view that has the
-     * keyboard focus.
-     * 
-     * @see java.awt.event.KeyListener#keyReleased(KeyEvent)
-     */
-    @Override
-    public void keyReleased(final KeyEvent ke) {
-        if (isBusy(identifiedView)) {
-            return;
-        }
-        // LOG.debug("key " + KeyEvent.getKeyText(ke.getKeyCode()) +
-        // " released\n");
-
-        try {
-            if (lastTyped == null && ke.getKeyCode() != KeyEvent.VK_SHIFT && ke.getKeyCode() != KeyEvent.VK_ALT && ke.getKeyCode() != KeyEvent.VK_CONTROL) {
-                if (ke.getKeyCode() >= KeyEvent.VK_0 && ke.getKeyCode() <= KeyEvent.VK_DIVIDE) {
-                    LOG.error("no type event for '" + KeyEvent.getKeyText(ke.getKeyCode()) + "':  " + ke);
-                }
-            }
-
-            keyboardManager.released(ke.getKeyCode(), ke.getModifiers());
-            ke.consume();
-            redraw();
-        } catch (final Exception e) {
-            interactionException("keyReleased", e);
-        }
-
-    }
-
-    /**
-     * Listener for key press, and subsequent release, and forward it as one
-     * event to the view that has the keyboard focus.
-     * 
-     * @see java.awt.event.KeyListener#keyTyped(KeyEvent)
-     */
-    @Override
-    public void keyTyped(final KeyEvent ke) {
-        if (isBusy(identifiedView)) {
-            return;
-        }
-
-        final char keyChar = ke.getKeyChar();
-        if (!Character.isISOControl(keyChar)) {
-            // ignoring control keys and the delete key
-            // LOG.debug("typed '" + keyChar + "': " + ke);
-            // LOG.debug("typed " + (int) keyChar);
-            keyboardManager.typed(keyChar);
-            ke.consume();
-            lastTyped = ke;
-            redraw();
-        }
-    }
-
-    private void interactionException(final String action, final Exception e) {
-        LOG.error("error during user interaction: " + action, e);
-        feedbackManager.showException(e);
-    }
-
-    /**
-     * Responds to mouse click events by calling <code>firstClick</code>,
-     * <code>secondClick</code>, and <code>thirdClick</code> on the view that
-     * the mouse is over. Ignored if the mouse is not over a view.
-     * 
-     * @see java.awt.event.MouseListener#mouseClicked(MouseEvent)
-     */
-    @Override
-    public void mouseClicked(final MouseEvent me) {
-        if (isBusy(identifiedView)) {
-            return;
-        }
-        try {
-            final Click click = new ClickImpl(downAt, me.getModifiers());
-            spy.addAction("Mouse clicked " + click.getLocation());
-            if (click.button3() && identifiedView != null) {
-                // ignore popup trigger - dealt with by mousePressed or
-                // mouseReleased (depending on platform)
-            } else if (viewer.isOverlayAvailable()) {
-                overlayClick(click);
-                // } else if (click.button3() && identifiedView != null) {
-                // fireMenuPopup(click);
-            } else {
-                fireClick(click, me.getClickCount());
-            }
-            redraw();
-        } catch (final Exception e) {
-            interactionException("mouseClicked", e);
-        }
-    }
-
-    private void overlayClick(final Click click) {
-        final View overlayView = viewer.getOverlayView();
-        if (overlayView == identifiedView || (identifiedView != null && identifiedView.getParent() != null && overlayView == identifiedView.getParent())) {
-            viewer.firstClick(click);
-        } else {
-            viewer.clearAction();
-        }
-    }
-
-    private void fireMenuPopup(final Click click) {
-        if (identifiedView != null) {
-            spy.addAction(" popup " + downAt + " over " + identifiedView);
-
-            boolean forView = viewer.viewAreaType(new Location(click.getLocation())) == ViewAreaType.VIEW;
-            forView = click.isAlt() ^ forView;
-            final boolean includeExploration = click.isCtrl();
-            final boolean includeDebug = click.isShift();
-            final Location at = click.getLocation();
-            at.move(-14, -10);
-            viewer.popupMenu(identifiedView, at, forView, includeExploration, includeDebug);
-        }
-    }
-
-    private void fireClick(final Click click, final int clickCount) {
-        viewer.setKeyboardFocus(identifiedView);
-
-        switch (clickCount) {
-        case 1:
-            viewer.firstClick(click);
-            break;
-
-        case 2:
-            viewer.secondClick(click);
-            break;
-
-        case 3:
-            viewer.thirdClick(click);
-            break;
-
-        default:
-            break;
-        }
-    }
-
-    /**
-     * Responds to mouse dragged according to the button used. If the left
-     * button then identified view is moved.
-     * 
-     * @see java.awt.event.MouseMotionListener#mouseDragged(MouseEvent)
-     */
-    @Override
-    public void mouseDragged(final MouseEvent me) {
-        if (isBusy(identifiedView)) {
-            return;
-        }
-
-        try {
-            viewer.translate(me);
-
-            final Location location = createLocation(me.getPoint());
-            spy.setLocationInViewer(location);
-
-            if (canDrag) {
-                // checked to ensure that dragging over a view doesn't start a
-                // drag - it should only start when already over a view.
-
-                spy.reset();
-                // viewer.translate(me);
-                if (drag == null) {
-                    // no drag in progress yet
-                    dragStart(me);
-                    redraw();
-                } else {
-                    drag(me);
-                    redraw();
-                }
-            }
-        } catch (final Exception e) {
-            interactionException("mouseDragged", e);
-        }
-
-    }
-
-    /**
-     * event ignored
-     * 
-     * @see java.awt.event.MouseListener#mouseEntered(MouseEvent)
-     */
-    @Override
-    public void mouseEntered(final MouseEvent arg0) {
-    }
-
-    /**
-     * event ignored
-     * 
-     * @see java.awt.event.MouseListener#mouseExited(MouseEvent)
-     */
-    @Override
-    public void mouseExited(final MouseEvent arg0) {
-    }
-
-    /**
-     * responds to mouse moved event by setting the view found underneath the
-     * mouse as the idetified view. Views normally respond by changing the
-     * colour of themselves so they are visual distinct and hence shows itself
-     * as special compared to the rest.
-     * 
-     * @see java.awt.event.MouseMotionListener#mouseMoved(MouseEvent)
-     */
-    @Override
-    public void mouseMoved(final MouseEvent me) {
-        try {
-            if (drag == null) {
-                spy.reset();
-                viewer.translate(me);
-                final Location location = createLocation(me.getPoint());
-                spy.setLocationInViewer(location);
-
-                final View overView = viewer.identifyView(new Location(location), true);
-                spy.setOver(overView);
-
-                spy.addAction("moved " + location);
-
-                if (overView != null) {
-                    if (overView != identifiedView) {
-                        if (identifiedView != null) {
-                            spy.addAction("exited " + identifiedView);
-                            identifiedView.exited();
-                        }
-
-                        if (overView != null) {
-                            spy.addAction("entered " + overView);
-                            overView.entered();
-                        }
-
-                        redraw();
-                        feedbackManager.showBusyState(overView);
-                    }
-                    identifiedView = overView;
-
-                    spy.addTrace("--> mouse moved");
-                    viewer.mouseMoved(location);
-                    spy.addTrace(overView, " mouse location", location);
-                    if ((me.getModifiers() & InputEvent.ALT_MASK) > 0 && overView.getContent() != null) {
-                        final ObjectAdapter object = overView.getContent().getAdapter();
-                        final ViewAreaType area = overView.viewAreaType(location);
-                        feedbackManager.setViewDetail("Over " + location + " [" + area + "] " + object);
-                    }
-
-                    redraw();
-                }
-            }
-        } catch (final Exception e) {
-            interactionException("mouseMoved", e);
-        }
-
-    }
-
-    private boolean isBusy(final View view) {
-        return feedbackManager != null && feedbackManager.isBusy(view);
-    }
-
-    /**
-     * Responds to the mouse pressed event (with the left button pressed) by
-     * initiating a drag. This sets up the <code>View</code>'s dragging state to
-     * the view that the mouse was over when the button was pressed.
-     * 
-     * @see java.awt.event.MouseListener#mousePressed(MouseEvent)
-     */
-    @Override
-    public void mousePressed(final MouseEvent me) {
-        try {
-            if (isBusy(identifiedView)) {
-                return;
-            }
-
-            spy.reset();
-            viewer.translate(me);
-
-            downAt = createLocation(me.getPoint());
-            spy.setDownAt(downAt);
-
-            final Location location = createLocation(me.getPoint());
-            spy.setLocationInViewer(location);
-
-            final View overView = viewer.identifyView(new Location(location), true);
-            spy.setOver(overView);
-            spy.addAction("Mouse pressed " + location);
-            drag = null;
-
-            final Click click = new ClickImpl(downAt, me.getModifiers());
-            if (me.isPopupTrigger()) {
-                if (overView != null) {
-                    fireMenuPopup(click);
-                }
-            } else {
-                viewer.mouseDown(click);
-                // drag should not be valid after double/triple click
-                canDrag = overView != null && me.getClickCount() == 1;
-                identifiedView = overView;
-            }
-            redraw();
-        } catch (final Exception e) {
-            interactionException("mousePressed", e);
-        }
-
-    }
-
-    /**
-     * Responds to the mouse released event (with the left button pressed) by
-     * telling the identified view (the drop zone) that the dragged object is
-     * being dropped on it (via the views <code>drop</code> method). If the drop
-     * takes place outside of all of the other views then the
-     * <code>workspaceDrop</code> method is called instead to indicate a drop
-     * onto the workspace.
-     * 
-     * @see java.awt.event.MouseListener#mouseReleased(MouseEvent)
-     */
-    @Override
-    public void mouseReleased(final MouseEvent me) {
-        if (isBusy(identifiedView) || downAt == null) {
-            return;
-        }
-
-        try {
-            if (drag != null) {
-                mouseDragged(me);
-
-                final Location location = createLocation(me.getPoint());
-                final View target = viewer.identifyView(new Location(location), false);
-                drag.drag(target, location, me.getModifiers());
-                // viewer.clearStatus();
-                drag.end(viewer);
-                redraw();
-
-                drag = null;
-            }
-
-            final Click click = new ClickImpl(downAt, me.getModifiers());
-            if (me.isPopupTrigger()) {
-                if (identifiedView != null) {
-                    fireMenuPopup(click);
-                }
-            } else {
-                viewer.mouseUp(click);
-            }
-            redraw();
-        } catch (final Exception e) {
-            interactionException("mouseReleased", e);
-        }
-    }
-
-    private void redraw() {
-        viewer.scheduleRepaint();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/KeyboardManager.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/KeyboardManager.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/KeyboardManager.java
deleted file mode 100644
index 91bbf37..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/KeyboardManager.java
+++ /dev/null
@@ -1,229 +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.dnd.awt;
-
-import java.awt.event.InputEvent;
-import java.awt.event.KeyEvent;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.interaction.KeyboardActionImpl;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class KeyboardManager {
-    private static final Logger LOG = LoggerFactory.getLogger(KeyboardManager.class);
-    private final XViewer viewer;
-    private FocusManager focusManager;
-
-    public KeyboardManager(final XViewer viewer) {
-        this.viewer = viewer;
-    }
-
-    private View getFocus() {
-        return focusManager == null ? null : focusManager.getFocus();
-        // View focus = viewer.getFocus();
-        // return focus == null ? null : focus.getView();
-    }
-
-    /*
-     * At the moment, as a fudge, the text field is calling its parent's
-     * keyPressed method for enter presses.
-     */
-    public void pressed(final int keyCode, final int modifiers) {
-        if (ignoreKey(keyCode)) {
-            return;
-        }
-        LOG.debug("key " + KeyEvent.getKeyModifiersText(modifiers) + " '" + KeyEvent.getKeyText(keyCode) + "' pressed");
-
-        final KeyboardAction keyboardAction = new KeyboardActionImpl(keyCode, modifiers);
-
-        if (viewer.isOverlayAvailable()) {
-            viewer.getOverlayView().keyPressed(keyboardAction);
-            if (!keyboardAction.isConsumed() && keyCode == KeyEvent.VK_F1) {
-                viewer.openHelp(viewer.getOverlayView());
-                // help(viewer.getOverlayView());
-            }
-            return;
-        }
-
-        final View keyboardFocus = getFocus();
-        if (keyboardFocus == null) {
-            // throw new ObjectAdapterRuntimeException("No focus set");
-            LOG.debug("No focus set");
-            return;
-        }
-
-        keyboardFocus.keyPressed(keyboardAction);
-
-        if (keyboardAction.isConsumed()) {
-            return;
-        }
-
-        if ((modifiers & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK && keyCode == KeyEvent.VK_F10) {
-            final Location location = keyboardFocus.getAbsoluteLocation();
-            location.add(20, 14);
-            viewer.popupMenu(keyboardFocus, location, true, false, false);
-            return;
-        }
-
-        // this should really check the modifiers to ensure there are none in
-        // use.
-        if (keyCode == KeyEvent.VK_F10) {
-            final Location location = keyboardFocus.getAbsoluteLocation();
-            location.add(20, 14);
-            viewer.popupMenu(keyboardFocus, location, false, false, false);
-            return;
-        }
-        /*
-         * if(keyCode == KeyEvent.VK_ENTER) { //viewer.firstClick(new
-         * Click(keyboardFocus, keyboardFocus.getLocation(), modifiers));
-         * Location location = keyboardFocus.getAbsoluteLocation();
-         * location.add(1, 1); viewer.secondClick(new Click(keyboardFocus,
-         * location, modifiers)); //viewer.thirdClick(new Click(keyboardFocus,
-         * keyboardFocus.getLocation(), modifiers)); return; }
-         */
-
-        if (keyCode == KeyEvent.VK_F4 && (modifiers & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK) {
-            // TODO close window
-            return;
-        }
-
-        if (keyCode == KeyEvent.VK_DOWN) {
-            focusManager.focusFirstChildView();
-            // focusNextSubview(keyboardFocus);
-            return;
-        }
-
-        if (keyCode == KeyEvent.VK_UP) {
-            focusManager.focusParentView();
-            // focusPreviousSubview(keyboardFocus);
-            return;
-        }
-
-        if (keyCode == KeyEvent.VK_HOME) {
-            viewer.makeRootFocus();
-            return;
-        }
-
-        if (keyCode == KeyEvent.VK_RIGHT) {
-            focusManager.focusNextView();
-            // focusNextPeerView(keyboardFocus);
-            return;
-        }
-
-        if (keyCode == KeyEvent.VK_LEFT) {
-            focusManager.focusPreviousView();
-            // focusPreviousPeerView(keyboardFocus);
-            return;
-        }
-
-        int action = 0;
-
-        if (keyCode == KeyEvent.VK_F1) {
-            viewer.openHelp(keyboardFocus);
-        } else if (keyCode == KeyEvent.VK_TAB) {
-            action = tab(modifiers);
-        }
-
-        switch (action) {
-        case KeyboardAction.NEXT_VIEW:
-            focusManager.focusNextView();
-            // focusNextSubview(keyboardFocus);
-            break;
-        case KeyboardAction.PREVIOUS_VIEW:
-            focusManager.focusPreviousView();
-            // focusPreviousSubview(keyboardFocus);
-            break;
-        case KeyboardAction.NEXT_WINDOW:
-            focusManager.focusParentView();
-            // focusNextRootView(keyboardFocus);
-            break;
-        case KeyboardAction.PREVIOUS_WINDOW:
-            focusManager.focusFirstChildView();
-            break;
-        }
-    }
-
-    private boolean ignoreKey(final int keyCode) {
-        return keyCode == KeyEvent.VK_SHIFT || keyCode == KeyEvent.VK_CONTROL || keyCode == KeyEvent.VK_ALT;
-    }
-
-    private int tab(final int modifiers) {
-        int action;
-        if ((modifiers & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK) {
-            if ((modifiers & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK) {
-                action = KeyboardAction.PREVIOUS_WINDOW;
-            } else {
-                action = KeyboardAction.NEXT_WINDOW;
-            }
-        } else {
-            if ((modifiers & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK) {
-                action = KeyboardAction.PREVIOUS_VIEW;
-            } else {
-                action = KeyboardAction.NEXT_VIEW;
-            }
-        }
-        return action;
-    }
-
-    public void released(final int keyCode, final int modifiers) {
-        if (ignoreKey(keyCode)) {
-            return;
-        }
-
-        LOG.debug("key " + KeyEvent.getKeyText(keyCode) + " released\n");
-        final View keyboardFocus = getFocus();
-        if (keyboardFocus != null) {
-            keyboardFocus.keyReleased(new KeyboardActionImpl(keyCode, modifiers));
-        }
-    }
-
-    public void typed(final char keyChar) {
-        LOG.debug("typed '" + keyChar + "'");
-
-        if (viewer.isOverlayAvailable()) {
-            viewer.getOverlayView().keyTyped(new KeyboardActionImpl(keyChar, 0));
-            return;
-        }
-
-        final View keyboardFocus = getFocus();
-        if (keyboardFocus != null) {
-            if (!Character.isISOControl(keyChar)) {
-                keyboardFocus.keyTyped(new KeyboardActionImpl(keyChar, 0));
-            }
-        }
-    }
-
-    public FocusManager getFocusManager() {
-        return focusManager;
-    }
-
-    public void setFocusManager(final FocusManager focusManager) {
-        if (focusManager == null) {
-            throw new IsisException("No focus manager set up");
-        }
-        this.focusManager = focusManager;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/LoginDialog.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/LoginDialog.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/LoginDialog.java
deleted file mode 100644
index 501e36e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/LoginDialog.java
+++ /dev/null
@@ -1,242 +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.dnd.awt;
-
-import java.awt.BorderLayout;
-import java.awt.Button;
-import java.awt.Color;
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.Frame;
-import java.awt.GridLayout;
-import java.awt.Insets;
-import java.awt.Label;
-import java.awt.Panel;
-import java.awt.TextField;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.lang.StringExtensions;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-
-public class LoginDialog extends Frame implements ActionListener, KeyListener {
-    private static final long serialVersionUID = 1L;
-    private static final Logger LOG = LoggerFactory.getLogger(LoginDialog.class);
-    private final static int BORDER = 12;
-    private TextField user;
-    private TextField password;
-    private Button cancel;
-    private Button login;
-
-    private static String CANCEL_LABEL = " Cancel ";
-    private static String LOGIN_LABEL = " Login ";
-    private boolean logIn = true;
-    private final AuthenticationManager authenticationManager;
-    private AuthenticationSession session;
-    private Label instructionLabel;
-
-    public LoginDialog(final AuthenticationManager authenticationManager) {
-        super("Apache Isis Login");
-        this.authenticationManager = authenticationManager;
-
-        setBackground(new Color(0xe0e0e0));
-
-        AWTUtilities.addWindowIcon(this, "login-logo.png");
-
-        addWindowListener(new WindowAdapter() {
-            @Override
-            public void windowClosing(final WindowEvent e) {
-                cancel(e.getComponent());
-            }
-        });
-
-        setLayout(new BorderLayout(0, 10));
-
-        createInstructionLabel();
-        createLoginFields();
-        createButtonsPanel();
-
-        setResizable(false);
-        pack();
-        final int height = getSize().height;
-        final int width = getFontMetrics(getFont()).charWidth('x') * 48;
-        setSize(width, height);
-        final Dimension screen = getToolkit().getScreenSize();
-
-        int x = (screen.width / 2) - (width / 2);
-
-        if ((screen.width / screen.height) >= 2) {
-            x = (screen.width / 4) - (width / 2);
-        }
-
-        final int y = (screen.height / 2) - (height / 2);
-        setLocation(x, y);
-        user.requestFocus();
-    }
-
-    private void createInstructionLabel() {
-        instructionLabel = new Label("Please enter your user name and password.");
-        add(instructionLabel, BorderLayout.NORTH);
-    }
-
-    private void createLoginFields() {
-        final Panel form = new Panel(new GridLayout(2, 2, 6, 8)) {
-            private static final long serialVersionUID = 1L;
-
-            @Override
-            public Insets getInsets() {
-                return new Insets(12, 0, 6, 80);
-            }
-        };
-        add(form, BorderLayout.CENTER);
-
-        form.add(new Label("User name:", Label.RIGHT));
-        form.add(user = new TextField());
-        user.addKeyListener(this);
-
-        form.add(new Label("Password:", Label.RIGHT));
-        form.add(password = new TextField());
-        password.addKeyListener(this);
-        password.setEchoChar('*');
-    }
-
-    private void createButtonsPanel() {
-        final Panel buttons = new Panel(new FlowLayout(FlowLayout.RIGHT));
-        add(buttons, BorderLayout.SOUTH);
-
-        buttons.add(cancel = new Button(CANCEL_LABEL));
-        cancel.addActionListener(this);
-        cancel.addKeyListener(this);
-
-        buttons.add(login = new Button(LOGIN_LABEL));
-        login.addActionListener(this);
-        login.addKeyListener(this);
-    }
-
-    @Override
-    public Insets getInsets() {
-        final Insets in = super.getInsets();
-        in.top += BORDER;
-        in.bottom += BORDER / 2;
-        in.left += BORDER;
-        in.right += BORDER;
-        return in;
-    }
-
-    @Override
-    public void actionPerformed(final ActionEvent evt) {
-        action(evt.getSource());
-    }
-
-    @Override
-    public void keyPressed(final KeyEvent e) {
-        // ignore
-    }
-
-    @Override
-    public void keyReleased(final KeyEvent e) {
-        if (e.getKeyCode() == KeyEvent.VK_ENTER) {
-            action(e.getComponent());
-        }
-        if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
-            cancel(e.getComponent());
-        }
-    }
-
-    @Override
-    public void keyTyped(final KeyEvent e) {
-        // ignore
-    }
-
-    private synchronized void cancel(final Object widget) {
-        logIn = false;
-        notify();
-    }
-
-    private synchronized void action(final Object widget) {
-        if (widget == cancel) {
-            cancel(widget);
-        } else if (widget == login || widget == password) {
-            setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
-            instructionLabel.setText("Authorising...");
-            instructionLabel.setForeground(Color.BLACK);
-
-            final AuthenticationRequestPassword authenticationRequest = new AuthenticationRequestPassword(getUser(), getPassword());
-            session = authenticationManager.authenticate(authenticationRequest);
-            if (session == null) {
-                try {
-                    Thread.sleep(750);
-                } catch (final InterruptedException ignore) {
-                }
-                instructionLabel.setText("Invalid user name or password; please try again.");
-                instructionLabel.setForeground(Color.RED);
-            } else {
-                logIn = true;
-                notify();
-            }
-            setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-        } else if (widget == user) {
-            password.requestFocus();
-        }
-    }
-
-    @Override
-    public void dispose() {
-        LOG.debug("dispose...");
-        super.dispose();
-        LOG.debug("...disposed");
-
-    }
-
-    private String getUser() {
-        return StringExtensions.removeTabs(user.getText()).trim();
-    }
-
-    public void setUserName(final String name) {
-        user.setText(name);
-    }
-
-    private String getPassword() {
-        return StringExtensions.removeTabs(password.getText()).trim();
-    }
-
-    public AuthenticationSession getSession() {
-        return session;
-    }
-
-    public synchronized boolean login() {
-        try {
-            wait();
-        } catch (final InterruptedException e) {
-        }
-        return logIn;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/OverlayDebugFrame.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/OverlayDebugFrame.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/OverlayDebugFrame.java
deleted file mode 100644
index c79b3a6..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/awt/OverlayDebugFrame.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.dnd.awt;
-
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-import org.apache.isis.viewer.dnd.view.debug.DebugView;
-
-public class OverlayDebugFrame extends DebugFrame {
-    private static final long serialVersionUID = 1L;
-    private final XViewer viewer;
-
-    public OverlayDebugFrame(final XViewer viewer) {
-        super();
-        this.viewer = viewer;
-    }
-
-    @Override
-    protected DebuggableWithTitle[] getInfo() {
-        final View overlay = viewer.getOverlayView();
-        final DebugView debugView = new DebugView(overlay == null ? new EmptyView() : overlay);
-        return new DebuggableWithTitle[] { debugView };
-    }
-
-    class EmptyView extends AbstractView {
-        public EmptyView() {
-            super(new NullContent());
-        }
-    }
-
-}


[40/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestFixtures.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestFixtures.java b/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestFixtures.java
deleted file mode 100644
index ada7051..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestFixtures.java
+++ /dev/null
@@ -1,230 +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.objectstore.sql.common;
-
-import java.io.FileInputStream;
-import java.sql.Connection;
-import java.sql.Driver;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
-import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures.Fixtures.Initialization;
-import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract;
-import org.apache.isis.core.tck.dom.poly.ReferencingPolyTypesEntity;
-import org.apache.isis.core.tck.dom.scalars.PrimitiveValuedEntity;
-import org.apache.isis.core.tck.dom.sqlos.SqlDomainObjectRepository;
-import org.apache.isis.core.tck.dom.sqlos.data.SimpleClass;
-import org.apache.isis.core.tck.dom.sqlos.data.SimpleClassTwo;
-import org.apache.isis.core.tck.dom.sqlos.data.SqlDataClass;
-import org.apache.isis.objectstore.sql.SqlObjectStore;
-
-/**
- * @author Kevin
- * 
- */
-public class SqlIntegrationTestFixtures {
-
-    static SqlIntegrationTestFixtures instance;
-
-    public static SqlIntegrationTestFixtures getInstance() {
-        if (instance == null) {
-            instance = new SqlIntegrationTestFixtures();
-        }
-        return instance;
-    }
-
-    public static void recreate() {
-        instance = new SqlIntegrationTestFixtures();
-    }
-
-    public enum State {
-        INITIALIZE, DONT_INITIALIZE;
-
-        public boolean isInitialize() {
-            return this == INITIALIZE;
-        }
-    }
-
-    private State state = State.INITIALIZE;
-
-    public State getState() {
-        return state;
-    }
-
-    public void setState(final State state) {
-        this.state = state;
-    }
-
-    // /////////////////////////////////////////////////////////////////////////
-    //
-    // /////////////////////////////////////////////////////////////////////////
-
-    private IsisSystemWithFixtures system;
-
-    // JDBC
-    private Connection conn = null;
-    private Statement stmt = null;
-
-    public void initSystem(final String propertiesDirectory, final String propertiesFileName) throws Exception {
-
-        final Properties properties = new Properties();
-        properties.load(new FileInputStream(propertiesDirectory + "/" + propertiesFileName));
-
-        initSystem(properties);
-    }
-
-    public void initSystem(final Properties properties) throws Exception {
-        final IsisConfigurationDefault configuration = new IsisConfigurationDefault();
-        configuration.add(properties);
-
-        sqlDomainObjectRepository = new SqlDomainObjectRepository();
-        if (system != null) {
-            system.tearDownSystem();
-        }
-
-        final PersistenceMechanismInstallerAbstract persistorInstaller = Utils.createPersistorInstaller(configuration);
-        system =
-            IsisSystemWithFixtures.builder().with(configuration).withServices(sqlDomainObjectRepository)
-                .with(Initialization.NO_INIT).with(persistorInstaller).build();
-
-        system.setUpSystem();
-
-        registerDriverAndConnect(configuration);
-    }
-
-    public void shutDown() throws Exception {
-        if (system != null) {
-            system.tearDownSystem();
-        }
-    }
-
-    // /////////////////////////////////////////////////////////////////////////
-    //
-    // /////////////////////////////////////////////////////////////////////////
-
-    @SuppressWarnings("unchecked")
-    private void registerDriverAndConnect(final IsisConfiguration isisConfiguration) throws SQLException,
-        ClassNotFoundException, InstantiationException, IllegalAccessException {
-        final String jdbcClassName = isisConfiguration.getString(SqlObjectStore.BASE_NAME + ".jdbc.driver");
-        if (jdbcClassName == null) {
-            conn = null;
-            stmt = null;
-            return;
-        }
-        final Class<Driver> driverClass = (Class<Driver>) Class.forName(jdbcClassName);
-        final Driver driver = driverClass.newInstance();
-        DriverManager.registerDriver(driver);
-
-        // jdbc - connect to DB and drop tables.
-        conn =
-            DriverManager.getConnection(isisConfiguration.getString(SqlObjectStore.BASE_NAME + ".jdbc.connection"),
-                isisConfiguration.getString(SqlObjectStore.BASE_NAME + ".jdbc.user"),
-                isisConfiguration.getString(SqlObjectStore.BASE_NAME + ".jdbc.password"));
-        stmt = conn.createStatement();
-    }
-
-    public void dropTable(final String tableName) {
-        if (stmt == null) {
-            if (tableName.equalsIgnoreCase("sqldataclass")) {
-                final List<SqlDataClass> list = sqlDomainObjectRepository.allDataClasses();
-                for (final SqlDataClass sqlDataClass : list) {
-                    sqlDomainObjectRepository.delete(sqlDataClass);
-                }
-                return;
-            }
-            if (tableName.equalsIgnoreCase("simpleclass")) {
-                final List<SimpleClass> list = sqlDomainObjectRepository.allSimpleClasses();
-                for (final SimpleClass sqlClass : list) {
-                    sqlDomainObjectRepository.delete(sqlClass);
-                }
-                return;
-            }
-            if (tableName.equalsIgnoreCase("simpleclasstwo")) {
-                final List<SimpleClassTwo> list = sqlDomainObjectRepository.allSimpleClassTwos();
-                for (final SimpleClassTwo sqlClass : list) {
-                    sqlDomainObjectRepository.delete(sqlClass);
-                }
-                return;
-            }
-            if (tableName.equalsIgnoreCase("primitivevaluedentity")) {
-                final List<PrimitiveValuedEntity> list = sqlDomainObjectRepository.allPrimitiveValueEntities();
-                for (final PrimitiveValuedEntity pve : list) {
-                    sqlDomainObjectRepository.delete(pve);
-                }
-                return;
-            }
-            throw new IsisException("Unknown table: " + tableName);
-        }
-
-        try {
-            String tableIdentifier = Utils.tableIdentifierFor(tableName);
-            stmt.executeUpdate("DROP TABLE " + tableIdentifier);
-        } catch (final SQLException e) {
-            // this can happen, not a problem.
-            // e.printStackTrace();
-        }
-    }
-
-    public void sqlExecute(final String sqlString) throws SQLException {
-        if (stmt != null) {
-            stmt.executeUpdate(sqlString);
-        }
-    }
-
-    // /////////////////////////////////////////////////////////////////////////
-    //
-    // /////////////////////////////////////////////////////////////////////////
-
-    private SqlDomainObjectRepository sqlDomainObjectRepository = null;
-
-    private SqlDataClass sqlDataClass;
-    private ReferencingPolyTypesEntity referencingPolyTypesEntity;
-
-    public SqlDomainObjectRepository getSqlDataClassFactory() {
-        return sqlDomainObjectRepository;
-    }
-
-    public SqlDataClass getSqlDataClass() {
-        return sqlDataClass;
-    }
-
-    public void setSqlDataClass(SqlDataClass sqlDataClass) {
-        this.sqlDataClass = sqlDataClass;
-    }
-
-    public ReferencingPolyTypesEntity getPolyTestClass() {
-        return referencingPolyTypesEntity;
-    }
-
-    public void setPolyTestClass(final ReferencingPolyTypesEntity referencingPolyTypesEntity) {
-        this.referencingPolyTypesEntity = referencingPolyTypesEntity;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/Utils.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/Utils.java b/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/Utils.java
deleted file mode 100644
index c037e61..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/Utils.java
+++ /dev/null
@@ -1,61 +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.objectstore.sql.common;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.objectstore.InMemoryPersistenceMechanismInstaller;
-import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract;
-import org.apache.isis.objectstore.sql.Sql;
-import org.apache.isis.objectstore.sql.SqlObjectStore;
-import org.apache.isis.objectstore.sql.SqlPersistorInstaller;
-import org.apache.isis.objectstore.xml.XmlPersistenceMechanismInstaller;
-
-public class Utils {
-
-    static PersistenceMechanismInstallerAbstract createPersistorInstaller(final IsisConfiguration configuration) {
-        
-        final String jdbcDriver = configuration.getString(SqlObjectStore.BASE_NAME + ".jdbc.driver");
-        if (jdbcDriver != null) {
-            return new SqlPersistorInstaller();
-        } 
-        
-        final String persistor = configuration.getString("isis.persistor");
-        if (persistor.equals(InMemoryPersistenceMechanismInstaller.NAME)) {
-            return new InMemoryPersistenceMechanismInstaller();
-        }
-        if (persistor.equals(XmlPersistenceMechanismInstaller.NAME)) {
-            return new XmlPersistenceMechanismInstaller();
-        }
-        if (persistor.equals(SqlPersistorInstaller.NAME)) {
-            return new SqlPersistorInstaller();
-        }
-        return new InMemoryPersistenceMechanismInstaller();
-    }
-
-    static String tableIdentifierFor(final String tableName) {
-        if (tableName.substring(0, 4).toUpperCase().equals("ISIS")) {
-            return Sql.tableIdentifier(tableName);
-        } else {
-            return Sql.tableIdentifier("isis_" + tableName);
-        }
-    }
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/main/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/main/resources/log4j.properties b/mothballed/component/objectstore/sql/sql-tests-common/src/main/resources/log4j.properties
deleted file mode 100644
index b36337f..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,39 +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.
-# apache's log4j is used to provide system logging.
-log4j.rootCategory=DEBUG, File
-log4j.rootCategory=INFO, Console
-
-
-# The console appender
-log4j.appender.Console=org.apache.log4j.ConsoleAppender
-log4j.appender.Console.target=System.out
-log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
-
-
-log4j.appender.File=org.apache.log4j.RollingFileAppender
-log4j.appender.File.file=isis.log
-log4j.appender.File.append=false
-#log4j.appender.File.maxFileSize=500KB
-#log4j.appender.File.maxBackupIndex=1
-log4j.appender.File.layout=org.apache.log4j.PatternLayout
-log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n
-
-
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/site/apt/index.apt b/mothballed/component/objectstore/sql/sql-tests-common/src/site/apt/index.apt
deleted file mode 100644
index 025703e..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/site/apt/index.apt
+++ /dev/null
@@ -1,28 +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.
-
-
-
-SQL ObjectStore Integration Tests
-
- This module holds the integration tests for the {{{../index.html}SQL ObjectStore}}.
-
-Further Info
-  
- See this module's {{{./apidocs/index.html}Javadoc}} and {{{../docbkx/html/guide/isis-sql-objectstore.html}User Guide}} for more information.
- 
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/site/apt/jottings.apt b/mothballed/component/objectstore/sql/sql-tests-common/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/site/site.xml b/mothballed/component/objectstore/sql/sql-tests-common/src/site/site.xml
deleted file mode 100644
index 9aa405b..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/site/site.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-    <body>
-        <breadcrumbs>
-            <item name="Tests"  href="index.html"/>
-        </breadcrumbs>
-
-        <menu name="SQL Objectstore Tests">
-            <item name="About" href="index.html" />
-        </menu>
-
-        <menu name="SQL OS Modules">
-            <item name="Implementation" href="../sql-impl/index.html" />
-            <item name="Tests" href="../sql-tests-common/index.html" />
-            <item name="Integration Tests" href="../sql-tests-served/index.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-    </body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/test/config/hsql-poly.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/test/config/hsql-poly.properties b/mothballed/component/objectstore/sql/sql-tests-common/src/test/config/hsql-poly.properties
deleted file mode 100644
index cd5ea6e..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/test/config/hsql-poly.properties
+++ /dev/null
@@ -1,29 +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.
-isis.persistor=sql
-
-isis.persistor.sql.jdbc.driver=org.hsqldb.jdbcDriver
-isis.persistor.sql.jdbc.connection=jdbc:hsqldb:file:hsql-db/polytests
-isis.persistor.sql.jdbc.user=sa
-isis.persistor.sql.jdbc.password=
-
-# testing
-isis.logging.objectstore=on
-isis.persistor.sql.default.command.beginTransaction=
-isis.persistor.sql.default.command.commitTransaction=
-isis.persistor.sql.default.command.abortTransaction=
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/test/config/hsql.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/test/config/hsql.properties b/mothballed/component/objectstore/sql/sql-tests-common/src/test/config/hsql.properties
deleted file mode 100644
index 22c9758..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/test/config/hsql.properties
+++ /dev/null
@@ -1,33 +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.
-isis.persistor=sql
-
-isis.persistor.sql.jdbc.driver=org.hsqldb.jdbcDriver
-isis.persistor.sql.jdbc.connection=jdbc:hsqldb:file:hsql-db/tests
-isis.persistor.sql.jdbc.user=sa
-isis.persistor.sql.jdbc.password=
-
-# testing
-isis.persistor.sql.datatypes.string=VARCHAR(70)
-isis.persistor.sql.default.password.seed=gfkhgdf76453fhgj#$
-isis.persistor.sql.default.command.beginTransaction=
-isis.persistor.sql.default.command.commitTransaction=
-isis.persistor.sql.default.command.abortTransaction=
-
-isis.persistor.sql.datatypes.blob=BLOB(1000)
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/HsqlTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/HsqlTest.java b/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/HsqlTest.java
deleted file mode 100644
index 17b9bfc..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/HsqlTest.java
+++ /dev/null
@@ -1,72 +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.objectstore.sql;
-
-import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
-import org.junit.runners.MethodSorters;
-
-import org.apache.isis.core.unittestsupport.files.Files;
-import org.apache.isis.core.unittestsupport.files.Files.Recursion;
-import org.apache.isis.objectstore.sql.common.Data;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestData;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures;
-
-/**
- * @author Kevin kevin@kmz.co.za
- * 
- *         This test implementation uses the HyperSQL database engine to perform "serverless" tests of data creation and
- *         reloading.
- * 
- * 
- * @version $Rev$ $Date$
- */
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class HsqlTest extends SqlIntegrationTestData {
-
-    @BeforeClass
-    public static void deleteHsqlDbFiles() {
-        Files.deleteFilesWithPrefix("hsql-db", "tests", Recursion.DONT_RECURSE);
-    }
-
-    @Override
-    protected void testCreate() throws Exception {
-        final SqlIntegrationTestFixtures sqlIntegrationTestFixtures = getSqlIntegrationTestFixtures();
-        for (final String tableName : Data.getTableNames()) {
-            sqlIntegrationTestFixtures.dropTable(tableName);
-        }
-        super.testCreate();
-    }
-
-    // @Override
-    // protected String getSqlSetupString() {
-    // return "COMMIT;";
-    // }
-
-    @Override
-    public String getPropertiesFilename() {
-        return "hsql.properties";
-    }
-
-    @Override
-    public String getSqlTeardownString() {
-        return "SHUTDOWN;";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/PolymorphismTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/PolymorphismTest.java b/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/PolymorphismTest.java
deleted file mode 100755
index 49039e5..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/PolymorphismTest.java
+++ /dev/null
@@ -1,374 +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.objectstore.sql;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.tck.dom.poly.Empty;
-import org.apache.isis.core.tck.dom.poly.EmptyEntityWithOwnProperty;
-import org.apache.isis.core.tck.dom.poly.ReferencingPolyTypesEntity;
-import org.apache.isis.core.tck.dom.poly.SelfReferencingEntity;
-import org.apache.isis.core.tck.dom.poly.StringBaseEntity;
-import org.apache.isis.core.tck.dom.poly.StringBaseEntitySub;
-import org.apache.isis.core.tck.dom.poly.StringBaseEntitySubThree;
-import org.apache.isis.core.tck.dom.poly.StringBaseEntitySubTwo;
-import org.apache.isis.core.tck.dom.poly.Stringable;
-import org.apache.isis.core.tck.dom.poly.StringableEntityWithOwnDerivedProperty;
-import org.apache.isis.core.tck.dom.poly.StringableEntityWithOwnProperties;
-import org.apache.isis.core.tck.dom.poly.StringableEntityWithOwnProperty;
-import org.apache.isis.core.unittestsupport.files.Files;
-import org.apache.isis.core.unittestsupport.files.Files.Recursion;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestCommonBase;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures.State;
-
-/**
- * @author Kevin kevin@kmz.co.za
- * 
- *         This test implementation uses the HyperSQL database engine to perform "serverless" tests of polymorphic class
- *         object creation and reloading.
- * 
- *         The sql object store thus allows your domain objects to have properties referenced via interface or
- *         superclass. Both single reference properties and property collections are supported.
- * 
- * 
- * @version $Rev$ $Date$
- */
-
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class PolymorphismTest extends SqlIntegrationTestCommonBase {
-
-    private static final String IMPL_A_STRING = "Impl A String";
-    private static final String IMPL_B_STRING = "Impl B String";
-    private static final String CHILD_1 = "Child 1";
-
-    private static StringableEntityWithOwnProperty polyIntImpA;
-    private static StringableEntityWithOwnProperties polyIntImpB;
-
-    @Override
-    public String getPropertiesFilename() {
-        return "hsql-poly.properties";
-    }
-
-    @BeforeClass
-    public static void deleteHsqlDbFiles() {
-        Files.deleteFilesWithPrefix("hsql-db", "poly", Recursion.DONT_RECURSE);
-    }
-
-    @Override
-    public void resetPersistenceStoreDirectlyIfRequired() {
-        getSqlIntegrationTestFixtures();
-    }
-
-    @Override
-    public String getSqlTeardownString() {
-        return "SHUTDOWN;";
-    }
-
-    // Order is important. The next three "tests" must be executed in the correct sequential order.
-    @Test
-    /**
-     * Sets up the database connection and tells the test framework to create an instance of the 
-     * Isis framework for the next "test".
-     */
-    public void test1SetupStoreAndDatabaseConnection() throws Exception {
-        testSetup();
-    }
-
-    @Before
-    public void setUpXactn() throws Exception {
-        IsisContext.getTransactionManager().startTransaction();
-    }
-
-    @After
-    public void tearDownXactn() throws Exception {
-        IsisContext.getTransactionManager().endTransaction();
-        assertThat(IsisContext.getTransactionManager().getTransaction().getState().isComplete(), is(true));
-        
-    }
-
-    @Test
-    /**
-     * Uses the database connection to drop database tables related to these tests.
-     * This forces (and exercises the ability of) the object store to re-create the tables.
-     *  
-     * Also uses factory methods within the Isis framework to create the test data,
-     * thus exercising the "create data" portion of the object store.
-     * 
-     * The Isis framework will be again be re-created in the next test unless the 
-     * object store is "in-memory" (this is required since "in-memory" has to be
-     * left alone for created data to still be present in the next test).
-     */
-    public void test2SetupDataWithDatabaseConnection() throws Exception {
-        final SqlIntegrationTestFixtures sqlIntegrationTestFixtures = getSqlIntegrationTestFixtures();
-        sqlIntegrationTestFixtures.dropTable("ISIS_SELFREFERENCINGENTITY");
-        sqlIntegrationTestFixtures.dropTable("ISIS_STRINGABLEENTITYWITHOWNPROPERTY");
-        sqlIntegrationTestFixtures.dropTable("ISIS_STRINGABLEENTITYWITHOWNPROPERTIES");
-        sqlIntegrationTestFixtures.dropTable("ISIS_STRINGBASEENTITYSUB");
-        sqlIntegrationTestFixtures.dropTable("ISIS_STRINGBASEENTITYSUBTWO");
-        sqlIntegrationTestFixtures.dropTable("ISIS_STRINGBASEENTITYSUBTHREE");
-        sqlIntegrationTestFixtures.dropTable("ISIS_REFERENCINGPOLYTYPESENTITY");
-        sqlIntegrationTestFixtures.dropTable("ISIS_STRINGBASEENTITY");
-        sqlIntegrationTestFixtures.dropTable("ISIS_STRINGABLE");
-
-        final ReferencingPolyTypesEntity referencingPolyTypesEntity = factory.newPolyTestClass();
-        referencingPolyTypesEntity.setString("polyTestClassString");
-
-        // Setup self-referencing collection
-        final SelfReferencingEntity polySelfRefClassParent = factory.newPolySelfRefClass();
-        polySelfRefClassParent.setString("Parent");
-
-        final SelfReferencingEntity polySelfRefClassChild1 = factory.newPolySelfRefClass();
-        polySelfRefClassChild1.setString(CHILD_1);
-        polySelfRefClassParent.addToPolySelfRefClasses(polySelfRefClassChild1);
-
-        final SelfReferencingEntity polySelfRefClassChild2 = factory.newPolySelfRefClass();
-        polySelfRefClassChild2.setString("Child 2");
-        polySelfRefClassParent.addToPolySelfRefClasses(polySelfRefClassChild2);
-        factory.save(polySelfRefClassChild2);
-
-        final SelfReferencingEntity polySelfRefClassChild3 = factory.newPolySelfRefClass();
-        polySelfRefClassChild3.setString("Child 1 of Child 1");
-        polySelfRefClassChild1.addToPolySelfRefClasses(polySelfRefClassChild3);
-
-        factory.save(polySelfRefClassChild3);
-        factory.save(polySelfRefClassChild1);
-
-        factory.save(polySelfRefClassParent);
-        referencingPolyTypesEntity.setPolySelfRefClass(polySelfRefClassParent);
-
-        // polyTestClass.setPolyTestInterface(polyTestClass);
-
-        polyIntImpA = factory.newPolyInterfaceImplA();
-        polyIntImpA.setString(IMPL_A_STRING);
-        polyIntImpA.setSpecial("special");
-        factory.save(polyIntImpA);
-
-        referencingPolyTypesEntity.setPolyInterfaceType(polyIntImpA);
-        referencingPolyTypesEntity.getPolyInterfaces().add(polyIntImpA);
-
-        // setup the polyTestClass
-        final StringBaseEntitySub stringBaseEntitySub = factory.newPolySubClassOne();
-        stringBaseEntitySub.setStringBase("PolySubClassOne 1");
-        stringBaseEntitySub.setStringClassOne("Class 1");
-
-        final StringBaseEntitySubTwo stringBaseEntitySubTwo = factory.newPolySubClassTwo();
-        stringBaseEntitySubTwo.setStringBase("PolySubClassTwo 1");
-        stringBaseEntitySubTwo.setStringClassTwo("Class 2");
-
-        final StringBaseEntitySubThree stringBaseEntitySubThree = factory.newPolySubClassThree();
-        stringBaseEntitySubThree.setStringBase("PolySubClassThree 1");
-        stringBaseEntitySubThree.setStringClassThree("Another String");
-        stringBaseEntitySubThree.setStringClassTwo("Class 3");
-
-        referencingPolyTypesEntity.getPolyBaseClasses().add(stringBaseEntitySub);
-        referencingPolyTypesEntity.getPolyBaseClasses().add(stringBaseEntitySubTwo);
-        referencingPolyTypesEntity.getPolyBaseClasses().add(stringBaseEntitySubThree);
-
-        factory.save(stringBaseEntitySub);
-        factory.save(stringBaseEntitySubTwo);
-        factory.save(stringBaseEntitySubThree);
-
-        // store it and step the state engine
-        factory.save(referencingPolyTypesEntity);
-
-        setFixtureInitializationState(State.DONT_INITIALIZE, "in-memory");
-    }
-
-    /**
-     * The actual "tests". Unless the test is using the "in-memory" object store 
-     * the Isis framework is re-created, thus ensuring that no domain objects are
-     * left over from the previous "create" step, forcing the objects to be created
-     * via the object store.
-     * 
-     * Exercises the "restore data" portion of the object store.
-     * 
-     * Confirms that polymorphic classes are loaded as expected (via interface, 
-     * via super-class, etc.)
-     */
-    @Test
-    public void test3All() throws Exception {
-        load();
-
-        setUpFactory();
-
-        polymorphicLoad();
-        interfaceLoad();
-        loadSelfReferencingCollection();
-        interfaceLoadProperty();
-        interfaceLoadCollection();
-        interfaceEditSave();
-        interfaceEditLoad();
-        allInterfacesInstancesLoaded();
-        interfacesLoadedByQuery();
-        interfacesLoadedByQuerySpecial();
-        findByMatchPartialEntity();
-        cannotFindByMatchWithWrongValue();
-
-        // Must be here so that the Isis framework is initialised for the next test package.
-        setFixtureInitializationState(State.INITIALIZE);
-    }
-
-    private void load() {
-        final List<ReferencingPolyTypesEntity> dataClasses = factory.allPolyTestClasses();
-        assertEquals(1, dataClasses.size());
-        final ReferencingPolyTypesEntity referencingPolyTypesEntity = dataClasses.get(0);
-
-        getSqlIntegrationTestFixtures().setPolyTestClass(referencingPolyTypesEntity);
-
-        setFixtureInitializationState(State.DONT_INITIALIZE);
-    }
-
-    private void polymorphicLoad() {
-        final List<StringBaseEntity> polyBaseClasses = referencingPolyTypesEntity.getPolyBaseClasses();
-        assertEquals(3, polyBaseClasses.size());
-
-        StringBaseEntity polyClassBase = polyBaseClasses.get(0);
-        assertTrue(polyClassBase instanceof StringBaseEntitySub);
-        assertEquals("PolySubClassOne 1", polyClassBase.getStringBase());
-        final StringBaseEntitySub stringBaseEntitySub = (StringBaseEntitySub) polyClassBase;
-        assertEquals("Class 1", stringBaseEntitySub.getStringClassOne());
-
-        polyClassBase = polyBaseClasses.get(1);
-        assertTrue(polyClassBase instanceof StringBaseEntitySubTwo);
-        final StringBaseEntitySubTwo stringBaseEntitySubTwo = (StringBaseEntitySubTwo) polyClassBase;
-        assertEquals("Class 2", stringBaseEntitySubTwo.getStringClassTwo());
-
-        polyClassBase = polyBaseClasses.get(2);
-        assertTrue(polyClassBase instanceof StringBaseEntitySubThree);
-        final StringBaseEntitySubThree stringBaseEntitySubThree = (StringBaseEntitySubThree) polyClassBase;
-        assertEquals("Class 3", stringBaseEntitySubThree.getStringClassTwo());
-        assertEquals("Another String", stringBaseEntitySubThree.getStringClassThree());
-    }
-
-    private void interfaceLoad() {
-        final Stringable loaded = referencingPolyTypesEntity.getPolyInterfaceType();
-        factory.resolve(loaded);
-        assertEquals(polyIntImpA.getString(), loaded.getString());
-    }
-
-    private void loadSelfReferencingCollection() {
-        final SelfReferencingEntity polySelfRefParent = referencingPolyTypesEntity.getPolySelfRefClass();
-        final List<SelfReferencingEntity> list = polySelfRefParent.getPolySelfRefClasses();
-        assertEquals(2, list.size());
-
-        SelfReferencingEntity polySelfRefChild1 = null;
-        for (final SelfReferencingEntity selfReferencingEntity : list) {
-            if (selfReferencingEntity.getString().equals(CHILD_1)) {
-                polySelfRefChild1 = selfReferencingEntity;
-            }
-        }
-        assertNotNull(polySelfRefChild1);
-
-        assertEquals(CHILD_1, polySelfRefChild1.title());
-
-        List<SelfReferencingEntity> list2 = polySelfRefChild1.getPolySelfRefClasses();
-        factory.resolve(polySelfRefChild1);
-        list2 = polySelfRefChild1.getPolySelfRefClasses();
-        assertEquals(1, list2.size());
-    }
-
-    private void interfaceLoadProperty() {
-        final Stringable loaded = referencingPolyTypesEntity.getPolyInterfaceType();
-        assertEquals(polyIntImpA.getString(), loaded.getString());
-    }
-
-    private void interfaceLoadCollection() {
-        final List<Stringable> list = referencingPolyTypesEntity.getPolyInterfaces();
-
-        assertEquals(1, list.size());
-        final Stringable loaded = list.get(0);
-
-        assertEquals(polyIntImpA.getString(), loaded.getString());
-    }
-
-    private void interfaceEditSave() {
-        polyIntImpB = factory.newPolyInterfaceImplB();
-        polyIntImpB.setString(IMPL_B_STRING);
-        polyIntImpB.setSpecial("special");
-        polyIntImpB.setInteger(1);
-
-        factory.save(polyIntImpB);
-
-        referencingPolyTypesEntity.setPolyInterfaceType(polyIntImpB);
-
-        setFixtureInitializationState(State.INITIALIZE);
-    }
-
-    private void interfaceEditLoad() {
-        load(); // reload data
-
-        final Stringable loaded = referencingPolyTypesEntity.getPolyInterfaceType();
-        assertEquals(polyIntImpB.getString(), loaded.getString());
-    }
-
-    private void allInterfacesInstancesLoaded() {
-        final List<Stringable> list = factory.allPolyInterfaces();
-        assertEquals(2, list.size());
-    }
-
-    private void interfacesLoadedByQuery() {
-        // PolyInterface query = polyIntImpA;
-
-        final StringableEntityWithOwnDerivedProperty query = new StringableEntityWithOwnDerivedProperty();
-        query.setString(IMPL_A_STRING);
-
-        final List<Stringable> list = factory.queryPolyInterfaces(query);
-        assertEquals(1, list.size());
-    }
-
-    private void interfacesLoadedByQuerySpecial() {
-
-        final StringableEntityWithOwnDerivedProperty query = new StringableEntityWithOwnDerivedProperty();
-
-        final List<Stringable> list = factory.queryPolyInterfaces(query);
-        assertEquals(2, list.size());
-    }
-
-    private void findByMatchPartialEntity() {
-        final Empty match = new EmptyEntityWithOwnProperty();
-        final List<Empty> matches = factory.allEmptyInterfacesThatMatch(match);
-        assertEquals(1, matches.size());
-
-        final Empty empty = matches.get(0);
-        final StringableEntityWithOwnProperties imp = (StringableEntityWithOwnProperties) empty;
-        assertEquals(IMPL_B_STRING, imp.getString());
-    }
-
-    private void cannotFindByMatchWithWrongValue() {
-        final StringableEntityWithOwnProperties match = new StringableEntityWithOwnProperties();
-        match.setInteger(0);
-        final List<Empty> matches = factory.allEmptyInterfacesThatMatch(match);
-        assertEquals(0, matches.size());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/crosscheck/InMemoryPersistenceTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/crosscheck/InMemoryPersistenceTest.java b/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/crosscheck/InMemoryPersistenceTest.java
deleted file mode 100644
index 4885b77..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/crosscheck/InMemoryPersistenceTest.java
+++ /dev/null
@@ -1,67 +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.objectstore.sql.crosscheck;
-
-import java.util.Properties;
-
-import org.junit.FixMethodOrder;
-import org.junit.runners.MethodSorters;
-
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestData;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures.State;
-
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class InMemoryPersistenceTest extends SqlIntegrationTestData {
-
-    @Override
-    public Properties getProperties() {
-        final Properties properties = new Properties();
-        properties.put("isis.persistor", "in-memory");
-        properties.put("isis.logging.objectstore", "off");
-        return properties;
-    }
-
-    @Override
-    protected void testSetup() {
-        resetPersistenceStoreDirectlyIfRequired();
-        SqlIntegrationTestFixtures.recreate();
-        try {
-            SqlIntegrationTestFixtures.getInstance().initSystem(getProperties());
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        getSqlIntegrationTestFixtures().setState(State.INITIALIZE);
-    }
-
-    @Override
-    public String getPropertiesFilename() {
-        return "inmemory.properties";
-    }
-
-    @Override
-    public String getSqlTeardownString() {
-        return "SHUTDOWN;";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/crosscheck/XmlPersistenceTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/crosscheck/XmlPersistenceTest.java b/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/crosscheck/XmlPersistenceTest.java
deleted file mode 100644
index 1916a95..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-common/src/test/java/org/apache/isis/objectstore/sql/crosscheck/XmlPersistenceTest.java
+++ /dev/null
@@ -1,65 +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.objectstore.sql.crosscheck;
-
-import java.util.Properties;
-
-import org.apache.isis.core.unittestsupport.files.Files;
-import org.apache.isis.core.unittestsupport.files.Files.Recursion;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestData;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures;
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestFixtures.State;
-
-public class XmlPersistenceTest extends SqlIntegrationTestData {
-
-    @Override
-    public void resetPersistenceStoreDirectlyIfRequired() {
-        Files.deleteFiles("xml/objects", ".xml", Recursion.DO_RECURSE);
-    }
-
-    @Override
-    protected void testSetup() {
-        resetPersistenceStoreDirectlyIfRequired();
-        SqlIntegrationTestFixtures.recreate();
-        try {
-            SqlIntegrationTestFixtures.getInstance().initSystem(getProperties());
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        getSqlIntegrationTestFixtures().setState(State.INITIALIZE);
-    }
-
-    @Override
-    public Properties getProperties() {
-        final Properties properties = new Properties();
-        properties.put("isis.persistor", "xml");
-        properties.put("isis.logging.objectstore", "off");
-        return properties;
-    }
-
-    @Override
-    public String getPropertiesFilename() {
-        return "xml.properties";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/pom.xml b/mothballed/component/objectstore/sql/sql-tests-served/pom.xml
deleted file mode 100644
index 1fc1aef..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/pom.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.objectstore</groupId>
-        <artifactId>isis-objectstore-sql</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>isis-objectstore-sql-tests-served</artifactId>
-
-    <name>Isis SQL ObjectStore Integration Tests - Served</name>
-
-    <properties>
-	    <siteBaseDir>..</siteBaseDir>
-		<relativeUrl>sql-tests-served/</relativeUrl>
-
-        <postgresql.version>9.2-1002.jdbc4</postgresql.version>
-        <mysql.version>5.1.25</mysql.version>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <description>Runs the common tests against a few server implementations.
-Just add your server implementation to org.apache.isis.extensions.sql.objectstore</description>
-    <build>
-        <plugins>
-            <!-- TODO: currently set to ignore test failures -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <testFailureIgnore>true</testFailureIgnore>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-				<version>${maven-project-info-reports-plugin}</version>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependency-management</report>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencyManagement>
-        <dependencies>
-			<!-- SQL integration tests common -->
-            <dependency>
-				<groupId>${project.groupId}</groupId>
-                <artifactId>isis-objectstore-sql-tests-common</artifactId>
-				<version>${project.version}</version>
-            </dependency>
-
-            <!-- JDBC drivers -->
-            <dependency>
-                <groupId>postgresql</groupId>
-                <artifactId>postgresql</artifactId>
-                <version>${postgresql.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>mysql</groupId>
-                <artifactId>mysql-connector-java</artifactId>
-                <version>${mysql.version}</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-        </dependency>
-        <!--  Required for TestProxy -->
-		<!-- Isis defaults -->
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-objectstore</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-        	<groupId>org.apache.isis.core</groupId>
-        	<artifactId>isis-core-bytecode-cglib</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-
-		<!-- Isis Object store -->
-        <dependency>
-		<groupId>${project.groupId}</groupId>
-            <artifactId>isis-objectstore-sql-impl</artifactId>
-        </dependency>
-
-		<!-- Test common -->
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>isis-objectstore-sql-tests-common</artifactId>
-        </dependency>
-		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>isis-objectstore-sql-tests-common</artifactId>
-            <type>test-jar</type>
-        	<scope>test</scope>
-		</dependency>
-
-
-        <!-- Required to support the implemented servers -->
-        <dependency>
-            <groupId>postgresql</groupId>
-            <artifactId>postgresql</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-        </dependency>
-    </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/main/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/main/resources/log4j.properties b/mothballed/component/objectstore/sql/sql-tests-served/src/main/resources/log4j.properties
deleted file mode 100644
index bcafd74..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,39 +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.
-# apache's log4j is used to provide system logging.
-log4j.rootCategory=DEBUG, Console, File
-#log4j.rootCategory=INFO, Console, File
-
-
-# The console appender
-log4j.appender.Console=org.apache.log4j.ConsoleAppender
-log4j.appender.Console.target=System.out
-log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
-
-
-log4j.appender.File=org.apache.log4j.RollingFileAppender
-log4j.appender.File.file=isis.log
-log4j.appender.File.append=false
-#log4j.appender.File.maxFileSize=500KB
-#log4j.appender.File.maxBackupIndex=1
-log4j.appender.File.layout=org.apache.log4j.PatternLayout
-log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n
-
-
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/site/apt/index.apt b/mothballed/component/objectstore/sql/sql-tests-served/src/site/apt/index.apt
deleted file mode 100644
index 1668418..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/site/apt/index.apt
+++ /dev/null
@@ -1,29 +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.
-
-
-
-SQL ObjectStore Integration Tests
-  
-  This module runs tests against a few common database servers.
-
-  It will need to be configured for your server environment.
-
-Further Info
-  
- See this module's {{{./apidocs/index.html}Javadoc}} and {{{../docbkx/html/guide/isis-sql-objectstore.html}User Guide}} for more information.
-

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/site/apt/jottings.apt b/mothballed/component/objectstore/sql/sql-tests-served/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/site/site.xml b/mothballed/component/objectstore/sql/sql-tests-served/src/site/site.xml
deleted file mode 100644
index 521d3ce..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/site/site.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-    <body>
-        <breadcrumbs>
-            <item name="Integration Tests"  href="index.html"/>
-        </breadcrumbs>
-
-        <menu name="SQL ObjectStore Tests">
-            <item name="About" href="index.html" />
-        </menu>
-
-        <menu name="SQL OS Modules">
-            <item name="Implementation" href="../sql-impl/index.html" />
-            <item name="Common Tests" href="../sql-tests-common/index.html" />
-            <item name="Integration Tests" href="../sql-tests-served/index.html" />
-        </menu>
-
-        <menu name="Maven Reports" ref="reports" />
-    </body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/db2.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/db2.properties b/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/db2.properties
deleted file mode 100644
index 4e5195d..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/db2.properties
+++ /dev/null
@@ -1,27 +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.
-
-
-
-# Sample configuration
-# Edit this file with your server and authentication details.
-
-# DB2 test
-isis.persistence.sql.jdbc.driver=com.ibm.db2.jcc.DB2Driver
-isis.persistence.sql.jdbc.connection=jdbc:db2://gtd-dev:50000/proddb
-isis.persistence.sql.jdbc.user=db2admin
-isis.persistence.sql.jdbc.password=db2srvtest

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/mssqlserver.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/mssqlserver.properties b/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/mssqlserver.properties
deleted file mode 100644
index b1db3b7..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/mssqlserver.properties
+++ /dev/null
@@ -1,32 +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.
-
-
-
-# Sample configuration
-# Edit this file with your server and authentication details.
-
-
-# SQL Server
-#isis.persistence.sql.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
-#isis.persistence.sql.jdbc.connection=jdbc:sqlserver://SPRSRMS21;databaseName=AnalyticalData
-
-isis.persistence.sql.jdbc.driver=net.sourceforge.jtds.jdbc.Driver
-isis.persistence.sql.jdbc.connection=jdbc:jtds:sqlserver://SPRSRMS21;databaseName=AnalyticalData
-
-isis.persistence.sql.jdbc.user=grip
-isis.persistence.sql.jdbc.password=grip

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/mysql.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/mysql.properties b/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/mysql.properties
deleted file mode 100644
index 117c681..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/mysql.properties
+++ /dev/null
@@ -1,29 +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.
-
-
-# Sample configuration
-# Edit this file with your server and authentication details.
-#
-# If this file exists, it overrides the MySqlTest#getProperties() method
-isis.persistor.sql.jdbc.driver=com.mysql.jdbc.Driver
-isis.persistor.sql.jdbc.connection=jdbc:mysql://abacus/noftest?useTimezone=false
-#true&serverTimezone=GMT
-isis.persistor.sql.jdbc.user=nof
-isis.persistor.sql.jdbc.password=
-
-isis.persistor.sql.datatypes.double=DOUBLE PRECISION
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/postgresql.properties
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/postgresql.properties b/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/postgresql.properties
deleted file mode 100644
index b9fccfb..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/test/config/postgresql.properties
+++ /dev/null
@@ -1,29 +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.
-
-
-# Sample configuration
-# Edit this file with your server and authentication details.
-# If this file exists, it overrides the PostreSqlTest#getProperties() method
-isis.persistor.sql.jdbc.driver=org.postgresql.Driver
-isis.persistor.sql.jdbc.connection=jdbc:postgresql://abacus/noftest
-isis.persistor.sql.jdbc.user=nof
-isis.persistor.sql.jdbc.password=
-
-isis.persistor.sql.datatypes.timestamp=TIMESTAMP
-isis.persistor.sql.datatypes.datetime=TIMESTAMP
-isis.persistor.sql.datatypes.double=DOUBLE PRECISION
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/test/java/org/apache/isis/objectstore/sql/MySqlIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/test/java/org/apache/isis/objectstore/sql/MySqlIntegrationTest.java b/mothballed/component/objectstore/sql/sql-tests-served/src/test/java/org/apache/isis/objectstore/sql/MySqlIntegrationTest.java
deleted file mode 100644
index 25e838a..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/test/java/org/apache/isis/objectstore/sql/MySqlIntegrationTest.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.objectstore.sql;
-
-import java.util.Properties;
-
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestData;
-
-public class MySqlIntegrationTest extends SqlIntegrationTestData {
-
-    /**/
-    @Override
-    public Properties getProperties() {
-        Properties properties = super.getProperties();
-        if (properties == null) {
-            // Only used if *sql.properties is not found
-            properties = new Properties();
-            properties.put(SqlObjectStore.BASE_NAME + ".jdbc.driver", "com.mysql.jdbc.Driver");
-            // properties.put(SqlObjectStore.BASE_NAME + ".jdbc.connection",
-            // "jdbc:mysql://abacus/noftest&useTimezone=true&serverTimezone=GMT");
-            properties.put(SqlObjectStore.BASE_NAME + ".jdbc.connection", "jdbc:mysql://abacus/noftest&useLegacyDatetimeCode=false");
-            properties.put(SqlObjectStore.BASE_NAME + ".jdbc.user", "nof");
-            properties.put(SqlObjectStore.BASE_NAME + ".jdbc.jdbc.password", "");
-        }
-        return properties;
-    }
-
-    /**/
-
-    @Override
-    public String getPropertiesFilename() {
-        return "mysql.properties";
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/sql-tests-served/src/test/java/org/apache/isis/objectstore/sql/PostgreSqlIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/sql-tests-served/src/test/java/org/apache/isis/objectstore/sql/PostgreSqlIntegrationTest.java b/mothballed/component/objectstore/sql/sql-tests-served/src/test/java/org/apache/isis/objectstore/sql/PostgreSqlIntegrationTest.java
deleted file mode 100644
index b3ca865..0000000
--- a/mothballed/component/objectstore/sql/sql-tests-served/src/test/java/org/apache/isis/objectstore/sql/PostgreSqlIntegrationTest.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.objectstore.sql;
-
-import java.util.Properties;
-
-import org.apache.isis.objectstore.sql.common.SqlIntegrationTestData;
-
-public class PostgreSqlIntegrationTest extends SqlIntegrationTestData {
-
-    @Override
-    public Properties getProperties() {
-        Properties properties = super.getProperties();
-        if (properties == null) {
-            properties = new Properties();
-            // Only used if src/test/config/postgresql.properties does not
-            // exist.
-            properties.put(SqlObjectStore.BASE_NAME + ".jdbc.driver", "org.postgresql.Driver");
-            properties.put(SqlObjectStore.BASE_NAME + ".jdbc.connection", "jdbc:postgresql://abacus/noftest");
-            properties.put(SqlObjectStore.BASE_NAME + ".jdbc.user", "nof");
-            properties.put(SqlObjectStore.BASE_NAME + ".jdbc.password", "");
-
-            // properties.put(SqlObjectStore.BASE_NAME + ".datatypes.timestamp",
-            // "TIMESTAMP");
-            // properties.put(SqlObjectStore.BASE_NAME + ".datatypes.datetime",
-            // "TIMESTAMP");
-        }
-        return properties;
-    }
-
-    @Override
-    public String getPropertiesFilename() {
-        return "postgresql.properties";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/src/main/appended-resources/supplemental-models.xml b/mothballed/component/objectstore/sql/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/mothballed/component/objectstore/sql/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
-                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                        xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
-  <supplement>
-    <project>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-      <version>1.0</version>
-      <licenses>
-          <license>
-              <name>Public Domain</name>
-          </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-   	<!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
-    <project>
-		<groupId>org.datanucleus</groupId>
-	    <artifactId>datanucleus-jodatime</artifactId>
-	    <version>3.1.1</version>
-          <licenses>
-			<license>
-	            <name>The Apache Software License, Version 2.0</name>
-	            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-	        </license>
-	    </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>org.scannotation</groupId>
-      <artifactId>scannotation</artifactId>
-      <version>1.0.3</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-    
-  <supplement>
-    <project>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-      <version>1.6.1</version>
-      <licenses>
-        <license>
-            <name>BSD License</name>
-            <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
-  <supplement>
-    <project>
-      <groupId>net.jcip</groupId>
-      <artifactId>jcip-annotations</artifactId>
-      <version>1.0</version>
-      <licenses>
-        <license>
-            <name>Creative Commons Attribution 2.5 License</name>
-            <url>http://creativecommons.org/licenses/by/2.5/</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  
-
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.0</version>
-      <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>          
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-
- 
-</supplementalDataModels>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/src/site/apt/index.apt b/mothballed/component/objectstore/sql/src/site/apt/index.apt
deleted file mode 100644
index fa4323b..0000000
--- a/mothballed/component/objectstore/sql/src/site/apt/index.apt
+++ /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.
-
-
-
-SQL ObjectStore
-
- The <sql> object store module provides the ability to persist 
- domain objects into an RDBMS.  It has no external dependencies, 
- using simply JDBC.
-
- For more information, see the 
- {{{./sql-impl/index.html}Implementation}}, 
- {{{./sql-tests-common/index.html}Common Tests}} and 
- {{{./sql-tests-served/index.html}Served Tests}}
- documentation.
- 
- 
-Alternatives
-
-  Alternatives include:
-  
-  * the {{{../dflt/index.html}dflt}} in-memory object store (for prototyping only)
-
-  * the {{{../xml/index.html}XML}} object store
-
-  * the {{{../nosql/index.html}NoSQL}} object store
-
- []
- 
- Another more sophisticated but also more complex alternative has been implemented
- using JPA.  However, this is currently not part of Isis because it has a
- dependency on Hibernate (not compatible with the Apache license).  One
- option under consideration is to port JPA object store to use OpenJPA. 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/src/site/apt/jottings.apt b/mothballed/component/objectstore/sql/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/mothballed/component/objectstore/sql/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/sql/src/site/site.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/sql/src/site/site.xml b/mothballed/component/objectstore/sql/src/site/site.xml
deleted file mode 100644
index f3e4146..0000000
--- a/mothballed/component/objectstore/sql/src/site/site.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project>
-
-	<body>
-		<breadcrumbs>
-			<item name="SQL" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="SQL Objectstore">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-
-        <menu name="Objectstore Modules">
-            <item name="Default (in-mem)" href="../dflt/index.html" />
-            <item name="XML" href="../xml/index.html" />
-            <item name="SQL" href="../sql/index.html" />
-            <item name="NoSQL" href="../nosql/index.html" />
-        </menu>
-
-        <menu name="SQL OS Modules">
-            <item name="Implementation" href="./sql-impl/index.html" />
-            <item name="Tests" href="./sql-tests-common/index.html" />
-            <item name="Integration Tests" href="./sql-tests-served/index.html" />
-        </menu>
-
-		<menu name="Documentation">
-			<item name="${docbkxGuideTitle} (PDF)" href="docbkx/pdf/${docbkxGuideName}.pdf" />
-			<item name="${docbkxGuideTitle} (HTML)" href="docbkx/html/guide/${docbkxGuideName}.html" />
-		</menu>
-
-        <menu name="Maven Reports" ref="reports" />
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/objectstore/xml/NOTICE
----------------------------------------------------------------------
diff --git a/mothballed/component/objectstore/xml/NOTICE b/mothballed/component/objectstore/xml/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/mothballed/component/objectstore/xml/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-


[14/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractView.java
deleted file mode 100644
index b04dc0a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractView.java
+++ /dev/null
@@ -1,988 +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.dnd.view.base;
-
-import java.util.Enumeration;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.ConsentAbstract;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.util.ViewerException;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Feedback;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UndoStack;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewDrag;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.Viewer;
-import org.apache.isis.viewer.dnd.view.Workspace;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.collection.RootCollection;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.content.RootObject;
-import org.apache.isis.viewer.dnd.view.option.OpenViewOption;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public abstract class AbstractView implements View {
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractView.class);
-
-    private static int nextId = 0;
-    private int id = 0;
-    private View parent;
-    private View viewRoot;
-    private ViewSpecification specification;
-    private Content content;
-    private final ViewState state;
-    private int x;
-    private int y;
-    private int height;
-    private int width;
-
-    protected AbstractView(final Content content) {
-        this(content, null);
-    }
-
-    protected AbstractView(final Content content, final ViewSpecification specification) {
-        if (content == null) {
-            throw new IllegalArgumentException("Content not specified");
-        }
-        assignId();
-        this.content = content;
-        this.specification = specification;
-        state = new ViewState();
-        viewRoot = this;
-    }
-
-    @Override
-    public void addView(final View view) {
-        throw new IsisException("Can't add views to " + this);
-    }
-
-    protected void assignId() {
-        id = nextId++;
-    }
-
-    @Override
-    public Consent canChangeValue() {
-        return Veto.DEFAULT;
-    }
-
-    @Override
-    public boolean canFocus() {
-        return true;
-    }
-
-    @Override
-    public boolean contains(final View view) {
-        final View[] subviews = getSubviews();
-        for (final View subview : subviews) {
-            if (subview == view || (subview != null && subview.contains(view))) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public boolean containsFocus() {
-        if (hasFocus()) {
-            return true;
-        }
-
-        final View[] subviews = getSubviews();
-        for (final View subview : subviews) {
-            if (subview != null && subview.containsFocus()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet options) {
-        options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_CONTENT));
-
-        final Content content = getContent();
-        if (content != null) {
-            content.contentMenuOptions(options);
-        }
-    }
-
-    /**
-     * Returns debug details about this view.
-     */
-    @Override
-    public void debug(final DebugBuilder debug) {
-        final String name = getClass().getName();
-        debug.appendln("Root: " + name.substring(name.lastIndexOf('.') + 1) + getId());
-        debug.indent();
-        debug.appendln("required size", getRequiredSize(Size.createMax()));
-        debug.appendln("given size", getSize());
-        debug.appendln("padding", getPadding());
-        debug.appendln("base line", getBaseline());
-        debug.unindent();
-        debug.appendln();
-
-        debug.appendTitle("Specification");
-        if (specification == null) {
-            debug.append("\none");
-        } else {
-            debug.appendln(specification.getName());
-            debug.appendln("  " + specification.getClass().getName());
-            debug.appendln("  " + (specification.isOpen() ? "open" : "closed"));
-            debug.appendln("  " + (specification.isReplaceable() ? "replaceable" : "non-replaceable"));
-            debug.appendln("  " + (specification.isSubView() ? "subview" : "main view"));
-        }
-
-        debug.appendln();
-        debug.appendTitle("View");
-
-        debug.appendln("Self", getView());
-        debug.appendln("Parent's size", getParent() == null ? new Size() : getParent().getSize());
-        debug.appendln("Size w/in parent", getView().getRequiredSize(getParent() == null ? new Size() : getParent().getSize()));
-        debug.appendln("Location w/in parent", getView().getLocation());
-        debug.appendln("Changable", canChangeValue());
-        debug.appendln("Focus", (canFocus() ? "focusable" : "non-focusable"));
-        debug.appendln("Has focus", hasFocus());
-        debug.appendln("Contains focus", containsFocus());
-        debug.appendln("Focus manager", getFocusManager());
-        debug.appendln("State", getState());
-        debug.appendln("Axes", getViewAxes());
-        appendDebug(debug);
-
-        debug.appendln("Workspace", getWorkspace());
-
-        View p = getParent();
-        debug.appendln("Parent hierarchy:" + (p == null ? "none" : ""));
-        debug.indent();
-        while (p != null) {
-            debug.appendln(p.toString());
-            p = p.getParent();
-        }
-        debug.unindent();
-
-        debug.appendln();
-        debug.appendln();
-        debug.appendln();
-
-        debug.appendTitle("View structure");
-        // b.appendln("Built", (buildInvalid ? "no" : "yes") + ", " + buildCount
-        // + " builds");
-        // b.appendln("Laid out", (layoutInvalid ? "no" : "yes") + ", " +
-        // layoutCount + " layouts");
-
-        debug.appendln(getSpecification().getName().toUpperCase());
-        debugStructure(debug);
-    }
-
-    protected void appendDebug(final DebugBuilder debug) {
-    }
-
-    @Override
-    public void debugStructure(final DebugBuilder b) {
-        b.appendln("Content", getContent() == null ? "none" : getContent());
-        b.appendln("Required size ", getRequiredSize(Size.createMax()));
-        b.appendln("Bounds", getBounds());
-        b.appendln("Baseline", getBaseline());
-        b.appendln("Location", getAbsoluteLocation());
-        final View views[] = getSubviews();
-        b.indent();
-        for (final View subview : views) {
-            b.appendln();
-            final ViewSpecification spec = subview.getSpecification();
-            b.appendln(spec == null ? "none" : spec.getName().toUpperCase());
-            b.appendln("View", subview);
-            subview.debugStructure(b);
-        }
-        b.unindent();
-    }
-
-    @Override
-    public void dispose() {
-        final View parent = getParent();
-        if (parent != null) {
-            parent.removeView(getView());
-        }
-    }
-
-    @Override
-    public void drag(final InternalDrag drag) {
-    }
-
-    @Override
-    public void drag(final ContentDrag contentDrag) {
-    }
-
-    @Override
-    public void drag(final ViewDrag drag) {
-        getViewManager().getSpy().addTrace(this, "view drag", drag);
-    }
-
-    @Override
-    public void dragCancel(final InternalDrag drag) {
-        getFeedbackManager().showDefaultCursor();
-    }
-
-    @Override
-    public View dragFrom(final Location location) {
-        final View subview = subviewFor(location);
-        if (subview != null) {
-            location.subtract(subview.getLocation());
-            return subview.dragFrom(location);
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        final View subview = subviewFor(drag.getLocation());
-        if (subview != null) {
-            drag.subtract(subview.getLocation());
-            return subview.dragStart(drag);
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public void dragTo(final InternalDrag drag) {
-    }
-
-    /**
-     * Clears the background of this view to the given color (call from the
-     * {@link #draw(Canvas)} method.
-     */
-    protected void clearBackground(final Canvas canvas, final Color color) {
-        final Bounds bounds = getBounds();
-        canvas.drawSolidRectangle(0, 0, bounds.getWidth(), bounds.getHeight(), color);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        if (Toolkit.debug) {
-            canvas.drawDebugOutline(new Bounds(getSize()), getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_VIEW));
-        }
-    }
-
-    @Override
-    public void drop(final ContentDrag drag) {
-    }
-
-    /**
-     * No default behaviour, views can only be dropped on workspace
-     */
-    @Override
-    public void drop(final ViewDrag drag) {
-        getParent().drop(drag);
-    }
-
-    @Override
-    public void editComplete(final boolean moveFocus, final boolean toNextField) {
-    }
-
-    @Override
-    public void entered() {
-        final Content cont = getContent();
-        if (cont != null) {
-            final String description = cont.getDescription();
-            if (description != null && !"".equals(description)) {
-                getFeedbackManager().setViewDetail(description);
-            }
-        }
-    }
-
-    @Override
-    public void exited() {
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final View subview = subviewFor(click.getLocation());
-        if (subview != null) {
-            click.subtract(subview.getLocation());
-            subview.firstClick(click);
-        }
-    }
-
-    @Override
-    public void focusLost() {
-    }
-
-    @Override
-    public void focusReceived() {
-    }
-
-    @Override
-    public Location getAbsoluteLocation() {
-        final View parent = getParent();
-        if (parent == null) {
-            return getLocation();
-        } else {
-            final Location location = parent.getAbsoluteLocation();
-            getViewManager().getSpy().addTrace(this, "parent location", location);
-            location.add(x, y);
-            getViewManager().getSpy().addTrace(this, "plus view's location", location);
-            final Padding pad = parent.getPadding();
-            location.add(pad.getLeft(), pad.getTop());
-            getViewManager().getSpy().addTrace(this, "plus view's padding", location);
-            return location;
-        }
-    }
-
-    @Override
-    public int getBaseline() {
-        return 0;
-    }
-
-    @Override
-    public Bounds getBounds() {
-        return new Bounds(x, y, width, height);
-    }
-
-    @Override
-    public Content getContent() {
-        return content;
-    }
-
-    @Override
-    public FocusManager getFocusManager() {
-        return getParent() == null ? null : getParent().getFocusManager();
-    }
-
-    @Override
-    public int getId() {
-        return id;
-    }
-
-    @Override
-    public Location getLocation() {
-        return new Location(x, y);
-    }
-
-    @Override
-    public Padding getPadding() {
-        return new Padding(0, 0, 0, 0);
-    }
-
-    @Override
-    public final View getParent() {
-        // Assert.assertEquals(parent == null ? null : parent.getView(),
-        // parent);
-        // return parent;
-
-        return parent == null ? null : parent.getView();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        return new Size(maximumSize);
-    }
-
-    @Override
-    public Size getSize() {
-        return new Size(width, height);
-    }
-
-    @Override
-    public ViewSpecification getSpecification() {
-        if (specification == null) {
-            specification = new NonBuildingSpecification(this);
-        }
-        return specification;
-    }
-
-    @Override
-    public ViewState getState() {
-        return state;
-    }
-
-    @Override
-    public View[] getSubviews() {
-        return new View[0];
-    }
-
-    @Override
-    public final View getView() {
-        return viewRoot;
-    }
-
-    @Override
-    public Axes getViewAxes() {
-        return new Axes();
-    }
-
-    @Override
-    public Viewer getViewManager() {
-        return Toolkit.getViewer();
-    }
-
-    @Override
-    public Feedback getFeedbackManager() {
-        return Toolkit.getFeedbackManager();
-    }
-
-    @Override
-    public Workspace getWorkspace() {
-        return getParent() == null ? null : getParent().getWorkspace();
-    }
-
-    @Override
-    public boolean hasFocus() {
-        return getViewManager().hasFocus(getView());
-    }
-
-    @Override
-    public View identify(final Location location) {
-        final View subview = subviewFor(location);
-        if (subview == null) {
-            getViewManager().getSpy().addTrace(this, "mouse location within node view", location);
-            getViewManager().getSpy().addTrace("----");
-            return getView();
-        } else {
-            location.subtract(subview.getLocation());
-            return subview.identify(location);
-        }
-    }
-
-    @Override
-    public void invalidateContent() {
-    }
-
-    @Override
-    public void invalidateLayout() {
-        final View parent = getParent();
-        if (parent != null) {
-            parent.invalidateLayout();
-        }
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-    }
-
-    @Override
-    public void keyReleased(final KeyboardAction action) {
-    }
-
-    @Override
-    public void keyTyped(final KeyboardAction action) {
-    }
-
-    @Override
-    public void layout() {
-    }
-
-    /**
-     * Limits the bounds of the this view (when being moved or dropped) so it
-     * never extends outside the specified bounds e.g. outside of a parent view
-     */
-    public void limitBoundsWithin(final Bounds containerBounds) {
-        final Bounds contentBounds = getView().getBounds();
-        if (containerBounds.limitBounds(contentBounds)) {
-            getView().setBounds(contentBounds);
-        }
-    }
-
-    @Override
-    public void limitBoundsWithin(final Size size) {
-        final int w = getView().getSize().getWidth();
-        final int h = getView().getSize().getHeight();
-
-        int x = getView().getLocation().getX();
-        int y = getView().getLocation().getY();
-
-        if (x + w > size.getWidth()) {
-            x = size.getWidth() - w;
-        }
-        if (x < 0) {
-            x = 0;
-        }
-
-        if (y + h > size.getHeight()) {
-            y = size.getHeight() - h;
-        }
-        if (y < 0) {
-            y = 0;
-        }
-
-        getView().setLocation(new Location(x, y));
-    }
-
-    @Override
-    public void markDamaged() {
-        markDamaged(getView().getBounds());
-    }
-
-    @Override
-    public void markDamaged(final Bounds bounds) {
-        final View parent = getParent();
-        if (parent == null) {
-            getViewManager().markDamaged(bounds);
-        } else {
-            final Location pos = parent.getLocation();
-            bounds.translate(pos.getX(), pos.getY());
-            final Padding pad = parent.getPadding();
-            bounds.translate(pad.getLeft(), pad.getTop());
-            parent.markDamaged(bounds);
-        }
-    }
-
-    @Override
-    public void mouseDown(final Click click) {
-        final View subview = subviewFor(click.getLocation());
-        if (subview != null) {
-            click.subtract(subview.getLocation());
-            subview.mouseDown(click);
-        }
-    }
-
-    @Override
-    public void mouseMoved(final Location location) {
-        final View subview = subviewFor(location);
-        if (subview != null) {
-            location.subtract(subview.getLocation());
-            subview.mouseMoved(location);
-        }
-    }
-
-    @Override
-    public void mouseUp(final Click click) {
-        final View subview = subviewFor(click.getLocation());
-        if (subview != null) {
-            click.subtract(subview.getLocation());
-            subview.mouseUp(click);
-        }
-    }
-
-    @Override
-    public void objectActionResult(final ObjectAdapter result, final Placement placement) {
-        if (result != null) {
-            final CollectionFacet facet = result.getSpecification().getFacet(CollectionFacet.class);
-            ObjectAdapter objectToDisplay = result;
-            if (facet != null) {
-                if (facet.size(result) == 1) {
-                    objectToDisplay = facet.firstElement(result);
-                }
-            }
-            getWorkspace().addWindowFor(objectToDisplay, placement);
-        }
-    }
-
-    @Override
-    public View pickupContent(final Location location) {
-        final View subview = subviewFor(location);
-        if (subview != null) {
-            location.subtract(subview.getLocation());
-            return subview.pickupView(location);
-        } else {
-            return Toolkit.getViewFactory().createDragViewOutline(getView());
-        }
-    }
-
-    @Override
-    public View pickupView(final Location location) {
-        final View subview = subviewFor(location);
-        if (subview != null) {
-            location.subtract(subview.getLocation());
-            return subview.pickupView(location);
-        } else {
-            return null;
-        }
-    }
-
-    /**
-     * Delegates all printing the the draw method.
-     * 
-     * @see #draw(Canvas)
-     */
-    @Override
-    public void print(final Canvas canvas) {
-        draw(canvas);
-    }
-
-    @Override
-    public void refresh() {
-    }
-
-    @Override
-    public void removeView(final View view) {
-        throw new IsisException();
-    }
-
-    @Override
-    public void replaceView(final View toReplace, final View replacement) {
-        throw new IsisException();
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        final View subview = subviewFor(click.getLocation());
-        if (subview != null) {
-            click.subtract(subview.getLocation());
-            subview.secondClick(click);
-        }
-    }
-
-    /**
-     * Sets the location and size view the {@link #setLocation(Location)) and
-     * {@link #setSize(Size)) methods.
-     */
-    @Override
-    public void setBounds(final Bounds bounds) {
-        setLocation(bounds.getLocation());
-        setSize(bounds.getSize());
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-    }
-
-    protected void setContent(final Content content) {
-        this.content = content;
-    }
-
-    @Override
-    public void setLocation(final Location location) {
-        x = location.getX();
-        y = location.getY();
-    }
-
-    @Override
-    public final void setParent(final View parentView) {
-        LOG.debug("set parent " + parentView + " for " + this);
-        parent = parentView.getView();
-    }
-
-    public void setMaximumSize(final Size size) {
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        width = size.getWidth();
-        height = size.getHeight();
-    }
-
-    protected void setSpecification(final ViewSpecification specification) {
-        this.specification = specification;
-    }
-
-    @Override
-    public final void setView(final View view) {
-        this.viewRoot = view;
-    }
-
-    @Deprecated
-    protected void setViewAxis(final ViewAxis viewAxis) {
-        // this.viewAxis = viewAxis;
-    }
-
-    @Override
-    public View subviewFor(final Location location) {
-        return null;
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-        final View subview = subviewFor(click.getLocation());
-        if (subview != null) {
-            click.subtract(subview.getLocation());
-            subview.thirdClick(click);
-        }
-    }
-
-    @Override
-    public String toString() {
-        final String name = getClass().getName();
-        return name.substring(name.lastIndexOf('.') + 1) + getId() + ":" + getState() + ":" + getContent();
-    }
-
-    @Override
-    public void update(final ObjectAdapter object) {
-    }
-
-    @Override
-    public void updateView() {
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location location) {
-        final View subview = subviewFor(location);
-        if (subview != null) {
-            location.subtract(subview.getLocation());
-            return subview.viewAreaType(location);
-        } else {
-            return ViewAreaType.CONTENT;
-        }
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet options) {
-        options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_VIEW));
-
-        final Content content = getContent();
-        addContentMenuItems(options, content);
-        addNewViewMenuItems(options, content);
-
-        // TODO ask the viewer for the print option - provided by the underlying
-        // system
-        // options.add(new PrintOption());
-
-        addViewDebugMenuItems(options);
-
-        final UndoStack undoStack = getViewManager().getUndoStack();
-        if (!undoStack.isEmpty()) {
-            options.add(new UserActionAbstract("Undo " + undoStack.getNameOfUndo()) {
-
-                @Override
-                public Consent disabled(final View component) {
-                    return new ConsentAbstract("", undoStack.descriptionOfUndo()) {
-                        private static final long serialVersionUID = 1L;
-                    };
-                }
-
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    undoStack.undoLastCommand();
-                }
-            });
-        }
-    }
-
-    private void addViewDebugMenuItems(final UserActionSet options) {
-        options.add(new UserActionAbstract("Refresh view", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                refresh();
-            }
-        });
-
-        options.add(new UserActionAbstract("Invalidate content", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                invalidateContent();
-            }
-        });
-
-        options.add(new UserActionAbstract("Invalidate layout", ActionType.DEBUG) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                invalidateLayout();
-            }
-        });
-    }
-
-    private void addNewViewMenuItems(final UserActionSet options, final Content content) {
-        if (getContent() instanceof ObjectContent) {
-            options.add(new UserActionAbstract("Use as default view for objects", ActionType.USER) {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    Properties.setStringOption("view.object-default", getSpecification().getName());
-                    /*
-                     * Options viewOptions =
-                     * Properties.getViewConfigurationOptions
-                     * (getSpecification()); getView().saveOptions(viewOptions);
-                     */
-                }
-            });
-        }
-        if (getContent() instanceof CollectionContent) {
-            options.add(new UserActionAbstract("Use as default view for collection", ActionType.USER) {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    Properties.setStringOption("view.collection-default", getSpecification().getName());
-                    /*
-                     * Options viewOptions =
-                     * Properties.getViewConfigurationOptions
-                     * (getSpecification()); getView().saveOptions(viewOptions);
-                     */
-                }
-            });
-        }
-        if (getContent() instanceof ObjectContent && !getSpecification().isOpen()) {
-            options.add(new UserActionAbstract("Use as default view for icon", ActionType.USER) {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    Properties.setStringOption("view.icon-default", getSpecification().getName());
-                    /*
-                     * Options viewOptions =
-                     * Properties.getViewConfigurationOptions
-                     * (getSpecification()); getView().saveOptions(viewOptions);
-                     */
-                }
-            });
-        }
-
-        if (getContent() instanceof RootObject || getContent() instanceof RootCollection) {
-            options.add(new UserActionAbstract("Use as default view for " + getContent().getSpecification().getSingularName(), ActionType.USER) {
-                @Override
-                public void execute(final Workspace workspace, final View view, final Location at) {
-                    final Options viewOptions = Properties.getViewConfigurationOptions(getSpecification());
-                    getView().saveOptions(viewOptions);
-
-                    // Options viewOptions =
-                    final ObjectSpecification specification = content.getSpecification();
-                    final Options settingsOptions = Properties.getDefaultViewOptions(specification);
-                    settingsOptions.addOption("spec", getSpecification().getName());
-                }
-            });
-        }
-        /*
-         * options.add(new UserActionAbstract("Create new specification",
-         * UserAction.USER) { // TODO probably needs to be a replace with new
-         * view specification public void execute(final Workspace workspace,
-         * final View view, final Location at) { UserViewSpecification newSpec =
-         * new UserViewSpecification(getView()); Options viewOptions =
-         * Properties.getViewConfigurationOptions(newSpec);
-         * getView().saveOptions(viewOptions);
-         * 
-         * viewOptions = Properties.getUserViewSpecificationOptions(newSpec);
-         * viewOptions.addOption("wrapped-specification",
-         * getSpecification().getClass().getName());
-         * 
-         * Toolkit.getViewFactory().addSpecification(newSpec); } });
-         */
-        options.add(new UserActionAbstract("Save specification", ActionType.USER) {
-            @Override
-            public void execute(final Workspace workspace, final View view, final Location at) {
-                final Options viewOptions = Properties.getViewConfigurationOptions(getSpecification());
-                getView().saveOptions(viewOptions);
-
-                Toolkit.getViewFactory().addSpecification(getSpecification());
-            }
-        });
-        createOpenAsSubmenu(options, content);
-
-        createCreateViewSubmenu(options, content);
-    }
-
-    private void createOpenAsSubmenu(final UserActionSet options, final Content content) {
-        final ViewRequirement requirements = new ViewRequirement(content, ViewRequirement.OPEN | ViewRequirement.EXPANDABLE);
-        final Enumeration possibleViews = Toolkit.getViewFactory().availableViews(requirements);
-        if (possibleViews.hasMoreElements()) {
-            final UserActionSet submenu = options.addNewActionSet("Open as");
-            while (possibleViews.hasMoreElements()) {
-                final ViewSpecification specification = (ViewSpecification) possibleViews.nextElement();
-                final UserActionAbstract viewAs = new OpenViewOption(specification);
-                submenu.add(viewAs);
-            }
-        }
-    }
-
-    private void createCreateViewSubmenu(final UserActionSet options, final Content content) {
-        final ViewRequirement requirements = new ViewRequirement(content, ViewRequirement.OPEN);
-        final Enumeration possibleViews = Toolkit.getViewFactory().availableDesigns(requirements);
-        if (possibleViews.hasMoreElements()) {
-            final UserActionSet submenu = options.addNewActionSet("Create view from");
-            while (possibleViews.hasMoreElements()) {
-                final ViewSpecification specification = (ViewSpecification) possibleViews.nextElement();
-                final UserActionAbstract viewAs = new UserActionAbstract(specification.getName(), ActionType.USER) {
-                    @Override
-                    public void execute(final Workspace workspace, final View view, final Location at) {
-                        ViewSpecification newSpec;
-                        try {
-                            newSpec = specification.getClass().newInstance();
-                        } catch (final InstantiationException e) {
-                            throw new ViewerException(e);
-                        } catch (final IllegalAccessException e) {
-                            throw new ViewerException(e);
-                        }
-
-                        Content content = view.getContent();
-                        if (!(content instanceof FieldContent)) {
-                            content = Toolkit.getContentFactory().createRootContent(content.getAdapter());
-                        }
-                        final View newView = newSpec.createView(content, view.getViewAxes(), -1);
-                        LOG.debug("open view " + newView);
-                        workspace.addWindow(newView, new Placement(view));
-                        workspace.markDamaged();
-
-                        Options viewOptions = Properties.getViewConfigurationOptions(newSpec);
-                        newView.saveOptions(viewOptions);
-                        viewOptions = Properties.getUserViewSpecificationOptions(newSpec.getName());
-                        viewOptions.addOption("design", specification.getClass().getName());
-
-                        Toolkit.getViewFactory().addSpecification(newSpec);
-                    }
-                };
-
-                submenu.add(viewAs);
-            }
-        }
-    }
-
-    private void addContentMenuItems(final UserActionSet options, final Content content) {
-        if (content != null) {
-            content.viewMenuOptions(options);
-        }
-    }
-
-    @Override
-    public void loadOptions(final Options viewOptions) {
-    }
-
-    @Override
-    public void saveOptions(final Options viewOptions) {
-        // viewOptions.addOption("spec",
-        // getSpecification().getClass().getName());
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java
deleted file mode 100644
index 00a5670..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java
+++ /dev/null
@@ -1,505 +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.dnd.view.base;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Padding;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Feedback;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.InternalDrag;
-import org.apache.isis.viewer.dnd.view.KeyboardAction;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewDrag;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.ViewState;
-import org.apache.isis.viewer.dnd.view.Viewer;
-import org.apache.isis.viewer.dnd.view.Workspace;
-
-public abstract class AbstractViewDecorator implements View {
-    protected View wrappedView;
-
-    protected AbstractViewDecorator(final View wrappedView) {
-        this.wrappedView = wrappedView;
-        wrappedView.setView(this);
-    }
-
-    @Override
-    public void addView(final View view) {
-        wrappedView.addView(view);
-    }
-
-    @Override
-    public Consent canChangeValue() {
-        return wrappedView.canChangeValue();
-    }
-
-    @Override
-    public boolean canFocus() {
-        return wrappedView.canFocus();
-    }
-
-    @Override
-    public boolean contains(final View view) {
-        return wrappedView.contains(view);
-    }
-
-    @Override
-    public boolean containsFocus() {
-        return wrappedView.containsFocus();
-    }
-
-    @Override
-    public void contentMenuOptions(final UserActionSet menuOptions) {
-        wrappedView.contentMenuOptions(menuOptions);
-    }
-
-    @Override
-    public final void debug(final DebugBuilder debug) {
-        debug.append("Decorator: ");
-        debug.indent();
-        debugDetails(debug);
-        debug.appendln("required size", getRequiredSize(Size.createMax()));
-        debug.appendln("given size", getSize());
-        debug.appendln("padding", getPadding());
-        debug.appendln("baseline", getBaseline());
-
-        debug.appendln();
-        debug.unindent();
-        wrappedView.debug(debug);
-    }
-
-    protected void debugDetails(final DebugBuilder debug) {
-        final String name = getClass().getName();
-        debug.appendln(name.substring(name.lastIndexOf('.') + 1));
-    }
-
-    @Override
-    public void debugStructure(final DebugBuilder debug) {
-        wrappedView.debugStructure(debug);
-    }
-
-    @Override
-    public void dispose() {
-        wrappedView.dispose();
-    }
-
-    @Override
-    public void drag(final ContentDrag contentDrag) {
-        wrappedView.drag(contentDrag);
-    }
-
-    @Override
-    public void drag(final InternalDrag drag) {
-        wrappedView.drag(drag);
-    }
-
-    @Override
-    public void drag(final ViewDrag drag) {
-        wrappedView.drag(drag);
-    }
-
-    @Override
-    public void dragCancel(final InternalDrag drag) {
-        wrappedView.dragCancel(drag);
-    }
-
-    @Override
-    public View dragFrom(final Location location) {
-        return wrappedView.dragFrom(location);
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        wrappedView.dragIn(drag);
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        wrappedView.dragOut(drag);
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        return wrappedView.dragStart(drag);
-    }
-
-    @Override
-    public void dragTo(final InternalDrag drag) {
-        wrappedView.dragTo(drag);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        wrappedView.draw(canvas);
-    }
-
-    @Override
-    public void drop(final ContentDrag drag) {
-        wrappedView.drop(drag);
-    }
-
-    @Override
-    public void drop(final ViewDrag drag) {
-        wrappedView.drop(drag);
-    }
-
-    @Override
-    public void editComplete(final boolean moveFocus, final boolean toNextField) {
-        wrappedView.editComplete(moveFocus, toNextField);
-    }
-
-    @Override
-    public void entered() {
-        wrappedView.entered();
-    }
-
-    @Override
-    public void exited() {
-        wrappedView.exited();
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        wrappedView.firstClick(click);
-    }
-
-    @Override
-    public void focusLost() {
-        wrappedView.focusLost();
-    }
-
-    @Override
-    public void focusReceived() {
-        wrappedView.focusReceived();
-    }
-
-    @Override
-    public Location getAbsoluteLocation() {
-        return wrappedView.getAbsoluteLocation();
-    }
-
-    @Override
-    public int getBaseline() {
-        return wrappedView.getBaseline();
-    }
-
-    @Override
-    public Bounds getBounds() {
-        return new Bounds(getLocation(), getSize());
-    }
-
-    @Override
-    public Content getContent() {
-        return wrappedView.getContent();
-    }
-
-    @Override
-    public FocusManager getFocusManager() {
-        return wrappedView.getFocusManager();
-    }
-
-    @Override
-    public int getId() {
-        return wrappedView.getId();
-    }
-
-    @Override
-    public Location getLocation() {
-        return wrappedView.getLocation();
-    }
-
-    @Override
-    public Padding getPadding() {
-        return wrappedView.getPadding();
-    }
-
-    @Override
-    public View getParent() {
-        return wrappedView.getParent();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return wrappedView.getRequiredSize(availableSpace);
-    }
-
-    @Override
-    public Size getSize() {
-        return wrappedView.getSize();
-    }
-
-    @Override
-    public ViewSpecification getSpecification() {
-        return wrappedView.getSpecification();
-    }
-
-    @Override
-    public ViewState getState() {
-        return wrappedView.getState();
-    }
-
-    @Override
-    public View[] getSubviews() {
-        return wrappedView.getSubviews();
-    }
-
-    @Override
-    public View getView() {
-        return wrappedView.getView();
-    }
-
-    @Override
-    public Axes getViewAxes() {
-        return wrappedView.getViewAxes();
-    }
-
-    @Override
-    public Viewer getViewManager() {
-        return wrappedView.getViewManager();
-    }
-
-    @Override
-    public Feedback getFeedbackManager() {
-        return wrappedView.getFeedbackManager();
-    }
-
-    @Override
-    public Workspace getWorkspace() {
-        return wrappedView.getWorkspace();
-    }
-
-    @Override
-    public boolean hasFocus() {
-        return wrappedView.hasFocus();
-    }
-
-    @Override
-    public View identify(final Location mouseLocation) {
-        return wrappedView.identify(mouseLocation);
-    }
-
-    @Override
-    public void invalidateContent() {
-        wrappedView.invalidateContent();
-    }
-
-    @Override
-    public void invalidateLayout() {
-        wrappedView.invalidateLayout();
-    }
-
-    @Override
-    public void keyPressed(final KeyboardAction key) {
-        wrappedView.keyPressed(key);
-    }
-
-    @Override
-    public void keyReleased(final KeyboardAction action) {
-        wrappedView.keyReleased(action);
-    }
-
-    @Override
-    public void keyTyped(final KeyboardAction action) {
-        wrappedView.keyTyped(action);
-    }
-
-    @Override
-    public void layout() {
-        wrappedView.layout();
-    }
-
-    @Override
-    public void limitBoundsWithin(final Size size) {
-        wrappedView.limitBoundsWithin(size);
-    }
-
-    @Override
-    public void markDamaged() {
-        wrappedView.markDamaged();
-    }
-
-    @Override
-    public void markDamaged(final Bounds bounds) {
-        wrappedView.markDamaged(bounds);
-    }
-
-    @Override
-    public void mouseDown(final Click click) {
-        wrappedView.mouseDown(click);
-    }
-
-    @Override
-    public void mouseMoved(final Location at) {
-        wrappedView.mouseMoved(at);
-    }
-
-    @Override
-    public void mouseUp(final Click click) {
-        wrappedView.mouseUp(click);
-    }
-
-    @Override
-    public void objectActionResult(final ObjectAdapter result, final Placement placement) {
-        wrappedView.objectActionResult(result, placement);
-    }
-
-    @Override
-    public View pickupContent(final Location location) {
-        return wrappedView.pickupContent(location);
-    }
-
-    @Override
-    public View pickupView(final Location location) {
-        return wrappedView.pickupView(location);
-    }
-
-    @Override
-    public void print(final Canvas canvas) {
-        wrappedView.print(canvas);
-    }
-
-    @Override
-    public void refresh() {
-        wrappedView.refresh();
-    }
-
-    @Override
-    public void removeView(final View view) {
-        wrappedView.removeView(view);
-    }
-
-    @Override
-    public void replaceView(final View toReplace, final View replacement) {
-        wrappedView.replaceView(toReplace, replacement);
-    }
-
-    protected void replaceWrappedView(final View withReplacement) {
-        final View root = getView();
-        final View parent = getParent();
-        parent.markDamaged();
-        getViewManager().removeFromNotificationList(root);
-        for (final View view : root.getSubviews()) {
-            view.dispose();
-        }
-        wrappedView = withReplacement;
-        wrappedView.setView(root);
-        wrappedView.setParent(parent);
-        getViewManager().addToNotificationList(withReplacement);
-
-        wrappedView.invalidateContent();
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        wrappedView.secondClick(click);
-    }
-
-    @Override
-    public void setBounds(final Bounds bounds) {
-        wrappedView.setBounds(bounds);
-    }
-
-    @Override
-    public void setFocusManager(final FocusManager focusManager) {
-        wrappedView.setFocusManager(focusManager);
-    }
-
-    @Override
-    public void setLocation(final Location point) {
-        wrappedView.setLocation(point);
-    }
-
-    @Override
-    public void setParent(final View view) {
-        wrappedView.setParent(view);
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        wrappedView.setSize(size);
-    }
-
-    @Override
-    public void setView(final View view) {
-        wrappedView.setView(view);
-    }
-
-    @Override
-    public View subviewFor(final Location location) {
-        return wrappedView.subviewFor(location);
-    }
-
-    @Override
-    public void thirdClick(final Click click) {
-        wrappedView.thirdClick(click);
-    }
-
-    @Override
-    public String toString() {
-        final String name = getClass().getName();
-        return name.substring(name.lastIndexOf('.') + 1) + "/" + wrappedView;
-    }
-
-    @Override
-    public void update(final ObjectAdapter object) {
-        wrappedView.update(object);
-    }
-
-    @Override
-    public void updateView() {
-        wrappedView.updateView();
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        return wrappedView.viewAreaType(mouseLocation);
-    }
-
-    @Override
-    public void viewMenuOptions(final UserActionSet menuOptions) {
-        wrappedView.viewMenuOptions(menuOptions);
-    }
-
-    @Override
-    public void loadOptions(final Options viewOptions) {
-        wrappedView.loadOptions(viewOptions);
-    }
-
-    @Override
-    public void saveOptions(final Options viewOptions) {
-        wrappedView.saveOptions(viewOptions);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AwtImage.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AwtImage.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AwtImage.java
deleted file mode 100644
index c37a1a2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/AwtImage.java
+++ /dev/null
@@ -1,54 +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.dnd.view.base;
-
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-public class AwtImage implements Image {
-    java.awt.Image iconImage;
-
-    public AwtImage(final java.awt.Image iconImage) {
-        if (iconImage == null) {
-            throw new NullPointerException();
-        }
-
-        this.iconImage = iconImage;
-    }
-
-    @Override
-    public int getHeight() {
-        return iconImage.getHeight(null);
-    }
-
-    @Override
-    public int getWidth() {
-        return iconImage.getWidth(null);
-    }
-
-    @Override
-    public Size getSize() {
-        return new Size(getWidth(), getHeight());
-    }
-
-    public java.awt.Image getAwtImage() {
-        return iconImage;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/BlankView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/BlankView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/BlankView.java
deleted file mode 100644
index f54cc12..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/BlankView.java
+++ /dev/null
@@ -1,49 +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.dnd.view.base;
-
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-
-public class BlankView extends AbstractView {
-    private final Size size;
-
-    public BlankView() {
-        this(new NullContent());
-    }
-
-    public BlankView(final Content content) {
-        super(content);
-        size = new Size(100, 50);
-    }
-
-    public BlankView(final Content content, final Size size) {
-        super(content);
-        this.size = size;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Size requiredSize = new Size(size);
-        requiredSize.limitSize(availableSpace);
-        return requiredSize;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/DragViewOutline.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/DragViewOutline.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/DragViewOutline.java
deleted file mode 100644
index ea93795..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/DragViewOutline.java
+++ /dev/null
@@ -1,54 +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.dnd.view.base;
-
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-
-public class DragViewOutline extends AbstractView {
-    private final int thickness = 5;
-    private final Size size;
-
-    public DragViewOutline(final View view) {
-        super(view.getContent());
-        size = view.getSize();
-        setLocation(view.getAbsoluteLocation());
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final Bounds r = getBounds();
-
-        for (int i = 0; i < thickness; i++) {
-            canvas.drawRectangle(i, i, r.getWidth() - i * 2 - 1, r.getHeight() - i * 2 - 1, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY1));
-        }
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(size);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/FieldErrorView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/FieldErrorView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/FieldErrorView.java
deleted file mode 100644
index 18840eb..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/FieldErrorView.java
+++ /dev/null
@@ -1,117 +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.dnd.view.base;
-
-import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-/**
- * Displays an error message in place of a normal field when a problem occurs,
- * usually due to a programming error, and the normal field cannot be created. A
- * example of this is where value field is declared in an ObjectAdapter, but the
- * programmer forgot to instantiate the value object, causing null to be
- * returned instead, which is an illegal value.
- */
-public class FieldErrorView extends AbstractView {
-
-    private final String error;
-
-    public FieldErrorView(final String errorMessage) {
-        super(null);
-        this.error = errorMessage;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final Size size = getSize();
-        canvas.drawSolidRectangle(0, 0, size.getWidth() - 1, size.getHeight() - 1, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangle(0, 0, size.getWidth() - 1, size.getHeight() - 1, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-        canvas.drawText(error, 14, 20, Toolkit.getColor(ColorsAndFonts.COLOR_INVALID), Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-    }
-
-    @Override
-    public int getBaseline() {
-        return 20;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        return new Size(250, 30);
-    }
-
-    @Override
-    public ViewAreaType viewAreaType(final Location mouseLocation) {
-        return mouseLocation.getX() <= 10 ? ViewAreaType.VIEW : ViewAreaType.CONTENT;
-    }
-
-    public static class Specification implements ViewSpecification {
-        @Override
-        public boolean canDisplay(final ViewRequirement requirement) {
-            return true;
-        }
-
-        @Override
-        public View createView(final Content content, final Axes axes, final int sequence) {
-            throw new NotYetImplementedException();
-        }
-
-        @Override
-        public String getName() {
-            return "Field Error";
-        }
-
-        @Override
-        public boolean isAligned() {
-            return false;
-        }
-
-        @Override
-        public boolean isSubView() {
-            return false;
-        }
-
-        @Override
-        public boolean isResizeable() {
-            return false;
-        }
-
-        @Override
-        public boolean isReplaceable() {
-            return false;
-        }
-
-        @Override
-        public boolean isOpen() {
-            return false;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/IconGraphic.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/IconGraphic.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/IconGraphic.java
deleted file mode 100644
index 8e7d948..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/IconGraphic.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.dnd.view.base;
-
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-
-/*
- *  TODO why does this pass out the baseline, and then expect it back when doing the drawing?
- */
-public class IconGraphic {
-    private final int baseline;
-    protected final Content content;
-    protected Image icon;
-    protected final int iconHeight;
-    private String lastIconName;
-
-    public IconGraphic(final View view, final int height, final int baseline) {
-        content = view.getContent();
-        iconHeight = height;
-        this.baseline = baseline;
-    }
-
-    public IconGraphic(final View view, final int height) {
-        content = view.getContent();
-        iconHeight = height;
-        baseline = height * 80 / 100;
-    }
-
-    public IconGraphic(final View view, final Text style) {
-        content = view.getContent();
-        iconHeight = style.getTextHeight();
-        this.baseline = style.getAscent();
-    }
-
-    public void draw(final Canvas canvas, final int x, final int baseline) {
-        final int y = baseline - this.baseline + 1;
-        if (Toolkit.debug) {
-            canvas.drawDebugOutline(new Bounds(new Location(x, y), getSize()), getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_DRAW));
-        }
-        final Image icon = icon();
-        if (icon == null) {
-            canvas.drawSolidOval(x + 1, y, iconHeight, iconHeight, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY3));
-        } else {
-            canvas.drawImage(icon, x + 1, y);
-        }
-    }
-
-    public int getBaseline() {
-        return baseline;
-    }
-
-    public Size getSize() {
-        final Image icon = icon();
-        final int iconWidth = icon == null ? iconHeight : icon.getWidth();
-        return new Size(iconWidth + 2, iconHeight + 2);
-    }
-
-    protected Image icon() {
-        final String iconName = content.getIconName();
-        /*
-         * If the graphic is based on a name provided by the object then the
-         * icon could be changed at any time, so we won't lazily load it.
-         */
-        if (icon != null && (iconName == null || iconName.equals(lastIconName))) {
-            return icon;
-        }
-        lastIconName = iconName;
-        if (iconName != null) {
-            icon = ImageFactory.getInstance().loadIcon(iconName, iconHeight, null);
-        }
-        if (icon == null) {
-            icon = content.getIconPicture(iconHeight);
-        }
-        if (icon == null) {
-            icon = ImageFactory.getInstance().loadDefaultIcon(iconHeight, null);
-        }
-        return icon;
-    }
-
-    @Override
-    public String toString() {
-        final ToString str = new ToString(this);
-        str.append("baseline", baseline);
-        str.append("icon", icon);
-        return str.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/Layout.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/Layout.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/Layout.java
deleted file mode 100644
index 3188f21..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/Layout.java
+++ /dev/null
@@ -1,29 +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.dnd.view.base;
-
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.View;
-
-public interface Layout {
-    Size getRequiredSize(final View view);
-
-    void layout(final View view, final Size maximumSize);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/NonBuildingSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/NonBuildingSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/NonBuildingSpecification.java
deleted file mode 100644
index 46aaf2a..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/NonBuildingSpecification.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.dnd.view.base;
-
-import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public class NonBuildingSpecification implements ViewSpecification {
-    private final String name;
-
-    public NonBuildingSpecification(final View view) {
-        final String name = view.getClass().getName();
-        this.name = name.substring(name.lastIndexOf('.') + 1);
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        throw new UnexpectedCallException();
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return false;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return false;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/NullView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/NullView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/NullView.java
deleted file mode 100644
index 9fe68a3..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/NullView.java
+++ /dev/null
@@ -1,34 +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.dnd.view.base;
-
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-
-public class NullView extends AbstractView {
-    public NullView() {
-        super(new NullContent(""));
-    }
-
-    @Override
-    public String toString() {
-        final String name = getClass().getName();
-        return name.substring(name.lastIndexOf('.') + 1) + getId();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/ObjectView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/ObjectView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/ObjectView.java
deleted file mode 100644
index 639856d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/ObjectView.java
+++ /dev/null
@@ -1,139 +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.dnd.view.base;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.Persistor;
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Offset;
-import org.apache.isis.viewer.dnd.interaction.ViewDragImpl;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ContentDrag;
-import org.apache.isis.viewer.dnd.view.DragEvent;
-import org.apache.isis.viewer.dnd.view.DragStart;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public abstract class ObjectView extends AbstractView {
-
-    public ObjectView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    public void dragIn(final ContentDrag drag) {
-        final Consent consent = getContent().canDrop(drag.getSourceContent());
-        final String description = getContent().getDescription();
-        if (consent.isAllowed()) {
-            getFeedbackManager().setAction(consent.getDescription() + " " + description);
-            getState().setCanDrop();
-        } else {
-            getFeedbackManager().setAction(consent.getReason() + " " + description);
-            getState().setCantDrop();
-        }
-        markDamaged();
-    }
-
-    @Override
-    public void dragOut(final ContentDrag drag) {
-        getState().clearObjectIdentified();
-        markDamaged();
-    }
-
-    @Override
-    public DragEvent dragStart(final DragStart drag) {
-        final View subview = subviewFor(drag.getLocation());
-        if (subview != null) {
-            drag.subtract(subview.getLocation());
-            return subview.dragStart(drag);
-        } else {
-            if (drag.isCtrl()) {
-                final View dragOverlay = new DragViewOutline(getView());
-                return new ViewDragImpl(this, new Offset(drag.getLocation()), dragOverlay);
-            } else {
-                return Toolkit.getViewFactory().createDragContentOutline(this, drag.getLocation());
-            }
-        }
-    }
-
-    /**
-     * Called when a dragged object is dropped onto this view. The default
-     * behaviour implemented here calls the action method on the target, passing
-     * the source object in as the only parameter.
-     */
-    @Override
-    public void drop(final ContentDrag drag) {
-        final ObjectAdapter result = getContent().drop(drag.getSourceContent());
-        if (result != null) {
-            objectActionResult(result, new Placement(this));
-        }
-        getState().clearObjectIdentified();
-        getFeedbackManager().showMessagesAndWarnings();
-
-        markDamaged();
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        final View subview = subviewFor(click.getLocation());
-        if (subview != null) {
-            click.subtract(subview.getLocation());
-            subview.firstClick(click);
-        } else {
-            if (click.button2()) {
-                final Location location = new Location(click.getLocationWithinViewer());
-                getViewManager().showInOverlay(getContent(), location);
-            }
-        }
-    }
-
-    @Override
-    public void invalidateContent() {
-        super.invalidateLayout();
-    }
-
-    @Override
-    public void secondClick(final Click click) {
-        final View subview = subviewFor(click.getLocation());
-        if (subview != null) {
-            click.subtract(subview.getLocation());
-            subview.secondClick(click);
-        } else {
-            final Location location = getAbsoluteLocation();
-            location.translate(click.getLocation());
-            getWorkspace().addWindowFor(getContent().getAdapter(), new Placement(this));
-        }
-    }
-
-
-    // ///////////////////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////////////////////////////
-
-    private static Persistor getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/TextView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/TextView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/TextView.java
deleted file mode 100644
index 4ec4afc..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/TextView.java
+++ /dev/null
@@ -1,65 +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.dnd.view.base;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public class TextView extends AbstractView {
-    private final Text style = Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-    private final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-    private final String text;
-
-    public TextView(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-        final ObjectAdapter object = content.getAdapter();
-        text = object == null ? "" : object.titleString();
-    }
-
-    @Override
-    public boolean canFocus() {
-        return false;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        canvas.drawText(text, ViewConstants.HPADDING, getBaseline(), color, style);
-    }
-
-    @Override
-    public int getBaseline() {
-        return style.getAscent() + ViewConstants.VPADDING;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size maximumSize) {
-        final int width = style.stringWidth(text) + ViewConstants.HPADDING * 2;
-        final int height = style.getTextHeight() + ViewConstants.VPADDING * 2;
-        return new Size(width, height);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/UserViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/UserViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/UserViewSpecification.java
deleted file mode 100644
index 963106b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/base/UserViewSpecification.java
+++ /dev/null
@@ -1,96 +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.dnd.view.base;
-
-import org.apache.isis.core.runtime.userprofile.Options;
-import org.apache.isis.viewer.dnd.util.Properties;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public class UserViewSpecification implements ViewSpecification {
-
-    private final ViewSpecification specification;
-    private final String name;
-
-    public UserViewSpecification(final ViewSpecification specification, final String name) {
-        this.specification = specification;
-        this.name = name;
-    }
-
-    /*
-     * public UserViewSpecification(View view) { specification =
-     * view.getSpecification(); Options copyOptions = new Options();
-     * view.saveOptions(copyOptions); name = specification.getName() + " " + new
-     * Date().getSeconds();
-     * 
-     * // view.setSpecification(this); // view.loadOptions(copyOptions); }
-     */
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return specification.canDisplay(requirement);
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public boolean isAligned() {
-        return specification.isAligned();
-    }
-
-    @Override
-    public boolean isOpen() {
-        return specification.isOpen();
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return specification.isReplaceable();
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return specification.isResizeable();
-    }
-
-    @Override
-    public boolean isSubView() {
-        return specification.isSubView();
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        final View createView = specification.createView(content, axes, sequence);
-
-        final Options viewOptions = Properties.getViewConfigurationOptions(this);
-        createView.loadOptions(viewOptions);
-        return createView;
-    }
-
-    public ViewSpecification getWrappedSpecification() {
-        return specification;
-    }
-
-}


[20/56] [abbrv] [partial] isis git commit: ISIS-1335: deleting the mothballed directory.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/WrappedTextField.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/WrappedTextField.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/WrappedTextField.java
deleted file mode 100644
index 4e6aa2e..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/field/WrappedTextField.java
+++ /dev/null
@@ -1,159 +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.dnd.field;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-import org.apache.isis.viewer.dnd.view.text.CursorPosition;
-import org.apache.isis.viewer.dnd.view.text.TextContent;
-
-public class WrappedTextField extends TextField {
-    private static final Logger LOG = LoggerFactory.getLogger(WrappedTextField.class);
-
-    public WrappedTextField(final TextParseableContent content, final ViewSpecification specification, final boolean showLines) {
-        super(content, specification, showLines, TextContent.WRAPPING);
-    }
-
-    public void setWrapping(final boolean wrapping) {
-    }
-
-    @Override
-    protected void drawLines(final Canvas canvas, final Color color, final int width) {
-        int baseline = getBaseline();
-        final int noDisplayLines = textContent.getNoDisplayLines();
-        for (int line = 0; line < noDisplayLines; line++) {
-            canvas.drawLine(ViewConstants.HPADDING, baseline, ViewConstants.HPADDING + width, baseline, color);
-            baseline += getText().getLineHeight();
-        }
-    }
-
-    @Override
-    protected void drawHighlight(final Canvas canvas, final int maxWidth) {
-        final int baseline = getBaseline();
-        int top = baseline - style.getAscent();
-
-        final CursorPosition from = selection.from();
-        final CursorPosition to = selection.to();
-
-        final String[] lines = textContent.getDisplayLines();
-        final int displayFromLine = textContent.getDisplayFromLine();
-        final int displayToLine = displayFromLine + lines.length;
-        for (int i = displayFromLine; i <= displayToLine; i++) {
-            if ((i >= from.getLine()) && (i <= to.getLine())) {
-                final String line = textContent.getText(i);
-                int start = 0;
-                int end = style.stringWidth(line);
-
-                if (from.getLine() == i) {
-                    final int at = Math.min(from.getCharacter(), line.length());
-                    start = style.stringWidth(line.substring(0, at));
-                }
-
-                if (to.getLine() == i) {
-                    final int at = Math.min(to.getCharacter(), line.length());
-                    end = style.stringWidth(line.substring(0, at));
-                }
-
-                canvas.drawSolidRectangle(start + (ViewConstants.HPADDING), top, end - start, getText().getLineHeight(), Toolkit.getColor(ColorsAndFonts.COLOR_TEXT_HIGHLIGHT));
-            }
-
-            top += getText().getLineHeight();
-        }
-    }
-
-    @Override
-    protected void drawText(final Canvas canvas, final Color textColor, final int width) {
-        int baseline = getBaseline();
-        final String[] lines = textContent.getDisplayLines();
-        final int cursorLine = cursor.getLine() - textContent.getDisplayFromLine();
-        for (int i = 0; i < lines.length; i++) {
-            final String chars = lines[i];
-            if (chars == null) {
-                throw new IsisException();
-            }
-            if (chars.endsWith("\n")) {
-                throw new RuntimeException();
-            }
-
-            // draw cursor
-            if (hasFocus() && canChangeValue().isAllowed() && cursorLine == i) {
-                final int at = Math.min(cursor.getCharacter(), chars.length());
-                final int pos = style.stringWidth(chars.substring(0, at)) + ViewConstants.HPADDING;
-                canvas.drawLine(pos, (baseline + style.getDescent()), pos, baseline - style.getAscent(), Toolkit.getColor(ColorsAndFonts.COLOR_TEXT_CURSOR));
-            }
-
-            // draw text
-            canvas.drawText(chars, ViewConstants.HPADDING, baseline, textColor, style);
-            baseline += getText().getLineHeight();
-        }
-        /*
-         * if (end < entryLength) { int x = style.stringWidth(new String(buffer,
-         * start, end)); g.setColor(Color.red); g.drawString("\u00bb", x,
-         * baseline - lineHeight()); }
-         */
-    }
-
-    @Override
-    protected boolean enter() {
-        textContent.breakBlock(cursor);
-        cursor.lineDown();
-        cursor.home();
-        markDamaged();
-        return true;
-    }
-
-    /**
-     * Sets the number of lines to display
-     */
-    public void setNoLines(final int noLines) {
-        textContent.setNoDisplayLines(noLines);
-    }
-
-    @Override
-    public void setSize(final Size size) {
-        super.setSize(size);
-        textContent.setNoDisplayLines(size.getHeight() / style.getLineHeight());
-    }
-
-    @Override
-    public void setMaximumSize(final Size size) {
-        final int lines = Math.max(1, size.getHeight() / getText().getLineHeight());
-        setNoLines(lines);
-        final int width = Math.max(180, size.getWidth() - ViewConstants.HPADDING);
-        setWidth(width);
-        LOG.debug(lines + " x " + width);
-        invalidateLayout();
-    }
-
-    @Override
-    protected void align() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/AbstractFormSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/AbstractFormSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/AbstractFormSpecification.java
deleted file mode 100644
index 70cb041..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/AbstractFormSpecification.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.dnd.form;
-
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.composite.StandardFields;
-
-public abstract class AbstractFormSpecification extends AbstractObjectViewSpecification {
-
-    @Override
-    protected ViewFactory createFieldFactory() {
-        return new StandardFields() {
-            @Override
-            protected int collectionRequirement() {
-                return AbstractFormSpecification.this.collectionRequirement();
-            }
-
-            @Override
-            protected boolean include(final Content content, final int sequence) {
-                return AbstractFormSpecification.this.include(content, sequence);
-            }
-        };
-    }
-
-    protected int collectionRequirement() {
-        return ViewRequirement.OPEN | ViewRequirement.SUBVIEW;
-    }
-
-    protected boolean include(final Content content, final int sequence) {
-        return true;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/AbstractObjectViewSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/AbstractObjectViewSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/AbstractObjectViewSpecification.java
deleted file mode 100644
index 65feca0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/AbstractObjectViewSpecification.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.dnd.form;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.composite.ObjectFieldBuilder;
-import org.apache.isis.viewer.dnd.view.composite.StackLayout;
-import org.apache.isis.viewer.dnd.view.composite.StandardFields;
-
-public abstract class AbstractObjectViewSpecification extends CompositeViewSpecification {
-
-    public AbstractObjectViewSpecification() {
-        builder = new ObjectFieldBuilder(createFieldFactory());
-        init();
-    }
-
-    protected void init() {
-    }
-
-    protected ViewFactory createFieldFactory() {
-        return new StandardFields();
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new StackLayout();
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && !requirement.isTextParseable() && requirement.hasReference() && requirement.isOpen();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableFormSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableFormSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableFormSpecification.java
deleted file mode 100644
index 173eb26..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableFormSpecification.java
+++ /dev/null
@@ -1,49 +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.dnd.form;
-
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.composite.FieldLabelsDecorator;
-
-public class ExpandableFormSpecification extends AbstractFormSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return super.canDisplay(requirement) && !requirement.is(ViewRequirement.SUBVIEW);
-    }
-
-    @Override
-    protected void init() {
-        addSubviewDecorator(new ExpandableViewBorder.Factory());
-        addSubviewDecorator(new FieldLabelsDecorator());
-        addViewDecorator(new IconBorder.Factory());
-    }
-
-    @Override
-    protected int collectionRequirement() {
-        return super.collectionRequirement() | ViewRequirement.EXPANDABLE;
-    }
-
-    @Override
-    public String getName() {
-        return "Expanding Form (experimental)";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java
deleted file mode 100644
index ff9a757..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java
+++ /dev/null
@@ -1,246 +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.dnd.form;
-
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Shape;
-import org.apache.isis.viewer.dnd.icon.SubviewIconSpecification;
-import org.apache.isis.viewer.dnd.list.InternalListSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ObjectContent;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.collection.CollectionElement;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.field.OneToOneFieldImpl;
-
-public class ExpandableViewBorder extends AbstractBorder {
-    public static final int CAN_OPEN = 1;
-    public static final int CANT_OPEN = 2;
-    public static final int UNKNOWN = 0;
-
-    public static class Factory implements SubviewDecorator {
-        private final ViewSpecification openObjectViewSpecification;
-        private final ViewSpecification closedViewSpecification;
-        private final ViewSpecification openCollectionViewSpecification;
-
-        public Factory() {
-            this.closedViewSpecification = new SubviewIconSpecification();
-            this.openObjectViewSpecification = new InternalFormSpecification();
-            this.openCollectionViewSpecification = new InternalListSpecification();
-        }
-
-        public Factory(final ViewSpecification closedViewSpecification, final ViewSpecification openObjectViewSpecification, final ViewSpecification openCollectionViewSpecification) {
-            this.closedViewSpecification = closedViewSpecification;
-            this.openObjectViewSpecification = openObjectViewSpecification;
-            this.openCollectionViewSpecification = openCollectionViewSpecification;
-        }
-
-        @Override
-        public ViewAxis createAxis(final Content content) {
-            return null;
-        }
-
-        @Override
-        public View decorate(final Axes axes, final View view) {
-            if (view.getContent().isObject()) {
-                return new ExpandableViewBorder(view, closedViewSpecification, openObjectViewSpecification);
-            } else if (view.getContent().isCollection()) {
-                return new ExpandableViewBorder(view, closedViewSpecification, openCollectionViewSpecification);
-            } else {
-                return view;
-            }
-        }
-    }
-
-    private boolean isOpen = false;
-    private final ViewSpecification openViewSpecification;
-    private final ViewSpecification closedViewSpecification;
-    private int canOpen;
-
-    // REVIEW: should provide this rendering context, rather than hardcoding.
-    // the net effect currently is that class members annotated with 
-    // @Hidden(where=Where.ANYWHERE) or @Disabled(where=Where.ANYWHERE) will indeed
-    // be hidden/disabled, but will be visible/enabled (perhaps incorrectly) 
-    // for any other value for Where
-    private final Where where = Where.ANYWHERE;
-
-    public ExpandableViewBorder(final View view, final ViewSpecification closedViewSpecification, final ViewSpecification openViewSpecification) {
-        super(view);
-        left = Toolkit.defaultFieldHeight();
-        this.openViewSpecification = openViewSpecification;
-        this.closedViewSpecification = closedViewSpecification;
-        canOpen();
-    }
-
-    @Override
-    protected void debugDetails(final DebugBuilder debug) {
-        super.debugDetails(debug);
-        debug.appendln("open spec", openViewSpecification);
-        debug.appendln("closed spec", closedViewSpecification);
-        debug.appendln("open", isOpen);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        Shape pointer;
-        if (isOpen) {
-            pointer = new Shape(0, left / 2);
-            pointer.addPoint(left - 2 - 2, left / 2);
-            pointer.addPoint(left / 2 - 2, left - 2);
-        } else {
-            pointer = new Shape(2, 2);
-            pointer.addPoint(2, left - 2);
-            pointer.addPoint(left / 2, 2 + (left - 2) / 2);
-        }
-        if (canOpen == CAN_OPEN) {
-            canvas.drawSolidShape(pointer, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1));
-        } else if (canOpen == UNKNOWN) {
-            canvas.drawShape(pointer, Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1));
-        } else {
-            canvas.drawShape(pointer, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-        }
-
-        super.draw(canvas);
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        if (click.getLocation().getX() < left) {
-            if (canOpen == UNKNOWN) {
-                resolveContent();
-                markDamaged();
-            }
-            if (canOpen != CANT_OPEN) {
-                isOpen = !isOpen;
-
-                final View parent = wrappedView.getParent();
-
-                getViewManager().removeFromNotificationList(wrappedView);
-                if (isOpen) {
-                    wrappedView = createOpenView();
-                } else {
-                    wrappedView = createClosedView();
-                }
-                setView(this);
-                setParent(parent);
-                getParent().invalidateLayout();
-                canOpen();
-            }
-        } else {
-            super.firstClick(click);
-        }
-    }
-
-    private View createClosedView() {
-        return closedViewSpecification.createView(getContent(), getViewAxes(), -1);
-    }
-
-    private View createOpenView() {
-        return openViewSpecification.createView(getContent(), getViewAxes(), -1);
-    }
-
-    @Override
-    public void update(final ObjectAdapter object) {
-        super.update(object);
-        canOpen();
-    }
-
-    private void canOpen() {
-        final Content content = getContent();
-        if (content.isCollection()) {
-            canOpen = canOpenCollection(content);
-        } else if (content.isObject()) {
-            canOpen = canOpenObject(content);
-        }
-    }
-
-    private int canOpenCollection(final Content content) {
-        final ObjectAdapter collection = ((CollectionContent) content).getCollection();
-        if (collection.isGhost()) {
-            return UNKNOWN;
-        } else {
-            final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
-            return facet.size(collection) > 0 ? CAN_OPEN : CANT_OPEN;
-        }
-    }
-
-    private int canOpenObject(final Content content) {
-        final ObjectAdapter object = ((ObjectContent) content).getObject();
-        if (object != null) {
-            final List<ObjectAssociation> fields = object.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
-            for (int i = 0; i < fields.size(); i++) {
-                if (fields.get(i).isOneToManyAssociation()) {
-                    return CAN_OPEN;
-                } else if (fields.get(i).isOneToOneAssociation() && !fields.get(i).getSpecification().isParseable() && fieldContainsReference(object, fields.get(i))) {
-                    return CAN_OPEN;
-                }
-            }
-        }
-        final boolean openForObjectsWithOutReferences = true;
-        return openForObjectsWithOutReferences ? CAN_OPEN : CANT_OPEN;
-    }
-
-    private boolean fieldContainsReference(final ObjectAdapter parent, final ObjectAssociation field) {
-        final OneToOneAssociation association = (OneToOneAssociation) field;
-        final OneToOneFieldImpl fieldContent = new OneToOneFieldImpl(parent, field.get(parent), association);
-        if (openViewSpecification.canDisplay(new ViewRequirement(fieldContent, ViewRequirement.OPEN))) {
-            return true;
-        }
-        return false;
-    }
-
-    private void resolveContent() {
-        ObjectAdapter parent = getParent().getContent().getAdapter();
-        if (!(parent instanceof ObjectAdapter)) {
-            parent = getParent().getParent().getContent().getAdapter();
-        }
-
-        if (getContent() instanceof FieldContent) {
-            final ObjectAssociation field = ((FieldContent) getContent()).getField();
-            IsisContext.getPersistenceSession().resolveField(parent, field);
-        } else if (getContent() instanceof CollectionContent) {
-            IsisContext.getPersistenceSession().resolveImmediately(parent);
-        } else if (getContent() instanceof CollectionElement) {
-            IsisContext.getPersistenceSession().resolveImmediately(getContent().getAdapter());
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormSpecification.java
deleted file mode 100644
index b96dc58..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormSpecification.java
+++ /dev/null
@@ -1,43 +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.dnd.form;
-
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.composite.FieldLabelsDecorator;
-
-public class FormSpecification extends AbstractFormSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return super.canDisplay(requirement) && !requirement.is(ViewRequirement.SUBVIEW);
-    }
-
-    @Override
-    protected void init() {
-        addSubviewDecorator(new FieldLabelsDecorator());
-        addViewDecorator(new IconBorder.Factory());
-    }
-
-    @Override
-    public String getName() {
-        return "Form";
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java
deleted file mode 100644
index 98e30b0..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java
+++ /dev/null
@@ -1,96 +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.dnd.form;
-
-import java.util.List;
-
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.border.SelectObjectBorder;
-import org.apache.isis.viewer.dnd.view.composite.MasterDetailPanel;
-
-public class FormWithDetailSpecification implements ViewSpecification {
-    private final FormSpecification leftHandSideSpecification;
-
-    public FormWithDetailSpecification() {
-        leftHandSideSpecification = new FormSpecification();
-        leftHandSideSpecification.addSubviewDecorator(new SelectObjectBorder.Factory());
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && requirement.isOpen() && !requirement.isSubview() && containsEnoughFields(requirement.getContent());
-    }
-
-    private boolean containsEnoughFields(final Content content) {
-        final ObjectSpecification specification = content.getSpecification();
-        final List<ObjectAssociation> associations = specification.getAssociations(Contributed.EXCLUDED, new Filter<ObjectAssociation>() {
-            @Override
-            public boolean accept(final ObjectAssociation t) {
-                return t.isOneToManyAssociation() || (t.isOneToOneAssociation() && !((OneToOneAssociation) t).getSpecification().isParseable());
-            }
-        });
-        return associations.size() >= 1;
-    }
-
-    @Override
-    public View createView(final Content content, final Axes axes, final int sequence) {
-        return new MasterDetailPanel(content, this, leftHandSideSpecification);
-    }
-
-    @Override
-    public String getName() {
-        return "Form and details (experimental)";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return true;
-    }
-
-    @Override
-    public boolean isResizeable() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/InternalFormSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/InternalFormSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/InternalFormSpecification.java
deleted file mode 100644
index 05603d2..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/InternalFormSpecification.java
+++ /dev/null
@@ -1,47 +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.dnd.form;
-
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.composite.FieldLabelsDecorator;
-
-public class InternalFormSpecification extends AbstractFormSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return super.canDisplay(requirement) && requirement.is(ViewRequirement.SUBVIEW);
-    }
-
-    @Override
-    protected void init() {
-        addSubviewDecorator(new FieldLabelsDecorator());
-        addViewDecorator(new IconBorder.Factory(Toolkit.getText(ColorsAndFonts.TEXT_NORMAL)));
-
-    }
-
-    @Override
-    public String getName() {
-        return "Internal form";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/SummaryFields.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/SummaryFields.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/SummaryFields.java
deleted file mode 100644
index 4d7bacf..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/SummaryFields.java
+++ /dev/null
@@ -1,37 +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.dnd.form;
-
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.composite.StandardFields;
-
-public class SummaryFields extends StandardFields {
-
-    @Override
-    protected int collectionRequirement() {
-        return ViewRequirement.NONE;
-    }
-
-    @Override
-    protected boolean include(final Content content, final int sequence) {
-        return sequence < 4 && content.getAdapter() != null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/SummaryFormSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/SummaryFormSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/SummaryFormSpecification.java
deleted file mode 100644
index ac2cc27..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/SummaryFormSpecification.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.dnd.form;
-
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.border.BackgroundBorder;
-import org.apache.isis.viewer.dnd.view.border.EmptyBorder;
-import org.apache.isis.viewer.dnd.view.border.IconBorder;
-import org.apache.isis.viewer.dnd.view.border.LineBorder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-
-public class SummaryFormSpecification extends AbstractFormSpecification {
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isObject() && !requirement.isTextParseable() && requirement.hasReference() && requirement.isOpen() && requirement.isSubview() && requirement.isFixed();
-    }
-
-    @Override
-    protected void init() {
-        addViewDecorator(new IconBorder.Factory());
-        addViewDecorator(new CompositeViewDecorator() {
-            @Override
-            public View decorate(final View view, final Axes axes) {
-                return new EmptyBorder(3, new BackgroundBorder(new LineBorder(1, 8, new EmptyBorder(3, view))));
-            }
-        });
-    }
-
-    @Override
-    protected ViewFactory createFieldFactory() {
-        return new SummaryFields();
-    }
-
-    @Override
-    public String getName() {
-        return "Summary";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/grid/GridSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/grid/GridSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/grid/GridSpecification.java
deleted file mode 100644
index c3896ac..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/grid/GridSpecification.java
+++ /dev/null
@@ -1,114 +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.dnd.grid;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.form.AbstractFormSpecification;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.SubviewDecorator;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.AbstractBorder;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.border.EmptyBorder;
-import org.apache.isis.viewer.dnd.view.composite.CollectionElementBuilder;
-import org.apache.isis.viewer.dnd.view.composite.ColumnLayout;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewDecorator;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-
-public class GridSpecification extends CompositeViewSpecification {
-
-    public GridSpecification() {
-        builder = new CollectionElementBuilder(new AbstractFormSpecification() {
-            @Override
-            public String getName() {
-                return "";
-            }
-
-            @Override
-            protected void init() {
-                super.init();
-                addSubviewDecorator(new SubviewDecorator() {
-                    @Override
-                    public ViewAxis createAxis(final Content content) {
-                        return null;
-                    }
-
-                    @Override
-                    public View decorate(final Axes axes, final View view) {
-                        return new EmptyBorder(0, 0, 5, 0, view);
-                    }
-                });
-            }
-        });
-
-        addViewDecorator(new ColumnLabelBorder.Factory());
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new ColumnLayout(true);
-    }
-
-    @Override
-    public String getName() {
-        return "Grid (experimental)";
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isCollection() && requirement.isOpen();
-    }
-}
-
-class ColumnLabelBorder extends AbstractBorder {
-
-    public static class Factory implements CompositeViewDecorator {
-        @Override
-        public View decorate(final View view, final Axes axes) {
-            return new ColumnLabelBorder(view);
-        }
-    }
-
-    protected ColumnLabelBorder(final View view) {
-        super(view);
-        left = 100;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        final View subview = getSubviews()[0];
-
-        final int top = subview.getPadding().getTop();
-        for (final View view : subview.getSubviews()) {
-            final String fieldName = ((FieldContent) view.getContent()).getFieldName();
-            canvas.drawText(fieldName + ":", 0, view.getLocation().getY() + top + view.getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1), Toolkit.getText(ColorsAndFonts.TEXT_LABEL));
-            // canvas.drawRectangle(0, view.getLocation().getY() + top, 80, 10,
-            // Toolkit.getColor("primary1"));
-        }
-
-        super.draw(canvas);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/AboutView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/AboutView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/AboutView.java
deleted file mode 100644
index 2e9beb1..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/AboutView.java
+++ /dev/null
@@ -1,171 +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.dnd.help;
-
-import org.apache.isis.core.runtime.about.AboutIsis;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-import org.apache.isis.viewer.dnd.view.window.SubviewFocusManager;
-
-public class AboutView extends AbstractView {
-    private static final int MAX_WIDTH = 300;
-    private final int linePadding = -2;
-    private final int noticePadding = 45;
-    private final int margin = 14;
-    private final Image image;
-    private final int left;
-    private final FocusManager focusManager;
-
-    public AboutView() {
-        super(new NullContent());
-        image = ImageFactory.getInstance().loadImage(AboutIsis.getImageName());
-        left = noticePadding;
-        setContent(new NullContent(AboutIsis.getFrameworkName()));
-
-        focusManager = new SubviewFocusManager(this);
-    }
-
-    @Override
-    public FocusManager getFocusManager() {
-        return focusManager;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        final Text titleStyle = Toolkit.getText(ColorsAndFonts.TEXT_TITLE);
-        final Text normalStyle = Toolkit.getText(ColorsAndFonts.TEXT_LABEL);
-        final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-
-        clearBackground(canvas, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        canvas.drawRectangleAround(getBounds(), Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY3));
-
-        if (showingImage()) {
-            canvas.drawImage(image, margin, margin);
-        }
-
-        int line = margin + image.getHeight() + noticePadding + normalStyle.getAscent();
-
-        // application details
-        String text = AboutIsis.getApplicationName();
-        if (text != null) {
-            canvas.drawText(text, left, line, MAX_WIDTH, color, titleStyle);
-            line += titleStyle.stringHeight(text, MAX_WIDTH) + titleStyle.getLineSpacing() + linePadding;
-        }
-        text = AboutIsis.getApplicationCopyrightNotice();
-        if (text != null) {
-            canvas.drawText(text, left, line, MAX_WIDTH, color, normalStyle);
-            line += normalStyle.stringHeight(text, MAX_WIDTH) + normalStyle.getLineSpacing() + linePadding;
-        }
-        text = AboutIsis.getApplicationVersion();
-        if (text != null) {
-            canvas.drawText(text, left, line, MAX_WIDTH, color, normalStyle);
-            line += normalStyle.stringHeight(text, MAX_WIDTH) + normalStyle.getLineSpacing() + linePadding;
-            line += 2 * normalStyle.getLineHeight();
-        }
-
-        // framework details
-        text = AboutIsis.getFrameworkName();
-        canvas.drawText(text, left, line, MAX_WIDTH, color, titleStyle);
-        line += titleStyle.stringHeight(text, MAX_WIDTH) + titleStyle.getLineSpacing() + linePadding;
-
-        text = AboutIsis.getFrameworkCopyrightNotice();
-        canvas.drawText(text, left, line, MAX_WIDTH, color, normalStyle);
-        line += normalStyle.stringHeight(text, MAX_WIDTH) + normalStyle.getLineSpacing() + linePadding;
-
-        canvas.drawText(frameworkVersion(), left, line, MAX_WIDTH, color, normalStyle);
-
-    }
-
-    private String frameworkVersion() {
-        return AboutIsis.getFrameworkVersion();
-    }
-
-    private boolean showingImage() {
-        return image != null;
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final Text titleStyle = Toolkit.getText(ColorsAndFonts.TEXT_TITLE);
-        final Text normalStyle = Toolkit.getText(ColorsAndFonts.TEXT_LABEL);
-
-        int height = 0;
-
-        String text = AboutIsis.getFrameworkName();
-        height += titleStyle.stringHeight(text, MAX_WIDTH) + titleStyle.getLineSpacing() + linePadding;
-        // height += normalStyle.getLineHeight();
-        int width = titleStyle.stringWidth(text, MAX_WIDTH);
-
-        text = AboutIsis.getFrameworkCopyrightNotice();
-        height += normalStyle.stringHeight(text, MAX_WIDTH) + normalStyle.getLineSpacing() + linePadding;
-        // height += normalStyle.getLineHeight();
-        width = Math.max(width, normalStyle.stringWidth(text, MAX_WIDTH));
-
-        text = frameworkVersion();
-        height += normalStyle.stringHeight(text, MAX_WIDTH) + normalStyle.getLineSpacing() + linePadding;
-        // height += normalStyle.getLineHeight();
-        width = Math.max(width, normalStyle.stringWidth(text, MAX_WIDTH));
-
-        text = AboutIsis.getApplicationName();
-        if (text != null) {
-            height += titleStyle.stringHeight(text, MAX_WIDTH) + titleStyle.getLineSpacing() + linePadding;
-            // height += normalStyle.getLineHeight();
-            width = Math.max(width, titleStyle.stringWidth(text, MAX_WIDTH));
-        }
-        text = AboutIsis.getApplicationCopyrightNotice();
-        if (text != null) {
-            height += normalStyle.stringHeight(text, MAX_WIDTH) + normalStyle.getLineSpacing() + linePadding;
-            // height += normalStyle.getLineHeight();
-            width = Math.max(width, normalStyle.stringWidth(text, MAX_WIDTH));
-        }
-        text = AboutIsis.getApplicationVersion();
-        if (text != null) {
-            height += normalStyle.stringHeight(text, MAX_WIDTH) + normalStyle.getLineSpacing() + linePadding;
-            // height += normalStyle.getLineHeight();
-            width = Math.max(width, normalStyle.stringWidth(text, MAX_WIDTH));
-        }
-
-        height += noticePadding;
-
-        if (showingImage()) {
-            height += image.getHeight();
-            width = Math.max(image.getWidth(), width);
-        }
-
-        return new Size(margin + width + margin, margin + height + margin);
-    }
-
-    @Override
-    public void firstClick(final Click click) {
-        // dispose();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/ExternalHelpViewerProgram.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/ExternalHelpViewerProgram.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/ExternalHelpViewerProgram.java
deleted file mode 100644
index f94ef9d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/ExternalHelpViewerProgram.java
+++ /dev/null
@@ -1,49 +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.dnd.help;
-
-import java.io.IOException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-public class ExternalHelpViewerProgram implements HelpViewer {
-    private static final Logger LOG = LoggerFactory.getLogger(ExternalHelpViewerProgram.class);
-    private final String program;
-
-    public ExternalHelpViewerProgram(final String program) {
-        this.program = program;
-    }
-
-    @Override
-    public void open(final Location location, final String name, final String description, final String help) {
-        final String exec = program + " " + help;
-        try {
-            Runtime.getRuntime().exec(exec);
-            LOG.debug("executing '" + exec + "'");
-        } catch (final IOException e) {
-            throw new IsisException("faile to execute '" + exec + "'", e);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/HelpView.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/HelpView.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/HelpView.java
deleted file mode 100644
index 62cc21d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/HelpView.java
+++ /dev/null
@@ -1,98 +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.dnd.help;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Click;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.base.AbstractView;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-import org.apache.isis.viewer.dnd.view.text.TextBlockTarget;
-import org.apache.isis.viewer.dnd.view.text.TextContent;
-
-public class HelpView extends AbstractView implements TextBlockTarget {
-    private static final int HEIGHT = 350;
-    private static final int WIDTH = 400;
-    private static final int MAX_TEXT_WIDTH = 375;
-    private final TextContent content;
-
-    public HelpView(final String name, final String description, final String help) {
-        super(new NullContent());
-        final String text = (name == null || name.trim().equals("") ? "" : (name + "\n")) + (description == null || description.trim().equals("") ? "" : (description + "\n")) + (help == null ? "" : help);
-        content = new TextContent(this, 10, TextContent.WRAPPING);
-        content.setText(text);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        int x = 0;
-        int y = 0;
-        final int xEntent = getSize().getWidth() - 1;
-        final int yExtent = getSize().getHeight() - 1;
-
-        final int arc = 9;
-        canvas.drawSolidRectangle(x + 2, y + 2, xEntent - 4, yExtent - 4, Toolkit.getColor(ColorsAndFonts.COLOR_WHITE));
-        final Color black = Toolkit.getColor(ColorsAndFonts.COLOR_BLACK);
-        canvas.drawRoundedRectangle(x, y++, xEntent, yExtent, arc, arc, black);
-        canvas.drawRoundedRectangle(x + 1, y++, xEntent - 2, yExtent - 2, arc, arc, Toolkit.getColor(ColorsAndFonts.COLOR_SECONDARY2));
-        canvas.drawRoundedRectangle(x + 2, y++, xEntent - 4, yExtent - 4, arc, arc, black);
-
-        x += 10;
-        y += ViewConstants.VPADDING;
-        y += Toolkit.getText(ColorsAndFonts.TEXT_TITLE).getTextHeight();
-        canvas.drawText("Help", x, y, black, Toolkit.getText(ColorsAndFonts.TEXT_TITLE));
-
-        final String[] lines = content.getDisplayLines();
-        for (final String line : lines) {
-            y += Toolkit.getText(ColorsAndFonts.TEXT_NORMAL).getLineHeight();
-            canvas.drawText(line, x, y, MAX_TEXT_WIDTH, black, Toolkit.getText(ColorsAndFonts.TEXT_NORMAL));
-        }
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        final int height = Math.min(HEIGHT, availableSpace.getHeight());
-        final int width = Math.min(WIDTH, availableSpace.getWidth());
-        return new Size(width, height);
-    }
-
-    /**
-     * Removes the help view when clicked on.
-     */
-    @Override
-    public void firstClick(final Click click) {
-        getViewManager().clearOverlayView(this);
-    }
-
-    @Override
-    public int getMaxFieldWidth() {
-        return WIDTH - 20;
-    }
-
-    @Override
-    public Text getText() {
-        return Toolkit.getText(ColorsAndFonts.TEXT_NORMAL);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/HelpViewer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/HelpViewer.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/HelpViewer.java
deleted file mode 100644
index 05f378d..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/HelpViewer.java
+++ /dev/null
@@ -1,31 +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.dnd.help;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-
-/**
- * A HelpSystem is used to launch the help system and bring up contextual help.
- */
-public interface HelpViewer {
-
-    void open(Location location, String name, String description, String help);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/InternalHelpViewer.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/InternalHelpViewer.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/InternalHelpViewer.java
deleted file mode 100644
index d5cf93c..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/help/InternalHelpViewer.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.dnd.help;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.Viewer;
-
-public class InternalHelpViewer implements HelpViewer {
-    private final Viewer viewer;
-
-    public InternalHelpViewer(final Viewer viewer) {
-        this.viewer = viewer;
-    }
-
-    @Override
-    public void open(final Location location, final String name, final String description, final String help) {
-        viewer.clearAction();
-
-        final View helpView = new HelpView(name, description, help);
-        location.add(20, 20);
-        helpView.setLocation(location);
-
-        viewer.setOverlayView(helpView);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramAxis.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramAxis.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramAxis.java
deleted file mode 100644
index 48339ea..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramAxis.java
+++ /dev/null
@@ -1,68 +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.dnd.histogram;
-
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-
-class HistogramAxis implements ViewAxis {
-    private final ObjectAssociation fields[];
-    private final double maxValues[];
-    private final int noBars;
-
-    public HistogramAxis(final Content content) {
-        final List<? extends ObjectAssociation> associationList = HistogramSpecification.availableFields((CollectionContent) content);
-        noBars = associationList.size();
-        fields = new ObjectAssociation[noBars];
-        maxValues = new double[noBars];
-        int i = 0;
-        for (final ObjectAssociation association : associationList) {
-            fields[i++] = association;
-        }
-    }
-
-    public double getLengthFor(final Content content, final int fieldNo) {
-        return NumberAdapters.doubleValue(fields[fieldNo], fields[fieldNo].get(content.getAdapter())) / maxValues[fieldNo];
-    }
-
-    public void determineMaximum(final Content content) {
-        int i = 0;
-        for (final ObjectAssociation field : fields) {
-            maxValues[i] = 0;
-            final CollectionFacet collectionFacet = content.getAdapter().getSpecification().getFacet(CollectionFacet.class);
-            for (final ObjectAdapter element : collectionFacet.iterable(content.getAdapter())) {
-                final ObjectAdapter value = field.get(element);
-                final double doubleValue = NumberAdapters.doubleValue(field, value);
-                maxValues[i] = Math.max(maxValues[i], doubleValue);
-            }
-            i++;
-        }
-    }
-
-    public int getNoBars() {
-        return noBars;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramBar.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramBar.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramBar.java
deleted file mode 100644
index 7d64617..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramBar.java
+++ /dev/null
@@ -1,57 +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.dnd.histogram;
-
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Text;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.ObjectView;
-
-class HistogramBar extends ObjectView {
-    private static final int colors[] = new int[] { 0xccccff, 0x99ff99, 0xffccff };
-    private final HistogramAxis histogramAxis;
-
-    protected HistogramBar(final Content content, final HistogramAxis histogramAxis, final ViewSpecification specification) {
-        super(content, specification);
-        this.histogramAxis = histogramAxis;
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-        int y = 0;
-        final int height = (getSize().getHeight() - 5) / histogramAxis.getNoBars();
-        final Text text = Toolkit.getText(ColorsAndFonts.TEXT_LABEL);
-        final Color color = Toolkit.getColor(ColorsAndFonts.COLOR_PRIMARY1);
-        canvas.drawText(getContent().title(), 0, height / 2 + text.getAscent() / 2, color, text);
-
-        for (int i = 0; i < histogramAxis.getNoBars(); i++) {
-            final double length = (getSize().getWidth() - 160) * histogramAxis.getLengthFor(getContent(), i);
-            canvas.drawSolidRectangle(160, y, (int) length, height, Toolkit.getColor(colors[i % colors.length]));
-            canvas.drawRectangle(160, y, (int) length, height, Toolkit.getColor(ColorsAndFonts.COLOR_BLACK));
-            y += height + 2;
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramLayout.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramLayout.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramLayout.java
deleted file mode 100644
index 91fba77..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramLayout.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.dnd.histogram;
-
-import org.apache.isis.viewer.dnd.drawing.Location;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-
-public class HistogramLayout implements Layout {
-    private final int width = 500;
-    private final int barHeight = 24;
-
-    @Override
-    public void layout(final View view, final Size maximumSize) {
-        final HistogramAxis axis = view.getViewAxes().getAxis(HistogramAxis.class);
-        axis.determineMaximum(view.getContent());
-        final int noBars = axis.getNoBars();
-        final int height = barHeight * noBars;
-        final View[] subviews = view.getSubviews();
-        int y = ViewConstants.VPADDING;
-        for (final View bar : subviews) {
-            bar.setSize(new Size(width, height));
-            bar.setLocation(new Location(ViewConstants.HPADDING, y));
-            y += height;
-        }
-    }
-
-    @Override
-    public Size getRequiredSize(final View view) {
-        final HistogramAxis axis = view.getViewAxes().getAxis(HistogramAxis.class);
-        final int noBars = axis.getNoBars();
-        final View[] subviews = view.getSubviews();
-        final int graphHeight = subviews.length * barHeight * noBars + ViewConstants.VPADDING * 2;
-        return new Size(width + ViewConstants.HPADDING * 2, graphHeight);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java
deleted file mode 100644
index 3d2117f..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java
+++ /dev/null
@@ -1,100 +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.dnd.histogram;
-
-import java.util.List;
-
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.dnd.view.Axes;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewFactory;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.base.Layout;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.composite.CollectionElementBuilder;
-import org.apache.isis.viewer.dnd.view.composite.CompositeViewSpecification;
-
-public class HistogramSpecification extends CompositeViewSpecification {
-
-    static List<? extends ObjectAssociation> availableFields(final CollectionContent content) {
-        List<? extends ObjectAssociation> associationList;
-        associationList = content.getElementSpecification().getAssociations(Contributed.EXCLUDED, new Filter<ObjectAssociation>() {
-            @Override
-            public boolean accept(final ObjectAssociation t) {
-                return NumberAdapters.contains(t);
-            }
-        });
-        return associationList;
-    }
-
-    public HistogramSpecification() {
-        builder = new CollectionElementBuilder(new ViewFactory() {
-            @Override
-            public View createView(final Content content, final Axes axes, final int sequence) {
-                return new HistogramBar(content, axes.getAxis(HistogramAxis.class), HistogramSpecification.this);
-            }
-        });
-    }
-
-    @Override
-    public Layout createLayout(final Content content, final Axes axes) {
-        return new HistogramLayout();
-    }
-
-    @Override
-    public boolean canDisplay(final ViewRequirement requirement) {
-        return requirement.isCollection() && requirement.isOpen() && availableFields((CollectionContent) requirement.getContent()).size() > 0;
-    }
-
-    @Override
-    public void createAxes(final Content content, final Axes axes) {
-        super.createAxes(content, axes);
-        axes.add(new HistogramAxis(content));
-    }
-
-    @Override
-    public String getName() {
-        return "Histogram (experimental)";
-    }
-
-    @Override
-    public boolean isAligned() {
-        return false;
-    }
-
-    @Override
-    public boolean isOpen() {
-        return true;
-    }
-
-    @Override
-    public boolean isReplaceable() {
-        return true;
-    }
-
-    @Override
-    public boolean isSubView() {
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/NumberAdapters.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/NumberAdapters.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/NumberAdapters.java
deleted file mode 100644
index 26ec31b..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/NumberAdapters.java
+++ /dev/null
@@ -1,75 +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.dnd.histogram;
-
-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.core.progmodel.facets.value.floats.FloatingPointValueFacet;
-import org.apache.isis.core.progmodel.facets.value.integer.IntegerValueFacet;
-import org.apache.isis.core.progmodel.facets.value.longs.DoubleFloatingPointValueFacet;
-import org.apache.isis.core.progmodel.facets.value.money.MoneyValueFacet;
-
-public class NumberAdapters {
-    static interface Converter {
-        double value(ObjectAdapter value);
-    }
-
-    static {
-        new Converter() {
-            @Override
-            public double value(final ObjectAdapter arg0) {
-                return 0;
-            }
-        };
-
-    }
-
-    public static boolean contains(final ObjectAssociation t) {
-        return t.getSpecification().containsFacet(IntegerValueFacet.class) || t.getSpecification().containsFacet(DoubleFloatingPointValueFacet.class) || t.getSpecification().containsFacet(FloatingPointValueFacet.class) || t.getSpecification().containsFacet(MoneyValueFacet.class);
-    }
-
-    public static double doubleValue(final ObjectAssociation field, final ObjectAdapter value) {
-        final ObjectSpecification specification = value.getSpecification();
-
-        final IntegerValueFacet intValueFacet = specification.getFacet(IntegerValueFacet.class);
-        if (intValueFacet != null) {
-            return intValueFacet.integerValue(value).doubleValue();
-        }
-
-        final DoubleFloatingPointValueFacet doubleValueFacet = specification.getFacet(DoubleFloatingPointValueFacet.class);
-        if (doubleValueFacet != null) {
-            return doubleValueFacet.doubleValue(value).doubleValue();
-        }
-
-        final FloatingPointValueFacet floatValueFacet = specification.getFacet(FloatingPointValueFacet.class);
-        if (floatValueFacet != null) {
-            return floatValueFacet.floatValue(value).doubleValue();
-        }
-
-        final MoneyValueFacet moneyValueFacet = specification.getFacet(MoneyValueFacet.class);
-        if (moneyValueFacet != null) {
-            return moneyValueFacet.getAmount(value);
-        }
-
-        return 0.0;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/a43dbdd9/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/Icon.java
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/Icon.java b/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/Icon.java
deleted file mode 100644
index 4d5c137..0000000
--- a/mothballed/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/icon/Icon.java
+++ /dev/null
@@ -1,165 +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.dnd.icon;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewConstants;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-import org.apache.isis.viewer.dnd.view.base.IconGraphic;
-import org.apache.isis.viewer.dnd.view.base.ObjectView;
-import org.apache.isis.viewer.dnd.view.text.ObjectTitleText;
-import org.apache.isis.viewer.dnd.view.text.TitleText;
-
-public class Icon extends ObjectView {
-    private IconGraphic icon;
-    private boolean isVertical;
-    private IconGraphic selectedGraphic;
-    private TitleText title;
-    private IconGraphic unselectedGraphic;
-
-    public Icon(final Content content, final ViewSpecification specification) {
-        super(content, specification);
-    }
-
-    @Override
-    public void draw(final Canvas canvas) {
-        super.draw(canvas);
-
-        ensureHasIcon();
-
-        int x = 0;
-        int y = 0;
-        icon.draw(canvas, x, getBaseline());
-        if (isVertical) {
-            final int w = title.getSize().getWidth();
-            x = (w > icon.getSize().getWidth()) ? x : getSize().getWidth() / 2 - w / 2;
-            y = icon.getSize().getHeight() + Toolkit.getText(ColorsAndFonts.TEXT_ICON).getAscent() + ViewConstants.VPADDING;
-        } else {
-            x += icon.getSize().getWidth();
-            x += ViewConstants.HPADDING;
-            y = icon.getBaseline();
-        }
-        final int maxWidth = getSize().getWidth() - x;
-        title.draw(canvas, x, y, maxWidth);
-
-        if (getState().isActive()) {
-            final Image busyImage = ImageFactory.getInstance().loadIcon("busy", 16, null);
-            canvas.drawImage(busyImage, icon.getSize().getWidth() - 16 - 4, 4);
-        }
-
-    }
-
-    private void ensureHasIcon() {
-        if (icon == null) {
-            // icon = selectedGraphic;
-        }
-    }
-
-    @Override
-    public void entered() {
-        icon = selectedGraphic;
-        markDamaged();
-        super.entered();
-    }
-
-    @Override
-    public void exited() {
-        icon = unselectedGraphic;
-        markDamaged();
-        super.exited();
-    }
-
-    @Override
-    public int getBaseline() {
-        ensureHasIcon();
-        return icon.getBaseline();
-    }
-
-    @Override
-    public Size getRequiredSize(final Size availableSpace) {
-        if (icon == null) {
-            // icon = unselectedGraphic;
-        }
-
-        final Size size = icon.getSize();
-        final Size textSize = title.getSize();
-        if (isVertical) {
-            size.extendHeight(ViewConstants.VPADDING + textSize.getHeight() + ViewConstants.VPADDING);
-            size.ensureWidth(textSize.getWidth());
-        } else {
-            size.extendWidth(ViewConstants.HPADDING);
-            size.extendWidth(textSize.getWidth());
-        }
-        return size;
-    }
-
-    /**
-     * Set up the graphic to be used when displaying the icon and the icon is
-     * selected.
-     */
-    public void setSelectedGraphic(final IconGraphic selectedGraphic) {
-        this.selectedGraphic = selectedGraphic;
-        if (unselectedGraphic == null) {
-            unselectedGraphic = selectedGraphic;
-            icon = selectedGraphic;
-        }
-    }
-
-    /**
-     * Set up the title to be used when displaying the icon.
-     */
-    public void setTitle(final ObjectTitleText text) {
-        title = text;
-    }
-
-    /**
-     * Set up the graphic to be used when displaying the icon and the icon is
-     * unselected. If this returns null the graphic will not be changed when the
-     * icon becomes unselected.
-     */
-    public void setUnselectedGraphic(final IconGraphic unselectedGraphic) {
-        this.unselectedGraphic = unselectedGraphic;
-        icon = unselectedGraphic;
-    }
-
-    /**
-     * Specifies if the graphic should be aligned vertical above the label;
-     * otherwise aligned horizontally.
-     */
-    public void setVertical(final boolean isVertical) {
-        this.isVertical = isVertical;
-    }
-
-    @Override
-    public void update(final ObjectAdapter object) {
-        final View p = getParent();
-        if (p != null) {
-            p.invalidateLayout();
-        }
-    }
-}


[56/56] [abbrv] isis git commit: ISIS-1335: recreating simpleapp archetype for 1.13.0-SNAPSHOT

Posted by da...@apache.org.
ISIS-1335: recreating simpleapp archetype for 1.13.0-SNAPSHOT


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/cbb4c4cb
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/cbb4c4cb
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/cbb4c4cb

Branch: refs/heads/master
Commit: cbb4c4cb1718fed111b675cb28813be4478a24c4
Parents: 16c60a5
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat May 21 08:09:41 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat May 21 08:09:41 2016 +0100

----------------------------------------------------------------------
 example/archetype/simpleapp/pom.xml             |  6 ++--
 .../META-INF/maven/archetype-metadata.xml       |  6 ----
 .../app/services/homepage/HomePageService.java  | 11 -------
 .../services/homepage/HomePageViewModel.java    |  5 +--
 .../java/domainapp/dom/simple/SimpleObject.java | 33 +++++++++++++++++++-
 .../domainapp/dom/simple/SimpleObjects.java     | 19 ++++++-----
 .../src/main/webapp/WEB-INF/logging.properties  | 11 +++++++
 .../webapp/src/main/webapp/WEB-INF/web.xml      | 24 +++++++++++---
 .../projects/basic/archetype.properties         |  2 +-
 9 files changed, 79 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/pom.xml b/example/archetype/simpleapp/pom.xml
index 2d9abe4..2195a60 100644
--- a/example/archetype/simpleapp/pom.xml
+++ b/example/archetype/simpleapp/pom.xml
@@ -17,7 +17,7 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.isis.archetype</groupId>
     <artifactId>simpleapp-archetype</artifactId>
@@ -29,14 +29,14 @@
             <extension>
                 <groupId>org.apache.maven.archetype</groupId>
                 <artifactId>archetype-packaging</artifactId>
-                <version>2.2</version>
+                <version>2.4</version>
             </extension>
         </extensions>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <artifactId>maven-archetype-plugin</artifactId>
-                    <version>2.2</version>
+                    <version>2.4</version>
                 </plugin>
             </plugins>
         </pluginManagement>

http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml b/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
index 847ea88..ef9a445 100644
--- a/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -61,12 +61,6 @@
                     </includes>
                 </fileSet>
                 <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/main/resources</directory>
-                    <includes>
-                        <include>**/*.xml</include>
-                    </includes>
-                </fileSet>
-                <fileSet filtered="true" encoding="UTF-8">
                     <directory>src/test/java</directory>
                     <includes>
                         <include>**/*.java</include>

http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageService.java
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageService.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageService.java
index 8efe0fd..744ac0b 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageService.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageService.java
@@ -22,22 +22,11 @@
 package domainapp.app.services.homepage;
 
 import org.apache.isis.applib.annotation.Action;
-import com.google.common.eventbus.Subscribe;
-
-import org.apache.isis.applib.AbstractSubscriber;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.HomePage;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
-=======
-import org.apache.isis.applib.services.eventbus.AbstractDomainEvent;
-import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
-import org.apache.isis.applib.services.layout.Object_downloadLayoutXml;
-import org.apache.isis.applib.services.layout.Object_rebuildMetamodel;
-
-import domainapp.app.services.homepage.HomePageViewModel;
->>>>>>> ISIS-1343: extend ActionI invocation to take the targetAdapter, mixedInAdapter (can be null) and arg array.:example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/prototyping/HideMixinsForHomePage.java
 
 @DomainService(
         nature = NatureOfService.VIEW_CONTRIBUTIONS_ONLY // trick to suppress the actions from the top-level menu

http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageViewModel.java
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageViewModel.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageViewModel.java
index 86593d3..5072ea8 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageViewModel.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/app/src/main/java/domainapp/app/services/homepage/HomePageViewModel.java
@@ -24,6 +24,7 @@ package domainapp.app.services.homepage;
 import java.util.List;
 
 import org.apache.isis.applib.annotation.ViewModel;
+import org.apache.isis.applib.services.i18n.TranslatableString;
 
 import domainapp.dom.simple.SimpleObject;
 import domainapp.dom.simple.SimpleObjects;
@@ -32,8 +33,8 @@ import domainapp.dom.simple.SimpleObjects;
 public class HomePageViewModel {
 
     //region > title
-    public String title() {
-        return getObjects().size() + " objects";
+    public TranslatableString title() {
+        return TranslatableString.tr("{num} objects", "num", getObjects().size());
     }
     //endregion
 

http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObject.java
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObject.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObject.java
index 5e9a6f6..8c4b31c 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObject.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObject.java
@@ -25,8 +25,12 @@ import javax.jdo.annotations.IdentityType;
 import javax.jdo.annotations.VersionStrategy;
 
 import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.CommandReification;
 import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
 import org.apache.isis.applib.services.eventbus.PropertyDomainEvent;
@@ -58,7 +62,9 @@ import org.apache.isis.applib.util.ObjectContracts;
                         + "WHERE name.indexOf(:name) >= 0 ")
 })
 @javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
-@DomainObject
+@DomainObject(
+        publishing = Publishing.ENABLED
+)
 public class SimpleObject implements Comparable<SimpleObject> {
 
     public static final int NAME_LENGTH = 40;
@@ -69,12 +75,15 @@ public class SimpleObject implements Comparable<SimpleObject> {
     }
 
 
+
     public static class NameDomainEvent extends PropertyDomainEvent<SimpleObject,String> {}
     @javax.jdo.annotations.Column(
             allowsNull="false",
             length = NAME_LENGTH
     )
     @Property(
+        command = CommandReification.ENABLED,
+        publishing = Publishing.ENABLED,
         domainEvent = NameDomainEvent.class
     )
     private String name;
@@ -91,6 +100,28 @@ public class SimpleObject implements Comparable<SimpleObject> {
 
 
 
+    public static class UpdateNameDomainEvent extends ActionDomainEvent<SimpleObject> {}
+    @Action(
+            command = CommandReification.ENABLED,
+            publishing = Publishing.ENABLED,
+            semantics = SemanticsOf.IDEMPOTENT,
+            domainEvent = UpdateNameDomainEvent.class
+    )
+    @MemberOrder(name="name", sequence = "1") // associate with 'name' property
+    public SimpleObject updateName(@ParameterLayout(named="Name") final String name) {
+        setName(name);
+        return this;
+    }
+    public String default0UpdateName() {
+        return getName();
+    }
+    public TranslatableString validate0UpdateName(final String name) {
+        return validateName(name);
+    }
+
+
+
+
     public static class DeleteDomainEvent extends ActionDomainEvent<SimpleObject> {}
     @Action(
             domainEvent = DeleteDomainEvent.class,

http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObjects.java
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObjects.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObjects.java
index 5679f4d..e7f2725 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObjects.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/dom/src/main/java/domainapp/dom/simple/SimpleObjects.java
@@ -23,7 +23,6 @@ package domainapp.dom.simple;
 
 import java.util.List;
 
-import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.BookmarkPolicy;
@@ -54,8 +53,10 @@ public class SimpleObjects {
     //endregion
 
     //region > listAll (action)
+    public static class ListAllEvent extends ActionDomainEvent<SimpleObjects> {}
     @Action(
-            semantics = SemanticsOf.SAFE
+            semantics = SemanticsOf.SAFE,
+            domainEvent = ListAllEvent.class
     )
     @ActionLayout(
             bookmarking = BookmarkPolicy.AS_ROOT
@@ -67,8 +68,10 @@ public class SimpleObjects {
     //endregion
 
     //region > findByName (action)
+    public static class FindByNameEvent extends ActionDomainEvent<SimpleObjects> {}
     @Action(
-            semantics = SemanticsOf.SAFE
+            semantics = SemanticsOf.SAFE,
+            domainEvent = FindByNameEvent.class
     )
     @ActionLayout(
             bookmarking = BookmarkPolicy.AS_ROOT
@@ -87,18 +90,14 @@ public class SimpleObjects {
     //endregion
 
     //region > create (action)
-    public static class CreateDomainEvent extends ActionDomainEvent<SimpleObjects> {
-        public CreateDomainEvent(final SimpleObjects source, final Identifier identifier, final Object... arguments) {
-            super(source, identifier, arguments);
-        }
-    }
-
+    public static class CreateDomainEvent extends ActionDomainEvent<SimpleObjects> {}
     @Action(
             domainEvent = CreateDomainEvent.class
     )
     @MemberOrder(sequence = "3")
     public SimpleObject create(
-            final @ParameterLayout(named="Name") String name) {
+            @ParameterLayout(named="Name")
+            final String name) {
         final SimpleObject obj = repositoryService.instantiate(SimpleObject.class);
         obj.setName(name);
         repositoryService.persist(obj);

http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
index 9c2d735..8a00c75 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
@@ -78,6 +78,17 @@ log4j.appender.wicket.i18n.layout=org.apache.log4j.PatternLayout
 log4j.appender.wicket.i18n.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n
 
 
+log4j.appender.PublisherServiceLogging=org.apache.log4j.FileAppender
+log4j.appender.PublisherServiceLogging.File=./logs/PublisherServiceLogging.log
+log4j.appender.PublisherServiceLogging.Append=false
+log4j.appender.PublisherServiceLogging.layout=org.apache.log4j.PatternLayout
+log4j.appender.PublisherServiceLogging.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
+
+
+${symbol_pound} profiling via PublisherService
+log4j.logger.org.apache.isis.applib.services.publish.PublisherServiceLogging=DEBUG,PublisherServiceLogging
+log4j.additivity.log4j.logger.org.apache.isis.applib.services.publish.PublisherServiceLogging=false
+
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
index d5e7f23..6bf94f5 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
@@ -109,10 +109,6 @@
     </filter>
     <filter-mapping>
         <filter-name>ResourceCachingFilter</filter-name>
-        <url-pattern>*.js</url-pattern>
-    </filter-mapping>
-    <filter-mapping>
-        <filter-name>ResourceCachingFilter</filter-name>
         <url-pattern>*.css</url-pattern>
     </filter-mapping>
     <filter-mapping>
@@ -125,10 +121,22 @@
     </filter-mapping>
     <filter-mapping>
         <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.jpeg</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
         <url-pattern>*.gif</url-pattern>
     </filter-mapping>
     <filter-mapping>
         <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.svg</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.js</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
         <url-pattern>*.html</url-pattern>
     </filter-mapping>
     <filter-mapping>
@@ -154,10 +162,18 @@
     </servlet-mapping>
     <servlet-mapping>
         <servlet-name>Resource</servlet-name>
+        <url-pattern>*.jpeg</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
         <url-pattern>*.gif</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
         <servlet-name>Resource</servlet-name>
+        <url-pattern>*.svg</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
         <url-pattern>*.js</url-pattern>
     </servlet-mapping>
     <servlet-mapping>

http://git-wip-us.apache.org/repos/asf/isis/blob/cbb4c4cb/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties b/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties
index 33bf84a..74ec66f 100644
--- a/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties
+++ b/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties
@@ -1,4 +1,4 @@
-#Sat Apr 09 07:08:53 BST 2016
+#Sat May 21 08:08:33 BST 2016
 package=it.pkg
 version=0.1-SNAPSHOT
 groupId=archetype.it


[52/56] [abbrv] isis git commit: ISIS-1335: deleting the tool/structure101 directory ... out-of-date, not been maintained.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/runtimes/dflt/runtime-dflt.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/runtimes/dflt/runtime-dflt.java.hsp b/tool/structure101/runtimes/dflt/runtime-dflt.java.hsp
deleted file mode 100644
index b2ead42..0000000
--- a/tool/structure101/runtimes/dflt/runtime-dflt.java.hsp
+++ /dev/null
@@ -1,592 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.4.1223" flavor="j2se">
-  <property name="hide-externals" value="true" />
-  <property name="show-needs-to-compile" value="false" />
-  <property name="detail-mode" value="false" />
-  <classpath relativeto="D:\SVN\ai\trunk\runtimes\dflt">
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\runtime\target\classes" />
-  </classpath>
-  <restructuring>
-    <set version="1" name="Sandbox 1" hiview="Codemap" active="true" todo="false" />
-    <set version="1" name="Flattened to classes" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="true">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-    <set version="1" name="Flattened to leaf packages" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="false">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-  </restructuring>
-  <grid-set sep="." version="3.4.1223">
-    <grid name="Diagram 3" enforce="true" strict="false">
-      <row>
-        <cell name="runtime" pattern="org.apache.isis.runtimes.dflt.runtime.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="Isis" pattern="org.apache.isis.runtimes.dflt.runtime.Isis" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="IsisInstallerRegistry" pattern="org.apache.isis.runtimes.dflt.runtime.IsisInstallerRegistry" vexpanded="false" visibility="public" />
-              <cell name="RuntimeBootstrapper" pattern="org.apache.isis.runtimes.dflt.runtime.RuntimeBootstrapper" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="runner" pattern="org.apache.isis.runtimes.dflt.runtime.runner.*" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="runner" pattern="org.apache.isis.runtimes.dflt.runtime.runner.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="IsisRunner" pattern="org.apache.isis.runtimes.dflt.runtime.runner.IsisRunner" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="Constants" pattern="org.apache.isis.runtimes.dflt.runtime.runner.Constants" vexpanded="false" visibility="public" />
-                    <cell name="IsisBootstrapper" pattern="org.apache.isis.runtimes.dflt.runtime.runner.IsisBootstrapper" vexpanded="false" visibility="public" />
-                    <cell name="IsisModule" pattern="org.apache.isis.runtimes.dflt.runtime.runner.IsisModule" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="opts" pattern="org.apache.isis.runtimes.dflt.runtime.runner.opts.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="installers" pattern="org.apache.isis.runtimes.dflt.runtime.installers.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="InstallerLookupDefault" pattern="org.apache.isis.runtimes.dflt.runtime.installers.InstallerLookupDefault" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="InstallerVersion" pattern="org.apache.isis.runtimes.dflt.runtime.installers.InstallerVersion" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="systemusinginstallers" pattern="org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="IsisSystemThatUsesInstallersFactory" pattern="org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemThatUsesInstallersFactory" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="IsisSystemUsingInstallers" pattern="org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="IsisSystemAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="installerregistry" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.*" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="installerapi" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="ObjectStorePersistenceMechanismInstallerAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.ObjectStorePersistenceMechanismInstallerAbstract" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="ClientConnectionInstaller" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.ClientConnectionInstaller" vexpanded="false" visibility="public" />
-                    <cell name="IsisViewerInstallerAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.IsisViewerInstallerAbstract" vexpanded="false" visibility="public" />
-                    <cell name="PersistenceMechanismInstallerAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="EmbeddedWebServerInstaller" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.EmbeddedWebServerInstaller" vexpanded="false" visibility="public" />
-                    <cell name="IsisViewerInstaller" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.IsisViewerInstaller" vexpanded="false" visibility="public" />
-                    <cell name="PersistenceMechanismInstaller" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.PersistenceMechanismInstaller" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="installerregistry" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="InstallerLookupAware" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.InstallerLookupAware" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="InstallerLookup" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.InstallerLookup" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="InstallerRepository" pattern="org.apache.isis.runtimes.dflt.runtime.installerregistry.InstallerRepository" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="web" pattern="org.apache.isis.runtimes.dflt.runtime.web.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="EmbeddedWebViewer" pattern="org.apache.isis.runtimes.dflt.runtime.web.EmbeddedWebViewer" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="EmbeddedWebServerAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.web.EmbeddedWebServerAbstract" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="EmbeddedWebServer" pattern="org.apache.isis.runtimes.dflt.runtime.web.EmbeddedWebServer" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="viewer" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.*" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="viewer" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="IsisViewerAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.IsisViewerAbstract" vexpanded="false" visibility="public" />
-                    <cell name="IsisViewerNoop" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.IsisViewerNoop" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisViewer" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.IsisViewer" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="web" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.web.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="WebAppSpecification" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.web.WebAppSpecification" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="FilterSpecification" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.web.FilterSpecification" vexpanded="false" visibility="public" />
-                    <cell name="ServletSpecification" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.web.ServletSpecification" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="AbstractServletOrFilterMapping" pattern="org.apache.isis.runtimes.dflt.runtime.viewer.web.AbstractServletOrFilterMapping" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="authentication" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.*" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="authentication" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="AuthenticationManagerStandardInstallerAbstractForDfltRuntime" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.AuthenticationManagerStandardInstallerAbstractForDfltRuntime" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="AuthenticationManagerStandardForDfltRuntime" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.AuthenticationManagerStandardForDfltRuntime" vexpanded="false" visibility="public" />
-                    <cell name="AuthenticatorAbstractForDfltRuntime" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.AuthenticatorAbstractForDfltRuntime" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="fixture" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.fixture.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="LogonFixtureAuthenticator" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.fixture.LogonFixtureAuthenticator" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-              <cell name="exploration" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.exploration.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="ExplorationAuthenticator" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.exploration.ExplorationAuthenticator" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="AuthenticationRequestExploration" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.exploration.AuthenticationRequestExploration" vexpanded="false" visibility="public" />
-                    <cell name="ExplorationAuthenticatorConstants" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.exploration.ExplorationAuthenticatorConstants" vexpanded="false" visibility="public" />
-                    <cell name="ExplorationSession" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.exploration.ExplorationSession" vexpanded="false" visibility="public" />
-                    <cell name="MultiUserExplorationSession" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.exploration.MultiUserExplorationSession" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-              <cell name="singleuser" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.singleuser.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="AuthenticationRequestSingleUser" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.singleuser.AuthenticationRequestSingleUser" vexpanded="false" visibility="public" />
-                    <cell name="SingleUserSession" pattern="org.apache.isis.runtimes.dflt.runtime.authentication.singleuser.SingleUserSession" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-          </grid>
-        </cell>
-        <cell name="authorization" pattern="org.apache.isis.runtimes.dflt.runtime.authorization.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="AuthorizationFacetFactoryForDfltRuntime" pattern="org.apache.isis.runtimes.dflt.runtime.authorization.AuthorizationFacetFactoryForDfltRuntime" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="bytecode" pattern="org.apache.isis.runtimes.dflt.runtime.bytecode.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="ObjectResolveAndObjectChangedEnhancerAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.bytecode.ObjectResolveAndObjectChangedEnhancerAbstract" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="snapshot" pattern="org.apache.isis.runtimes.dflt.runtime.snapshot.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="XmlSnapshotBuilder" pattern="org.apache.isis.runtimes.dflt.runtime.snapshot.XmlSnapshotBuilder" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="memento" pattern="org.apache.isis.runtimes.dflt.runtime.memento.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="Memento" pattern="org.apache.isis.runtimes.dflt.runtime.memento.Memento" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="CollectionData" pattern="org.apache.isis.runtimes.dflt.runtime.memento.CollectionData" vexpanded="false" visibility="public" />
-              <cell name="ObjectData" pattern="org.apache.isis.runtimes.dflt.runtime.memento.ObjectData" vexpanded="false" visibility="public" />
-              <cell name="StandaloneData" pattern="org.apache.isis.runtimes.dflt.runtime.memento.StandaloneData" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="Data" pattern="org.apache.isis.runtimes.dflt.runtime.memento.Data" vexpanded="false" visibility="public" />
-              <cell name="Null" pattern="org.apache.isis.runtimes.dflt.runtime.memento.Null" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="fixtures" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.*" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="fixtures" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="FixturesInstallerFromConfiguration" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.FixturesInstallerFromConfiguration" vexpanded="false" visibility="public" />
-                    <cell name="FixturesInstallerNoop" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.FixturesInstallerNoop" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="FixturesInstallerAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.FixturesInstallerAbstract" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="FixturesInstallerDelegate" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.FixturesInstallerDelegate" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="ProfileServiceImpl" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.ProfileServiceImpl" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="ProfileImpl" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.ProfileImpl" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="FixturesInstaller" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.FixturesInstaller" vexpanded="false" visibility="public" />
-                    <cell name="PerspectiveImpl" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.PerspectiveImpl" vexpanded="false" visibility="public" />
-                    <cell name="SwitchUserServiceImpl" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.SwitchUserServiceImpl" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="authentication" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.authentication.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="AuthenticationRequestLogonFixture" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.authentication.AuthenticationRequestLogonFixture" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-              <cell name="domainservice" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.domainservice.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="ObjectLoaderFixture" pattern="org.apache.isis.runtimes.dflt.runtime.fixtures.domainservice.ObjectLoaderFixture" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-          </grid>
-        </cell>
-        <cell name="services" pattern="org.apache.isis.runtimes.dflt.runtime.services.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="ServicesInstallerAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerAbstract" vexpanded="false" visibility="public" />
-              <cell name="ServicesInstallerFromConfiguration" pattern="org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="SimpleRepository" pattern="org.apache.isis.runtimes.dflt.runtime.services.SimpleRepository" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="InitialisationException" pattern="org.apache.isis.runtimes.dflt.runtime.services.InitialisationException" vexpanded="false" visibility="public" />
-              <cell name="RepositoryHelper" pattern="org.apache.isis.runtimes.dflt.runtime.services.RepositoryHelper" vexpanded="false" visibility="public" />
-              <cell name="ServiceException" pattern="org.apache.isis.runtimes.dflt.runtime.services.ServiceException" vexpanded="false" visibility="public" />
-              <cell name="ServicesInstaller" pattern="org.apache.isis.runtimes.dflt.runtime.services.ServicesInstaller" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="fixturedomainservice" pattern="org.apache.isis.runtimes.dflt.runtime.fixturedomainservice.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="ObjectFixtureService" pattern="org.apache.isis.runtimes.dflt.runtime.fixturedomainservice.ObjectFixtureService" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="ObjectFixtureFilePersistor" pattern="org.apache.isis.runtimes.dflt.runtime.fixturedomainservice.ObjectFixtureFilePersistor" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="FixtureException" pattern="org.apache.isis.runtimes.dflt.runtime.fixturedomainservice.FixtureException" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="persistence" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.*" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="objectstore" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.*" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="objectstore" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.?" vexpanded="false" visibility="public">
-                      <grid>
-                        <row>
-                          <cell name="IsisStoreDelegating" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.IsisStoreDelegating" vexpanded="false" visibility="public" />
-                          <cell name="IsisStoreLogger" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.IsisStoreLogger" vexpanded="false" visibility="public" />
-                        </row>
-                        <row>
-                          <cell name="ObjectStore" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.ObjectStore" vexpanded="false" visibility="public" />
-                          <cell name="PersistenceSessionObjectStore" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.PersistenceSessionObjectStore" vexpanded="false" visibility="public" />
-                        </row>
-                        <row>
-                          <cell name="ObjectStorePersistence" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.ObjectStorePersistence" vexpanded="false" visibility="public" />
-                          <cell name="ObjectStoreTransactionManagement" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.ObjectStoreTransactionManagement" vexpanded="false" visibility="public" />
-                        </row>
-                      </grid>
-                    </cell>
-                  </row>
-                  <row>
-                    <cell name="algorithm" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.algorithm.*" vexpanded="false" visibility="public" />
-                    <cell name="transaction" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.?" vexpanded="false" visibility="public">
-                      <grid>
-                        <row>
-                          <cell name="ObjectStoreTransactionManager" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.ObjectStoreTransactionManager" vexpanded="false" visibility="public" />
-                        </row>
-                        <row>
-                          <cell name="ObjectStoreTransaction" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.ObjectStoreTransaction" vexpanded="false" visibility="public" />
-                        </row>
-                        <row>
-                          <cell name="CreateObjectCommand" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.CreateObjectCommand" vexpanded="false" visibility="public" />
-                          <cell name="DestroyObjectCommand" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.DestroyObjectCommand" vexpanded="false" visibility="public" />
-                          <cell name="PersistenceCommandAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PersistenceCommandAbstract" vexpanded="false" visibility="public" />
-                          <cell name="SaveObjectCommand" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.SaveObjectCommand" vexpanded="false" visibility="public" />
-                        </row>
-                        <row>
-                          <cell name="PersistenceCommand" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PersistenceCommand" vexpanded="false" visibility="public" />
-                        </row>
-                        <row>
-                          <cell name="PersistenceCommandContext" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PersistenceCommandContext" vexpanded="false" visibility="public" />
-                        </row>
-                      </grid>
-                    </cell>
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="persistence" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.?" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="adaptermanager" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.adaptermanager.*" vexpanded="false" visibility="public" />
-              <cell name="adapterfactory" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.adapterfactory.*" vexpanded="false" visibility="public" />
-              <cell name="internal" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.internal.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="RuntimeContextFromSession" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.internal.RuntimeContextFromSession" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="container" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.container.?" vexpanded="false" visibility="public" />
-              <cell name="objectfactory" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.objectfactory.?" vexpanded="false" visibility="public" />
-              <cell name="oidgenerator" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.*" vexpanded="false" visibility="public" />
-              <cell name="query" pattern="org.apache.isis.runtimes.dflt.runtime.persistence.query.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-        <cell name="userprofile" pattern="org.apache.isis.runtimes.dflt.runtime.userprofile.?" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="UserProfileStoreInstaller" pattern="org.apache.isis.runtimes.dflt.runtime.userprofile.UserProfileStoreInstaller" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="UserProfileLoaderDefault" pattern="org.apache.isis.runtimes.dflt.runtime.userprofile.UserProfileLoaderDefault" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="UserProfilesDebugUtil" pattern="org.apache.isis.runtimes.dflt.runtime.userprofile.UserProfilesDebugUtil" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="transaction" pattern="org.apache.isis.runtimes.dflt.runtime.transaction.*" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="facetdecorator" pattern="org.apache.isis.runtimes.dflt.runtime.transaction.facetdecorator.*" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="facets" pattern="org.apache.isis.runtimes.dflt.runtime.transaction.facets.?" vexpanded="false" visibility="public" />
-              <cell name="transaction" pattern="org.apache.isis.runtimes.dflt.runtime.transaction.?" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="messagebroker" pattern="org.apache.isis.runtimes.dflt.runtime.transaction.messagebroker.?" vexpanded="false" visibility="public" />
-              <cell name="updatenotifier" pattern="org.apache.isis.runtimes.dflt.runtime.transaction.updatenotifier.?" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-      <row>
-        <cell name="system" pattern="org.apache.isis.runtimes.dflt.runtime.system.*" vexpanded="true" visibility="public">
-          <grid>
-            <row>
-              <cell name="context" pattern="org.apache.isis.runtimes.dflt.runtime.system.context.?" vexpanded="true" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="IsisContextPipe" pattern="org.apache.isis.runtimes.dflt.runtime.system.context.IsisContextPipe" vexpanded="false" visibility="public" />
-                    <cell name="IsisContextThreadLocal" pattern="org.apache.isis.runtimes.dflt.runtime.system.context.IsisContextThreadLocal" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisContextMultiUser" pattern="org.apache.isis.runtimes.dflt.runtime.system.context.IsisContextMultiUser" vexpanded="false" visibility="public" />
-                    <cell name="IsisContextStatic" pattern="org.apache.isis.runtimes.dflt.runtime.system.context.IsisContextStatic" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisContext" pattern="org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="system" pattern="org.apache.isis.runtimes.dflt.runtime.system.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="IsisSystemFactory" pattern="org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFactory" vexpanded="false" visibility="public" />
-                    <cell name="IsisSystemFixturesHookAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisSystem" pattern="org.apache.isis.runtimes.dflt.runtime.system.IsisSystem" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="DeploymentType" pattern="org.apache.isis.runtimes.dflt.runtime.system.DeploymentType" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="ContextCategory" pattern="org.apache.isis.runtimes.dflt.runtime.system.ContextCategory" vexpanded="false" visibility="public" />
-                    <cell name="DebugSelection" pattern="org.apache.isis.runtimes.dflt.runtime.system.DebugSelection" vexpanded="false" visibility="public" />
-                    <cell name="DeploymentCategory" pattern="org.apache.isis.runtimes.dflt.runtime.system.DeploymentCategory" vexpanded="false" visibility="public" />
-                    <cell name="IsisSystemException" pattern="org.apache.isis.runtimes.dflt.runtime.system.IsisSystemException" vexpanded="false" visibility="public" />
-                    <cell name="Splash" pattern="org.apache.isis.runtimes.dflt.runtime.system.Splash" vexpanded="false" visibility="public" />
-                    <cell name="SystemConstants" pattern="org.apache.isis.runtimes.dflt.runtime.system.SystemConstants" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-              <cell name="session" pattern="org.apache.isis.runtimes.dflt.runtime.system.session.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="IsisSessionFactoryDefault" pattern="org.apache.isis.runtimes.dflt.runtime.system.session.IsisSessionFactoryDefault" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisSessionFactoryAbstract" pattern="org.apache.isis.runtimes.dflt.runtime.system.session.IsisSessionFactoryAbstract" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisSessionDefault" pattern="org.apache.isis.runtimes.dflt.runtime.system.session.IsisSessionDefault" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisSession" pattern="org.apache.isis.runtimes.dflt.runtime.system.session.IsisSession" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisSessionFactory" pattern="org.apache.isis.runtimes.dflt.runtime.system.session.IsisSessionFactory" vexpanded="false" visibility="public" />
-                    <cell name="SessionFactoryException" pattern="org.apache.isis.runtimes.dflt.runtime.system.session.SessionFactoryException" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="persistence" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="PersistenceSessionFactory" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionFactory" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="PersistenceSession" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="PersistenceSessionContainer" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionContainer" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="AdapterManager" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.AdapterManager" vexpanded="false" visibility="public" />
-                    <cell name="ObjectFactory" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.ObjectFactory" vexpanded="false" visibility="public" />
-                    <cell name="OidGenerator" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.OidGenerator" vexpanded="false" visibility="public" />
-                    <cell name="PersistenceQuery" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceQuery" vexpanded="false" visibility="public" />
-                    <cell name="PersistenceSessionAdaptedServiceManager" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionAdaptedServiceManager" vexpanded="false" visibility="public" />
-                    <cell name="PersistenceSessionForceReloader" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionForceReloader" vexpanded="false" visibility="public" />
-                    <cell name="PersistenceSessionHydrator" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionHydrator" vexpanded="false" visibility="public" />
-                    <cell name="PersistenceSessionTestSupport" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionTestSupport" vexpanded="false" visibility="public" />
-                    <cell name="PersistenceSessionTransactionManagement" pattern="org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionTransactionManagement" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="transaction" pattern="org.apache.isis.runtimes.dflt.runtime.system.transaction.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="IsisTransactionManagerAware" pattern="org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransactionManagerAware" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="IsisTransactionManager" pattern="org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransactionManager" vexpanded="false" visibility="public" />
-                    <cell name="IsisTransaction" pattern="org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransaction" vexpanded="false" visibility="public" />
-                  </row>
-                  <row>
-                    <cell name="MessageBroker" pattern="org.apache.isis.runtimes.dflt.runtime.system.transaction.MessageBroker" vexpanded="false" visibility="public" />
-                    <cell name="TransactionalClosure" pattern="org.apache.isis.runtimes.dflt.runtime.system.transaction.TransactionalClosure" vexpanded="false" visibility="public" />
-                    <cell name="TransactionalClosureWithReturn" pattern="org.apache.isis.runtimes.dflt.runtime.system.transaction.TransactionalClosureWithReturn" vexpanded="false" visibility="public" />
-                    <cell name="UpdateNotifier" pattern="org.apache.isis.runtimes.dflt.runtime.system.transaction.UpdateNotifier" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-            <row>
-              <cell name="internal" pattern="org.apache.isis.runtimes.dflt.runtime.system.internal.?" vexpanded="false" visibility="public">
-                <grid>
-                  <row>
-                    <cell name="InitialisationSession" pattern="org.apache.isis.runtimes.dflt.runtime.system.internal.InitialisationSession" vexpanded="false" visibility="public" />
-                    <cell name="IsisLocaleInitializer" pattern="org.apache.isis.runtimes.dflt.runtime.system.internal.IsisLocaleInitializer" vexpanded="false" visibility="public" />
-                    <cell name="IsisTimeZoneInitializer" pattern="org.apache.isis.runtimes.dflt.runtime.system.internal.IsisTimeZoneInitializer" vexpanded="false" visibility="public" />
-                    <cell name="SplashWindow" pattern="org.apache.isis.runtimes.dflt.runtime.system.internal.SplashWindow" vexpanded="false" visibility="public" />
-                  </row>
-                </grid>
-              </cell>
-            </row>
-          </grid>
-        </cell>
-        <cell name="systemdependencyinjector" pattern="org.apache.isis.runtimes.dflt.runtime.systemdependencyinjector.?" vexpanded="false" visibility="public">
-          <grid>
-            <row>
-              <cell name="SystemDependencyInjectorAware" pattern="org.apache.isis.runtimes.dflt.runtime.systemdependencyinjector.SystemDependencyInjectorAware" vexpanded="false" visibility="public" />
-            </row>
-            <row>
-              <cell name="SystemDependencyInjector" pattern="org.apache.isis.runtimes.dflt.runtime.systemdependencyinjector.SystemDependencyInjector" vexpanded="false" visibility="public" />
-            </row>
-          </grid>
-        </cell>
-      </row>
-    </grid>
-  </grid-set>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/runtimes/dflt/runtime/core-runtime.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/runtimes/dflt/runtime/core-runtime.java.hsp b/tool/structure101/runtimes/dflt/runtime/core-runtime.java.hsp
deleted file mode 100644
index 1c15cc3..0000000
--- a/tool/structure101/runtimes/dflt/runtime/core-runtime.java.hsp
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.3.722" flavor="j2se">
-   <property name="hide-externals" value="true" />
-   <property name="show-needs-to-compile" value="false" />
-   <property name="detail-mode" value="false" />
-   <classpath>
-      <classpathentry kind="lib" path="target/classes" />
-   </classpath>
-   <sourcepaths>
-      <pathentry type="file" path="src/main/java" />
-   </sourcepaths>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/runtimes/dflt/runtimes-dflt-JARs.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/runtimes/dflt/runtimes-dflt-JARs.java.hsp b/tool/structure101/runtimes/dflt/runtimes-dflt-JARs.java.hsp
deleted file mode 100644
index 5d1d0a9..0000000
--- a/tool/structure101/runtimes/dflt/runtimes-dflt-JARs.java.hsp
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.4.1223" flavor="j2se">
-  <property name="show-needs-to-compile" value="false" />
-  <property name="hide-externals" value="true" />
-  <property name="detail-mode" value="false" />
-  <classpath>
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\bytecode\dflt\target\dflt-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\bytecode\identity\target\identity-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\bytecode\javassist\target\javassist-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\objectstores\dflt\target\dflt-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\objectstores\nosql\target\nosql-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\objectstores\sql\impl\target\sql-impl-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\objectstores\sql\target\sql-0.1.2-incubating-SNAPSHOT-tests.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\objectstores\sql\tests-common\target\sql-tests-common-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\objectstores\xml\target\xml-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\profilestores\dflt\target\dflt-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\profilestores\xml\target\xml-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\remoting\common\target\common-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\remoting\marshalling-encode\target\marshalling-encode-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\remoting\marshalling-serialize\target\marshalling-serialize-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\remoting\marshalling-xstream\target\marshalling-xstream-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\remoting\target\remoting-0.1.2-incubating-SNAPSHOT-tests.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\remoting\transport-http\client\target\transport-http-client-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\remoting\transport-http\server\target\transport-http-server-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\remoting\transport-sockets\target\transport-sockets-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\runtime\target\runtime-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\webapp\target\webapp-0.1.2-incubating-SNAPSHOT.jar" />
-    <classpathentry kind="lib" path="D:\SVN\ai\trunk\runtimes\dflt\webserver\target\webserver-0.1.2-incubating-SNAPSHOT.jar" />
-  </classpath>
-  <transformations>
-    <transformation in="*" out="{jar}.*" />
-  </transformations>
-  <restructuring>
-    <set version="1" name="Sandbox 1" hiview="Codemap" active="true" todo="false" />
-    <set version="1" name="Flattened to classes" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="true">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-    <set version="1" name="Flattened to leaf packages" hiview="Codemap" active="false" todo="false">
-      <action type="flatten" active="true" description="Flatten root">
-        <params flattenLeafFolders="false">
-          <container-fqn fqn="root" type="root" path="" isroot="true" />
-        </params>
-        <composite-set />
-      </action>
-    </set>
-  </restructuring>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/runtimes/dflt/webapp/core-webapp.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/runtimes/dflt/webapp/core-webapp.java.hsp b/tool/structure101/runtimes/dflt/webapp/core-webapp.java.hsp
deleted file mode 100644
index 1c15cc3..0000000
--- a/tool/structure101/runtimes/dflt/webapp/core-webapp.java.hsp
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.3.722" flavor="j2se">
-   <property name="hide-externals" value="true" />
-   <property name="show-needs-to-compile" value="false" />
-   <property name="detail-mode" value="false" />
-   <classpath>
-      <classpathentry kind="lib" path="target/classes" />
-   </classpath>
-   <sourcepaths>
-      <pathentry type="file" path="src/main/java" />
-   </sourcepaths>
-</local-project>
-

http://git-wip-us.apache.org/repos/asf/isis/blob/dbe266f8/tool/structure101/runtimes/dflt/webserver/core-webserver.java.hsp
----------------------------------------------------------------------
diff --git a/tool/structure101/runtimes/dflt/webserver/core-webserver.java.hsp b/tool/structure101/runtimes/dflt/webserver/core-webserver.java.hsp
deleted file mode 100644
index 1c15cc3..0000000
--- a/tool/structure101/runtimes/dflt/webserver/core-webserver.java.hsp
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.3.722" flavor="j2se">
-   <property name="hide-externals" value="true" />
-   <property name="show-needs-to-compile" value="false" />
-   <property name="detail-mode" value="false" />
-   <classpath>
-      <classpathentry kind="lib" path="target/classes" />
-   </classpath>
-   <sourcepaths>
-      <pathentry type="file" path="src/main/java" />
-   </sourcepaths>
-</local-project>
-