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 2015/09/15 08:02:42 UTC
[18/28] isis git commit: ISIS-1194: continuing to inline
AdapterManager into PersistenceSession
ISIS-1194: continuing to inline AdapterManager into PersistenceSession
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/de4e1d88
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/de4e1d88
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/de4e1d88
Branch: refs/heads/ISIS-1194
Commit: de4e1d881d753384e105bc494d7f694c0ca0957e
Parents: ee509f6
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Sep 14 20:23:23 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Sep 14 20:23:23 2015 +0100
----------------------------------------------------------------------
.../core/commons/components/Resettable.java | 33 -------------
.../adaptermanager/AdapterManagerDefault.java | 52 ++------------------
.../system/persistence/PersistenceSession.java | 17 +++++--
.../persistence/PersistenceSessionTest.java | 4 +-
4 files changed, 19 insertions(+), 87 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/de4e1d88/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Resettable.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Resettable.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Resettable.java
deleted file mode 100644
index cf47878..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Resettable.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.components;
-
-/**
- * Allows the component to be reset.
- *
- * <p>
- * Primarily for testing.
- *
- */
-public interface Resettable {
-
- void reset();
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/de4e1d88/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java
index adbd2f4..e894cdc 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java
@@ -22,16 +22,12 @@ package org.apache.isis.core.runtime.persistence.adaptermanager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.components.Resettable;
import org.apache.isis.core.commons.components.SessionScopedComponent;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
@@ -50,9 +46,7 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
* maps to an {@link ObjectAdapter adapter} and these are reused.
*/
public class AdapterManagerDefault implements AdapterManager,
- SessionScopedComponent,
- DebuggableWithTitle,
- Resettable {
+ SessionScopedComponent {
private static final Logger LOG = LoggerFactory.getLogger(AdapterManagerDefault.class);
@@ -60,11 +54,6 @@ public class AdapterManagerDefault implements AdapterManager,
private final PersistenceSession persistenceSession;
-
- // //////////////////////////////////////////////////////////////////
- // constructor
- // //////////////////////////////////////////////////////////////////
-
/**
* For object store implementations (eg JDO) that do not provide any mechanism
* to allow transient objects to be reattached.
@@ -72,8 +61,7 @@ public class AdapterManagerDefault implements AdapterManager,
* @see <a href="http://www.datanucleus.org/servlet/forum/viewthread_thread,7238_lastpage,yes#35976">this thread</a>
*/
public AdapterManagerDefault(
- final PersistenceSession persistenceSession,
- final IsisConfiguration configuration) {
+ final PersistenceSession persistenceSession) {
this.persistenceSession = persistenceSession;
}
@@ -82,22 +70,10 @@ public class AdapterManagerDefault implements AdapterManager,
//region > open, close
@Override
public void open() {
- persistenceSession.getOidAdapterMap().open();
- persistenceSession.getPojoAdapterMap().open();
}
@Override
public void close() {
- persistenceSession.getOidAdapterMap().close();
- persistenceSession.getPojoAdapterMap().close();
- }
- //endregion
-
- //region > reset
- @Override
- public void reset() {
- persistenceSession.getOidAdapterMap().reset();
- persistenceSession.getPojoAdapterMap().reset();
}
//endregion
@@ -171,26 +147,6 @@ public class AdapterManagerDefault implements AdapterManager,
persistenceSession.remapAsPersistent(adapter, hintRootOid);
}
-
- //endregion
-
-
- //region > debug
- @Override
- public String debugTitle() {
- return "Identity map (adapter manager)";
- }
-
- @Override
- public void debugData(final DebugBuilder debug) {
- debug.appendTitle(persistenceSession.getPojoAdapterMap().debugTitle());
- persistenceSession.getPojoAdapterMap().debugData(debug);
- debug.appendln();
-
- debug.appendTitle(persistenceSession.getOidAdapterMap().debugTitle());
- persistenceSession.getOidAdapterMap().debugData(debug);
-
- }
//endregion
//region > Injectable
http://git-wip-us.apache.org/repos/asf/isis/blob/de4e1d88/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
index 3cb0954..ff65726 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
@@ -212,8 +212,8 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
this.oidGenerator = new OidGenerator(this, specificationLoader);
- this.adapterManager = new AdapterManagerDefault(this,
- configuration);
+ this.adapterManager = new AdapterManagerDefault(this
+ );
this.persistenceQueryFactory = new PersistenceQueryFactory(getSpecificationLoader(), adapterManager);
this.transactionManager = new IsisTransactionManager(this, servicesInjector);
@@ -263,7 +263,8 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
// inject any required dependencies into object factory
servicesInjector.injectInto(adapterManager);
- adapterManager.open();
+ getOidAdapterMap().open();
+ getPojoAdapterMap().open();
persistenceManager = applicationComponents.getPersistenceManagerFactory().getPersistenceManager();
@@ -362,7 +363,8 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
}
try {
- adapterManager.close();
+ getOidAdapterMap().close();
+ getPojoAdapterMap().close();
} catch(final Throwable ex) {
// ignore
LOG.error("close: adapterManager#close() failed; continuing to avoid memory leakage");
@@ -1168,6 +1170,13 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
}
debug.appendln();
+ debug.appendTitle(getPojoAdapterMap().debugTitle());
+ getPojoAdapterMap().debugData(debug);
+ debug.appendln();
+
+ debug.appendTitle(getOidAdapterMap().debugTitle());
+ getOidAdapterMap().debugData(debug);
+
debug.appendTitle("Persistor");
getTransactionManager().debugData(debug);
debug.appendln();
http://git-wip-us.apache.org/repos/asf/isis/blob/de4e1d88/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 541033a..9af17f9 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
@@ -154,8 +154,8 @@ public class PersistenceSessionTest {
}
};
- adapterManager = new AdapterManagerDefault(persistenceSession,
- mockConfiguration);
+ adapterManager = new AdapterManagerDefault(persistenceSession
+ );
context.checking(new Expectations(){{
allowing(mockAuthenticationSession).getUserName();