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:47 UTC

[23/29] isis git commit: ISIS-939: simplified MessageBroker

ISIS-939: simplified MessageBroker

- removed the defunct MessageBroker interface (in runtime)
- renamed MessageBrokerDefault to MessageBroker (unextract interface), now in metamodel
- removed #setApplicationError, since no longer used.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e48ab59c
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e48ab59c
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e48ab59c

Branch: refs/heads/ISIS-939
Commit: e48ab59c110d923be288687a9e461bc3410736aa
Parents: 30eb514
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Nov 3 20:01:43 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Nov 6 16:18:58 2014 +0000

----------------------------------------------------------------------
 .../scimpi/dispatcher/action/ActionAction.java  |   3 +-
 .../scimpi/dispatcher/edit/EditAction.java      |   3 +-
 .../dispatcher/view/display/AddMessage.java     |   2 +-
 .../dispatcher/view/display/AddWarning.java     |   2 +-
 .../dispatcher/view/display/Messages.java       |   3 +-
 .../dispatcher/view/display/Warnings.java       |   3 +-
 .../commons/authentication/MessageBroker.java   | 109 +++++++++--
 .../internal/RuntimeContextFromSession.java     |   2 +-
 .../runtime/system/context/IsisContext.java     |   6 +-
 .../system/transaction/IsisTransaction.java     |  10 +-
 .../transaction/IsisTransactionManager.java     |  15 +-
 .../system/transaction/MessageBroker.java       |  28 ---
 .../transaction/MessageBrokerDefault.java       | 179 -------------------
 ...reTransactionManager_EndTransactionTest.java |  11 +-
 ...TransactionManager_StartTransactionTest.java |  10 +-
 .../system/transaction/IsisTransactionTest.java |   1 +
 16 files changed, 126 insertions(+), 261 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/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 c598ba3..44a9756 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
@@ -21,11 +21,11 @@ package org.apache.isis.viewer.scimpi.dispatcher.action;
 
 import java.io.IOException;
 import java.util.List;
-
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AnonymousSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
@@ -39,7 +39,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
 import org.apache.isis.viewer.scimpi.dispatcher.Action;
 import org.apache.isis.viewer.scimpi.dispatcher.Dispatcher;
 import org.apache.isis.viewer.scimpi.dispatcher.context.RequestContext;

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/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 3784472..852ccea 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
@@ -21,11 +21,11 @@ package org.apache.isis.viewer.scimpi.dispatcher.edit;
 
 import java.io.IOException;
 import java.util.List;
-
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AnonymousSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.version.Version;
@@ -38,7 +38,6 @@ import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
 import org.apache.isis.viewer.scimpi.dispatcher.Action;
 import org.apache.isis.viewer.scimpi.dispatcher.Dispatcher;
 import org.apache.isis.viewer.scimpi.dispatcher.NotLoggedInException;

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddMessage.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddMessage.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddMessage.java
index acb53eb..7076f70 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddMessage.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddMessage.java
@@ -19,8 +19,8 @@
 
 package org.apache.isis.viewer.scimpi.dispatcher.view.display;
 
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
 import org.apache.isis.viewer.scimpi.dispatcher.AbstractElementProcessor;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddWarning.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddWarning.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddWarning.java
index 59d3dcc..ac0d240 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddWarning.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AddWarning.java
@@ -19,8 +19,8 @@
 
 package org.apache.isis.viewer.scimpi.dispatcher.view.display;
 
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
 import org.apache.isis.viewer.scimpi.dispatcher.AbstractElementProcessor;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Messages.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Messages.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Messages.java
index a6c8213..8ec1420 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Messages.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Messages.java
@@ -20,9 +20,8 @@
 package org.apache.isis.viewer.scimpi.dispatcher.view.display;
 
 import java.util.List;
-
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
 import org.apache.isis.viewer.scimpi.dispatcher.AbstractElementProcessor;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Warnings.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Warnings.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Warnings.java
index ca0becb..52be7d6 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Warnings.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/Warnings.java
@@ -20,9 +20,8 @@
 package org.apache.isis.viewer.scimpi.dispatcher.view.display;
 
 import java.util.List;
-
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
 import org.apache.isis.viewer.scimpi.dispatcher.AbstractElementProcessor;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java
index 2dc1d5b..12d5068 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java
@@ -20,26 +20,107 @@
 package org.apache.isis.core.commons.authentication;
 
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
+import com.google.common.collect.Lists;
+import org.apache.isis.core.commons.debug.DebugBuilder;
+import org.apache.isis.core.commons.debug.DebuggableWithTitle;
 
