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;