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/04/22 11:47:40 UTC

[05/14] isis git commit: ISIS-1344: removing the WrapTransaction facets, and from that also the entire FacetDecorator infrastructure since is no longer required.

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/standard/StandardTransactionFacetDecorator.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/standard/StandardTransactionFacetDecorator.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/standard/StandardTransactionFacetDecorator.java
deleted file mode 100644
index 674de0d..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/standard/StandardTransactionFacetDecorator.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.core.runtime.transaction.facetdecorator.standard;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionClearFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
-import org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacet;
-import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet;
-import org.apache.isis.core.runtime.transaction.facetdecorator.TransactionFacetDecoratorAbstract;
-import org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction;
-import org.apache.isis.core.runtime.transaction.facets.CollectionAddToFacetWrapTransaction;
-import org.apache.isis.core.runtime.transaction.facets.CollectionClearFacetWrapTransaction;
-import org.apache.isis.core.runtime.transaction.facets.CollectionRemoveFromFacetWrapTransaction;
-import org.apache.isis.core.runtime.transaction.facets.PropertyClearFacetWrapTransaction;
-import org.apache.isis.core.runtime.transaction.facets.PropertySetterFacetWrapTransaction;
-
-public class StandardTransactionFacetDecorator extends TransactionFacetDecoratorAbstract {
-
-    public StandardTransactionFacetDecorator(final IsisConfiguration configuration) {
-        super(configuration);
-    }
-
-    @Override
-    public Facet decorate(final Facet facet, final FacetHolder requiredHolder) {
-        final Class<? extends Facet> facetType = facet.facetType();
-        if (facetType == ActionInvocationFacet.class) {
-            final ActionInvocationFacet decoratedFacet = (ActionInvocationFacet) facet;
-            final Facet decoratingFacet = new ActionInvocationFacetWrapTransaction(decoratedFacet);
-            requiredHolder.addFacet(decoratingFacet);
-            return decoratingFacet;
-        }
-
-        if (facetType == CollectionAddToFacet.class) {
-            final CollectionAddToFacet decoratedFacet = (CollectionAddToFacet) facet;
-            final Facet decoratingFacet = new CollectionAddToFacetWrapTransaction(decoratedFacet);
-            requiredHolder.addFacet(decoratingFacet);
-            return decoratingFacet;
-        }
-
-        if (facetType == CollectionClearFacet.class) {
-            final CollectionClearFacet decoratedFacet = (CollectionClearFacet) facet;
-            final Facet decoratingFacet = new CollectionClearFacetWrapTransaction(decoratedFacet);
-            requiredHolder.addFacet(decoratingFacet);
-            return decoratingFacet;
-        }
-
-        if (facetType == CollectionRemoveFromFacet.class) {
-            final CollectionRemoveFromFacet decoratedFacet = (CollectionRemoveFromFacet) facet;
-            final Facet decoratingFacet = new CollectionRemoveFromFacetWrapTransaction(decoratedFacet);
-            requiredHolder.addFacet(decoratingFacet);
-            return decoratingFacet;
-        }
-
-        if (facetType == PropertyClearFacet.class) {
-            final PropertyClearFacet decoratedFacet = (PropertyClearFacet) facet;
-            final Facet decoratingFacet = new PropertyClearFacetWrapTransaction(decoratedFacet);
-            requiredHolder.addFacet(decoratingFacet);
-            return decoratingFacet;
-        }
-
-        if (facetType == PropertySetterFacet.class) {
-            final PropertySetterFacet decoratedFacet = (PropertySetterFacet) facet;
-            final Facet decoratingFacet = new PropertySetterFacetWrapTransaction(decoratedFacet);
-            requiredHolder.addFacet(decoratingFacet);
-            return decoratingFacet;
-        }
-
-        return facet;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/standard/TransactionFacetDecoratorInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/standard/TransactionFacetDecoratorInstaller.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/standard/TransactionFacetDecoratorInstaller.java
deleted file mode 100644
index 09fbf1e..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facetdecorator/standard/TransactionFacetDecoratorInstaller.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.core.runtime.transaction.facetdecorator.standard;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
-import org.apache.isis.core.metamodel.specloader.FacetDecoratorInstaller;
-
-public class TransactionFacetDecoratorInstaller extends InstallerAbstract implements FacetDecoratorInstaller {
-
-    public TransactionFacetDecoratorInstaller() {
-        super(FacetDecoratorInstaller.TYPE, "transaction");
-    }
-
-    @Override
-    public List<FacetDecorator> createDecorators() {
-        return Lists.<FacetDecorator> newArrayList(new StandardTransactionFacetDecorator(getConfiguration()));
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(List.class); // ie List<FacetDecorator>
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/ActionInvocationFacetWrapTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/ActionInvocationFacetWrapTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/ActionInvocationFacetWrapTransaction.java
deleted file mode 100644
index b17b269..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/ActionInvocationFacetWrapTransaction.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.core.runtime.transaction.facets;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.facetapi.DecoratingFacet;
-import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet;
-import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetAbstract;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-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.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.TransactionalClosureWithReturn;
-
-public class ActionInvocationFacetWrapTransaction extends ActionInvocationFacetAbstract implements DecoratingFacet<ActionInvocationFacet> {
-
-    private final static Logger LOG = LoggerFactory.getLogger(ActionInvocationFacetWrapTransaction.class);
-
-    private final ActionInvocationFacet underlyingFacet;
-
-    @Override
-    public ActionInvocationFacet getDecoratedFacet() {
-        return underlyingFacet;
-    }
-
-    public ActionInvocationFacetWrapTransaction(final ActionInvocationFacet underlyingFacet) {
-        super(underlyingFacet.getFacetHolder());
-        this.underlyingFacet = underlyingFacet;
-    }
-
-    @Override
-    public ObjectAdapter invoke(
-            final ObjectAction owningAction,
-            final ObjectAdapter targetAdapter,
-            final ObjectAdapter[] argumentAdapters,
-            final InteractionInitiatedBy interactionInitiatedBy) {
-        final ObjectAdapter result = getTransactionManager().executeWithinTransaction(new TransactionalClosureWithReturn<ObjectAdapter>() {
-            @Override
-            public ObjectAdapter execute() {
-                return underlyingFacet.invoke(owningAction, targetAdapter, argumentAdapters,
-                        interactionInitiatedBy);
-            }
-        });
-        return result;
-    }
-
-
-    @Override
-    public ObjectSpecification getReturnType() {
-        return underlyingFacet.getReturnType();
-    }
-
-    @Override
-    public ObjectSpecification getOnType() {
-        return underlyingFacet.getOnType();
-    }
-
-    @Override
-    public String toString() {
-        return super.toString() + " --> " + underlyingFacet.toString();
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////////////////
-
-    private static IsisTransactionManager getTransactionManager() {
-        return getPersistenceSession().getTransactionManager();
-    }
-
-    private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionAddToFacetWrapTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionAddToFacetWrapTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionAddToFacetWrapTransaction.java
deleted file mode 100644
index f6e1f90..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionAddToFacetWrapTransaction.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.core.runtime.transaction.facets;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.facetapi.DecoratingFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacetAbstract;
-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.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.TransactionalClosure;
-
-public class CollectionAddToFacetWrapTransaction extends CollectionAddToFacetAbstract implements DecoratingFacet<CollectionAddToFacet> {
-
-    private final CollectionAddToFacet underlyingFacet;
-
-    @Override
-    public CollectionAddToFacet getDecoratedFacet() {
-        return underlyingFacet;
-    }
-
-    public CollectionAddToFacetWrapTransaction(final CollectionAddToFacet underlyingFacet) {
-        super(underlyingFacet.getFacetHolder());
-        this.underlyingFacet = underlyingFacet;
-    }
-
-    @Override
-    public void add(
-            final ObjectAdapter adapter,
-            final ObjectAdapter referencedAdapter,
-            final InteractionInitiatedBy interactionInitiatedBy) {
-        if (adapter.isTransient()) {
-            // NOT !adapter.isPersistent();
-            // (value adapters are neither persistent or transient)
-            underlyingFacet.add(adapter, referencedAdapter, interactionInitiatedBy);
-        } else {
-            getTransactionManager().executeWithinTransaction(new TransactionalClosure() {
-                @Override
-                public void execute() {
-                    underlyingFacet.add(adapter, referencedAdapter, interactionInitiatedBy);
-                }
-            });
-        }
-    }
-
-    @Override
-    public String toString() {
-        return super.toString() + " --> " + underlyingFacet.toString();
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////////////////
-
-    private static IsisTransactionManager getTransactionManager() {
-        return getPersistenceSession().getTransactionManager();
-    }
-
-    private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionClearFacetWrapTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionClearFacetWrapTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionClearFacetWrapTransaction.java
deleted file mode 100644
index 682fda2..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionClearFacetWrapTransaction.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.core.runtime.transaction.facets;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.DecoratingFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionClearFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionClearFacetAbstract;
-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.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.TransactionalClosure;
-
-public class CollectionClearFacetWrapTransaction extends CollectionClearFacetAbstract implements DecoratingFacet<CollectionClearFacet> {
-
-    private final CollectionClearFacet underlyingFacet;
-
-    @Override
-    public CollectionClearFacet getDecoratedFacet() {
-        return underlyingFacet;
-    }
-
-    public CollectionClearFacetWrapTransaction(final CollectionClearFacet underlyingFacet) {
-        super(underlyingFacet.getFacetHolder());
-        this.underlyingFacet = underlyingFacet;
-    }
-
-    @Override
-    public void clear(final ObjectAdapter adapter) {
-        if (adapter.isTransient()) {
-            // NOT !adapter.isPersistent();
-            // (value adapters are neither persistent or transient)
-            underlyingFacet.clear(adapter);
-        } else {
-            getTransactionManager().executeWithinTransaction(new TransactionalClosure() {
-                @Override
-                public void execute() {
-                    underlyingFacet.clear(adapter);
-                }
-            });
-        }
-    }
-
-    @Override
-    public String toString() {
-        return super.toString() + " --> " + underlyingFacet.toString();
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////////////////
-
-    private static IsisTransactionManager getTransactionManager() {
-        return getPersistenceSession().getTransactionManager();
-    }
-
-    private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionRemoveFromFacetWrapTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionRemoveFromFacetWrapTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionRemoveFromFacetWrapTransaction.java
deleted file mode 100644
index 57fd91a..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/CollectionRemoveFromFacetWrapTransaction.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.core.runtime.transaction.facets;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.facetapi.DecoratingFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacetAbstract;
-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.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.TransactionalClosure;
-
-public class CollectionRemoveFromFacetWrapTransaction extends CollectionRemoveFromFacetAbstract implements DecoratingFacet<CollectionRemoveFromFacet> {
-
-    private final CollectionRemoveFromFacet underlyingFacet;
-
-    @Override
-    public CollectionRemoveFromFacet getDecoratedFacet() {
-        return underlyingFacet;
-    }
-
-    public CollectionRemoveFromFacetWrapTransaction(final CollectionRemoveFromFacet underlyingFacet) {
-        super(underlyingFacet.getFacetHolder());
-        this.underlyingFacet = underlyingFacet;
-    }
-
-    @Override
-    public void remove(
-            final ObjectAdapter adapter,
-            final ObjectAdapter referencedAdapter,
-            final InteractionInitiatedBy interactionInitiatedBy) {
-        if (adapter.isTransient()) {
-            // NOT !adapter.isPersistent();
-            // (value adapters are neither persistent or transient)
-            underlyingFacet.remove(adapter, referencedAdapter, interactionInitiatedBy);
-        } else {
-            getTransactionManager().executeWithinTransaction(new TransactionalClosure() {
-                @Override
-                public void execute() {
-                    underlyingFacet.remove(adapter, referencedAdapter, interactionInitiatedBy);
-                }
-            });
-        }
-    }
-
-    @Override
-    public String toString() {
-        return super.toString() + " --> " + underlyingFacet.toString();
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////////////////
-
-    private static IsisTransactionManager getTransactionManager() {
-        return getPersistenceSession().getTransactionManager();
-    }
-
-    private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/PropertyClearFacetWrapTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/PropertyClearFacetWrapTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/PropertyClearFacetWrapTransaction.java
deleted file mode 100644
index 7d4f9f3..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/PropertyClearFacetWrapTransaction.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.core.runtime.transaction.facets;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.facetapi.DecoratingFacet;
-import org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacet;
-import org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacetAbstract;
-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.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.TransactionalClosure;
-
-public class PropertyClearFacetWrapTransaction extends PropertyClearFacetAbstract implements DecoratingFacet<PropertyClearFacet> {
-
-    private final PropertyClearFacet underlyingFacet;
-
-    @Override
-    public PropertyClearFacet getDecoratedFacet() {
-        return underlyingFacet;
-    }
-
-    public PropertyClearFacetWrapTransaction(final PropertyClearFacet underlyingFacet) {
-        super(underlyingFacet.getFacetHolder());
-        this.underlyingFacet = underlyingFacet;
-    }
-
-    @Override
-    public void clearProperty(final ObjectAdapter adapter, final InteractionInitiatedBy interactionInitiatedBy) {
-        if (adapter.isTransient()) {
-            // NOT !adapter.isPersistent();
-            // (value adapters are neither persistent or transient)
-            underlyingFacet.clearProperty(adapter, interactionInitiatedBy);
-        } else {
-            getTransactionManager().executeWithinTransaction(new TransactionalClosure() {
-                @Override
-                public void execute() {
-                    underlyingFacet.clearProperty(adapter, interactionInitiatedBy);
-                }
-            });
-        }
-    }
-
-    @Override
-    public String toString() {
-        return super.toString() + " --> " + underlyingFacet.toString();
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////////////////
-
-    private static IsisTransactionManager getTransactionManager() {
-        return getPersistenceSession().getTransactionManager();
-    }
-
-    private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/PropertySetterFacetWrapTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/PropertySetterFacetWrapTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/PropertySetterFacetWrapTransaction.java
deleted file mode 100644
index ab89497..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/transaction/facets/PropertySetterFacetWrapTransaction.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.core.runtime.transaction.facets;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.facetapi.DecoratingFacet;
-import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet;
-import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacetAbstract;
-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.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.TransactionalClosure;
-
-public class PropertySetterFacetWrapTransaction extends PropertySetterFacetAbstract implements DecoratingFacet<PropertySetterFacet> {
-
-    private final PropertySetterFacet underlyingFacet;
-
-    public PropertySetterFacetWrapTransaction(final PropertySetterFacet underlyingFacet) {
-        super(underlyingFacet.getFacetHolder());
-        this.underlyingFacet = underlyingFacet;
-    }
-
-    @Override
-    public PropertySetterFacet getDecoratedFacet() {
-        return underlyingFacet;
-    }
-
-    @Override
-    public void setProperty(
-            final ObjectAdapter adapter,
-            final ObjectAdapter referencedAdapter,
-            final InteractionInitiatedBy interactionInitiatedBy) {
-        if (adapter.isTransient()) {
-            // NOT !adapter.isPersistent();
-            // (value adapters are neither persistent or transient)
-            underlyingFacet.setProperty(adapter, referencedAdapter, interactionInitiatedBy);
-        } else {
-            getTransactionManager().executeWithinTransaction(new TransactionalClosure() {
-                @Override
-                public void execute() {
-                    underlyingFacet.setProperty(adapter, referencedAdapter, interactionInitiatedBy);
-                }
-            });
-        }
-    }
-
-    @Override
-    public String toString() {
-        return super.toString() + " --> " + underlyingFacet.toString();
-    }
-
-    // ///////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////////////////
-
-    private static IsisTransactionManager getTransactionManager() {
-        return getPersistenceSession().getTransactionManager();
-    }
-
-    private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/624292a0/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties b/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
index 5808137..0c8be7ab 100644
--- a/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
+++ b/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
@@ -17,7 +17,7 @@
 
 
 # ObjectReflectorInstaller
-org.apache.isis.core.runtime.progmodels.JavaReflectorInstaller   # "java"
+org.apache.isis.progmodels.dflt.JavaReflectorInstaller   # "java"
 
 # FacetDecoratorInstaller
 org.apache.isis.core.metamodel.facetdecorator.i18n.resourcebundle.I18nDecoratorUsingResourceBundleInstaller # "resource-i18n"