You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/04/13 12:10:23 UTC

[isis] branch master updated: ISIS-1742 moving deprecated DomainObjectContainer to -legacy

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new b527851  ISIS-1742 moving deprecated DomainObjectContainer to -legacy
b527851 is described below

commit b527851c7b3490883ade4c5926de49ee5dd02aba
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Apr 13 14:10:18 2018 +0200

    ISIS-1742 moving deprecated DomainObjectContainer to -legacy
    
    Provides a temporary addition to FactoryService for easy of internal
    transition.
---
 .../apache/isis/applib/DomainObjectContainer.java  |  0
 .../isis/applib/fixturescripts/FixtureScripts.java |  7 ++--
 .../applib/services/factory/FactoryService.java    | 14 ++++++-
 .../integtestsupport/IntegrationTestAbstract.java  | 15 ++++---
 .../container/DomainObjectContainerDefault.java    | 11 ------
 .../factory/FactoryServiceInternalDefault.java     | 24 ++++++++++-
 .../services/grid/GridSystemServiceAbstract.java   | 17 +++-----
 .../classsubstitutor/ClassSubstitutor.java         |  7 ++--
 .../ServicesInjectorDefaultTest_usingFields.java   | 27 ++++++-------
 .../ApplicationFeatureRepositoryDefaultTest.java   | 36 ++++++++---------
 .../specloader/ServiceInitializerTest.java         | 23 +++++------
 .../isis/core/runtime/headless/IsisSystem.java     | 13 +++---
 .../scenarios/DomainServiceProvider.java           |  5 +--
 .../core/specsupport/scenarios/InMemoryDB.java     | 14 +++----
 .../specsupport/scenarios/ScenarioExecution.java   | 46 +++++++++++-----------
 .../core/specsupport/specs/CukeGlueAbstract.java   | 33 ++++++++--------
 .../conneg/ContentNegotiationServiceAbstract.java  |  6 ---
 .../ContentNegotiationServiceOrgApacheIsisV1.java  |  4 --
 18 files changed, 146 insertions(+), 156 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java b/core/applib-legacy/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
similarity index 100%
rename from core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
rename to core/applib-legacy/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
index 4593ec9..00d2f37 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
@@ -31,7 +31,6 @@ import javax.annotation.PostConstruct;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.isis.applib.AbstractService;
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.ViewModel;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.MemberOrder;
@@ -46,6 +45,7 @@ import org.apache.isis.applib.internal.collections._Lists;
 import org.apache.isis.applib.internal.exceptions._Exceptions;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
 import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService;
+import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault;
 import org.apache.isis.applib.services.fixturespec.FixtureScriptsSpecification;
 import org.apache.isis.applib.services.jaxb.JaxbService;
