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 2014/11/07 04:46:46 UTC
[22/29] isis git commit: ISIS-939: deleted the UpdateNotifier
subcomponent. Not used by any released code,
and the same information (and better) is available in the IsisTransaction
itself.
ISIS-939: deleted the UpdateNotifier subcomponent. Not used by any released code, and the same information (and better) is available in the IsisTransaction itself.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/30eb5146
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/30eb5146
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/30eb5146
Branch: refs/heads/ISIS-939
Commit: 30eb514666c1968916a1e6f58d6b0de04a1efceb
Parents: fab4f47
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Nov 3 19:47:28 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Nov 6 16:18:56 2014 +0000
----------------------------------------------------------------------
.../viewer/scimpi/dispatcher/Dispatcher.java | 2 -
.../scimpi/dispatcher/action/ActionAction.java | 2 -
.../scimpi/dispatcher/edit/EditAction.java | 2 -
.../scimpi/dispatcher/edit/RemoveAction.java | 2 -
.../scimpi/dispatcher/logon/LogoutAction.java | 1 -
.../internal/RuntimeContextFromSession.java | 6 -
.../runtime/system/context/IsisContext.java | 9 -
.../system/persistence/PersistenceSession.java | 16 --
.../system/session/IsisSessionDefault.java | 9 -
.../system/transaction/IsisTransaction.java | 20 +--
.../transaction/IsisTransactionManager.java | 38 +----
.../system/transaction/UpdateNotifier.java | 79 ---------
.../transaction/UpdateNotifierDefault.java | 168 -------------------
.../system/transaction/IsisTransactionTest.java | 4 +-
.../rendering/ReprRendererAbstract.java | 24 +--
15 files changed, 24 insertions(+), 358 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
index 5f37318..82c67c1 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
@@ -279,11 +279,9 @@ public class Dispatcher {
try {
request.processNextTag();
noteIfMessagesHaveNotBeenDisplay(context);
- IsisContext.getUpdateNotifier().clear();
} catch (final RuntimeException e) {
IsisContext.getMessageBroker().getMessages();
IsisContext.getMessageBroker().getWarnings();
- IsisContext.getUpdateNotifier().clear();
throw e;
}
final String page = request.popBuffer();
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java
index f181cc9..c598ba3 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java
@@ -156,8 +156,6 @@ public class ActionAction implements Action {
} catch (final RuntimeException e) {
getMessageBroker().getMessages();
getMessageBroker().getWarnings();
- IsisContext.getUpdateNotifier().clear();
- IsisContext.getUpdateNotifier().clear();
throw e;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java
index d069ea3..3784472 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java
@@ -155,8 +155,6 @@ public class EditAction implements Action {
} catch (final RuntimeException e) {
IsisContext.getMessageBroker().getMessages();
IsisContext.getMessageBroker().getWarnings();
- IsisContext.getUpdateNotifier().clear();
- IsisContext.getUpdateNotifier().clear();
throw e;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/RemoveAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/RemoveAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/RemoveAction.java
index 1bd86a2..919ccc2 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/RemoveAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/RemoveAction.java
@@ -100,8 +100,6 @@ public class RemoveAction implements Action {
} catch (final RuntimeException e) {
IsisContext.getMessageBroker().getMessages();
IsisContext.getMessageBroker().getWarnings();
- IsisContext.getUpdateNotifier().clear();
- IsisContext.getUpdateNotifier().clear();
throw e;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/logon/LogoutAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/logon/LogoutAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/logon/LogoutAction.java
index 219b5b4..a6f4730 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/logon/LogoutAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/logon/LogoutAction.java
@@ -35,7 +35,6 @@ public class LogoutAction implements Action {
if (context.isUserAuthenticated()) {
final AuthenticationSession session = context.getSession();
if (session != null) {
- IsisContext.getUpdateNotifier().clear();
UserManager.logoffUser(session);
}
context.endHttpSession();
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
index d5b6d57..782e18b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
@@ -51,7 +51,6 @@ import org.apache.isis.core.runtime.system.session.IsisSession;
import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
import org.apache.isis.core.runtime.system.transaction.MessageBroker;
-import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
/**
* Provides services to the metamodel based on the currently running
@@ -167,7 +166,6 @@ public class RuntimeContextFromSession extends RuntimeContextAbstract {
@Override
public void remove(final ObjectAdapter adapter) {
- getUpdateNotifier().addDisposedObject(adapter);
getPersistenceSession().destroyObject(adapter);
}
};
@@ -399,10 +397,6 @@ public class RuntimeContextFromSession extends RuntimeContextAbstract {
return getPersistenceSession().getAdapterManager();
}
- private static UpdateNotifier getUpdateNotifier() {
- return IsisContext.getUpdateNotifier();
- }
-
private static IsisTransactionManager getTransactionManager() {
return getPersistenceSession().getTransactionManager();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
index 2b139a4..f145f89 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
@@ -42,7 +42,6 @@ import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
import org.apache.isis.core.runtime.system.transaction.MessageBroker;
-import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
/**
* Provides singleton <i>access to</i> the current (session scoped)
@@ -468,14 +467,6 @@ public abstract class IsisContext implements DebuggableWithTitle {
return (MessageBroker) getCurrentTransaction().getMessageBroker();
}
- /**
- * Convenience method, returning the {@link UpdateNotifier} of the
- * {@link #getCurrentTransaction() current transaction}.
- */
- public static UpdateNotifier getUpdateNotifier() {
- return getCurrentTransaction().getUpdateNotifier();
- }
-
// ///////////////////////////////////////////////////////////
// Debug
// ///////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/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 294ef30..59887c0 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
@@ -788,7 +788,6 @@ public class PersistenceSession implements Persistor, EnlistedObjectDirtying, To
public void objectChanged(final ObjectAdapter adapter) {
if (adapter.isTransient() || (adapter.isParented() && adapter.getAggregateRoot().isTransient())) {
- addObjectChangedForPresentationLayer(adapter);
return;
}
@@ -805,19 +804,9 @@ public class PersistenceSession implements Persistor, EnlistedObjectDirtying, To
}
addObjectChangedForPersistenceLayer(adapter);
- addObjectChangedForPresentationLayer(adapter);
- }
- if (adapter.respondToChangesInPersistentObjects() || adapter.isTransient()) {
- addObjectChangedForPresentationLayer(adapter);
}
}
- private void addObjectChangedForPresentationLayer(final ObjectAdapter adapter) {
- if(LOG.isDebugEnabled()) {
- LOG.debug("object change to update presentation layer " + adapter.getOid());
- }
- getUpdateNotifier().addChangedObject(adapter);
- }
private void addObjectChangedForPersistenceLayer(final ObjectAdapter adapter) {
if(LOG.isDebugEnabled()) {
@@ -847,7 +836,6 @@ public class PersistenceSession implements Persistor, EnlistedObjectDirtying, To
// should we do something here?
}
});
- getUpdateNotifier().addChangedObject(adapter);
}
// ///////////////////////////////////////////////////////////////////////////
@@ -1078,10 +1066,6 @@ public class PersistenceSession implements Persistor, EnlistedObjectDirtying, To
}
- private UpdateNotifier getUpdateNotifier() {
- return getTransactionManager().getTransaction().getUpdateNotifier();
- }
-
/**
* The configured {@link ObjectAdapterFactory}.
*
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
index aaa6583..0f20891 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
@@ -309,7 +309,6 @@ public class IsisSessionDefault implements IsisSession {
debug(debug, getPersistenceSession());
if (getCurrentTransaction() != null) {
- debug(debug, getCurrentTransaction().getUpdateNotifier());
debug(debug, getCurrentTransaction().getMessageBroker());
}
debugSnapshot = debug.toString();
@@ -332,10 +331,6 @@ public class IsisSessionDefault implements IsisSession {
asString.append("authenticationSession", getAuthenticationSession());
asString.append("persistenceSession", getPersistenceSession());
asString.append("transaction", getCurrentTransaction());
- if (getCurrentTransaction() != null) {
- asString.append("messageBroker", getCurrentTransaction().getMessageBroker());
- asString.append("updateNotifier", getCurrentTransaction().getUpdateNotifier());
- }
}
@Override
@@ -343,10 +338,6 @@ public class IsisSessionDefault implements IsisSession {
debug.appendln("authenticationSession", getAuthenticationSession());
debug.appendln("persistenceSession", getPersistenceSession());
debug.appendln("transaction", getCurrentTransaction());
- if (getCurrentTransaction() != null) {
- debug.appendln("messageBroker", getCurrentTransaction().getMessageBroker());
- debug.appendln("updateNotifier", getCurrentTransaction().getUpdateNotifier());
- }
}
// /////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
index f98c804..259269c 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
@@ -204,7 +204,6 @@ public class IsisTransaction implements TransactionScopedComponent {
private final List<PersistenceCommand> commands = Lists.newArrayList();
private final IsisTransactionManager transactionManager;
private final org.apache.isis.core.commons.authentication.MessageBroker messageBroker;
- private final UpdateNotifier updateNotifier;
private final ServicesInjector servicesInjector;
@@ -238,20 +237,17 @@ public class IsisTransaction implements TransactionScopedComponent {
public IsisTransaction(
- final IsisTransactionManager transactionManager,
- final org.apache.isis.core.commons.authentication.MessageBroker messageBroker,
- final UpdateNotifier updateNotifier,
- final TransactionalResource objectStore,
+ final IsisTransactionManager transactionManager,
+ final org.apache.isis.core.commons.authentication.MessageBroker messageBroker,
+ final TransactionalResource objectStore,
final ServicesInjector servicesInjector) {
ensureThatArg(transactionManager, is(not(nullValue())), "transaction manager is required");
ensureThatArg(messageBroker, is(not(nullValue())), "message broker is required");
- ensureThatArg(updateNotifier, is(not(nullValue())), "update notifier is required");
ensureThatArg(servicesInjector, is(not(nullValue())), "services injector is required");
this.transactionManager = transactionManager;
this.messageBroker = messageBroker;
- this.updateNotifier = updateNotifier;
this.servicesInjector = servicesInjector;
this.commandContext = servicesInjector.lookupService(CommandContext.class);
@@ -1047,16 +1043,6 @@ public class IsisTransaction implements TransactionScopedComponent {
return (MessageBroker) messageBroker;
}
- /**
- * The {@link UpdateNotifier} for this transaction.
- *
- * <p>
- * Injected in constructor
- */
- public UpdateNotifier getUpdateNotifier() {
- return updateNotifier;
- }
-
public static class AdapterAndProperty {
private final ObjectAdapter objectAdapter;
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java
index e39337c..8c0e523 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java
@@ -117,13 +117,6 @@ public class IsisTransactionManager implements SessionScopedComponent {
- /**
- * Convenience method returning the {@link UpdateNotifier} of the
- * {@link #getTransaction() current transaction}.
- */
- protected UpdateNotifier getUpdateNotifier() {
- return getTransaction().getUpdateNotifier();
- }
/**
* Convenience method returning the {@link MessageBroker} of the
@@ -227,28 +220,23 @@ public class IsisTransactionManager implements SessionScopedComponent {
*/
protected final IsisTransaction createTransaction() {
org.apache.isis.core.commons.authentication.MessageBroker messageBroker = createMessageBroker();
- UpdateNotifier updateNotifier = createUpdateNotifier();
- return this.transaction = createTransaction(messageBroker, updateNotifier, transactionalResource);
+ return this.transaction = createTransaction(messageBroker, transactionalResource);
}
/**
- * The provided {@link MessageBroker} and {@link UpdateNotifier} are
- * obtained from the hook methods ( {@link #createMessageBroker()} and
- * {@link #createUpdateNotifier()}).
- * @param transactionalResource
- *
+ * The provided {@link MessageBroker} is
+ * obtained from the {@link #createMessageBroker()} hook method.
+ * @param transactionalResource
+ *
* @see #createMessageBroker()
- * @see #createUpdateNotifier()
*/
private IsisTransaction createTransaction(
- final org.apache.isis.core.commons.authentication.MessageBroker messageBroker,
- final UpdateNotifier updateNotifier,
+ final org.apache.isis.core.commons.authentication.MessageBroker messageBroker,
final TransactionalResource transactionalResource) {
ensureThatArg(messageBroker, is(not(nullValue())));
- ensureThatArg(updateNotifier, is(not(nullValue())));
- return new IsisTransaction(this, messageBroker, updateNotifier, transactionalResource, servicesInjector);
+ return new IsisTransaction(this, messageBroker, transactionalResource, servicesInjector);
}
@@ -541,7 +529,7 @@ public class IsisTransactionManager implements SessionScopedComponent {
/**
* Overridable hook, used in
- * {@link #createTransaction(org.apache.isis.core.commons.authentication.MessageBroker, UpdateNotifier, org.apache.isis.core.runtime.persistence.objectstore.transaction.TransactionalResource)}
+ * {@link #createTransaction(org.apache.isis.core.commons.authentication.MessageBroker, org.apache.isis.core.runtime.persistence.objectstore.transaction.TransactionalResource)}
*
* <p> Called when a new {@link IsisTransaction} is created.
*/
@@ -549,16 +537,6 @@ public class IsisTransactionManager implements SessionScopedComponent {
return MessageBrokerDefault.acquire(getAuthenticationSession());
}
- /**
- * Overridable hook, used in
- * {@link #createTransaction(org.apache.isis.core.commons.authentication.MessageBroker, UpdateNotifier, org.apache.isis.core.runtime.persistence.objectstore.transaction.TransactionalResource)}
- *
- * <p> Called when a new {@link IsisTransaction} is created.
- */
- protected UpdateNotifier createUpdateNotifier() {
- return new UpdateNotifierDefault();
- }
-
// ////////////////////////////////////////////////////////////////
// helpers
// ////////////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/UpdateNotifier.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/UpdateNotifier.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/UpdateNotifier.java
deleted file mode 100644
index 589e54e..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/UpdateNotifier.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.runtime.system.transaction;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.components.TransactionScopedComponent;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-/**
- * UpdateNotifier provides updates to client making available lists of the
- * latest changed and disposed objects.
- */
-public interface UpdateNotifier extends TransactionScopedComponent {
-
- // //////////////////////////////////////////////////
- // Changed Objects
- // //////////////////////////////////////////////////
-
- /**
- * Used by the framework to add objects that have just changed.
- */
- void addChangedObject(ObjectAdapter object);
-
- /**
- * Returns an immutable {@link List} of changed objects.
- *
- * <p>
- * Each changed object that was added is only ever provided during one call
- * to this method so the list must be processed fully to avoid missing
- * updates.
- */
- List<ObjectAdapter> getChangedObjects();
-
- // //////////////////////////////////////////////////
- // Disposed Objects
- // //////////////////////////////////////////////////
-
- /**
- * Used by the framework to add objects that have just been disposed of.
- */
- void addDisposedObject(ObjectAdapter adapter);
-
- /**
- * Returns an immutable {@link List} of disposed objects.
- *
- * <p>
- * Each object that was disposed of is only ever provided during one call to
- * this method so the list must be processed fully to avoid missing
- * deletions.
- */
- public List<ObjectAdapter> getDisposedObjects();
-
- // //////////////////////////////////////////////////
- // Empty, Clear
- // //////////////////////////////////////////////////
-
- void ensureEmpty();
-
- void clear();
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/UpdateNotifierDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/UpdateNotifierDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/UpdateNotifierDefault.java
deleted file mode 100644
index 9e92e0f..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/UpdateNotifierDefault.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.runtime.system.transaction;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public class UpdateNotifierDefault implements UpdateNotifier, DebuggableWithTitle {
-
- private static final Logger LOG = LoggerFactory.getLogger(UpdateNotifierDefault.class);
-
- private final List<ObjectAdapter> changes = new ArrayList<ObjectAdapter>();
- private final List<ObjectAdapter> disposals = new ArrayList<ObjectAdapter>();
-
- // //////////////////////////////////////////////////
- // Constructor
- // //////////////////////////////////////////////////
-
- public UpdateNotifierDefault() {
- // does nothing
- }
-
- // //////////////////////////////////////////////////
- // Changed Objects
- // //////////////////////////////////////////////////
-
- @Override
- public synchronized void addChangedObject(final ObjectAdapter adapter) {
- if (!adapter.isResolved() && !adapter.isTransient()) {
- return;
- }
-
- if (LOG.isDebugEnabled()) {
- LOG.debug("mark as changed " + adapter);
- }
- if (!changes.contains(adapter)) {
- changes.add(adapter);
- }
- }
-
- @Override
- public List<ObjectAdapter> getChangedObjects() {
- if (changes.size() > 0) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("dirty (changed) objects " + changes);
- }
- }
- final List<ObjectAdapter> changedObjects = new ArrayList<ObjectAdapter>();
- changedObjects.addAll(changes);
-
- changes.clear();
-
- return Collections.unmodifiableList(changedObjects);
- }
-
- // //////////////////////////////////////////////////
- // Disposed Objects
- // //////////////////////////////////////////////////
-
- @Override
- public void addDisposedObject(final ObjectAdapter adapter) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("mark as disposed " + adapter);
- }
- if (!disposals.contains(adapter)) {
- disposals.add(adapter);
- }
- }
-
- @Override
- public List<ObjectAdapter> getDisposedObjects() {
- if (disposals.size() > 0) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("dirty (disposed) objects " + disposals);
- }
- }
- final List<ObjectAdapter> disposedObjects = new ArrayList<ObjectAdapter>();
- disposedObjects.addAll(disposals);
-
- disposals.clear();
-
- return Collections.unmodifiableList(disposedObjects);
- }
-
- // //////////////////////////////////////////////////
- // Empty, Clear
- // //////////////////////////////////////////////////
-
- @Override
- public void ensureEmpty() {
- if (changes.size() > 0) {
- throw new IsisException("Update notifier still has updates");
- }
- }
-
- @Override
- public void clear() {
- changes.clear();
- disposals.clear();
- }
-
- // //////////////////////////////////////////////////
- // Debugging
- // //////////////////////////////////////////////////
-
- @Override
- public void debugData(final DebugBuilder debug) {
- debug.appendln("Changes");
- debugList(debug, changes);
-
- debug.appendln("Disposals");
- debugList(debug, disposals);
- }
-
- @Override
- public String debugTitle() {
- return "Simple Update Notifier";
- }
-
- private void debugList(final DebugBuilder debug, final List<ObjectAdapter> list) {
- debug.indent();
- if (list.size() == 0) {
- debug.appendln("none");
- } else {
- for (final ObjectAdapter adapter : list) {
- debug.appendln(adapter.toString());
- }
- }
- debug.unindent();
- }
-
- // //////////////////////////////////////////////////
- // toString
- // //////////////////////////////////////////////////
-
- @Override
- public String toString() {
- return new ToString(this).append("changes", changes).toString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/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 2a66a8f..9f4c2c8 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
@@ -70,8 +70,6 @@ public class IsisTransactionTest {
@Mock
private MessageBroker mockMessageBroker;
@Mock
- private UpdateNotifier mockUpdateNotifier;
- @Mock
private CommandContext mockCommandContext;
@Mock
private CommandService mockCommandService;
@@ -225,7 +223,7 @@ public class IsisTransactionTest {
will(returnValue("sven"));
}});
- transaction = new IsisTransaction(mockTransactionManager, mockMessageBroker, mockUpdateNotifier, mockObjectStore, mockServicesInjector);
+ transaction = new IsisTransaction(mockTransactionManager, mockMessageBroker, mockObjectStore, mockServicesInjector);
transientAdapter1 = PojoAdapterBuilder.create().with(Persistence.TRANSIENT).withIdentifier("1").build();
transientAdapter2 = PojoAdapterBuilder.create().with(Persistence.TRANSIENT).withIdentifier("2").build();
http://git-wip-us.apache.org/repos/asf/isis/blob/30eb5146/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
index 155eb96..8fe4620 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
@@ -20,21 +20,18 @@ package org.apache.isis.viewer.restfulobjects.rendering;
import java.util.List;
import java.util.Map;
-
import javax.ws.rs.core.MediaType;
-
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.Rel;
import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
import org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer;
import org.apache.isis.viewer.restfulobjects.rendering.domaintypes.DomainTypeReprRenderer;
-import com.google.common.collect.Maps;
-
public abstract class ReprRendererAbstract<R extends ReprRendererAbstract<R, T>, T> implements ReprRenderer<R, T> {
protected final RendererContext rendererContext;
@@ -163,13 +160,20 @@ public abstract class ReprRendererAbstract<R extends ReprRendererAbstract<R, T>,
* mutate state.
*/
protected final void addExtensionsIsisProprietaryChangedObjects() {
- final UpdateNotifier updateNotifier = getUpdateNotifier();
- addToExtensions("changed", updateNotifier.getChangedObjects());
- addToExtensions("disposed", updateNotifier.getDisposedObjects());
+ // TODO: have removed UpdateNotifier, plan is to re-introduce using the IsisTransaction enlisted objects
+ // (which would also allow newly-created objects to be shown)
+ final List<ObjectAdapter> changedObjects = Lists.newArrayList(); // updateNotifier.getChangedObjects();
+ final List<ObjectAdapter> disposedObjects = Lists.newArrayList(); // updateNotifier.getDisposedObjects();
+
+ addToExtensions("changed", changedObjects);
+ addToExtensions("disposed", disposedObjects);
}
private void addToExtensions(final String key, final List<ObjectAdapter> adapters) {
+ if(adapters == null || adapters.isEmpty()) {
+ return;
+ }
final JsonRepresentation adapterList = JsonRepresentation.newArray();
getExtensions().mapPut(key, adapterList);
for (final ObjectAdapter adapter : adapters) {
@@ -181,8 +185,4 @@ public abstract class ReprRendererAbstract<R extends ReprRendererAbstract<R, T>,
return IsisContext.getPersistenceSession().getServices();
}
- protected UpdateNotifier getUpdateNotifier() {
- return IsisContext.getCurrentTransaction().getUpdateNotifier();
- }
-
}