You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/12/13 08:30:04 UTC
[51/58] [partial] ISIS-188: renaming packages in line with
groupId:artifactId
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNull.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNull.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNull.java
new file mode 100644
index 0000000..4a68549
--- /dev/null
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNull.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.integtestsupport.components;
+
+import org.apache.isis.core.commons.components.Noop;
+import org.apache.isis.core.runtime.imageloader.TemplateImage;
+import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
+
+/**
+ * No-op implementation, for tests.
+ */
+public class TemplateImageLoaderNull implements TemplateImageLoader, Noop {
+
+ @Override
+ public TemplateImage getTemplateImage(final String name) {
+ return null;
+ }
+
+ @Override
+ public void init() {
+ }
+
+ @Override
+ public void shutdown() {
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/UserProfileStoreStaticInMemory.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/UserProfileStoreStaticInMemory.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/UserProfileStoreStaticInMemory.java
new file mode 100644
index 0000000..87a1fe7
--- /dev/null
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/UserProfileStoreStaticInMemory.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.integtestsupport.components;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.isis.core.commons.debug.DebugBuilder;
+import org.apache.isis.core.commons.debug.DebuggableWithTitle;
+import org.apache.isis.core.runtime.userprofile.UserProfile;
+import org.apache.isis.core.runtime.userprofile.UserProfileStore;
+
+public class UserProfileStoreStaticInMemory implements UserProfileStore, DebuggableWithTitle {
+
+ private static final Map<String, UserProfile> profiles = new HashMap<String, UserProfile>();
+
+ @Override
+ public boolean isFixturesInstalled() {
+ return false;
+ }
+
+ @Override
+ public UserProfile getUserProfile(final String name) {
+ return profiles.get(name);
+ }
+
+ @Override
+ public void save(final String name, final UserProfile userProfile) {
+ profiles.put(name, userProfile);
+ }
+
+ @Override
+ public void debugData(final DebugBuilder debug) {
+ for (final String name : profiles.keySet()) {
+ debug.appendln(name, profiles.get(name));
+ }
+ }
+
+ @Override
+ public String debugTitle() {
+ return "InMemoryUserProfileStore";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java
new file mode 100644
index 0000000..37606b2
--- /dev/null
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/tck/ObjectStoreContractTest_persist.java
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.integtestsupport.tck;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotSame;
+
+import java.util.Date;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.integtestsupport.IsisSystemWithFixtures;
+import org.apache.isis.core.metamodel.adapter.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.PersistenceSession;
+import org.apache.isis.core.tck.dom.refs.SimpleEntity;
+
+public abstract class ObjectStoreContractTest_persist {
+
+ @Rule
+ public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder()
+ .with(createPersistenceMechanismInstaller())
+ .with(iswfListener()).build();
+
+
+ /**
+ * Mandatory hook.
+ */
+ protected abstract PersistenceMechanismInstaller createPersistenceMechanismInstaller();
+
+ protected IsisSystemWithFixtures.Listener iswfListener() {
+ return null;
+ }
+
+ /**
+ * hook method
+ */
+ protected void resetPersistenceStore() {
+ }
+
+ protected ObjectAdapter epv2Adapter;
+ protected ObjectSpecification epvSpecification;
+
+ protected ObjectStoreSpi getStore() {
+ PersistenceSession psos = IsisContext.getPersistenceSession();
+ return (ObjectStoreSpi) psos.getObjectStore();
+ }
+
+
+ @Before
+ public void setUpFixtures() throws Exception {
+ epv2Adapter = iswf.adapterFor(iswf.fixtures.smpl2);
+ epvSpecification = iswf.loadSpecification(SimpleEntity.class);
+ }
+
+
+ @Test
+ public void getInstances_usingFindByTitle() throws Exception {
+
+ // given nothing in DB
+ resetPersistenceStore();
+
+ // when search for any object
+ boolean hasInstances = getStore().hasInstances(epvSpecification);
+
+ // then find none
+ assertFalse(hasInstances);
+
+ // given now persisted
+ final SimpleEntity epv2 = iswf.fixtures.smpl2;
+ epv2.setName("foo");
+ epv2.setDate(new Date());
+ epv2.setNullable(1234567890L);
+ epv2.setSize(123);
+
+ iswf.persist(epv2);
+
+ iswf.bounceSystem();
+
+ // when search for object
+ List<ObjectAdapter> retrievedInstance = getStore().loadInstancesAndAdapt(new PersistenceQueryFindByTitle(epvSpecification, epv2Adapter.titleString()));
+
+ // then find
+ assertEquals(1, retrievedInstance.size());
+ final ObjectAdapter retrievedAdapter = retrievedInstance.get(0);
+
+ assertNotSame(epv2Adapter, retrievedAdapter);
+ assertEquals(((SimpleEntity)epv2Adapter.getObject()).getName(), ((SimpleEntity)retrievedAdapter.getObject()).getName());
+ assertEquals(epv2Adapter.getOid(), retrievedAdapter.getOid());
+
+ // and when search for some other title
+ retrievedInstance = getStore().loadInstancesAndAdapt(new PersistenceQueryFindByTitle(epvSpecification, "some other title"));
+
+ // then don't find
+ assertEquals(0, retrievedInstance.size());
+ }
+
+
+ @Test
+ public void updateInstance() throws Exception {
+
+ // given persisted
+ resetPersistenceStore();
+ ObjectAdapter adapter = iswf.persist(iswf.fixtures.smpl2);
+ final RootOid oid = (RootOid) adapter.getOid();
+ iswf.bounceSystem();
+
+ // when change
+ adapter = iswf.reload(oid);
+
+ SimpleEntity epv = (SimpleEntity) adapter.getObject();
+ epv.setName("changed");
+
+ iswf.bounceSystem();
+
+ // then found
+ List<ObjectAdapter> retrievedInstance = getStore().loadInstancesAndAdapt(new PersistenceQueryFindByTitle(epvSpecification, adapter.titleString()));
+ assertEquals(1, retrievedInstance.size());
+
+ final ObjectAdapter retrievedAdapter = retrievedInstance.get(0);
+ assertNotSame(adapter, retrievedAdapter);
+ assertEquals(((SimpleEntity)adapter.getObject()).getName(), ((SimpleEntity)retrievedAdapter.getObject()).getName());
+ assertEquals(adapter.getOid(), retrievedAdapter.getOid());
+ }
+
+ @Test
+ public void removeInstance() throws Exception {
+
+ // given persisted
+ resetPersistenceStore();
+ ObjectAdapter adapter = iswf.persist(iswf.fixtures.smpl2);
+ final RootOid oid = (RootOid) adapter.getOid();
+ iswf.bounceSystem();
+
+ // when destroy
+ adapter = iswf.reload(oid);
+
+ SimpleEntity epv = (SimpleEntity) adapter.getObject();
+ iswf.destroy(epv);
+ iswf.bounceSystem();
+
+ // then not found
+ assertEquals(false, getStore().hasInstances(epvSpecification));
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemDefault.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemDefault.java b/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemDefault.java
deleted file mode 100644
index f357377..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemDefault.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.runtimes.dflt.testsupport;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderClassPath;
-import org.apache.isis.core.metamodel.facetapi.ClassSubstitutorFactory;
-import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
-import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
-import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
-import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
-import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistryDefault;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
-import org.apache.isis.core.progmodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authentication.standard.AuthenticationManagerStandard;
-import org.apache.isis.core.runtime.authentication.standard.Authenticator;
-import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandard;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-import org.apache.isis.progmodels.dflt.JavaReflectorHelper;
-import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
-import org.apache.isis.runtimes.dflt.objectstores.dflt.InMemoryPersistenceMechanismInstaller;
-import org.apache.isis.runtimes.dflt.profilestores.dflt.InMemoryUserProfileStore;
-import org.apache.isis.runtimes.dflt.runtime.fixtures.FixturesInstaller;
-import org.apache.isis.runtimes.dflt.runtime.fixtures.FixturesInstallerFromConfiguration;
-import org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
-import org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration;
-import org.apache.isis.runtimes.dflt.runtime.system.DeploymentType;
-import org.apache.isis.runtimes.dflt.runtime.system.IsisSystemException;
-import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionFactory;
-import org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract;
-import org.apache.isis.runtimes.dflt.runtime.transaction.facetdecorator.standard.StandardTransactionFacetDecorator;
-import org.apache.isis.security.dflt.authentication.AuthenticatorDefault;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-
-public class IsisSystemDefault extends IsisSystemAbstract {
-
- private final IsisConfigurationDefault configuration;
- private final List<Object> servicesIfAny;
-
- public IsisSystemDefault(Object... servicesIfAny) {
- this(DeploymentType.SERVER, servicesIfAny);
- }
-
- public IsisSystemDefault(List<Object> services) {
- this(DeploymentType.SERVER, services);
- }
-
- public IsisSystemDefault(DeploymentType deploymentType, Object... servicesIfAny) {
- this(deploymentType, asList(servicesIfAny));
- }
-
- public IsisSystemDefault(DeploymentType deploymentType, List<Object> services) {
- super(deploymentType);
- this.configuration = new IsisConfigurationDefault(ResourceStreamSourceContextLoaderClassPath.create("config"));
- this.servicesIfAny = services;
- }
-
- private static List<Object> asList(Object... objects) {
- return objects != null? Collections.unmodifiableList(Lists.newArrayList(objects)): null;
- }
-
- /**
- * Reads <tt>isis.properties</tt> (and other optional property files) from the "config" package on the current classpath.
- */
- @Override
- public IsisConfiguration getConfiguration() {
- return configuration;
- }
-
-
- /**
- * Either the services explicitly provided by a constructor, otherwise reads from the configuration.
- */
- @Override
- protected List<Object> obtainServices() {
- if(servicesIfAny != null) {
- return servicesIfAny;
- }
- // else
- final ServicesInstallerFromConfiguration servicesInstaller = new ServicesInstallerFromConfiguration();
- return servicesInstaller.getServices(getDeploymentType());
- }
-
- /**
- * Install fixtures from configuration.
- */
- @Override
- protected FixturesInstaller obtainFixturesInstaller() throws IsisSystemException {
- final FixturesInstallerFromConfiguration fixturesInstallerFromConfiguration = new FixturesInstallerFromConfiguration();
- fixturesInstallerFromConfiguration.setConfiguration(getConfiguration());
- return fixturesInstallerFromConfiguration;
- }
-
-
- /**
- * Optional hook method, to create the reflector with defaults (Java5, with cglib, and only the transaction facet decorators)
- *
- * <p>
- * Each of the subcomponents can be overridden if required.
- *
- * @see #obtainReflectorFacetDecoratorSet()
- * @see #obtainReflectorMetaModelValidator()
- * @see #obtainReflectorProgrammingModel()
- */
- @Override
- protected SpecificationLoaderSpi obtainSpecificationLoaderSpi(DeploymentType deploymentType, ClassSubstitutorFactory classSubstitutorFactory, Collection<MetaModelRefiner> metaModelRefiners) throws IsisSystemException {
-
- final ProgrammingModel programmingModel = obtainReflectorProgrammingModel();
- final Set<FacetDecorator> facetDecorators = obtainReflectorFacetDecoratorSet();
- final MetaModelValidator mmv = obtainReflectorMetaModelValidator();
-
- return JavaReflectorHelper.createObjectReflector(programmingModel, classSubstitutorFactory, metaModelRefiners, facetDecorators, mmv, getConfiguration());
- }
-
-
- /**
- * Optional hook method, called from {@link #obtainSpecificationLoaderSpi(DeploymentType, ClassSubstitutorFactory, MetaModelRefiner)}.
- * @return
- */
- protected CollectionTypeRegistry obtainReflectorCollectionTypeRegistry() {
- return new CollectionTypeRegistryDefault();
- }
-
-
- /**
- * Optional hook method, called from {@link #obtainSpecificationLoaderSpi(DeploymentType, ClassSubstitutorFactory, MetaModelRefiner)}.
- * @return
- */
- protected ProgrammingModel obtainReflectorProgrammingModel() {
- return new ProgrammingModelFacetsJava5();
- }
-
- /**
- * Optional hook method, called from {@link #obtainSpecificationLoaderSpi(DeploymentType, ClassSubstitutorFactory, MetaModelRefiner)}.
- * @return
- */
- protected Set<FacetDecorator> obtainReflectorFacetDecoratorSet() {
- return Sets.newHashSet((FacetDecorator)new StandardTransactionFacetDecorator(getConfiguration()));
- }
-
- /**
- * Optional hook method, called from {@link #obtainSpecificationLoaderSpi(DeploymentType, ClassSubstitutorFactory, MetaModelRefiner)}.
- * @return
- */
- protected MetaModelValidator obtainReflectorMetaModelValidator() {
- return new MetaModelValidatorDefault();
- }
-
- /**
- * The standard authentication manager, configured with the default authenticator (allows all requests through).
- */
- @Override
- protected AuthenticationManager obtainAuthenticationManager(DeploymentType deploymentType) throws IsisSystemException {
- final AuthenticationManagerStandard authenticationManager = new AuthenticationManagerStandard(getConfiguration());
- Authenticator authenticator = new AuthenticatorDefault(configuration);
- authenticationManager.addAuthenticator(authenticator);
- return authenticationManager;
- }
-
- /**
- * The standard authorization manager, allowing all access.
- */
- @Override
- protected AuthorizationManager obtainAuthorizationManager(DeploymentType deploymentType) {
- return new AuthorizationManagerStandard(getConfiguration());
- }
-
- /**
- * The in-memory user profile store.
- */
- @Override
- protected UserProfileStore obtainUserProfileStore() {
- return new InMemoryUserProfileStore();
- }
-
- /**
- * The in-memory object store (unless overridden by {@link #obtainPersistenceMechanismInstaller(IsisConfiguration)}).
- */
- @Override
- protected PersistenceSessionFactory obtainPersistenceSessionFactory(DeploymentType deploymentType) throws IsisSystemException {
- PersistenceMechanismInstaller installer = obtainPersistenceMechanismInstaller(getConfiguration());
- if(installer == null) {
- final InMemoryPersistenceMechanismInstaller inMemoryPersistenceMechanismInstaller = new InMemoryPersistenceMechanismInstaller();
- inMemoryPersistenceMechanismInstaller.setConfiguration(getConfiguration());
- installer = inMemoryPersistenceMechanismInstaller;
- }
- return installer.createPersistenceSessionFactory(deploymentType);
- }
-
-
- /**
- * Optional hook; if returns <tt>null</tt> then the {@link #obtainPersistenceSessionFactory(DeploymentType)} is used.
- */
- protected PersistenceMechanismInstaller obtainPersistenceMechanismInstaller(IsisConfiguration configuration) throws IsisSystemException {
- InMemoryPersistenceMechanismInstaller installer = new InMemoryPersistenceMechanismInstaller();
- installer.setConfiguration(getConfiguration());
- return installer;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemForTest.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemForTest.java b/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemForTest.java
deleted file mode 100644
index 2ce800b..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemForTest.java
+++ /dev/null
@@ -1,646 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.runtimes.dflt.testsupport;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.applib.fixtures.InstallableFixture;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.runtimes.dflt.objectstores.dflt.InMemoryPersistenceMechanismInstaller;
-import org.apache.isis.runtimes.dflt.runtime.fixtures.FixturesInstallerDelegate;
-import org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
-import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.runtimes.dflt.runtime.system.DeploymentType;
-import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
-import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.runtimes.dflt.runtime.system.persistence.Persistor;
-import org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransaction;
-import org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransaction.State;
-import org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.security.dflt.authentication.AuthenticationRequestDefault;
-
-/**
- * Wraps a plain {@link IsisSystemDefault}, and provides a number of features to assist with testing.
- */
-public class IsisSystemForTest implements org.junit.rules.TestRule {
-
- public interface Listener {
-
- void init(IsisConfiguration configuration) throws Exception;
-
- void preSetupSystem(boolean firstTime) throws Exception;
- void postSetupSystem(boolean firstTime) throws Exception;
-
- void preBounceSystem() throws Exception;
- void postBounceSystem() throws Exception;
-
- void preTeardownSystem() throws Exception;
- void postTeardownSystem() throws Exception;
-
- }
-
- public static abstract class ListenerAdapter implements Listener {
-
- private IsisConfiguration configuration;
-
- public void init(IsisConfiguration configuration) throws Exception {
- this.configuration = configuration;
- }
-
- protected IsisConfiguration getConfiguration() {
- return configuration;
- }
-
- @Override
- public void preSetupSystem(boolean firstTime) throws Exception {
- }
-
- @Override
- public void postSetupSystem(boolean firstTime) throws Exception {
- }
-
- @Override
- public void preBounceSystem() throws Exception {
- }
-
- @Override
- public void postBounceSystem() throws Exception {
- }
-
- @Override
- public void preTeardownSystem() throws Exception {
- }
-
- @Override
- public void postTeardownSystem() throws Exception {
- }
-
- }
-
-
-
-
- private IsisSystemDefault isisSystem;
- private AuthenticationSession authenticationSession;
-
- // public visibility just to reduce noise in tests
- public DomainObjectContainer container;
-
- private final IsisConfiguration configuration;
- private final PersistenceMechanismInstaller persistenceMechanismInstaller;
- private final AuthenticationRequest authenticationRequest;
- private final List<Object> services;
- private final List<InstallableFixture> fixtures;
- private List <Listener> listeners;
-
- private Level level = Level.INFO;
-
- private final MetaModelValidator metaModelValidator;
- private final ProgrammingModel programmingModel;
-
-
- ////////////////////////////////////////////////////////////
- // constructor
- ////////////////////////////////////////////////////////////
-
- public static class Builder {
-
- private AuthenticationRequest authenticationRequest = new AuthenticationRequestDefault("tester");
-
- private IsisConfiguration configuration;
- private PersistenceMechanismInstaller persistenceMechanismInstaller = new InMemoryPersistenceMechanismInstaller();
- private MetaModelValidator metaModelValidator;
- private ProgrammingModel programmingModel;
-
- private Object[] services;
- private InstallableFixture[] fixtures;
-
- private final List <Listener> listeners = Lists.newArrayList();
-
- private Level level = null;
-
- public Builder with(IsisConfiguration configuration) {
- this.configuration = configuration;
- return this;
- }
-
- public Builder with(PersistenceMechanismInstaller persistenceMechanismInstaller) {
- this.persistenceMechanismInstaller = persistenceMechanismInstaller;
- return this;
- }
-
- public Builder with(AuthenticationRequest authenticationRequest) {
- this.authenticationRequest = authenticationRequest;
- return this;
- }
-
- public Builder withServices(Object... services) {
- this.services = services;
- return this;
- }
-
- public Builder withFixtures(InstallableFixture... fixtures) {
- this.fixtures = fixtures;
- return this;
- }
-
- public Builder withLoggingAt(Level level) {
- this.level = level;
- return this;
- }
-
- public IsisSystemForTest build() {
- final List<Object> servicesIfAny = asList(services);
- final List<InstallableFixture> fixturesIfAny = asList(fixtures);
- return new IsisSystemForTest(configuration, programmingModel, metaModelValidator, persistenceMechanismInstaller, authenticationRequest, servicesIfAny, fixturesIfAny, listeners);
- }
-
- private static <T> List<T> asList(T[] objects) {
- return objects != null? Arrays.asList(objects): Collections.<T>emptyList();
- }
-
- public Builder with(Listener listener) {
- if(listener != null) {
- listeners.add(listener);
- }
- return this;
- }
-
- public Builder with(MetaModelValidator metaModelValidator) {
- this.metaModelValidator = metaModelValidator;
- return this;
- }
-
- public Builder with(ProgrammingModel programmingModel) {
- this.programmingModel = programmingModel;
- return this;
- }
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- private IsisSystemForTest(IsisConfiguration configuration, ProgrammingModel programmingModel, MetaModelValidator metaModelValidator, PersistenceMechanismInstaller persistenceMechanismInstaller, AuthenticationRequest authenticationRequest, List<Object> services, List<InstallableFixture> fixtures, List<Listener> listeners) {
- this.configuration = configuration;
- this.programmingModel = programmingModel;
- this.metaModelValidator = metaModelValidator;
- this.persistenceMechanismInstaller = persistenceMechanismInstaller;
- this.authenticationRequest = authenticationRequest;
- this.services = services;
- this.fixtures = fixtures;
- this.listeners = listeners;
- }
-
- ////////////////////////////////////////////////////////////
- // logging
- ////////////////////////////////////////////////////////////
-
- public Level getLevel() {
- return level;
- }
-
- public void setLevel(Level level) {
- this.level = level;
- }
-
- ////////////////////////////////////////////////////////////
- // setup, teardown
- ////////////////////////////////////////////////////////////
-
-
- /**
- * Intended to be called from a test's {@link Before} method.
- */
- public IsisSystemForTest setUpSystem() throws RuntimeException {
- try {
- setUpSystem(FireListeners.FIRE);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- return this;
- }
-
- private void setUpSystem(FireListeners fireListeners) throws Exception {
- Logger.getRootLogger().setLevel(getLevel());
-
- boolean firstTime = isisSystem == null;
- if(fireListeners.shouldFire()) {
- fireInitAndPreSetupSystem(firstTime);
- }
-
- if(firstTime) {
- isisSystem = createIsisSystem(services);
- isisSystem.init();
- IsisContext.closeSession();
- }
-
- final AuthenticationManager authenticationManager = isisSystem.getSessionFactory().getAuthenticationManager();
- authenticationSession = authenticationManager.authenticate(authenticationRequest);
-
- IsisContext.openSession(authenticationSession);
- container = getContainer();
-
- wireAndInstallFixtures();
- if(fireListeners.shouldFire()) {
- firePostSetupSystem(firstTime);
- }
- }
-
- private void wireAndInstallFixtures() {
- FixturesInstallerDelegate fid = new FixturesInstallerDelegate(getPersistenceSession());
- fid.addFixture(fixtures);
- fid.installFixtures();
- }
-
- private enum FireListeners {
- FIRE,
- DONT_FIRE;
- public boolean shouldFire() {
- return this == FIRE;
- }
- }
-
- private DomainObjectContainer getContainer() {
- return getPersistenceSession().getServicesInjector().getContainer();
- }
-
- /**
- * Intended to be called from a test's {@link After} method.
- */
- public void tearDownSystem() throws Exception {
- tearDownSystem(FireListeners.FIRE);
- }
-
- private void tearDownSystem(final FireListeners fireListeners) throws Exception {
- if(fireListeners.shouldFire()) {
- firePreTeardownSystem();
- }
- IsisContext.closeSession();
- if(fireListeners.shouldFire()) {
- firePostTeardownSystem();
- }
- }
-
- public void bounceSystem() throws Exception {
- firePreBounceSystem();
- tearDownSystem(FireListeners.DONT_FIRE);
- setUpSystem(FireListeners.DONT_FIRE);
- firePostBounceSystem();
- }
-
-
- private IsisSystemDefault createIsisSystem(List<Object> services) {
- final IsisSystemDefault system = new IsisSystemDefault(DeploymentType.UNIT_TESTING, services) {
- @Override
- public IsisConfiguration getConfiguration() {
- if(IsisSystemForTest.this.configuration != null) {
- return IsisSystemForTest.this.configuration;
- } else {
- return super.getConfiguration();
- }
- }
- @Override
- protected ProgrammingModel obtainReflectorProgrammingModel() {
- if(IsisSystemForTest.this.programmingModel != null) {
- return IsisSystemForTest.this.programmingModel;
- } else {
- return super.obtainReflectorProgrammingModel();
- }
- }
- @Override
- protected MetaModelValidator obtainReflectorMetaModelValidator() {
- if(IsisSystemForTest.this.metaModelValidator != null) {
- return IsisSystemForTest.this.metaModelValidator;
- } else {
- return super.obtainReflectorMetaModelValidator();
- }
- }
- @Override
- protected PersistenceMechanismInstaller obtainPersistenceMechanismInstaller(IsisConfiguration configuration) {
- final PersistenceMechanismInstaller installer = IsisSystemForTest.this.persistenceMechanismInstaller;
- configuration.injectInto(installer);
- return installer;
- }
- };
- return system;
- }
-
-
-
- ////////////////////////////////////////////////////////////
- // listeners
- ////////////////////////////////////////////////////////////
-
- private void fireInitAndPreSetupSystem(boolean firstTime) throws Exception {
- if(firstTime) {
- for(Listener listener: listeners) {
- listener.init(configuration);
- }
- }
- for(Listener listener: listeners) {
- listener.preSetupSystem(firstTime);
- }
- }
-
- private void firePostSetupSystem(boolean firstTime) throws Exception {
- for(Listener listener: listeners) {
- listener.postSetupSystem(firstTime);
- }
- }
-
- private void firePreTeardownSystem() throws Exception {
- for(Listener listener: listeners) {
- listener.preTeardownSystem();
- }
- }
-
- private void firePostTeardownSystem() throws Exception {
- for(Listener listener: listeners) {
- listener.postTeardownSystem();
- }
- }
-
- private void firePreBounceSystem() throws Exception {
- for(Listener listener: listeners) {
- listener.preBounceSystem();
- }
- }
-
- private void firePostBounceSystem() throws Exception {
- for(Listener listener: listeners) {
- listener.postBounceSystem();
- }
- }
-
-
- ////////////////////////////////////////////////////////////
- // properties
- ////////////////////////////////////////////////////////////
-
- /**
- * The {@link IsisSystemDefault} created during {@link #setUpSystem()}.
- *
- * <p>
- * Can fine-tune the actual implementation using the hook {@link #createIsisSystem()}.
- */
- public IsisSystemDefault getIsisSystem() {
- return isisSystem;
- }
-
- /**
- * The {@link AuthenticationSession} created during {@link #setUpSystem()}.
- *
- * <p>
- * Can fine-tune before hand using {@link #createAuthenticationRequest()}.
- */
- public AuthenticationSession getAuthenticationSession() {
- return authenticationSession;
- }
-
-
-
- ////////////////////////////////////////////////////////////
- // Convenience for tests
- ////////////////////////////////////////////////////////////
-
- public ObjectSpecification loadSpecification(Class<?> cls) {
- return getIsisSystem().getSessionFactory().getSpecificationLoader().loadSpecification(cls);
- }
-
- public ObjectAdapter persist(Object domainObject) {
- ensureSessionInProgress();
- ensureObjectIsNotPersistent(domainObject);
- container.persist(domainObject);
- return adapterFor(domainObject);
- }
-
- public ObjectAdapter destroy(Object domainObject ) {
- ensureSessionInProgress();
- ensureObjectIsPersistent(domainObject);
- container.remove(domainObject);
- return adapterFor(domainObject);
- }
-
- public ObjectAdapter adapterFor(Object domainObject) {
- ensureSessionInProgress();
- return getAdapterManager().adapterFor(domainObject);
- }
-
- public ObjectAdapter reload(RootOid oid) {
- ensureSessionInProgress();
- final Persistor persistenceSession = getPersistenceSession();
- return persistenceSession.loadObject(oid);
- }
-
- public ObjectAdapter recreateAdapter(RootOid oid) {
- ensureSessionInProgress();
- return getAdapterManager().adapterFor(oid);
- }
-
- public ObjectAdapter remapAsPersistent(Object pojo, RootOid persistentOid) {
- ensureSessionInProgress();
- ensureObjectIsNotPersistent(pojo);
- final ObjectAdapter adapter = adapterFor(pojo);
- getPersistenceSession().remapAsPersistent(adapter, persistentOid);
- return adapter;
- }
-
- @SuppressWarnings("unchecked")
- public <T extends ObjectStoreSpi> T getObjectStore(Class<T> cls) {
- final PersistenceSession persistenceSession = getPersistenceSession();
- return (T) persistenceSession.getObjectStore();
- }
-
- private static void ensureSessionInProgress() {
- if(!IsisContext.inSession()) {
- throw new IllegalStateException("Session must be in progress");
- }
- }
-
- private void ensureObjectIsNotPersistent(Object domainObject) {
- if(container.isPersistent(domainObject)) {
- throw new IllegalArgumentException("domain object is already persistent");
- }
- }
-
- private void ensureObjectIsPersistent(Object domainObject) {
- if(!container.isPersistent(domainObject)) {
- throw new IllegalArgumentException("domain object is not persistent");
- }
- }
-
- ////////////////////////////////////////////////////////////
- // JUnit @Rule integration
- ////////////////////////////////////////////////////////////
-
- @Override
- public Statement apply(final Statement base, Description description) {
- return new Statement() {
- @Override
- public void evaluate() throws Throwable {
- setUpSystem();
- try {
- base.evaluate();
- tearDownSystem();
- } catch(Throwable ex) {
- try {
- tearDownSystem();
- } catch(Exception ex2) {
- // ignore, since already one pending
- }
- throw ex;
- }
- }
- };
- }
-
-
-
- public void beginTran() {
- final IsisTransactionManager transactionManager = getTransactionManager();
- final IsisTransaction transaction = transactionManager.getTransaction();
-
- if(transaction == null) {
- transactionManager.startTransaction();
- return;
- }
-
- final State state = transaction.getState();
- switch(state) {
- case COMMITTED:
- case ABORTED:
- transactionManager.startTransaction();
- break;
- case IN_PROGRESS:
- // nothing to do
- break;
- case MUST_ABORT:
- Assert.fail("Transaction is in state of '" + state + "'");
- break;
- default:
- Assert.fail("Unknown transaction state '" + state + "'");
- }
-
- }
-
- public void commitTran() {
- final IsisTransactionManager transactionManager = getTransactionManager();
- final IsisTransaction transaction = transactionManager.getTransaction();
- if(transaction == null) {
- Assert.fail("No transaction exists");
- return;
- }
- final State state = transaction.getState();
- switch(state) {
- case COMMITTED:
- case ABORTED:
- case MUST_ABORT:
- Assert.fail("Transaction is in state of '" + state + "'");
- break;
- case IN_PROGRESS:
- transactionManager.endTransaction();
- break;
- default:
- Assert.fail("Unknown transaction state '" + state + "'");
- }
- }
-
- public void abortTran() {
- final IsisTransactionManager transactionManager = getTransactionManager();
- final IsisTransaction transaction = transactionManager.getTransaction();
- if(transaction == null) {
- Assert.fail("No transaction exists");
- return;
- }
- final State state = transaction.getState();
- switch(state) {
- case ABORTED:
- break;
- case COMMITTED:
- Assert.fail("Transaction is in state of '" + state + "'");
- break;
- case MUST_ABORT:
- case IN_PROGRESS:
- transactionManager.abortTransaction();
- break;
- default:
- Assert.fail("Unknown transaction state '" + state + "'");
- }
- }
-
-
-
-
- @SuppressWarnings("unchecked")
- public <T> T getService(Class<T> serviceClass) {
- List<ObjectAdapter> servicesAdapters = getPersistenceSession().getServices();
- for(ObjectAdapter serviceAdapter: servicesAdapters) {
- Object servicePojo = serviceAdapter.getObject();
- if(serviceClass.isAssignableFrom(servicePojo.getClass())) {
- return (T) servicePojo;
- }
- }
- throw new RuntimeException("Could not find a service of type: " + serviceClass.getName());
- }
-
-
-
- protected IsisTransactionManager getTransactionManager() {
- return getPersistenceSession().getTransactionManager();
- }
-
- public Persistor getPersistor() {
- return getPersistenceSession();
- }
-
- public AdapterManager getAdapterManager() {
- return getPersistor().getAdapterManager();
- }
-
- protected PersistenceSession getPersistenceSession() {
- return IsisContext.getPersistenceSession();
- }
-
-
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemWithFixtures.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemWithFixtures.java b/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemWithFixtures.java
deleted file mode 100644
index 53d1a1b..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/IsisSystemWithFixtures.java
+++ /dev/null
@@ -1,669 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.runtimes.dflt.testsupport;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.runtimes.dflt.objectstores.dflt.InMemoryPersistenceMechanismInstaller;
-import org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
-import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.runtimes.dflt.runtime.system.DeploymentType;
-import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
-import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.runtimes.dflt.runtime.system.persistence.Persistor;
-import org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransaction;
-import org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransaction.State;
-import org.apache.isis.runtimes.dflt.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.runtimes.dflt.testsupport.IsisSystemWithFixtures.Fixtures.Initialization;
-import org.apache.isis.security.dflt.authentication.AuthenticationRequestDefault;
-import org.apache.isis.tck.dom.refs.AggregatedEntity;
-import org.apache.isis.tck.dom.refs.ParentEntity;
-import org.apache.isis.tck.dom.refs.ParentEntityRepository;
-import org.apache.isis.tck.dom.refs.ReferencingEntity;
-import org.apache.isis.tck.dom.refs.SimpleEntity;
-import org.apache.isis.tck.dom.scalars.ApplibValuedEntity;
-import org.apache.isis.tck.dom.scalars.JdkValuedEntity;
-import org.apache.isis.tck.dom.scalars.PrimitiveValuedEntity;
-import org.apache.isis.tck.dom.scalars.WrapperValuedEntity;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
-import com.google.common.collect.Lists;
-
-/**
- * Wraps a plain {@link IsisSystemDefault}, and provides a number of features to assist with testing.
- *
- * <p>
- * TODO: need to make inherit from the {@link IsisSystemForTest}.
- */
-public class IsisSystemWithFixtures implements org.junit.rules.TestRule {
-
- public interface Listener {
-
- void init(IsisConfiguration configuration) throws Exception;
-
- void preSetupSystem(boolean firstTime) throws Exception;
- void postSetupSystem(boolean firstTime) throws Exception;
-
- void preBounceSystem() throws Exception;
- void postBounceSystem() throws Exception;
-
- void preTeardownSystem() throws Exception;
- void postTeardownSystem() throws Exception;
-
- }
-
- public static abstract class ListenerAdapter implements Listener {
-
- private IsisConfiguration configuration;
-
- public void init(IsisConfiguration configuration) throws Exception {
- this.configuration = configuration;
- }
-
- protected IsisConfiguration getConfiguration() {
- return configuration;
- }
-
- @Override
- public void preSetupSystem(boolean firstTime) throws Exception {
- }
-
- @Override
- public void postSetupSystem(boolean firstTime) throws Exception {
- }
-
- @Override
- public void preBounceSystem() throws Exception {
- }
-
- @Override
- public void postBounceSystem() throws Exception {
- }
-
- @Override
- public void preTeardownSystem() throws Exception {
- }
-
- @Override
- public void postTeardownSystem() throws Exception {
- }
-
- }
-
-
-
- /**
- * A precanned set of fixtures for use by tests if desired.
- */
- public static class Fixtures {
-
- public enum Initialization {
- INIT,
- NO_INIT
- }
-
- public ParentEntityRepository associatedEntitiesRepository = new ParentEntityRepository();
-
- public ApplibValuedEntity ave1, ave2;
- public JdkValuedEntity jve1, jve2;
- public PrimitiveValuedEntity pve1, pve2;
- public WrapperValuedEntity wve1, wve2;
-
- public SimpleEntity smpl1, smpl2, smpl3, smpl4, smpl5, smpl6;
- public ReferencingEntity rfcg1, rfcg2, rfcg3, rfcg4, rfcg5, rfcg6;
- public ParentEntity prnt1, prnt2, prnt3, prnt4, prnt5, prnt6;
- public AggregatedEntity rfcg1_a1, rfcg1_a2, rfcg1_a3, prnt1_a1, prnt1_a2, prnt1_a3;
-
- private void init(DomainObjectContainer container) {
- ave1 = container.newTransientInstance(ApplibValuedEntity.class);
- ave2 = container.newTransientInstance(ApplibValuedEntity.class);
-
- jve1 = container.newTransientInstance(JdkValuedEntity.class);
- jve2 = container.newTransientInstance(JdkValuedEntity.class);
-
- pve1 = container.newTransientInstance(PrimitiveValuedEntity.class);
- pve2 = container.newTransientInstance(PrimitiveValuedEntity.class);
-
- wve1 = container.newTransientInstance(WrapperValuedEntity.class);
- wve2 = container.newTransientInstance(WrapperValuedEntity.class);
-
- smpl1 = container.newTransientInstance(SimpleEntity.class);
- smpl2 = container.newTransientInstance(SimpleEntity.class);
- smpl3 = container.newTransientInstance(SimpleEntity.class);
- smpl4 = container.newTransientInstance(SimpleEntity.class);
- smpl5 = container.newTransientInstance(SimpleEntity.class);
- smpl6 = container.newTransientInstance(SimpleEntity.class);
- rfcg1 = container.newTransientInstance(ReferencingEntity.class);
- rfcg2 = container.newTransientInstance(ReferencingEntity.class);
- rfcg3 = container.newTransientInstance(ReferencingEntity.class);
- rfcg4 = container.newTransientInstance(ReferencingEntity.class);
- rfcg5 = container.newTransientInstance(ReferencingEntity.class);
- rfcg6 = container.newTransientInstance(ReferencingEntity.class);
- prnt1 = container.newTransientInstance(ParentEntity.class);
- prnt2 = container.newTransientInstance(ParentEntity.class);
- prnt3 = container.newTransientInstance(ParentEntity.class);
- prnt4 = container.newTransientInstance(ParentEntity.class);
- prnt5 = container.newTransientInstance(ParentEntity.class);
- prnt6 = container.newTransientInstance(ParentEntity.class);
- rfcg1_a1 = container.newAggregatedInstance(rfcg1, AggregatedEntity.class);
- rfcg1_a2 = container.newAggregatedInstance(rfcg1, AggregatedEntity.class);
- rfcg1_a3 = container.newAggregatedInstance(rfcg1, AggregatedEntity.class);
- prnt1_a1 = container.newAggregatedInstance(prnt1, AggregatedEntity.class);
- prnt1_a2 = container.newAggregatedInstance(prnt1, AggregatedEntity.class);
- prnt1_a3 = container.newAggregatedInstance(prnt1, AggregatedEntity.class);
- }
- }
-
- private IsisSystemDefault isisSystem;
- private AuthenticationSession authenticationSession;
-
- // public visibility just to reduce noise in tests
- public DomainObjectContainer container;
- // public visibility just to reduce noise in tests
- public final Fixtures fixtures;
-
- private Initialization fixturesInitialization;
- private final IsisConfiguration configuration;
- private final PersistenceMechanismInstaller persistenceMechanismInstaller;
- private final AuthenticationRequest authenticationRequest;
- private final List<Object> services;
- private List <Listener> listeners;
- private final MetaModelValidator metaModelValidator;
- private final ProgrammingModel programmingModel;
-
-
- ////////////////////////////////////////////////////////////
- // constructor
- ////////////////////////////////////////////////////////////
-
- public static class Builder {
-
- private AuthenticationRequest authenticationRequest = new AuthenticationRequestDefault("tester");
-
- private Initialization fixturesInitialization = Initialization.INIT;
- private IsisConfiguration configuration;
- private PersistenceMechanismInstaller persistenceMechanismInstaller = new InMemoryPersistenceMechanismInstaller();
- private MetaModelValidator metaModelValidator;
- private ProgrammingModel programmingModel;
-
- private final List <Listener> listeners = Lists.newArrayList();
- private Object[] services;
-
-
- public Builder with(IsisConfiguration configuration) {
- this.configuration = configuration;
- return this;
- }
-
- public Builder with(Initialization initialization) {
- this.fixturesInitialization = initialization;
- return this;
- }
-
- public Builder with(PersistenceMechanismInstaller persistenceMechanismInstaller) {
- this.persistenceMechanismInstaller = persistenceMechanismInstaller;
- return this;
- }
-
- public Builder with(AuthenticationRequest authenticationRequest) {
- this.authenticationRequest = authenticationRequest;
- return this;
- }
-
- public Builder withServices(Object... services) {
- this.services = services;
- return this;
- }
-
- public IsisSystemWithFixtures build() {
- final List<Object> servicesIfAny = services != null? Arrays.asList(services): null;
- return new IsisSystemWithFixtures(fixturesInitialization, configuration, programmingModel, metaModelValidator, persistenceMechanismInstaller, authenticationRequest, servicesIfAny, listeners);
- }
-
- public Builder with(Listener listener) {
- if(listener != null) {
- listeners.add(listener);
- }
- return this;
- }
-
- public Builder with(MetaModelValidator metaModelValidator) {
- this.metaModelValidator = metaModelValidator;
- return this;
- }
-
- public Builder with(ProgrammingModel programmingModel) {
- this.programmingModel = programmingModel;
- return this;
- }
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- private IsisSystemWithFixtures(Initialization fixturesInitialization, IsisConfiguration configuration, ProgrammingModel programmingModel, MetaModelValidator metaModelValidator, PersistenceMechanismInstaller persistenceMechanismInstaller, AuthenticationRequest authenticationRequest, List<Object> services, List<Listener> listeners) {
- this.fixturesInitialization = fixturesInitialization;
- this.configuration = configuration;
- this.programmingModel = programmingModel;
- this.metaModelValidator = metaModelValidator;
- this.persistenceMechanismInstaller = persistenceMechanismInstaller;
- this.authenticationRequest = authenticationRequest;
- this.fixtures = new Fixtures();
- if(services == null) {
- services = Arrays.asList((Object)fixtures.associatedEntitiesRepository);
- }
- this.services = services;
- this.listeners = listeners;
- }
-
-
- ////////////////////////////////////////////////////////////
- // setup, teardown
- ////////////////////////////////////////////////////////////
-
-
- /**
- * Intended to be called from a test's {@link Before} method.
- */
- public void setUpSystem() throws Exception {
- setUpSystem(FireListeners.FIRE);
- }
-
- private void setUpSystem(FireListeners fireListeners) throws Exception {
- Logger.getRootLogger().setLevel(Level.OFF);
-
- boolean firstTime = isisSystem == null;
- if(fireListeners.shouldFire()) {
- fireInitAndPreSetupSystem(firstTime);
- }
-
- if(firstTime) {
- isisSystem = createIsisSystem(services);
- isisSystem.init();
- IsisContext.closeSession();
- }
-
- final AuthenticationManager authenticationManager = isisSystem.getSessionFactory().getAuthenticationManager();
- authenticationSession = authenticationManager.authenticate(authenticationRequest);
-
- IsisContext.openSession(authenticationSession);
- container = getContainer();
- if(firstTime && fixturesInitialization == Fixtures.Initialization.INIT) {
- fixtures.init(container);
- }
- if(fireListeners.shouldFire()) {
- firePostSetupSystem(firstTime);
- }
- }
-
- private enum FireListeners {
- FIRE,
- DONT_FIRE;
- public boolean shouldFire() {
- return this == FIRE;
- }
- }
-
- private DomainObjectContainer getContainer() {
- return getPersistenceSession().getServicesInjector().getContainer();
- }
-
- /**
- * Intended to be called from a test's {@link After} method.
- */
- public void tearDownSystem() throws Exception {
- tearDownSystem(FireListeners.FIRE);
- }
-
- private void tearDownSystem(final FireListeners fireListeners) throws Exception {
- if(fireListeners.shouldFire()) {
- firePreTeardownSystem();
- }
- IsisContext.closeSession();
- if(fireListeners.shouldFire()) {
- firePostTeardownSystem();
- }
- }
-
- public void bounceSystem() throws Exception {
- firePreBounceSystem();
- tearDownSystem(FireListeners.DONT_FIRE);
- setUpSystem(FireListeners.DONT_FIRE);
- firePostBounceSystem();
- }
-
-
- private IsisSystemDefault createIsisSystem(List<Object> services) {
- final IsisSystemDefault system = new IsisSystemDefault(DeploymentType.UNIT_TESTING, services) {
- @Override
- public IsisConfiguration getConfiguration() {
- if(IsisSystemWithFixtures.this.configuration != null) {
- return IsisSystemWithFixtures.this.configuration;
- } else {
- return super.getConfiguration();
- }
- }
- @Override
- protected ProgrammingModel obtainReflectorProgrammingModel() {
- if(IsisSystemWithFixtures.this.programmingModel != null) {
- return IsisSystemWithFixtures.this.programmingModel;
- } else {
- return super.obtainReflectorProgrammingModel();
- }
- }
- @Override
- protected MetaModelValidator obtainReflectorMetaModelValidator() {
- if(IsisSystemWithFixtures.this.metaModelValidator != null) {
- return IsisSystemWithFixtures.this.metaModelValidator;
- } else {
- return super.obtainReflectorMetaModelValidator();
- }
- }
- @Override
- protected PersistenceMechanismInstaller obtainPersistenceMechanismInstaller(IsisConfiguration configuration) {
- final PersistenceMechanismInstaller installer = IsisSystemWithFixtures.this.persistenceMechanismInstaller;
- configuration.injectInto(installer);
- return installer;
- }
- };
- return system;
- }
-
-
-
- ////////////////////////////////////////////////////////////
- // listeners
- ////////////////////////////////////////////////////////////
-
- private void fireInitAndPreSetupSystem(boolean firstTime) throws Exception {
- if(firstTime) {
- for(Listener listener: listeners) {
- listener.init(configuration);
- }
- }
- for(Listener listener: listeners) {
- listener.preSetupSystem(firstTime);
- }
- }
-
- private void firePostSetupSystem(boolean firstTime) throws Exception {
- for(Listener listener: listeners) {
- listener.postSetupSystem(firstTime);
- }
- }
-
- private void firePreTeardownSystem() throws Exception {
- for(Listener listener: listeners) {
- listener.preTeardownSystem();
- }
- }
-
- private void firePostTeardownSystem() throws Exception {
- for(Listener listener: listeners) {
- listener.postTeardownSystem();
- }
- }
-
- private void firePreBounceSystem() throws Exception {
- for(Listener listener: listeners) {
- listener.preBounceSystem();
- }
- }
-
- private void firePostBounceSystem() throws Exception {
- for(Listener listener: listeners) {
- listener.postBounceSystem();
- }
- }
-
-
- ////////////////////////////////////////////////////////////
- // properties
- ////////////////////////////////////////////////////////////
-
- /**
- * The {@link IsisSystemDefault} created during {@link #setUpSystem()}.
- *
- * <p>
- * Can fine-tune the actual implementation using the hook {@link #createIsisSystem()}.
- */
- public IsisSystemDefault getIsisSystem() {
- return isisSystem;
- }
-
- /**
- * The {@link AuthenticationSession} created during {@link #setUpSystem()}.
- *
- * <p>
- * Can fine-tune before hand using {@link #createAuthenticationRequest()}.
- */
- public AuthenticationSession getAuthenticationSession() {
- return authenticationSession;
- }
-
-
-
- ////////////////////////////////////////////////////////////
- // Convenience for tests
- ////////////////////////////////////////////////////////////
-
- public ObjectSpecification loadSpecification(Class<?> cls) {
- return getIsisSystem().getSessionFactory().getSpecificationLoader().loadSpecification(cls);
- }
-
- public ObjectAdapter persist(Object domainObject) {
- ensureSessionInProgress();
- ensureObjectIsNotPersistent(domainObject);
- container.persist(domainObject);
- return adapterFor(domainObject);
- }
-
- public ObjectAdapter destroy(Object domainObject ) {
- ensureSessionInProgress();
- ensureObjectIsPersistent(domainObject);
- container.remove(domainObject);
- return adapterFor(domainObject);
- }
-
- public ObjectAdapter adapterFor(Object domainObject) {
- ensureSessionInProgress();
- return getAdapterManager().adapterFor(domainObject);
- }
-
- public ObjectAdapter reload(RootOid oid) {
- ensureSessionInProgress();
- final Persistor persistenceSession = getPersistenceSession();
- return persistenceSession.loadObject(oid);
- }
-
- public ObjectAdapter recreateAdapter(RootOid oid) {
- ensureSessionInProgress();
- return getAdapterManager().adapterFor(oid);
- }
-
- public ObjectAdapter remapAsPersistent(Object pojo, RootOid persistentOid) {
- ensureSessionInProgress();
- ensureObjectIsNotPersistent(pojo);
- final ObjectAdapter adapter = adapterFor(pojo);
- getPersistenceSession().remapAsPersistent(adapter, persistentOid);
- return adapter;
- }
-
- @SuppressWarnings("unchecked")
- public <T extends ObjectStoreSpi> T getObjectStore(Class<T> cls) {
- final PersistenceSession persistenceSession = getPersistenceSession();
- return (T) persistenceSession.getObjectStore();
- }
-
- private static void ensureSessionInProgress() {
- if(!IsisContext.inSession()) {
- throw new IllegalStateException("Session must be in progress");
- }
- }
-
- private void ensureObjectIsNotPersistent(Object domainObject) {
- if(container.isPersistent(domainObject)) {
- throw new IllegalArgumentException("domain object is already persistent");
- }
- }
-
- private void ensureObjectIsPersistent(Object domainObject) {
- if(!container.isPersistent(domainObject)) {
- throw new IllegalArgumentException("domain object is not persistent");
- }
- }
-
- ////////////////////////////////////////////////////////////
- // JUnit @Rule integration
- ////////////////////////////////////////////////////////////
-
- @Override
- public Statement apply(final Statement base, Description description) {
- return new Statement() {
- @Override
- public void evaluate() throws Throwable {
- setUpSystem();
- try {
- base.evaluate();
- tearDownSystem();
- } catch(Throwable ex) {
- try {
- tearDownSystem();
- } catch(Exception ex2) {
- // ignore, since already one pending
- }
- throw ex;
- }
- }
- };
- }
-
-
-
- public void beginTran() {
- final IsisTransactionManager transactionManager = getTransactionManager();
- final IsisTransaction transaction = transactionManager.getTransaction();
-
- if(transaction == null) {
- transactionManager.startTransaction();
- return;
- }
-
- final State state = transaction.getState();
- switch(state) {
- case COMMITTED:
- case ABORTED:
- transactionManager.startTransaction();
- break;
- case IN_PROGRESS:
- // nothing to do
- break;
- case MUST_ABORT:
- Assert.fail("Transaction is in state of '" + state + "'");
- break;
- default:
- Assert.fail("Unknown transaction state '" + state + "'");
- }
-
- }
-
- public void commitTran() {
- final IsisTransactionManager transactionManager = getTransactionManager();
- final IsisTransaction transaction = transactionManager.getTransaction();
- if(transaction == null) {
- Assert.fail("No transaction exists");
- return;
- }
- final State state = transaction.getState();
- switch(state) {
- case COMMITTED:
- case ABORTED:
- case MUST_ABORT:
- Assert.fail("Transaction is in state of '" + state + "'");
- break;
- case IN_PROGRESS:
- transactionManager.endTransaction();
- break;
- default:
- Assert.fail("Unknown transaction state '" + state + "'");
- }
- }
-
- public void abortTran() {
- final IsisTransactionManager transactionManager = getTransactionManager();
- final IsisTransaction transaction = transactionManager.getTransaction();
- if(transaction == null) {
- Assert.fail("No transaction exists");
- return;
- }
- final State state = transaction.getState();
- switch(state) {
- case ABORTED:
- break;
- case COMMITTED:
- Assert.fail("Transaction is in state of '" + state + "'");
- break;
- case MUST_ABORT:
- case IN_PROGRESS:
- transactionManager.abortTransaction();
- break;
- default:
- Assert.fail("Unknown transaction state '" + state + "'");
- }
- }
-
- protected IsisTransactionManager getTransactionManager() {
- return getPersistenceSession().getTransactionManager();
- }
-
- public Persistor getPersistor() {
- return getPersistenceSession();
- }
-
- public AdapterManager getAdapterManager() {
- return getPersistor().getAdapterManager();
- }
-
- protected PersistenceSession getPersistenceSession() {
- return IsisContext.getPersistenceSession();
- }
-
-
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/AuthenticationManagerNoop.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/AuthenticationManagerNoop.java b/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/AuthenticationManagerNoop.java
deleted file mode 100644
index 0946015..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/AuthenticationManagerNoop.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.runtimes.dflt.testsupport.noop;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.components.Noop;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.core.runtime.authentication.RegistrationDetails;
-
-public class AuthenticationManagerNoop implements AuthenticationManager, Noop {
-
- @Override
- public void init() {
- }
-
- @Override
- public void shutdown() {
- }
-
- @Override
- public AuthenticationSession authenticate(final AuthenticationRequest request) {
- return null;
- }
-
- @Override
- public void closeSession(final AuthenticationSession session) {
- }
-
- @Override
- public boolean isSessionValid(final AuthenticationSession session) {
- return false;
- }
-
- public void testSetSession(final AuthenticationSession authenticationSession) {
- }
-
- @Override
- public boolean register(final RegistrationDetails registrationDetails) {
- return false;
- }
-
- @Override
- public boolean supportsRegistration(final Class<? extends RegistrationDetails> registrationDetailsClass) {
- return false;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/AuthorizationManagerNoop.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/AuthorizationManagerNoop.java b/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/AuthorizationManagerNoop.java
deleted file mode 100644
index 7858de5..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/AuthorizationManagerNoop.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.runtimes.dflt.testsupport.noop;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-
-public class AuthorizationManagerNoop implements AuthorizationManager {
-
- @Override
- public void init() {
- }
-
- @Override
- public void shutdown() {
- }
-
- @Override
- public boolean isUsable(final AuthenticationSession session, final ObjectAdapter target, final Identifier identifier) {
- return true;
- }
-
- @Override
- public boolean isVisible(final AuthenticationSession session, final ObjectAdapter target, final Identifier identifier) {
- return true;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/TemplateImageLoaderNoop.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/TemplateImageLoaderNoop.java b/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/TemplateImageLoaderNoop.java
deleted file mode 100644
index 54a68e9..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/TemplateImageLoaderNoop.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.runtimes.dflt.testsupport.noop;
-
-import org.apache.isis.core.commons.components.Noop;
-import org.apache.isis.core.runtime.imageloader.TemplateImage;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-
-/**
- * No-op implementation, for tests.
- */
-public class TemplateImageLoaderNoop implements TemplateImageLoader, Noop {
-
- @Override
- public TemplateImage getTemplateImage(final String name) {
- return null;
- }
-
- @Override
- public void init() {
- }
-
- @Override
- public void shutdown() {
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/TemplateImageLoaderNoopInstaller.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/TemplateImageLoaderNoopInstaller.java b/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/TemplateImageLoaderNoopInstaller.java
deleted file mode 100644
index 31bca71..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/TemplateImageLoaderNoopInstaller.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.runtimes.dflt.testsupport.noop;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
-
-public class TemplateImageLoaderNoopInstaller extends InstallerAbstract implements TemplateImageLoaderInstaller {
-
- public TemplateImageLoaderNoopInstaller() {
- super(TemplateImageLoaderInstaller.TYPE, "noop");
- }
-
- @Override
- public TemplateImageLoader createLoader() {
- return new TemplateImageLoaderNoop();
- }
-
- @Override
- public List<Class<?>> getTypes() {
- return listOf(TemplateImageLoader.class);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/951a0fe4/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/UserProfileStoreNoop.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/UserProfileStoreNoop.java b/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/UserProfileStoreNoop.java
deleted file mode 100644
index 5a56bd5..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/runtimes/dflt/testsupport/noop/UserProfileStoreNoop.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.runtimes.dflt.testsupport.noop;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-
-public class UserProfileStoreNoop implements UserProfileStore, DebuggableWithTitle {
-
- private static final Map<String, UserProfile> profiles = new HashMap<String, UserProfile>();
-
- @Override
- public boolean isFixturesInstalled() {
- return false;
- }
-
- @Override
- public UserProfile getUserProfile(final String name) {
- return profiles.get(name);
- }
-
- @Override
- public void save(final String name, final UserProfile userProfile) {
- profiles.put(name, userProfile);
- }
-
- @Override
- public void debugData(final DebugBuilder debug) {
- for (final String name : profiles.keySet()) {
- debug.appendln(name, profiles.get(name));
- }
- }
-
- @Override
- public String debugTitle() {
- return "InMemoryUserProfileStore";
- }
-
-}