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 2012/12/06 11:10:33 UTC

[7/51] [partial] ISIS-188: moving modules into core

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java
deleted file mode 100644
index 65e44f6..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/InteractionEvent.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.applib.events;
-
-import java.util.EventObject;
-import java.util.List;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents an interaction with a domain object or a particular feature
- * (property, collection, action) of a domain object.
- * 
- * <p>
- * Many of the interactions are checks for {@link VisibilityEvent visibility},
- * {@link UsabilityEvent usability} and {@link ValidityEvent validity}.
- */
-public abstract class InteractionEvent extends EventObject {
-
-    private static final long serialVersionUID = 1L;
-
-    private final Identifier identifier;
-    private String reason;
-    private Class<?> advisorClass;
-
-    public InteractionEvent(final Object source, final Identifier identifier) {
-        super(source);
-        this.identifier = identifier;
-    }
-
-    /**
-     * The domain object (pojo) against which the interaction occurred.
-     */
-    @Override
-    public Object getSource() {
-        return super.getSource();
-    }
-
-    /**
-     * The {@link Identifier} of the feature of the object being interacted
-     * with.
-     * 
-     * <p>
-     * Will be consistent with the subclass of {@link InteractionEvent}. So for
-     * example a {@link PropertyModifyEvent} will have an {@link Identifier}
-     * that identifies the property being modified.
-     * 
-     * @return
-     */
-    public Identifier getIdentifier() {
-        return identifier;
-    }
-
-    /**
-     * As per {@link #getClassName()}, but naturalized.
-     * 
-     * @see #getIdentifier
-     */
-    public String getClassName() {
-        return identifier.getClassName();
-    }
-
-    /**
-     * Convenience method that returns the
-     * {@link Identifier#getClassNaturalName() natural class name} of the
-     * {@link #getIdentifier() identifier}.
-     */
-    public String getClassNaturalName() {
-        return identifier.getClassNaturalName();
-    }
-
-    /**
-     * Convenience method that returns the {@link Identifier#getMemberName()
-     * member name} of the {@link #getIdentifier() identifier}.
-     * 
-     * @see #getIdentifier
-     */
-    public String getMemberName() {
-        return identifier.getMemberName();
-    }
-
-    /**
-     * As per {@link #getMemberName()}, but naturalized.
-     */
-    public String getMemberNaturalName() {
-        return identifier.getMemberNaturalName();
-    }
-
-    /**
-     * Convenience method that returns the {@link Identifier#getClassName()
-     * class name} of the {@link #getIdentifier() identifier}.
-     */
-    public List<String> getMemberParameterNames() {
-        return identifier.getMemberParameterNames();
-    }
-
-    /**
-     * As per {@link #getMemberParameterName()}, but naturalized.
-     */
-    public List<String> getMemberParameterNaturalNames() {
-        return identifier.getMemberParameterNaturalNames();
-    }
-
-    /**
-     * The reason, if any, that this interaction may have been vetoed or
-     * otherwise disallowed.
-     * 
-     * <p>
-     * Intended to be {@link #setReason(String) set} as a result of consulting
-     * one of the facets.
-     * 
-     * @return
-     */
-    public String getReason() {
-        return reason;
-    }
-
-    /**
-     * The class of the (first) advisor, if any, that provided the
-     * {@link #getReason() reason} that this interaction is {@link #isVeto()
-     * vetoed}.
-     * 
-     * @return
-     */
-    public Class<?> getAdvisorClass() {
-        return advisorClass;
-    }
-
-    /**
-     * Specify the {@link #getReason() reason} that this interaction has been
-     * vetoed and the {@link #getAdvisorClass() class of the advisor} that did
-     * the veto.
-     */
-    public void advised(final String reason, final Class<?> advisorClass) {
-        this.reason = reason;
-        this.advisorClass = advisorClass;
-    }
-
-    /**
-     * Whether this interaction has been vetoed (meaning that
-     * {@link #getReason()} and {@link #getAdvisorClass()} will both be non-
-     * <tt>null</tt> and the {@link #getReason() reason} non-empty.)
-     * 
-     * <p>
-     * The interpretation of this depends on the subclass:
-     * <ul>
-     * <li>for {@link VisibilityEvent}, a veto means that the feature (property,
-     * collection, action) is hidden</li>
-     * <li>for {@link UsabilityEvent}, a veto means that the feature is disabled
-     * </li>
-     * <li>for {@link ValidityEvent}, a veto means that the proposed
-     * modification (property value, object added/removed, action argument) is
-     * invalid</li>
-     * </ul>
-     */
-    public boolean isVeto() {
-        return getReason() != null && getReason().length() > 0;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/ObjectTitleEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/ObjectTitleEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/ObjectTitleEvent.java
deleted file mode 100644
index c4e19c2..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/ObjectTitleEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents an access (reading) of an object's title.
- * 
- * <p>
- * The {@link #getReason()} will always be <tt>null</tt>; access is always
- * allowed.
- */
-public class ObjectTitleEvent extends AccessEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String title;
-
-    public ObjectTitleEvent(final Object source, final Identifier classIdentifier, final String title) {
-        super(source, classIdentifier);
-        this.title = title;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/ObjectValidityEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/ObjectValidityEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/ObjectValidityEvent.java
deleted file mode 100644
index 0266196..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/ObjectValidityEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents a check as to whether the current values of the
- * properties/collections of an object are valid (for example, prior to saving
- * that object).
- * 
- * <p>
- * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
- * object is invalid, otherwise ok.
- */
-public class ObjectValidityEvent extends ValidityEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    public ObjectValidityEvent(final Object source, final Identifier classIdentifier) {
-        super(source, classIdentifier);
-    }
-
-    @Override
-    public Object getProposed() {
-        return getSource();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/ParseValueEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/ParseValueEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/ParseValueEvent.java
deleted file mode 100644
index 36566b1..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/ParseValueEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents a check as to whether the proposed values of the value type is
- * valid.
- * 
- * <p>
- * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
- * proposed value is invalid, otherwise the new value is acceptable.
- */
-public class ParseValueEvent extends ValidityEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    private static Object coalesce(final Object source, final String proposed) {
-        return source != null ? source : proposed;
-    }
-
-    private final String proposed;
-
-    public ParseValueEvent(final Object source, final Identifier classIdentifier, final String proposed) {
-        super(coalesce(source, proposed), classIdentifier);
-        this.proposed = proposed;
-    }
-
-    /**
-     * Will be the source provided in the
-     * {@link #ParseValueEvent(Object, Identifier, String) constructor} if not
-     * null, otherwise will fallback to the proposed value.
-     */
-    @Override
-    public Object getSource() {
-        return super.getSource();
-    }
-
-    @Override
-    public String getProposed() {
-        return proposed;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyAccessEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyAccessEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyAccessEvent.java
deleted file mode 100644
index 090f949..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyAccessEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents an access (reading) of a property.
- * 
- * <p>
- * Analogous to {@link PropertyModifyEvent}, however the {@link #getReason()}
- * will always be <tt>null</tt>. (If access is not allowed then a
- * {@link PropertyVisibilityEvent} would have been fired).
- */
-public class PropertyAccessEvent extends AccessEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    public PropertyAccessEvent(final Object source, final Identifier propertyIdentifier, final Object value) {
-        super(source, propertyIdentifier);
-        this.value = value;
-    }
-
-    private final Object value;
-
-    public Object getValue() {
-        return value;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyModifyEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyModifyEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyModifyEvent.java
deleted file mode 100644
index 33be17e..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyModifyEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents a check as to whether a particular value for a property is valid
- * or not.
- * 
- * <p>
- * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
- * value is invalid; otherwise the value is valid.
- */
-public class PropertyModifyEvent extends ValidityEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    private final Object proposed;
-
-    public PropertyModifyEvent(final Object source, final Identifier propertyIdentifier, final Object proposed) {
-        super(source, propertyIdentifier);
-        this.proposed = proposed;
-    }
-
-    /**
-     * If <tt>null</tt>, then the property was cleared.
-     * 
-     * @return
-     */
-    @Override
-    public Object getProposed() {
-        return proposed;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyUsabilityEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyUsabilityEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyUsabilityEvent.java
deleted file mode 100644
index a4a94d2..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyUsabilityEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents a check as to whether a property is usable or has been disabled.
- * 
- * <p>
- * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
- * property is disabled; otherwise property is enabled.
- */
-public class PropertyUsabilityEvent extends UsabilityEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    public PropertyUsabilityEvent(final Object source, final Identifier propertyIdentifier) {
-        super(source, propertyIdentifier);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyVisibilityEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyVisibilityEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyVisibilityEvent.java
deleted file mode 100644
index c8b72e4..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/PropertyVisibilityEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents a check as to whether a property is visible or has been hidden.
- * 
- * <p>
- * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
- * property is invisible; otherwise property is visible.
- */
-public class PropertyVisibilityEvent extends VisibilityEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    public PropertyVisibilityEvent(final Object source, final Identifier propertyIdentifier) {
-        super(source, propertyIdentifier);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/ProposedHolderEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/ProposedHolderEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/ProposedHolderEvent.java
deleted file mode 100644
index 5358bbb..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/ProposedHolderEvent.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.applib.events;
-
-/**
- * Makes it easier to process different events that hold a single proposed
- * argument (such as {@link CollectionAddToEvent} and
- * {@link PropertyModifyEvent}).
- */
-public interface ProposedHolderEvent {
-
-    Object getProposed();
-
-    String getMemberNaturalName();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/UsabilityEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/UsabilityEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/UsabilityEvent.java
deleted file mode 100644
index 7792bdd..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/UsabilityEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents a check to determine whether a member of an object is usable or
- * has been disabled.
- * 
- * <p>
- * If {@link #getReason()} is <tt>null</tt>, then is usable; otherwise is
- * disabled.
- * 
- * @see AccessEvent
- * @see VisibilityEvent
- * @see ValidityEvent
- */
-public abstract class UsabilityEvent extends InteractionEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    public UsabilityEvent(final Object source, final Identifier identifier) {
-        super(source, identifier);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/ValidityEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/ValidityEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/ValidityEvent.java
deleted file mode 100644
index 5680db7..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/ValidityEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents a check to determine whether a proposed change is valid.
- * 
- * <p>
- * Multiple subclasses, including:
- * <ul>
- * <li>modifying a property</li>
- * <li>adding to/removing from a collection</li>
- * <li>checking a single argument for an action invocation</li>
- * <li>checking all arguments for an action invocation</li>
- * <li>checking all properties for an object before saving</li>
- * </ul>
- * 
- * <p>
- * If {@link #getReason()} is <tt>null</tt>, then is usable; otherwise is
- * disabled.
- * 
- * @see AccessEvent
- * @see VisibilityEvent
- * @see UsabilityEvent
- */
-public abstract class ValidityEvent extends InteractionEvent implements ProposedHolderEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    public ValidityEvent(final Object source, final Identifier identifier) {
-        super(source, identifier);
-    }
-
-    @Override
-    public Object getSource() {
-        return super.getSource();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/VisibilityEvent.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/VisibilityEvent.java b/framework/applib/src/main/java/org/apache/isis/applib/events/VisibilityEvent.java
deleted file mode 100644
index a306b02..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/VisibilityEvent.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.applib.events;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * Represents a check to determine whether a member of an object is visible or
- * has been hidden.
- * 
- * <p>
- * If {@link #getReason()} is <tt>null</tt>, then is usable; otherwise is
- * invisible.
- * 
- * @see AccessEvent
- * @see UsabilityEvent
- * @see ValidityEvent
- */
-public abstract class VisibilityEvent extends InteractionEvent {
-
-    private static final long serialVersionUID = 1L;
-
-    public VisibilityEvent(final Object source, final Identifier identifier) {
-        super(source, identifier);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/events/package-info.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/events/package-info.java b/framework/applib/src/main/java/org/apache/isis/applib/events/package-info.java
deleted file mode 100644
index 9849bab..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/events/package-info.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.
- */
-
-/**
- * Interaction events, corresponding to gestures in the user interface.
- * 
- * <p>
- * The applib does not provide any means of listening to these events directly, and typically
- * domain objects would not be interested in them either.  However, they can be subscribed to
- * using the wrapper progmodel (which effectively provides a drop-in replacement for the
- * {@link org.apache.isis.applib.DomainObjectContainer} that implements the <tt>WrapperFactory</tt>
- * interface).  
- */
-package org.apache.isis.applib.events;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/filter/Filter.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/filter/Filter.java b/framework/applib/src/main/java/org/apache/isis/applib/filter/Filter.java
deleted file mode 100644
index 57095cf..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/filter/Filter.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.applib.filter;
-
-import com.google.common.base.Predicate;
-
-/**
- * For use by repository implementations to allow a set of objects returned by a
- * back-end objectstore to be filtered before being returned to the caller.
- * 
- * <p>
- * Note that this is different from the pattern or criteria object accepted by
- * some repositories' <tt>findXxx</tt> methods. Such criteria objects are
- * implementation-specific to the configured objectstore and allow it to return
- * an already-filtered set of rows. (For example, a Hibernate-based ObjectStore
- * would accept a representation of a HQL query; an XML-based objectstore might
- * accept an XPath query, etc.)
- */
-public interface Filter<T> {
-
-    /**
-     * Whether or not the supplied pojo meets this criteria.
-     * 
-     * @param pojo
-     * @return <tt>true</tt> if this pojo is acceptable, <tt>false</tt>
-     *         otherwise.
-     */
-    public boolean accept(T t);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/filter/Filters.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/filter/Filters.java b/framework/applib/src/main/java/org/apache/isis/applib/filter/Filters.java
deleted file mode 100644
index 96a08c0..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/filter/Filters.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.applib.filter;
-
-import com.google.common.base.Predicate;
-
-public final class Filters {
-
-    private Filters() {
-    }
-
-    public static <T> Filter<T> and(final Filter<T>... filters) {
-        return new Filter<T>() {
-            @Override
-            public boolean accept(final T f) {
-                for(final Filter<T> filter: filters) {
-                    if(!filter.accept(f)) {     
-                        return false;
-                    }
-                }
-                return true;
-            }
-        };
-    }
-
-    public static <T> Filter<T> or(final Filter<T>... filters) {
-        return new Filter<T>() {
-            @Override
-            public boolean accept(final T f) {
-                for(final Filter<T> filter: filters) {
-                    if(filter.accept(f)) { 
-                        return true;
-                    }
-                }
-                return false;
-            }
-        };
-    }
-
-    public static <T> Filter<T> not(final Filter<T> f1) {
-        return new Filter<T>() {
-            @Override
-            public boolean accept(final T f) {
-                return !f1.accept(f);
-            }
-        };
-    }
-
-    public static <T> Filter<T> any() {
-        return new Filter<T>() {
-            @Override
-            public boolean accept(final T t) {
-                return true;
-            }
-        };
-    }
-
-    public final static <T> Filter<T> anyOfType(final Class<T> clazz) {
-        return any();
-    }
-
-    public static <T> Filter<T> none() {
-        return new Filter<T>() {
-            @Override
-            public boolean accept(final T f) {
-                return false;
-            }
-        };
-    }
-
-    public static <T> Filter<T> noneOfType(final Class<T> clazz) {
-        return none();
-    }
-
-    public static <T> Predicate<T> asPredicate(final Filter<T> filter) {
-        return new Predicate<T>() {
-            @Override
-            public boolean apply(T candidate) {
-                return filter.accept(candidate);
-            }
-        };
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/filter/package-info.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/filter/package-info.java b/framework/applib/src/main/java/org/apache/isis/applib/filter/package-info.java
deleted file mode 100644
index 7d3131b..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/filter/package-info.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.
- */
-
-/**
- * This package defines a {@link org.apache.isis.applib.filter.Filter} interface,
- * useful in particular for writing (naive) repositories but also useful
- * more generally.
- * 
- * <p>
- * It also defines a supporting {@link org.apache.isis.applib.filter.Filters utility class}
- * which can be used to combine {@link org.apache.isis.applib.filter.Filter}s.
- */
-package org.apache.isis.applib.filter;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java
deleted file mode 100644
index 260e4da..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.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.applib.fixtures;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.fixtures.switchuser.SwitchUserService;
-import org.apache.isis.applib.fixtures.switchuser.SwitchUserServiceAware;
-
-/**
- * Convenience class for creating fixtures.
- * 
- * <p>
- * Most subclasses will simply override {@link #install()} to setup objects. In
- * addition though fixtures may also:
- * <ul>
- * <li>change the date/time within the course of fixture installation, using
- * {@link #setDate(int, int, int)} and {@link #setTime(int, int)}.
- * <li>create composite fixtures using {@link #addFixture(Object)}.
- * <li>search for existing objects using
- * {@link #firstMatch(Class, org.apache.isis.applib.Filter)} or
- * {@link #uniqueMatch(Class, org.apache.isis.applib.Filter)} (and various
- * overloads thereof).
- * </ul>
- * 
- * <p>
- * This class has been designed so that it can also be used as a regular
- * domain object.  This may be useful to allow users to setup demo data in a
- * running application.
- *  
- * <p>
- * To automatically logon for the demo/test, use {@link LogonFixture}.
- */
-public abstract class AbstractFixture extends BaseFixture implements CompositeFixture {
-
-    private final List<Object> fixtures = new ArrayList<Object>();
-
-    // ///////////////////////////////////////////////////////////////
-    // Constructor
-    // ///////////////////////////////////////////////////////////////
-
-    /**
-     * Assumed to be {@link FixtureType#DOMAIN_OBJECTS data} fixture.
-     */
-    public AbstractFixture() {
-        this(FixtureType.DOMAIN_OBJECTS);
-    }
-
-    public AbstractFixture(final FixtureType fixtureType) {
-        super(fixtureType);
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // install() hook (for non-composites)
-    // ///////////////////////////////////////////////////////////////
-
-    /**
-     * Most subclasses will override this method, but composite fixtures should
-     * instead call {@link #addFixture(Object)} in their constructor.
-     * 
-     * <p>
-     * The iteration over the child fixtures is then performed by the
-     * <tt>FixturesInstallerDelegate</tt> (or equivalent).
-     * 
-     * <p>
-     * A slightly strange implementation?  Oh well, it works.
-     */
-    @Override
-    public void install() {
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // CompositeFixture impl
-    // ///////////////////////////////////////////////////////////////
-
-    /**
-     * Allows the fixture to act as a composite (call within constructor).
-     */
-    protected void addFixture(final Object fixture) {
-        fixtures.add(fixture);
-    }
-
-    /**
-     * Returns an array of any fixtures that have been
-     * {@link #addFixture(Object) added}.
-     */
-    @Programmatic // to allow this class to be used as a domain object
-    @Override
-    public List<Object> getFixtures() {
-        return Collections.unmodifiableList(fixtures);
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Date and time
-    // ///////////////////////////////////////////////////////////////
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could
-     * not be {@link FixtureClock#initialize() initialized}.
-     */
-    @Programmatic // to allow this class to be used as a domain object
-    public void earlierDate(final int years, final int months, final int days) {
-        if (shouldIgnoreCallBecauseNoClockSetup("earlierDate()")) {
-            return;
-        }
-        clock.addDate(-years, -months, -days);
-    }
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could
-     * not be {@link FixtureClock#initialize() initialized}.
-     */
-    @Programmatic // to allow this class to be used as a domain object
-    public void earlierTime(final int hours, final int minutes) {
-        if (shouldIgnoreCallBecauseNoClockSetup("earlierTime()")) {
-            return;
-        }
-        clock.addTime(-hours, -minutes);
-    }
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could
-     * not be {@link FixtureClock#initialize() initialized}.
-     */
-    @Programmatic // to allow this class to be used as a domain object
-    public void laterDate(final int years, final int months, final int days) {
-        if (shouldIgnoreCallBecauseNoClockSetup("laterDate()")) {
-            return;
-        }
-        clock.addDate(years, months, days);
-    }
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could
-     * not be {@link FixtureClock#initialize() initialized}.
-     */
-    @Programmatic // to allow this class to be used as a domain object
-    public void laterTime(final int hours, final int minutes) {
-        if (shouldIgnoreCallBecauseNoClockSetup("laterTime()")) {
-            return;
-        }
-        clock.addTime(hours, minutes);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixtureSusa.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixtureSusa.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixtureSusa.java
deleted file mode 100644
index c804f52..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixtureSusa.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.applib.fixtures;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.applib.fixtures.switchuser.SwitchUserService;
-import org.apache.isis.applib.fixtures.switchuser.SwitchUserServiceAware;
-
-/**
- * Convenience class for creating fixtures, with support to allow
- * users to be switching using the {@link SwitchUserService}.
- * 
- * <p>
- * Note that unlike {@link AbstractFixture}, fixtures inheriting from
- * this class <i>cannot</i> be used as domain objects (the {@link SwitchUserService} does
- * not conform to the domain object programming conventions).
- */
-public abstract class AbstractFixtureSusa extends AbstractFixture implements SwitchUserServiceAware {
-
-    public AbstractFixtureSusa() {
-        super();
-    }
-
-    public AbstractFixtureSusa(final FixtureType fixtureType) {
-        super(fixtureType);
-    }
-
-
-    // {{ User
-    protected void switchUser(final String username, final String... roles) {
-        switchUserService.switchUser(username, roles);
-    }
-
-    // }}
-
-    // {{ Injected: SwitchUserService
-    private SwitchUserService switchUserService;
-
-    @Override
-    public void setService(final SwitchUserService fixtureService) {
-        this.switchUserService = fixtureService;
-    }
-    // }}
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.java
deleted file mode 100644
index 96c150e..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.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.applib.fixtures;
-
-import org.apache.isis.applib.AbstractContainedObject;
-import org.apache.isis.applib.clock.Clock;
-
-abstract class BaseFixture extends AbstractContainedObject implements InstallableFixture {
-
-    private final FixtureType fixtureType;
-    FixtureClock clock = null;
-
-    public BaseFixture(final FixtureType fixtureType) {
-        this.fixtureType = fixtureType;
-        try {
-            clock = FixtureClock.initialize();
-        } catch (final IllegalStateException ex) {
-            clock = null;
-            System.err.println(ex.getMessage());
-            System.err.println("calls to change date or time will be ignored");
-        }
-    }
-
-    // /////////////////////////////////////////////////
-    // FixtureType
-    // /////////////////////////////////////////////////
-
-    /**
-     * As specified in constructor.
-     */
-    @Override
-    public final FixtureType getType() {
-        return fixtureType;
-    }
-
-    // /////////////////////////////////////////////////
-    // FixtureClock
-    // /////////////////////////////////////////////////
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could
-     * not be {@link FixtureClock#initialize() initialized}.
-     */
-    public void setDate(final int year, final int month, final int day) {
-        if (shouldIgnoreCallBecauseNoClockSetup("setDate()")) {
-            return;
-        }
-        clock.setDate(year, month, day);
-    }
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could
-     * not be {@link FixtureClock#initialize() initialized}.
-     */
-    public void setTime(final int hour, final int minute) {
-        if (shouldIgnoreCallBecauseNoClockSetup("setTime()")) {
-            return;
-        }
-        clock.setTime(hour, minute);
-    }
-
-    /**
-     * The {@link Clock} singleton, downcast to {@link FixtureClock}.
-     * 
-     * <p>
-     * Will return <tt>null</tt> if {@link FixtureClock} could not be
-     * {@link FixtureClock#initialize() initialized}.
-     */
-    public FixtureClock getFixtureClock() {
-        return clock;
-    }
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could
-     * not be {@link FixtureClock#initialize() initialized}.
-     */
-    public void resetClock() {
-        if (shouldIgnoreCallBecauseNoClockSetup("resetClock()")) {
-            return;
-        }
-        clock.reset();
-    }
-
-    boolean shouldIgnoreCallBecauseNoClockSetup(final String methodName) {
-        if (clock == null) {
-            System.err.println("clock not set, call to " + methodName + " ignored");
-            return true;
-        }
-        return false;
-    }
-    // }}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/CompositeFixture.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/CompositeFixture.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/CompositeFixture.java
deleted file mode 100644
index 024e1d2..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/CompositeFixture.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.applib.fixtures;
-
-import java.util.List;
-
-public interface CompositeFixture {
-
-    public List<Object> getFixtures();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/DateFixture.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/DateFixture.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/DateFixture.java
deleted file mode 100644
index a039ef9..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/DateFixture.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.applib.fixtures;
-
-/**
- * Sole purpose is to set the date/time while object fixtures are being
- * installed.
- * 
- * <p>
- * An alternative is to change the date using
- * {@link AbstractFixture#setDate(int, int, int)} and
- * {@link AbstractFixture#setTime(int, int)}.
- * 
- * <p>
- * Note that the last date set <i>will</i> remain in force for the application
- * itself. To revert to the current time, have a fixture at the end call
- * {@link #resetClock()}.
- * 
- * @see SwitchUserFixture
- */
-public class DateFixture extends BaseFixture {
-
-    public DateFixture(final int year, final int month, final int day, final int hour, final int minutes) {
-        super(FixtureType.OTHER);
-        this.year = year;
-        this.month = month;
-        this.day = day;
-        this.hour = hour;
-        this.minute = minutes;
-    }
-
-    public DateFixture(final int year, final int month, final int day) {
-        this(year, month, day, 0, 0);
-    }
-
-    private final int year;
-
-    public int getYear() {
-        return year;
-    }
-
-    private final int month;
-
-    public int getMonth() {
-        return month;
-    }
-
-    private final int day;
-
-    public int getDay() {
-        return day;
-    }
-
-    private final int hour;
-
-    public int getHour() {
-        return hour;
-    }
-
-    private final int minute;
-
-    public int getMinute() {
-        return minute;
-    }
-
-    @Override
-    public void install() {
-        setDate(year, month, day);
-        setTime(hour, minute);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureClock.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureClock.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureClock.java
deleted file mode 100644
index b311230..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureClock.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.applib.fixtures;
-
-import java.util.Calendar;
-import java.util.TimeZone;
-
-import org.apache.isis.applib.clock.Clock;
-
-/**
- * This clock, for use by fixtures, can be set to specific time.
- * 
- * <p>
- * If not set it will provide the time provided by the system clock.
- * 
- * <p>
- * Note that - by design - it does not provide any mechanism to advance the time
- * (eg automatic ticking of the clock). That is, the time returned is always
- * explicitly under the control of the programmer (it can be moved forward or
- * back as required).
- */
-public class FixtureClock extends Clock {
-    private static final TimeZone UTC_TIME_ZONE;
-
-    static {
-        TimeZone tempTimeZone = TimeZone.getTimeZone("Etc/UTC");
-        if (tempTimeZone == null) {
-            tempTimeZone = TimeZone.getTimeZone("UTC");
-        }
-        UTC_TIME_ZONE = tempTimeZone;
-    }
-
-    /**
-     * Configures the system to use a FixtureClock rather than the in-built
-     * system clock. Can be called multiple times.
-     * 
-     * <p>
-     * Must call before any other call to {@link Clock#getInstance()}.
-     * 
-     * @throws IllegalStateException
-     *             if Clock singleton already initialized with some other
-     *             implementation.
-     */
-    public synchronized static FixtureClock initialize() {
-        if (!isInitialized() || !(getInstance() instanceof FixtureClock)) {
-            // installs the FixtureClock as the Clock singleton via the Clock's
-            // constructor
-            // if was initialized, then will replace.
-            // (if non-replaceable, then superclass will throw exception for us.
-            new FixtureClock();
-        }
-        return (FixtureClock) getInstance();
-    }
-
-    /**
-     * Makes {@link Clock#remove()} visible.
-     */
-    public static boolean remove() {
-        return Clock.remove();
-    }
-
-    // //////////////////////////////////////////////////
-    // Constructor
-    // //////////////////////////////////////////////////
-
-    // if non-null, then indicates that the time has been explicitly set.
-    // Otherwise returns the system time.
-    private Calendar calendar = null;
-
-    private FixtureClock() {
-    }
-
-    // //////////////////////////////////////////////////
-    // hook
-    // //////////////////////////////////////////////////
-
-    /**
-     * Access via {@link Clock#getTime()}.
-     * 
-     * <p>
-     * Will just return the system time until {@link #setDate(int, int, int)} or
-     * {@link #setTime(int, int)} (or one of the overloads) has been called.
-     */
-    @Override
-    protected long time() {
-        if (calendar == null) {
-            return System.currentTimeMillis();
-        }
-        return calendar.getTime().getTime();
-    }
-
-    // //////////////////////////////////////////////////
-    // setting/adjusting time
-    // //////////////////////////////////////////////////
-
-    /**
-     * Sets the clock to epoch, that is midnight, 1 Jan 1970 UTC.
-     * 
-     * <p>
-     * This is typically called before either {@link #setDate(int, int, int)}
-     * (so that time is set to midnight) and/or {@link #setTime(int, int)} (so
-     * that date is set to a well known value).
-     */
-    public void clear() {
-        setupCalendarIfRequired();
-        calendar.clear();
-    }
-
-    /**
-     * Sets the hours and minutes as specified, and sets the seconds and
-     * milliseconds to zero, but the date portion is left unchanged.
-     * 
-     * @see #setDate(int, int, int)
-     * @see #addTime(int, int)
-     */
-    public void setTime(final int hour, final int min) {
-        setupCalendarIfRequired();
-        calendar.set(Calendar.HOUR_OF_DAY, hour);
-        calendar.set(Calendar.MINUTE, min);
-        calendar.set(Calendar.SECOND, 0);
-        calendar.set(Calendar.MILLISECOND, 0);
-    }
-
-    /**
-     * Sets the date, but the time portion is left unchanged.
-     * 
-     * @see #setTime(int, int)
-     * @see #addDate(int, int, int)
-     */
-    public void setDate(final int year, final int month, final int day) {
-        setupCalendarIfRequired();
-        calendar.set(Calendar.YEAR, year);
-        calendar.set(Calendar.MONTH, month - 1);
-        calendar.set(Calendar.DAY_OF_MONTH, day);
-    }
-
-    /**
-     * Adjusts the time by the specified number of hours and minutes.
-     * 
-     * <p>
-     * Typically called after {@link #setTime(int, int)}, to move the clock
-     * forward or perhaps back.
-     * 
-     * @see #addDate(int, int, int)
-     */
-    public void addTime(final int hours, final int minutes) {
-        setupCalendarIfRequired();
-        calendar.add(Calendar.HOUR_OF_DAY, hours);
-        calendar.add(Calendar.MINUTE, minutes);
-    }
-
-    /**
-     * Adjusts the time by the specified number of years, months or days.
-     * 
-     * <p>
-     * Typically called after {@link #setDate(int, int, int)}, to move the clock
-     * forward or perhaps back.
-     * 
-     * @see #addTime(int, int)
-     */
-    public void addDate(final int years, final int months, final int days) {
-        setupCalendarIfRequired();
-        calendar.add(Calendar.YEAR, years);
-        calendar.add(Calendar.MONTH, months);
-        calendar.add(Calendar.DAY_OF_MONTH, days);
-    }
-
-    private void setupCalendarIfRequired() {
-        if (calendar != null) {
-            return;
-        }
-        calendar = Calendar.getInstance();
-        calendar.setTimeZone(UTC_TIME_ZONE);
-    }
-
-    // //////////////////////////////////////////////////
-    // reset
-    // //////////////////////////////////////////////////
-
-    /**
-     * Go back to just returning the system's time.
-     */
-    public void reset() {
-        calendar = null;
-    }
-
-    // //////////////////////////////////////////////////
-    // toString
-    // //////////////////////////////////////////////////
-
-    @Override
-    public String toString() {
-        return (calendar == null ? "System" : "Explicitly set") + ": " + Clock.getTimeAsDateTime().toString();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
deleted file mode 100644
index 143a25b..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.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.applib.fixtures;
-
-import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
-import org.apache.isis.applib.profiles.Perspective;
-import org.apache.isis.applib.profiles.Profile;
-
-/**
- * Enumerates the different types of {@link InstallableFixture fixture}s
- * supported.
- * 
- * @see InstallableFixture#getType()
- */
-public enum FixtureType {
-    /**
-     * A fixture that installs data (either reference data or operational data)
-     * into an object store.
-     * 
-     * <p>
-     * Some object stores are in-memory only, in which case these will always
-     * want fixtures of this type to be installed. However, for object stores
-     * that persist the data (such as XML or to an RDBMS), these typically do
-     * <i>not</i> want data fixtures run (except possibly for the very first
-     * time booted to initially seed them).
-     */
-    DOMAIN_OBJECTS,
-    /**
-     * Analogous to {@link FixtureType#DATA}, but for fixtures (in particular,
-     * the {@link PerspectiveFixture}) that are used to setup {@link Profile}s
-     * and their {@link Perspective}s.
-     * 
-     * @see UserProfileService
-     */
-    USER_PROFILES,
-    /**
-     * A fixture that neither installs data into the object store nor
-     * perspectives into the {@link UserProfileService}.
-     * 
-     * <p>
-     * Fixtures of this type are always installed. Typical examples are:
-     * <ul>
-     * <li>composite fixtures that just aggregate other fixtures
-     * <li>fixtures that set up the date/time (see {@link DateFixture})
-     * <li>fixtures that specify the user to logon as (see {@link LogonFixture}
-     * ).
-     * </ul>
-     */
-    OTHER;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/InstallableFixture.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/InstallableFixture.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/InstallableFixture.java
deleted file mode 100644
index f99fa43..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/InstallableFixture.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.applib.fixtures;
-
-public interface InstallableFixture {
-
-    /**
-     * Determines whether the fixture will be {@link #install() install}ed,
-     * dependent on the state of the object (data) store and the user profile
-     * store.
-     */
-    FixtureType getType();
-
-    public void install();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java
deleted file mode 100644
index 5862303..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.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.applib.fixtures;
-
-import java.util.List;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-
-/**
- * Indicates that the demo or test should be run as the specified user, with the
- * specified roles.
- * 
- * <p>
- * Note: this fixture does not in itself do anything (its {@link #install()} is
- * a no-op). However, if present in the fixture list then is &quot;noticed&quot;
- * by the framework, and is used to automatically logon when the framework is
- * booted (providing running in prototype or exploration, not in production).
- * 
- * <p>
- * To change the user during the installation of fixtures, either use
- * {@link SwitchUserFixture}.
- * 
- * @see SwitchUserFixture
- */
-public class LogonFixture implements InstallableFixture {
-
-    private final String username;
-    private final List<String> roles;
-
-    public LogonFixture(final String username, final String... roles) {
-        this(username, Lists.newArrayList(roles));
-    }
-
-    public LogonFixture(final String username, final List<String> roles) {
-        this.username = username;
-        this.roles = ImmutableList.copyOf(roles);
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public List<String> getRoles() {
-        return roles;
-    }
-
-    @Override
-    public final void install() {
-        // does nothing; see comments above.
-    }
-
-    @Override
-    public FixtureType getType() {
-        return FixtureType.OTHER;
-    }
-
-    @Override
-    public String toString() {
-        return "LogonFixture [user: " + getUsername() + ", roles: " + getRoles() + "]";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.java
deleted file mode 100644
index 854eeb6..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.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.applib.fixtures;
-
-import java.util.List;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.fixtures.switchuser.SwitchUserService;
-import org.apache.isis.applib.fixtures.switchuser.SwitchUserServiceAware;
-
-/**
- * Sole purpose is to switch the current user while object fixtures are being
- * installed.
- * 
- * <p>
- * An alternative is to switch user using the
- * {@link AbstractFixture#switchUser(String, String...) switchUser} method.
- * 
- * <p>
- * Note that (unlike the otherwise similar {@link DateFixture}) the last user
- * switched to is <i>not</i> used as the logon fixture. If you want to
- * automatically logon as some user, use the {@link LogonFixture}.
- * 
- * @see DateFixture
- * @see LogonFixture
- */
-public class SwitchUserFixture extends BaseFixture implements SwitchUserServiceAware {
-
-    private final String username;
-    private final List<String> roles;
-    private SwitchUserService switchUserService;
-
-    public SwitchUserFixture(final String username, final String... roles) {
-        this(username, Lists.newArrayList(roles));
-    }
-
-    public SwitchUserFixture(final String username, final List<String> roles) {
-        super(FixtureType.OTHER);
-        this.username = username;
-        this.roles = ImmutableList.copyOf(roles);
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public List<String> getRoles() {
-        return roles;
-    }
-
-    @Override
-    public void install() {
-        switchUserService.switchUser(username, roles.toArray(new String[] {}));
-    }
-
-    @Override
-    public void setService(final SwitchUserService switchUserService) {
-        this.switchUserService = switchUserService;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java
deleted file mode 100644
index b247c9c..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.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.applib.fixtures;
-
-import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
-import org.apache.isis.applib.fixtures.userprofile.UserProfileServiceAware;
-import org.apache.isis.applib.profiles.Profile;
-
-public abstract class UserProfileFixture extends BaseFixture implements UserProfileServiceAware {
-
-    private UserProfileService profileService;
-
-    public UserProfileFixture() {
-        super(FixtureType.USER_PROFILES);
-    }
-
-    @Override
-    public void setService(final UserProfileService profileService) {
-        this.profileService = profileService;
-    }
-
-    @Override
-    public final void install() {
-        installProfiles();
-    }
-
-    protected abstract void installProfiles();
-
-    protected Profile newUserProfile() {
-        return profileService.newUserProfile();
-    }
-
-    protected Profile newUserProfile(final Profile profile) {
-        return profileService.newUserProfile(profile);
-    }
-
-    protected void saveForUser(final String name, final Profile profile) {
-        profileService.saveForUser(name, profile);
-    }
-
-    protected void saveAsDefault(final Profile profile) {
-        profileService.saveAsDefault(profile);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
deleted file mode 100644
index 1f54d2a..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.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.
- */
-
-/**
- * Defines the {@link org.apache.isis.applib.fixtures.InstallableFixture}
- * interface and supporting classes.
- * 
- * <p>
- * Fixtures are used to initialize the system, typically for either testing
- * or for demo/prototyping purposes.  Initializing the system means:
- * <ul>
- * <li><p>setting up objects within the persistent object store (typically only relevant
- * if using the in-memory object store; other object stores will generally
- * ignore these fixtures)</p></li>  
- * <li><p>setting the current {@link org.apache.isis.applib.fixtures.DateFixture date}</p></li>
- * <li><p>{@link org.apache.isis.applib.fixtures.SwitchUserFixture switching} 
- * the current user while fixtures are being installed (eg so that a workflow
- * can be picked up midway through)</p></li>  
- * <li><p>specifying the {@link org.apache.isis.applib.fixtures.LogonFixture currently logged on} user once the fixtures have been installed</p></li>
- * <li><p>setting up objects within the persistent {@link org.apache.isis.applib.fixtures.UserProfileFixture user profile}</p></li>
- * </ul>
- * 
- * <p>
- * Fixtures are typically combined into a {@link org.apache.isis.applib.fixtures.CompositeFixture composite}
- * pattern; the {@link org.apache.isis.applib.fixtures.AbstractFixture} adapter
- * class provides built-in support for this if required.
- */
-package org.apache.isis.applib.fixtures;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java
deleted file mode 100644
index e5a7dd6..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.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.applib.fixtures.switchuser;
-
-import java.util.List;
-
-import org.apache.isis.applib.fixtures.AbstractFixture;
-import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
-
-/**
- * Not intended to be used directly; decouples the {@link AbstractFixture},
- * which needs to be able to switch users dynamically, from the rest of the
- * framework's runtime.
- * 
- * <p>
- * A suitable implementation is injected into {@link AbstractFixture} when
- * installed.
- * 
- * @see UserProfileService
- */
-public interface SwitchUserService {
-
-    /**
-     * Switches the current user with the list of specified roles.
-     */
-    void switchUser(String username, String... roles);
-
-    /**
-     * Switches the current user with the list of specified roles.
-     */
-    void switchUser(String username, List<String> roles);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.java
deleted file mode 100644
index 883a1dd..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.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.applib.fixtures.switchuser;
-
-import org.apache.isis.applib.fixtures.AbstractFixture;
-
-/**
- * Implement if require {@link SwitchUserService} to be injected into fixture.
- * 
- * <p>
- * Most fixtures will subclass from {@link AbstractFixture} which does indeed
- * implement this interface.
- */
-public interface SwitchUserServiceAware {
-
-    void setService(SwitchUserService switchUserService);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/package-info.java
----------------------------------------------------------------------
diff --git a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/package-info.java b/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/package-info.java
deleted file mode 100644
index 07d5bb2..0000000
--- a/framework/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/package-info.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.
- */
-
-/**
- * Provides support for switching the current user while fixtures are
- * being loaded.
- * 
- * <p>
- * Not expected to be used by domain objects, but decouples the fixtures from
- * the framework (which provides the implementation of {@link org.apache.isis.applib.fixtures.switchuser.SwitchUserService}).
- */
-package org.apache.isis.applib.fixtures.switchuser;
\ No newline at end of file