http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java index 9ab3529..cb3b320 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java @@ -20,43 +20,212 @@ package org.apache.isis.core.runtime.system.persistence; import java.util.List; +import java.util.Properties; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.apache.isis.applib.clock.Clock; +import org.apache.isis.applib.fixtures.FixtureClock; import org.apache.isis.core.commons.components.ApplicationScopedComponent; +import org.apache.isis.core.commons.config.IsisConfiguration; import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner; +import org.apache.isis.core.metamodel.progmodel.ProgrammingModel; +import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext; +import org.apache.isis.core.metamodel.services.ServicesInjectorDefault; import org.apache.isis.core.metamodel.services.ServicesInjectorSpi; +import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi; +import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite; +import org.apache.isis.core.runtime.persistence.FixturesInstalledFlag; +import org.apache.isis.core.runtime.persistence.ObjectStoreFactory; +import org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession; import org.apache.isis.core.runtime.system.DeploymentType; +import org.apache.isis.core.runtime.system.context.IsisContext; +import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager; + +import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg; +import static org.apache.isis.core.commons.ensure.Ensure.ensureThatState; +import static org.hamcrest.CoreMatchers.*; /** - * @see org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegate + * Implementation that just delegates to a supplied + * {@link org.apache.isis.core.runtime.persistence.ObjectStoreFactory}. */ -public interface PersistenceSessionFactory extends MetaModelRefiner, ApplicationScopedComponent { +public class PersistenceSessionFactory implements MetaModelRefiner, ApplicationScopedComponent, FixturesInstalledFlag { + + private static final Logger LOG = LoggerFactory.getLogger(PersistenceSessionFactory.class); + + private final DeploymentType deploymentType; + private final IsisConfiguration configuration; + private final ObjectStoreFactory objectStoreFactory; + + /** + * @see #setServices(List) + */ + private List<Object> serviceList; + + private Boolean fixturesInstalled; + + private final ServicesInjectorSpi servicesInjector = new ServicesInjectorDefault(); + private RuntimeContext runtimeContext; + + public PersistenceSessionFactory( + final DeploymentType deploymentType, + final IsisConfiguration isisConfiguration, + final ObjectStoreFactory objectStoreFactory) { + this.deploymentType = deploymentType; + this.configuration = isisConfiguration; + this.objectStoreFactory = objectStoreFactory; + } + + public DeploymentType getDeploymentType() { + return deploymentType; + } + + public ObjectStoreFactory getDelegate() { + return objectStoreFactory; + } + + public PersistenceSession createPersistenceSession() { + + if (LOG.isDebugEnabled()) { + LOG.debug("installing " + this.getClass().getName()); + } + + ServicesInjectorSpi servicesInjector = getServicesInjector(); + + final ObjectStore objectStore = objectStoreFactory.createObjectStore(getConfiguration()); + + ensureThatArg(objectStore, is(not(nullValue()))); + + final PersistenceSession persistenceSession =new PersistenceSession(this, servicesInjector, objectStore, getConfiguration()); + + final IsisTransactionManager transactionManager = new IsisTransactionManager(persistenceSession, objectStore, servicesInjector); + + persistenceSession.setDirtiableSupport(true); + persistenceSession.setTransactionManager(transactionManager); + + return persistenceSession; + } + + public final void init() { + + // check prereq dependencies injected + ensureThatState(serviceList, is(notNullValue())); + + // a bit of a workaround, but required if anything in the metamodel (for + // example, a + // ValueSemanticsProvider for a date value type) needs to use the Clock + // singleton + // we do this after loading the services to allow a service to prime a + // different clock + // implementation (eg to use an NTP time service). + if (!deploymentType.isProduction() && !Clock.isInitialized()) { + FixtureClock.initialize(); + } + + runtimeContext = createRuntimeContext(getConfiguration()); + ensureThatState(runtimeContext, is(not(nullValue()))); + + // inject the specification loader etc. + runtimeContext.injectInto(servicesInjector); + + // wire up components - DeploymentType getDeploymentType(); + getSpecificationLoader().injectInto(runtimeContext); + for (Object service : serviceList) { + runtimeContext.injectInto(service); + } + servicesInjector.setServices(serviceList); + servicesInjector.init(); + } + private RuntimeContext createRuntimeContext(final IsisConfiguration configuration) { + final RuntimeContextFromSession runtimeContext = new RuntimeContextFromSession(); + final Properties properties = applicationPropertiesFrom(configuration); + runtimeContext.setProperties(properties); + return runtimeContext; + } + + private static Properties applicationPropertiesFrom(final IsisConfiguration configuration) { + final Properties properties = new Properties(); + final IsisConfiguration applicationConfiguration = configuration.getProperties("application"); + for (final String key : applicationConfiguration) { + final String value = applicationConfiguration.getString(key); + final String newKey = key.substring("application.".length()); + properties.setProperty(newKey, value); + } + return properties; + } + + + + public final void shutdown() { + doShutdown(); + } + + /** + * Optional hook method for implementation-specific shutdown. + */ + protected void doShutdown() { + } + + // ////////////////////////////////////////////////////// - // Singleton threadsafe components + // Components (setup during init...) // ////////////////////////////////////////////////////// - ServicesInjectorSpi getServicesInjector(); + public ServicesInjectorSpi getServicesInjector() { + return servicesInjector; + } - // ////////////////////////////////////////////////////// - // main API + // MetaModelAdjuster impl // ////////////////////////////////////////////////////// - /** - * Creates a {@link PersistenceSession} with the implementing object as the - * {@link PersistenceSession}'s - * {@link PersistenceSession#getPersistenceSessionFactory() owning factory}. - */ - PersistenceSession createPersistenceSession(); + public void refineMetaModelValidator(MetaModelValidatorComposite metaModelValidator, IsisConfiguration configuration) { + objectStoreFactory.refineMetaModelValidator(metaModelValidator, configuration); + } + + public void refineProgrammingModel(ProgrammingModel baseProgrammingModel, IsisConfiguration configuration) { + objectStoreFactory.refineProgrammingModel(baseProgrammingModel, configuration); + } + + // ////////////////////////////////////////////////////// + // FixturesInstalledFlag impl + // ////////////////////////////////////////////////////// + + @Override + public Boolean isFixturesInstalled() { + return fixturesInstalled; + } + + @Override + public void setFixturesInstalled(final Boolean fixturesInstalled) { + this.fixturesInstalled = fixturesInstalled; + } // ////////////////////////////////////////////////////// - // Services + // Dependencies (injected from constructor) // ////////////////////////////////////////////////////// - public void setServices(List<Object> servicesList); + public IsisConfiguration getConfiguration() { + return configuration; + } + + // ////////////////////////////////////////////////////// + // Dependencies (injected via setters) + // ////////////////////////////////////////////////////// + public void setServices(final List<Object> serviceList) { + this.serviceList = serviceList; + } + + // ////////////////////////////////////////////////////// + // Dependencies (from context) + // ////////////////////////////////////////////////////// + protected SpecificationLoaderSpi getSpecificationLoader() { + return IsisContext.getSpecificationLoader(); + } }
http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/Persistor.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/Persistor.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/Persistor.java index 6f4ba73..11b4091 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/Persistor.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/Persistor.java @@ -187,7 +187,7 @@ public interface Persistor { * Makes an {@link ObjectAdapter} persistent. The specified object should be * stored away via this object store's persistence mechanism, and have an * new and unique OID assigned to it. The object, should also be added to - * the {@link AdapterManagerSpi} as the object is implicitly 'in use'. + * the {@link org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault} as the object is implicitly 'in use'. * * <p> * If the object has any associations then each of these, where they aren't http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java index 62704da..e62ce4d 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java @@ -20,8 +20,6 @@ package org.apache.isis.core.runtime.system.session; import java.util.List; - -import org.apache.isis.applib.DomainObjectContainer; import org.apache.isis.core.commons.authentication.AuthenticationSession; import org.apache.isis.core.commons.components.ApplicationScopedComponent; import org.apache.isis.core.commons.config.IsisConfiguration; @@ -30,9 +28,9 @@ import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller; import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi; import org.apache.isis.core.runtime.authentication.AuthenticationManager; import org.apache.isis.core.runtime.authorization.AuthorizationManager; +import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import org.apache.isis.core.runtime.system.DeploymentType; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; -import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; /** * Analogous (and in essence a wrapper for) a JDO <code>PersistenceManagerFactory</code> @@ -79,7 +77,7 @@ public interface IsisSessionFactory extends ApplicationScopedComponent { public AuthorizationManager getAuthorizationManager(); /** - * The {@link PersistenceSessionFactory} that will be used to create + * The {@link org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory} that will be used to create * {@link PersistenceSession} {@link IsisSession#getPersistenceSession() * within} the {@link IsisSession}. */ http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java index 442bf45..31b7b3b 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java @@ -30,7 +30,6 @@ import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.isis.applib.DomainObjectContainer; import org.apache.isis.core.commons.authentication.AuthenticationSession; import org.apache.isis.core.commons.components.ApplicationScopedComponent; import org.apache.isis.core.commons.config.IsisConfiguration; @@ -41,9 +40,9 @@ import org.apache.isis.core.metamodel.specloader.ServiceInitializer; import org.apache.isis.core.runtime.authentication.AuthenticationManager; import org.apache.isis.core.runtime.authorization.AuthorizationManager; import org.apache.isis.core.runtime.installerregistry.InstallerLookup; +import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import org.apache.isis.core.runtime.system.DeploymentType; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; -import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg; import static org.hamcrest.CoreMatchers.*; http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java index fa1475b..5cfcd50 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java @@ -22,10 +22,8 @@ package org.apache.isis.core.runtime.systemusinginstallers; import java.util.Arrays; import java.util.Collection; import java.util.List; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import org.apache.isis.applib.fixtures.LogonFixture; import org.apache.isis.core.commons.components.Installer; import org.apache.isis.core.commons.components.Noop; @@ -40,6 +38,7 @@ import org.apache.isis.core.runtime.authentication.exploration.ExplorationSessio import org.apache.isis.core.runtime.authorization.AuthorizationManager; import org.apache.isis.core.runtime.fixtures.FixturesInstaller; import org.apache.isis.core.runtime.installerregistry.InstallerLookup; +import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession; import org.apache.isis.core.runtime.system.DeploymentType; import org.apache.isis.core.runtime.system.IsisSystemException; @@ -48,7 +47,6 @@ import org.apache.isis.core.runtime.system.context.IsisContext; import org.apache.isis.core.runtime.system.internal.InitialisationSession; import org.apache.isis.core.runtime.system.internal.IsisLocaleInitializer; import org.apache.isis.core.runtime.system.internal.IsisTimeZoneInitializer; -import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import org.apache.isis.core.runtime.system.session.IsisSessionFactory; import org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault; http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java index 5a01f72..a14f917 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java @@ -34,11 +34,11 @@ import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller; import org.apache.isis.core.runtime.fixtures.FixturesInstaller; import org.apache.isis.core.runtime.installerregistry.InstallerLookup; import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller; +import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import org.apache.isis.core.runtime.services.ServicesInstaller; import org.apache.isis.core.runtime.system.DeploymentType; import org.apache.isis.core.runtime.system.IsisSystemException; import org.apache.isis.core.runtime.system.SystemConstants; -import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjector; import org.apache.isis.core.runtime.transaction.facetdecorator.standard.TransactionFacetDecoratorInstaller; http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusObjectStore.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusObjectStore.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusObjectStore.java index edccfa1..0098d29 100644 --- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusObjectStore.java +++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusObjectStore.java @@ -49,7 +49,7 @@ import org.apache.isis.core.runtime.persistence.ObjectNotFoundException; import org.apache.isis.core.runtime.persistence.PojoRefreshException; import org.apache.isis.core.runtime.persistence.UnsupportedFindException; import org.apache.isis.core.runtime.persistence.adapter.PojoAdapterFactory; -import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi; +import org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault; import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand; import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand; import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand; @@ -59,7 +59,7 @@ import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByPatt import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByTitle; import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindUsingApplibQueryDefault; import org.apache.isis.core.runtime.system.context.IsisContext; -import org.apache.isis.core.runtime.system.persistence.AdapterManagerSpi; +import org.apache.isis.core.runtime.system.persistence.ObjectStore; import org.apache.isis.core.runtime.system.persistence.PersistenceQuery; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; import org.apache.isis.core.runtime.system.transaction.IsisTransaction; @@ -77,7 +77,7 @@ import static org.apache.isis.core.commons.ensure.Ensure.*; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; -public class DataNucleusObjectStore implements ObjectStoreSpi { +public class DataNucleusObjectStore implements ObjectStore { private static final Logger LOG = LoggerFactory.getLogger(DataNucleusObjectStore.class); @@ -565,7 +565,7 @@ public class DataNucleusObjectStore implements ObjectStoreSpi { // /////////////////////////////////////////////////////////////////////// @SuppressWarnings("unused") - private List<ObjectAdapter> loadObjects(final ObjectSpecification specification, final List<?> listOfPojs, final AdapterManagerSpi adapterManager) { + private List<ObjectAdapter> loadObjects(final ObjectSpecification specification, final List<?> listOfPojs, final AdapterManagerDefault adapterManager) { final List<ObjectAdapter> adapters = Lists.newArrayList(); int i = 0; for (final Object pojo : listOfPojs) { http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java index adffadc..1b7ca82 100644 --- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java +++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java @@ -32,8 +32,8 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification; import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi; import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite; import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract; -import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi; import org.apache.isis.core.runtime.system.context.IsisContext; +import org.apache.isis.core.runtime.system.persistence.ObjectStore; import org.apache.isis.objectstore.jdo.metamodel.facets.object.auditable.AuditableAnnotationInJdoApplibFacetFactory; import org.apache.isis.objectstore.jdo.metamodel.facets.object.auditable.AuditableMarkerInterfaceInJdoApplibFacetFactory; import org.apache.isis.objectstore.jdo.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityAnnotationFacetFactory; @@ -85,7 +85,7 @@ public class DataNucleusPersistenceMechanismInstaller extends PersistenceMechani //region > createObjectStore @Override - public ObjectStoreSpi createObjectStore(final IsisConfiguration configuration) { + public ObjectStore createObjectStore(final IsisConfiguration configuration) { final DataNucleusApplicationComponents applicationComponents = createDataNucleusApplicationComponentsIfRequired(configuration); return new DataNucleusObjectStore(applicationComponents); } http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStoreInstances_findInstancesAndAdd.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStoreInstances_findInstancesAndAdd.java b/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStoreInstances_findInstancesAndAdd.java index e1835b6..45294aa 100644 --- a/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStoreInstances_findInstancesAndAdd.java +++ b/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStoreInstances_findInstancesAndAdd.java @@ -19,30 +19,26 @@ package org.apache.isis.core.objectstore.internal; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; - import java.util.List; - import com.google.common.collect.Lists; - import org.jmock.Expectations; import org.jmock.auto.Mock; import org.junit.Before; import org.junit.Rule; import org.junit.Test; - import org.apache.isis.core.commons.authentication.AuthenticationSession; import org.apache.isis.core.commons.matchers.IsisMatchers; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.spec.ObjectSpecId; -import org.apache.isis.core.metamodel.spec.ObjectSpecification; +import org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault; import org.apache.isis.core.runtime.persistence.query.PersistenceQueryBuiltIn; -import org.apache.isis.core.runtime.system.persistence.AdapterManagerSpi; import org.apache.isis.core.unittestsupport.jmocking.IsisActions; 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; + public class ObjectStoreInstances_findInstancesAndAdd { private ObjectStoreInstances instances; @@ -57,7 +53,7 @@ public class ObjectStoreInstances_findInstancesAndAdd { @Mock private AuthenticationSession mockAuthSession; @Mock - private AdapterManagerSpi mockAdapterManager; + private AdapterManagerDefault mockAdapterManager; @Mock private ObjectAdapter mockAdapter1; @@ -72,7 +68,7 @@ public class ObjectStoreInstances_findInstancesAndAdd { return mockAuthSession; } @Override - protected AdapterManagerSpi getAdapterManager() { + protected AdapterManagerDefault getAdapterManager() { return mockAdapterManager; } }; http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_instances.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_instances.java b/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_instances.java index 9227c14..4274613 100644 --- a/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_instances.java +++ b/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_instances.java @@ -31,12 +31,11 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.apache.isis.core.metamodel.spec.ObjectSpecId; -import org.apache.isis.core.metamodel.spec.ObjectSpecification; @RunWith(JMock.class) public class ObjectStorePersistedObjectsDefault_instances { - private ObjectStorePersistedObjectsDefault persistedObjects; + private ObjectStorePersistedObjects persistedObjects; private final Mockery context = new JUnit4Mockery(); @@ -44,7 +43,7 @@ public class ObjectStorePersistedObjectsDefault_instances { @Before public void setUp() throws Exception { - persistedObjects = new ObjectStorePersistedObjectsDefault(); + persistedObjects = new ObjectStorePersistedObjects(); mockSpec = context.mock(ObjectSpecId.class); } http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_savesOidGeneratorAsMemento.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_savesOidGeneratorAsMemento.java b/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_savesOidGeneratorAsMemento.java index e41d2f8..8514db2 100644 --- a/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_savesOidGeneratorAsMemento.java +++ b/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_savesOidGeneratorAsMemento.java @@ -31,7 +31,7 @@ import static org.junit.Assert.assertThat; public class ObjectStorePersistedObjectsDefault_savesOidGeneratorAsMemento { - private ObjectStorePersistedObjectsDefault persistedObjects; + private ObjectStorePersistedObjects persistedObjects; @Rule public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES); @@ -40,7 +40,7 @@ public class ObjectStorePersistedObjectsDefault_savesOidGeneratorAsMemento { @Before public void setUp() throws Exception { - persistedObjects = new ObjectStorePersistedObjectsDefault(); + persistedObjects = new ObjectStorePersistedObjects(); mockMemento = context.mock(IdentifierGeneratorDefault.Memento.class); } http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_services.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_services.java b/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_services.java index df849ac..83bf511 100644 --- a/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_services.java +++ b/core/runtime/src/test/java/org/apache/isis/core/objectstore/internal/ObjectStorePersistedObjectsDefault_services.java @@ -43,11 +43,11 @@ public class ObjectStorePersistedObjectsDefault_services { @Mock private Oid mockOidForBarService; - private ObjectStorePersistedObjectsDefault persistedObjects; + private ObjectStorePersistedObjects persistedObjects; @Before public void setUp() throws Exception { - persistedObjects = new ObjectStorePersistedObjectsDefault(); + persistedObjects = new ObjectStorePersistedObjects(); } @Test http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java index 4ce18da..73cf1be 100644 --- a/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java +++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java @@ -21,15 +21,9 @@ package org.apache.isis.core.runtime.context; import java.util.Collections; import java.util.List; - import org.jmock.Expectations; import org.jmock.auto.Mock; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - +import org.junit.*; import org.apache.isis.applib.DomainObjectContainer; import org.apache.isis.core.commons.authentication.AuthenticationSession; import org.apache.isis.core.commons.config.IsisConfiguration; @@ -39,11 +33,11 @@ import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi; import org.apache.isis.core.runtime.authentication.AuthenticationManager; import org.apache.isis.core.runtime.authentication.standard.SimpleSession; import org.apache.isis.core.runtime.authorization.AuthorizationManager; +import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import org.apache.isis.core.runtime.system.DeploymentType; import org.apache.isis.core.runtime.system.context.IsisContext; import org.apache.isis.core.runtime.system.context.IsisContextStatic; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; -import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; import org.apache.isis.core.runtime.system.session.IsisSessionFactory; import org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2; http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/test/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionTest.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionTest.java index 2d67115..f9645c8 100644 --- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionTest.java +++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionTest.java @@ -45,7 +45,6 @@ import org.apache.isis.core.runtime.persistence.adapter.PojoAdapterFactory; import org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault; import org.apache.isis.core.runtime.persistence.adaptermanager.PojoRecreatorUnified; import org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession; -import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi; import org.apache.isis.core.runtime.persistence.objectstore.transaction.*; import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder.Persistence; import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager; @@ -61,7 +60,7 @@ public class PersistenceSessionTest { public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES); private ServicesInjectorDefault servicesInjector; - private AdapterManagerSpi adapterManager; + private AdapterManagerDefault adapterManager; private ObjectAdapterFactory adapterFactory; @@ -78,7 +77,7 @@ public class PersistenceSessionTest { private AuthenticationSession mockAuthenticationSession; @Mock - private ObjectStoreSpi mockObjectStore; + private ObjectStore mockObjectStore; @Mock private AuditingService3 mockAuditingService3; @Mock http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java index 198c824..2ba697e 100644 --- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java +++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java @@ -31,8 +31,8 @@ import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller; import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi; import org.apache.isis.core.runtime.authentication.AuthenticationManager; import org.apache.isis.core.runtime.authorization.AuthorizationManager; -import org.apache.isis.core.runtime.system.DeploymentType; import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory; +import org.apache.isis.core.runtime.system.DeploymentType; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode; http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java index 543f1b8..2a66a8f 100644 --- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java +++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java @@ -19,16 +19,12 @@ package org.apache.isis.core.runtime.system.transaction; -import static org.hamcrest.CoreMatchers.equalTo; - import java.util.Collections; - import org.jmock.Expectations; import org.jmock.auto.Mock; import org.junit.Before; import org.junit.Rule; import org.junit.Test; - import org.apache.isis.applib.annotation.Bulk; import org.apache.isis.applib.annotation.PublishedAction; import org.apache.isis.applib.annotation.PublishedObject; @@ -42,19 +38,15 @@ import org.apache.isis.core.commons.matchers.IsisMatchers; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector; import org.apache.isis.core.runtime.persistence.ObjectPersistenceException; -import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi; -import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand; -import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand; -import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand; -import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext; -import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder; +import org.apache.isis.core.runtime.persistence.objectstore.transaction.*; import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder.Persistence; -import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithDefaultPayloadFactories; -import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand; import org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault; +import org.apache.isis.core.runtime.system.persistence.ObjectStore; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode; +import static org.hamcrest.CoreMatchers.equalTo; + public class IsisTransactionTest { @Rule @@ -69,7 +61,7 @@ public class IsisTransactionTest { private ObjectAdapter persistentAdapter2; @Mock - private ObjectStoreSpi mockObjectStore; + private ObjectStore mockObjectStore; @Mock private IsisTransactionManager mockTransactionManager; http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java ---------------------------------------------------------------------- diff --git a/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java b/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java index 0dc3c61..131c418 100644 --- a/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java +++ b/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java @@ -42,9 +42,9 @@ import org.apache.isis.core.objectstore.InMemoryPersistenceMechanismInstaller; import org.apache.isis.core.runtime.authentication.AuthenticationManager; import org.apache.isis.core.runtime.authentication.AuthenticationRequest; import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller; -import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi; import org.apache.isis.core.runtime.system.DeploymentType; import org.apache.isis.core.runtime.system.context.IsisContext; +import org.apache.isis.core.runtime.system.persistence.ObjectStore; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; import org.apache.isis.core.runtime.system.persistence.Persistor; import org.apache.isis.core.runtime.system.transaction.IsisTransaction; @@ -532,7 +532,7 @@ public class IsisSystemWithFixtures implements org.junit.rules.TestRule { } @SuppressWarnings("unchecked") - public <T extends ObjectStoreSpi> T getObjectStore(Class<T> cls) { + public <T extends ObjectStore> T getObjectStore(Class<T> cls) { final PersistenceSession persistenceSession = getPersistenceSession(); return (T) persistenceSession.getObjectStore(); } http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java ---------------------------------------------------------------------- diff --git a/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java b/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java index 55ce125..933b6d6 100644 --- a/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java +++ b/tck/tck-integtests/src/test/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java @@ -29,9 +29,9 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.adapter.oid.RootOid; import org.apache.isis.core.metamodel.spec.ObjectSpecification; import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller; -import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi; import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByTitle; import org.apache.isis.core.runtime.system.context.IsisContext; +import org.apache.isis.core.runtime.system.persistence.ObjectStore; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; import org.apache.isis.core.tck.dom.refs.SimpleEntity; @@ -63,9 +63,9 @@ public abstract class ObjectStoreContractTest_persist { protected ObjectAdapter epv2Adapter; protected ObjectSpecification epvSpecification; - protected ObjectStoreSpi getStore() { + protected ObjectStore getStore() { PersistenceSession psos = IsisContext.getPersistenceSession(); - return (ObjectStoreSpi) psos.getObjectStore(); + return psos.getObjectStore(); } http://git-wip-us.apache.org/repos/asf/isis/blob/fab4f479/tck/tck-integtests/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_openAndClose.java ---------------------------------------------------------------------- diff --git a/tck/tck-integtests/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_openAndClose.java b/tck/tck-integtests/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_openAndClose.java index c1cdc3f..241a5ae 100644 --- a/tck/tck-integtests/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_openAndClose.java +++ b/tck/tck-integtests/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_openAndClose.java @@ -19,20 +19,19 @@ package org.apache.isis.core.objectstore; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertThat; - import org.jmock.Expectations; import org.jmock.auto.Mock; import org.junit.Before; import org.junit.Rule; import org.junit.Test; - import org.apache.isis.core.objectstore.internal.ObjectStorePersistedObjects; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + /** * Tested in style of <i>Working Effectively with Legacy Code</i> (Feathers) and * <i>Growing Object-Oriented Software</i> (Freeman & Pryce).