@@ -264,7 +264,8 @@ public abstract class FixtureScripts extends AbstractService {
             if(!template.isDiscoverable()) {
                 return null;
             }
-            return container.newViewModelInstance(fixtureScriptCls, mementoFor(template));
+            
+            return factoryService.viewModel(fixtureScriptCls, mementoFor(template));
         } catch(final Exception ex) {
             // ignore if does not have a no-arg constructor or cannot be instantiated
             return null;
@@ -467,7 +468,7 @@ public abstract class FixtureScripts extends AbstractService {
     // -- injected services
 
     @javax.inject.Inject
-    DomainObjectContainer container;
+    FactoryService factoryService; 
     
     @javax.inject.Inject
     TitleService titleService;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/factory/FactoryService.java b/core/applib/src/main/java/org/apache/isis/applib/services/factory/FactoryService.java
index b556f8b..4e905ab 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/factory/FactoryService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/factory/FactoryService.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.applib.services.factory;
 
+import org.apache.isis.applib.ViewModel;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.repository.RepositoryService;
 
@@ -53,10 +54,19 @@ public interface FactoryService {
      * </p>
      */
     @Programmatic
-    <T> T instantiate(final Class<T> domainClass);
+    <T> T instantiate(Class<T> domainClass);
 
 
     @Programmatic
-    <T> T mixin( Class<T> mixinClass, Object mixedIn);
+    <T> T mixin(Class<T> mixinClass, Object mixedIn);
+    
+    /**
+     * Create a new {@link ViewModel} instance of the specified type, initializing with the specified memento.
+     * @deprecated [ahuber] just here to yet ease internal transition
+     *
+     */
+    @Programmatic @Deprecated 
+    <T> T viewModel(Class<T> viewModelClass, String memento);
+
 
 }
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
index b888503..cc90cb2 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
@@ -20,7 +20,6 @@ package org.apache.isis.core.integtestsupport;
 
 import java.util.List;
 
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.NonRecoverableException;
 import org.apache.isis.applib.RecoverableException;
 import org.apache.isis.applib.fixtures.FixtureClock;
@@ -154,13 +153,13 @@ public abstract class IntegrationTestAbstract {
         return scenarioExecution().service(cls);
     }
     
-    /**
-     * @deprecated - instead just inject {@link org.apache.isis.applib.DomainObjectContainer} into test.
-     */
-    @Deprecated
-    protected DomainObjectContainer container() {
-        return scenarioExecution().container();
-    }
+//    /**
+//     * @deprecated - instead just inject {@link org.apache.isis.applib.DomainObjectContainer} into test.
+//     */
+//    @Deprecated
+//    protected DomainObjectContainer container() {
+//        return scenarioExecution().container();
+//    }
     
     /**
      * @deprecated - instead just inject {@link org.apache.isis.applib.services.wrapper.WrapperFactory} into test.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java b/core/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
similarity index 93%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
rename to core/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
index 8ff08d3..c1ac5d3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
+++ b/core/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
@@ -19,27 +19,16 @@
 
 package org.apache.isis.core.metamodel.services.container;
 
-import java.util.Map;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-
 import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.PersistFailedException;
-import org.apache.isis.applib.RecoverableException;
 import org.apache.isis.applib.RepositoryException;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.services.exceprecog.ExceptionRecognizer;
-import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerComposite;
-import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerForType;
-import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.wrapper.WrapperFactory;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.consent.InteractionResult;
 import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceInternalDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceInternalDefault.java
index 7a92daa..207f9b7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceInternalDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceInternalDefault.java
@@ -26,10 +26,13 @@ import org.apache.isis.applib.NonRecoverableException;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.base._Casts;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
+import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacet;
+import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
 import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -58,7 +61,6 @@ public class FactoryServiceInternalDefault implements FactoryService {
     }
 
 
-
     @Programmatic
     @Override
     public <T> T mixin(final Class<T> mixinClass, final Object mixedIn) {
@@ -77,7 +79,7 @@ public class FactoryServiceInternalDefault implements FactoryService {
                 final Object mixin;
                 try {
                     mixin = constructor.newInstance(mixedIn);
-                    return (T) serviceRegistry.injectServicesInto(mixin);
+                    return _Casts.uncheckedCast(serviceRegistry.injectServicesInto(mixin));
                 } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
                     throw new NonRecoverableException(e);
                 }
@@ -87,6 +89,22 @@ public class FactoryServiceInternalDefault implements FactoryService {
         throw new NonRecoverableException( String.format(
                 "Failed to locate constructor in %s to instantiate using %s", mixinClass.getName(), mixedIn));
     }
+    
+    @Programmatic
+	@Override
+	public <T> T viewModel(Class<T> viewModelClass, String memento) {
+    	final ObjectSpecification spec = specificationLoader.loadSpecification(viewModelClass);
+        if (!spec.containsFacet(ViewModelFacet.class)) {
+            throw new IsisException("Type must be a ViewModel: " + viewModelClass);
+        }
+        final ObjectAdapter adapter = persistenceSessionServiceInternal.createViewModelInstance(spec, memento);
+        if(adapter.getOid().isViewModel()) {
+            return _Casts.uncheckedCast(adapter.getObject());
+        } else {
+            throw new IsisException("Object instantiated but was not given a ViewModel Oid; "
+            		+ "please report as a possible defect in Isis: " + viewModelClass);
+        }
+	}
 
     @javax.inject.Inject
     SpecificationLoader specificationLoader;
@@ -98,4 +116,6 @@ public class FactoryServiceInternalDefault implements FactoryService {
     PersistenceSessionServiceInternal persistenceSessionServiceInternal;
 
 
+
+
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
index b17eca9..5baf366 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
@@ -22,13 +22,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.BookmarkPolicy;
 import org.apache.isis.applib.annotation.LabelPosition;
@@ -112,6 +105,11 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
 
 public abstract class GridSystemServiceAbstract<G extends org.apache.isis.applib.layout.grid.Grid> implements GridSystemService<G> {
 
@@ -362,7 +360,7 @@ public abstract class GridSystemServiceAbstract<G extends org.apache.isis.applib
         List associations = objectSpec.getAssociations(Contributed.INCLUDED, ObjectAssociation.Predicates.PROPERTIES);
         return associations;
     }
-    protected  static List<OneToManyAssociation> getOneToManyAssociations(final ObjectSpecification objectSpec) {
+    protected static List<OneToManyAssociation> getOneToManyAssociations(final ObjectSpecification objectSpec) {
         List associations = objectSpec.getAssociations(Contributed.INCLUDED, ObjectAssociation.Predicates.COLLECTIONS);
         return associations;
     }
@@ -694,9 +692,6 @@ public abstract class GridSystemServiceAbstract<G extends org.apache.isis.applib
     protected JaxbService jaxbService;
 
     @javax.inject.Inject
-    protected DomainObjectContainer container;
-
-    @javax.inject.Inject
     protected MessageService messageService;
 
     @javax.inject.Inject
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
index 6645f72..d0b6ae7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
@@ -20,11 +20,12 @@
 package org.apache.isis.core.metamodel.specloader.classsubstitutor;
 
 import java.util.Set;
-import com.google.common.collect.Sets;
-import org.apache.isis.applib.DomainObjectContainer;
+
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.core.commons.lang.ClassUtil;
 
+import com.google.common.collect.Sets;
+
 /**
  * Provides capability to translate or ignore classes.
  */
@@ -33,7 +34,7 @@ public class ClassSubstitutor {
     // -- constructor
 
     public ClassSubstitutor() {
-        ignore(DomainObjectContainer.class);
+        ignore("org.apache.isis.applib.DomainObjectContainer"); //TODO [ahuber] still required?
 
         // ignore cglib
         ignore("net.sf.cglib.proxy.Factory");
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_usingFields.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_usingFields.java
index 7be4655..073ce1b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_usingFields.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_usingFields.java
@@ -19,29 +19,26 @@
 
 package org.apache.isis.core.metamodel.services;
 
-import java.util.Arrays;
-
-import javax.inject.Inject;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
 
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
+import java.util.Arrays;
 
-import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault;
+import org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 
 public class ServicesInjectorDefaultTest_usingFields {
 
     @Rule
     public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
 
-    private DomainObjectContainer container;
+    private RepositoryService container;
     
     private SomeDomainService1 service1;
     private SomeDomainService2 service2;
@@ -54,8 +51,8 @@ public class ServicesInjectorDefaultTest_usingFields {
 
     static class SomeDomainService1 {
         @javax.inject.Inject
-        private DomainObjectContainer container;
-        DomainObjectContainer getContainer() {
+        private RepositoryService container;
+        RepositoryService getContainer() {
             return container;
         }
         @javax.inject.Inject
@@ -81,7 +78,7 @@ public class ServicesInjectorDefaultTest_usingFields {
 
     @Before
     public void setUp() throws Exception {
-        container = new DomainObjectContainerDefault();
+        container = new RepositoryServiceInternalDefault();
         service1 = new SomeDomainService1();
         service3 = new SomeDomainService3();
         service2 = new SomeDomainService2();
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
index c9cb899..8d48016 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
@@ -18,21 +18,15 @@
  */
 package org.apache.isis.core.metamodel.services.appfeat;
 
-import java.util.List;
-
-import com.google.common.collect.Lists;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.Matchers.containsInAnyOrder;
 
-import org.hamcrest.Matchers;
-import org.jmock.Expectations;
-import org.jmock.Sequence;
-import org.jmock.auto.Mock;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
+import java.util.List;
 
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.factory.FactoryService;
@@ -52,13 +46,17 @@ import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.hamcrest.Matchers;
+import org.jmock.Expectations;
+import org.jmock.Sequence;
+import org.jmock.auto.Mock;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
 
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.containsInAnyOrder;
+import com.google.common.collect.Lists;
 
 public class ApplicationFeatureRepositoryDefaultTest {
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ServiceInitializerTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ServiceInitializerTest.java
index a9a0b72..0f99be8 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ServiceInitializerTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ServiceInitializerTest.java
@@ -18,15 +18,19 @@
  */
 package org.apache.isis.core.metamodel.specloader;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
 import java.util.List;
 import java.util.Map;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.After;
@@ -35,14 +39,8 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 
 public class ServiceInitializerTest {
 
@@ -50,8 +48,7 @@ public class ServiceInitializerTest {
     public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
     
     private Map<String,String> props;
-    @Mock
-    private DomainObjectContainer container;
+    
     @Mock
     private IsisConfiguration configuration;
     private ServiceInitializer serviceInitializer;
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
index f1e6771..fce5a55 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
@@ -21,10 +21,7 @@ package org.apache.isis.core.runtime.headless;
 
 import java.util.Set;
 
-import com.google.common.base.Joiner;
-
 import org.apache.isis.applib.AppManifest;
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.fixtures.FixtureClock;
 import org.apache.isis.applib.fixtures.InstallableFixture;
 import org.apache.isis.applib.services.command.Command;
@@ -49,6 +46,8 @@ import org.apache.isis.core.runtime.system.transaction.IsisTransaction.State;
 import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
 import org.apache.isis.core.runtime.systemusinginstallers.IsisComponentProvider;
 
+import com.google.common.base.Joiner;
+
 
 /**
  * Wraps a plain {@link IsisSessionFactoryBuilder}.
@@ -262,11 +261,9 @@ public class IsisSystem {
         openSession();
     }
 
-    public DomainObjectContainer getContainer() {
-        return getService(DomainObjectContainer.class);
-    }
-
-    
+//    public DomainObjectContainer getContainer() {
+//        return getService(DomainObjectContainer.class);
+//    }
 
     // -- isisSystem (populated during setup)
     protected IsisSessionFactory isisSessionFactory;
diff --git a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/DomainServiceProvider.java b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/DomainServiceProvider.java
index a18d39f..51b2b92 100644
--- a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/DomainServiceProvider.java
+++ b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/DomainServiceProvider.java
@@ -16,11 +16,8 @@
  */
 package org.apache.isis.core.specsupport.scenarios;
 
-import org.apache.isis.applib.DomainObjectContainer;
-
-
 /**
- * Provides access to the {@link DomainObjectContainer} and any other domain services 
+ * Provides access to the any domain services 
  * that may have been configured.
  * 
  * <p>
diff --git a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/InMemoryDB.java b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/InMemoryDB.java
index 792f274..66b876d 100644
--- a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/InMemoryDB.java
+++ b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/InMemoryDB.java
@@ -19,16 +19,15 @@ package org.apache.isis.core.specsupport.scenarios;
 import java.util.List;
 import java.util.Map;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
+import org.apache.isis.schema.utils.InteractionDtoUtils.Strategy;
 import org.hamcrest.Description;
 import org.jmock.api.Action;
 import org.jmock.api.Invocation;
 
-import org.apache.isis.applib.DomainObjectContainer;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 
 /**
  * Utility class to support the writing of unit-scope specs.
@@ -40,8 +39,7 @@ import org.apache.isis.applib.DomainObjectContainer;
  * 
  * <p>
  * If objects are created, then (mock) services are automatically injected.  This is performed by
- * searching for <tt>injectXxx()</tt> methods.  The (mock) {@link DomainObjectContainer container}
- * is also automatically injected, through the <tt>setXxx</tt> method.
+ * searching for <tt>injectXxx()</tt> methods.
  * 
  * <p>
  * Finally, note that the {@link #init(Object, String) init} hook method allows subclasses to
diff --git a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java
index 0e98144..65da68c 100644
--- a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java
+++ b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/scenarios/ScenarioExecution.java
@@ -16,26 +16,28 @@
  */
 package org.apache.isis.core.specsupport.scenarios;
 
+import static org.junit.Assert.fail;
+
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+
 import javax.inject.Inject;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Maps;
-import org.jmock.Mockery;
-import org.jmock.Sequence;
-import org.jmock.States;
-import org.jmock.internal.ExpectationBuilder;
-import org.apache.isis.applib.DomainObjectContainer;
+
 import org.apache.isis.applib.fixtures.InstallableFixture;
 import org.apache.isis.applib.services.wrapper.WrapperFactory;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.exceptions.MetaModelException;
+import org.jmock.Mockery;
+import org.jmock.Sequence;
+import org.jmock.States;
+import org.jmock.internal.ExpectationBuilder;
 
-import static org.junit.Assert.fail;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Maps;
 
 /**
  * Represents the currently executing scenario, allowing information to be shared 
@@ -143,15 +145,15 @@ public abstract class ScenarioExecution {
         dsp.replaceService(original, replacement);
     }
 
-    /**
-     * Convenience method, returning the {@link DomainObjectContainer},
-     * first ensuring that it is available.
-     * 
-     * @throws IllegalStateException if not available
-     */
-    public DomainObjectContainer container() {
-        return service(DomainObjectContainer.class);
-    }
+//    /**
+//     * Convenience method, returning the {@link DomainObjectContainer},
+//     * first ensuring that it is available.
+//     * 
+//     * @throws IllegalStateException if not available
+//     */
+//    public DomainObjectContainer container() {
+//        return service(DomainObjectContainer.class);
+//    }
 
     
     /**
@@ -475,10 +477,10 @@ public abstract class ScenarioExecution {
                     final Object service = service(serviceClass);
                     method.invoke(obj, service);
                 }
-                if(method.getName().startsWith("set") && serviceClass == DomainObjectContainer.class) {
-                    final Object container = container();
-                    method.invoke(obj, container);
-                }
+//                if(method.getName().startsWith("set") && serviceClass == DomainObjectContainer.class) {
+//                    final Object container = container();
+//                    method.invoke(obj, container);
+//                }
             }
             autowireViaFields(obj, obj.getClass());
 
diff --git a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeGlueAbstract.java b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeGlueAbstract.java
index 1b6bc45..8087f43 100644
--- a/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeGlueAbstract.java
+++ b/core/specsupport/src/main/java/org/apache/isis/core/specsupport/specs/CukeGlueAbstract.java
@@ -16,28 +16,27 @@
  */
 package org.apache.isis.core.specsupport.specs;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.util.List;
 
-import com.google.common.base.Objects;
-import com.google.common.collect.Lists;
-
-import org.jmock.Sequence;
-import org.jmock.States;
-import org.jmock.internal.ExpectationBuilder;
-
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.internal.base._Strings;
 import org.apache.isis.applib.services.wrapper.WrapperFactory;
 import org.apache.isis.core.specsupport.scenarios.ScenarioExecution;
 import org.apache.isis.core.specsupport.scenarios.ScenarioExecutionForUnit;
 import org.apache.isis.core.specsupport.scenarios.ScenarioExecutionScope;
+import org.jmock.Sequence;
+import org.jmock.States;
+import org.jmock.internal.ExpectationBuilder;
+
+import com.google.common.base.Objects;
+import com.google.common.collect.Lists;
 
 import cucumber.api.java.Before;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
 
 /**
  * Base class for Cucumber-JVM step definitions.
@@ -121,12 +120,12 @@ public abstract class CukeGlueAbstract {
         return scenarioExecution().service(cls);
     }
     
-    /**
-     * Convenience method
-     */
-    protected DomainObjectContainer container() {
-        return scenarioExecution().container();
-    }
+//    /**
+//     * Convenience method
+//     */
+//    protected DomainObjectContainer container() {
+//        return scenarioExecution().container();
+//    }
     
     /**
      * Convenience method
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceAbstract.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceAbstract.java
index 8204021..6021d6a 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceAbstract.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceAbstract.java
@@ -24,12 +24,10 @@ import java.util.Objects;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
-import javax.inject.Inject;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -155,8 +153,4 @@ public abstract class ContentNegotiationServiceAbstract implements ContentNegoti
         return mediaParam;
     }
 
-    
-
-    @javax.inject.Inject
-    protected DomainObjectContainer container;
 }
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.java
index 438eda1..af7d923 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.java
@@ -24,7 +24,6 @@ import java.util.List;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
@@ -394,7 +393,4 @@ public class ContentNegotiationServiceOrgApacheIsisV1 extends ContentNegotiation
         }
     }
 
-
-    @javax.inject.Inject
-    protected DomainObjectContainer container;
 }

-- 
To stop receiving notification emails like this one, please contact
ahuber@apache.org.