-/**
- * Moving from runtime, so that can preserve messages between interactions that
- * correspond to the same session.
- */
-public interface MessageBroker extends Serializable {
+public class MessageBroker implements Serializable, DebuggableWithTitle {
+
+    private static final long serialVersionUID = 1L;
+    
+    private final List<String> messages = Lists.newArrayList();
+    private final List<String> warnings = Lists.newArrayList();
+
+    //region > acquire (factory method)
+
+    public static MessageBroker acquire(final AuthenticationSession authenticationSession) {
+        MessageBroker messageBroker;
+        synchronized (authenticationSession) {
+            messageBroker = authenticationSession.getMessageBroker();
+            if(messageBroker == null) {
+                messageBroker = new MessageBroker();
+                authenticationSession.setMessageBroker(messageBroker);
+            }
+        }
+        return messageBroker;
+    }
+
+    private MessageBroker() {
+    }
+    //endregion
+
+    //region > reset
+
+    public void reset() {
+        warnings.clear();
+        messages.clear();
+    }
+
+    //endregion
+
+    //region > messages
+
+    public List<String> getMessages() {
+        return copyAndClear(messages);
+    }
+
+    public void addMessage(final String message) {
+        messages.add(message);
+    }
+
+    //endregion
+
+    //region > warnings
+
+    public List<String> getWarnings() {
+        return copyAndClear(warnings);
+    }
+
+    public void addWarning(final String message) {
+        warnings.add(message);
+    }
+
+    //endregion
+
+    //region > debugging
+
+    @Override
+    public void debugData(final DebugBuilder debug) {
+        debugArray(debug, "Messages", messages);
+        debugArray(debug, "Warnings", messages);
+    }
+
+    private void debugArray(final DebugBuilder debug, final String title, final List<String> vector) {
+        debug.appendln(title);
+        debug.indent();
+        if (vector.size() == 0) {
+            debug.appendln("none");
+        } else {
+            for (final String text : vector) {
+                debug.appendln(text);
+            }
+        }
+        debug.unindent();
+    }
 
-    void addMessage(String message);
-    List<String> getMessages();
-    String getMessagesCombined();
+    @Override
+    public String debugTitle() {
+        return "Simple Message Broker";
+    }
 
-    void addWarning(String message);
-    List<String> getWarnings();
-    String getWarningsCombined();
+    //endregion
 
+    //region > helpers
 
-    void setApplicationError(String message);
-    String getApplicationError();
+    private List<String> copyAndClear(final List<String> messages) {
+        final List<String> copy = Collections.unmodifiableList(new ArrayList<>(messages));
+        messages.clear();
+        return copy;
+    }
+    //endregion
 
-    void ensureEmpty();
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/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 782e18b..bc0d459 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
@@ -27,6 +27,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAbstract;
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.metamodel.adapter.*;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
@@ -50,7 +51,6 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 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;
 
 /**
  * Provides services to the metamodel based on the currently running

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/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 f145f89..6c5652f 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
@@ -24,6 +24,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.commons.components.TransactionScopedComponent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.config.IsisConfigurationException;
@@ -41,7 +42,6 @@ import org.apache.isis.core.runtime.system.session.IsisSession;
 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;
 
 /**
  * Provides singleton <i>access to</i> the current (session scoped)
@@ -460,11 +460,11 @@ public abstract class IsisContext implements DebuggableWithTitle {
     }
 
     /**
-     * Convenience method, returning the {@link MessageBroker} of the
+     * Convenience method, returning the {@link org.apache.isis.core.commons.authentication.MessageBroker} of the
      * {@link #getCurrentTransaction() current transaction}.
      */
     public static MessageBroker getMessageBroker() {
-        return (MessageBroker) getCurrentTransaction().getMessageBroker();
+        return getCurrentTransaction().getMessageBroker();
     }
 
     // ///////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/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 259269c..b2536ba 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
@@ -48,6 +48,7 @@ import org.apache.isis.applib.services.command.spi.CommandService;
 import org.apache.isis.applib.services.eventbus.ActionInteractionEvent;
 import org.apache.isis.applib.services.publish.*;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.commons.components.TransactionScopedComponent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.ensure.Ensure;
@@ -203,7 +204,7 @@ public class IsisTransaction implements TransactionScopedComponent {
     private final TransactionalResource objectStore;
     private final List<PersistenceCommand> commands = Lists.newArrayList();
     private final IsisTransactionManager transactionManager;
-    private final org.apache.isis.core.commons.authentication.MessageBroker messageBroker;
+    private final MessageBroker messageBroker;
 
     private final ServicesInjector servicesInjector;
 
@@ -238,7 +239,7 @@ public class IsisTransaction implements TransactionScopedComponent {
 
     public IsisTransaction(
             final IsisTransactionManager transactionManager,
-            final org.apache.isis.core.commons.authentication.MessageBroker messageBroker,
+            final MessageBroker messageBroker,
             final TransactionalResource objectStore,
             final ServicesInjector servicesInjector) {
         
@@ -1031,16 +1032,15 @@ public class IsisTransaction implements TransactionScopedComponent {
     }
 
     /**
-     * The {@link MessageBroker} for this transaction.
+     * The {@link org.apache.isis.core.commons.authentication.MessageBroker} for this transaction.
      * 
      * <p>
      * Injected in constructor
      *
      * @deprecated - obtain the {@link org.apache.isis.core.commons.authentication.MessageBroker} instead from the {@link AuthenticationSession}.
      */
-    @Deprecated
     public MessageBroker getMessageBroker() {
-        return (MessageBroker) messageBroker;
+        return messageBroker;
     }
 
     public static class AdapterAndProperty {

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/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 8c0e523..2d89384 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
@@ -30,6 +30,7 @@ import org.apache.isis.applib.services.command.CommandContext;
 import org.apache.isis.applib.services.command.CommandDefault;
 import org.apache.isis.applib.services.command.spi.CommandService;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.commons.components.SessionScopedComponent;
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.commons.exceptions.IsisException;
@@ -119,10 +120,10 @@ public class IsisTransactionManager implements SessionScopedComponent {
     
 
     /**
-     * Convenience method returning the {@link MessageBroker} of the
+     * Convenience method returning the {@link org.apache.isis.core.commons.authentication.MessageBroker} of the
      * {@link #getTransaction() current transaction}.
      */
-    protected org.apache.isis.core.commons.authentication.MessageBroker getMessageBroker() {
+    protected MessageBroker getMessageBroker() {
         return getTransaction().getMessageBroker();
     }
 
@@ -219,20 +220,20 @@ public class IsisTransactionManager implements SessionScopedComponent {
      * {@link #getTransaction()}.
      */
     protected final IsisTransaction createTransaction() {
-        org.apache.isis.core.commons.authentication.MessageBroker messageBroker = createMessageBroker();
+        MessageBroker messageBroker = createMessageBroker();
         return this.transaction = createTransaction(messageBroker, transactionalResource);
     }
 
 
     /**
-     * The provided {@link MessageBroker} is
+     * The provided {@link org.apache.isis.core.commons.authentication.MessageBroker} is
      * obtained from the {@link #createMessageBroker()} hook method.
      * @param transactionalResource
      *
      * @see #createMessageBroker()
      */
     private IsisTransaction createTransaction(
-            final org.apache.isis.core.commons.authentication.MessageBroker messageBroker,
+            final MessageBroker messageBroker,
             final TransactionalResource transactionalResource) {
         ensureThatArg(messageBroker, is(not(nullValue())));
 
@@ -533,8 +534,8 @@ public class IsisTransactionManager implements SessionScopedComponent {
      * 
      * <p> Called when a new {@link IsisTransaction} is created.
      */
-    protected org.apache.isis.core.commons.authentication.MessageBroker createMessageBroker() {
-        return MessageBrokerDefault.acquire(getAuthenticationSession());
+    protected MessageBroker createMessageBroker() {
+        return MessageBroker.acquire(getAuthenticationSession());
     }
 
     // ////////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/MessageBroker.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/MessageBroker.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/MessageBroker.java
deleted file mode 100644
index 282b8f3..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/MessageBroker.java
+++ /dev/null
@@ -1,28 +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;
-
-/**
- * @deprecated - replace with {@link org.apache.isis.core.commons.authentication.MessageBroker} in the core.
- */
-@Deprecated
-public interface MessageBroker extends org.apache.isis.core.commons.authentication.MessageBroker {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/MessageBrokerDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/MessageBrokerDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/MessageBrokerDefault.java
deleted file mode 100644
index b5fbd9a..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/MessageBrokerDefault.java
+++ /dev/null
@@ -1,179 +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 com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-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.lang.ArrayExtensions;
-
-public class MessageBrokerDefault implements MessageBroker, DebuggableWithTitle {
-
-    private static final long serialVersionUID = 1L;
-    
-    private final List<String> messages = Lists.newArrayList();
-    private final List<String> warnings = Lists.newArrayList();
-    private String applicationError;
-
-    public static org.apache.isis.core.commons.authentication.MessageBroker acquire(final AuthenticationSession authenticationSession) {
-        org.apache.isis.core.commons.authentication.MessageBroker messageBroker;
-        synchronized (authenticationSession) {
-            messageBroker = authenticationSession.getMessageBroker();
-            if(messageBroker == null) {
-                messageBroker = new MessageBrokerDefault();
-                authenticationSession.setMessageBroker(messageBroker);
-            }
-        }
-        return messageBroker;
-    }
-
-    /**
-     * @deprecated - use {@link #acquire()}
-     */
-    @Deprecated
-    public MessageBrokerDefault() {
-    }
-
-    // //////////////////////////////////////////////////
-    // Reset / ensureEmpty
-    // //////////////////////////////////////////////////
-
-    public void reset() {
-        warnings.clear();
-        messages.clear();
-    }
-
-    @Override
-    public void ensureEmpty() {
-        if (warnings.size() > 0) {
-            throw new IsisException("Message broker still has warnings");
-        }
-        if (messages.size() > 0) {
-            throw new IsisException("Message broker still has messages");
-        }
-    }
-
-    // //////////////////////////////////////////////////
-    // Messages
-    // //////////////////////////////////////////////////
-
-    @Override
-    public List<String> getMessages() {
-        return copyAndClear(messages);
-    }
-
-    @Override
-    public void addMessage(final String message) {
-        messages.add(message);
-    }
-
-    @Override
-    public String getMessagesCombined() {
-        final List<String> x = messages;
-        final String string = ArrayExtensions.asSemicolonDelimitedStr(x);
-        return string;
-    }
-
-    // //////////////////////////////////////////////////
-    // Warnings
-    // //////////////////////////////////////////////////
-
-    @Override
-    public List<String> getWarnings() {
-        return copyAndClear(warnings);
-    }
-
-    @Override
-    public void addWarning(final String message) {
-        warnings.add(message);
-    }
-
-    @Override
-    public String getWarningsCombined() {
-        final List<String> x = warnings;
-        final String string = ArrayExtensions.asSemicolonDelimitedStr(x);
-        return string;
-    }
-
-
-    // //////////////////////////////////////////////////
-    // Application error
-    // //////////////////////////////////////////////////
-
-    @Override
-    public void setApplicationError(String error) {
-        this.applicationError = error;
-        
-    }
-
-    @Override
-    public String getApplicationError() {
-        String error = applicationError;
-        setApplicationError(null);
-        return error;
-    }
-
-    // //////////////////////////////////////////////////
-    // Debugging
-    // //////////////////////////////////////////////////
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debugArray(debug, "Messages", messages);
-        debugArray(debug, "Warnings", messages);
-    }
-
-    private void debugArray(final DebugBuilder debug, final String title, final List<String> vector) {
-        debug.appendln(title);
-        debug.indent();
-        if (vector.size() == 0) {
-            debug.appendln("none");
-        } else {
-            for (final String text : vector) {
-                debug.appendln(text);
-            }
-        }
-        debug.unindent();
-    }
-
-    @Override
-    public String debugTitle() {
-        return "Simple Message Broker";
-    }
-
-    // //////////////////////////////////////////////////
-    // Helpers
-    // //////////////////////////////////////////////////
-
-    private List<String> copyAndClear(final List<String> messages) {
-        final List<String> copy = Collections.unmodifiableList(new ArrayList<String>(messages));
-        messages.clear();
-        return copy;
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_EndTransactionTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_EndTransactionTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_EndTransactionTest.java
index baa6080..f9cc749 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_EndTransactionTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_EndTransactionTest.java
@@ -19,13 +19,7 @@
 
 package org.apache.isis.core.runtime.persistence.objectstore.transaction;
 
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
 import java.util.Collections;
-import java.util.UUID;
-
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
 import org.hamcrest.TypeSafeMatcher;
@@ -35,7 +29,6 @@ import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
-
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.metamodel.services.ServicesInjectorDefault;
@@ -44,6 +37,10 @@ import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
 public class ObjectStoreTransactionManager_EndTransactionTest {
 
     @Rule

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java
index 091c643..14f67e9 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java
@@ -19,18 +19,11 @@
 
 package org.apache.isis.core.runtime.persistence.objectstore.transaction;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.CoreMatchers.sameInstance;
-import static org.junit.Assert.assertThat;
-
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
-
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.metamodel.services.ServicesInjectorDefault;
@@ -40,6 +33,9 @@ import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
 public class ObjectStoreTransactionManager_StartTransactionTest {
 
     @Rule

http://git-wip-us.apache.org/repos/asf/isis/blob/e48ab59c/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 9f4c2c8..ed7c66a 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
@@ -34,6 +34,7 @@ import org.apache.isis.applib.services.command.spi.CommandService;
 import org.apache.isis.applib.services.publish.EventSerializer;
 import org.apache.isis.applib.services.publish.PublishingService;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.commons.matchers.IsisMatchers;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;