You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/02/17 05:22:58 UTC
[isis] 01/02: ISIS-2291: fix possible NPE with JGrowlBehaviour
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit a6d2b8c7c96e92f3b3f244d4d3dd5a65a149086d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Feb 17 06:22:14 2020 +0100
ISIS-2291: fix possible NPE with JGrowlBehaviour
---
.../viewer/wicket/ui/errors/JGrowlBehaviour.java | 39 ++++++++++++++--------
1 file changed, 25 insertions(+), 14 deletions(-)
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
index ae0510e..cae1eba 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
@@ -18,6 +18,8 @@
*/
package org.apache.isis.viewer.wicket.ui.errors;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -28,6 +30,7 @@ import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.apache.isis.applib.RecoverableException;
import org.apache.isis.core.commons.internal.base._Strings;
+import org.apache.isis.core.security.authentication.AuthenticationSession;
import org.apache.isis.core.security.authentication.MessageBroker;
import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
@@ -54,10 +57,13 @@ public class JGrowlBehaviour extends AbstractDefaultAjaxBehavior {
@Override
protected void respond(AjaxRequestTarget target) {
- String feedbackMsg = JGrowlUtil.asJGrowlCalls(getMessageBroker());
- if(!_Strings.isNullOrEmpty(feedbackMsg)) {
- target.appendJavaScript(feedbackMsg);
- }
+
+ getMessageBroker().ifPresent(messageBroker->{
+ String feedbackMsg = JGrowlUtil.asJGrowlCalls(messageBroker);
+ if(!_Strings.isNullOrEmpty(feedbackMsg)) {
+ target.appendJavaScript(feedbackMsg);
+ }
+ });
}
@Override
@@ -68,19 +74,24 @@ public class JGrowlBehaviour extends AbstractDefaultAjaxBehavior {
}
public void renderFeedbackMessages(IHeaderResponse response) {
- response.render(JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(JGrowlBehaviour.class, "js/bootstrap-growl.js")));
+ response.render(
+ JavaScriptHeaderItem
+ .forReference(new JavaScriptResourceReference(JGrowlBehaviour.class, "js/bootstrap-growl.js")));
- String feedbackMsg = JGrowlUtil.asJGrowlCalls(getMessageBroker());
- if(!_Strings.isNullOrEmpty(feedbackMsg)) {
- response.render(OnDomReadyHeaderItem.forScript(feedbackMsg));
- }
+ getMessageBroker().ifPresent(messageBroker->{
+
+ String feedbackMsg = JGrowlUtil.asJGrowlCalls(messageBroker);
+ if(_Strings.isNotEmpty(feedbackMsg)) {
+ response.render(OnDomReadyHeaderItem.forScript(feedbackMsg));
+ }
+
+ });
+
}
-
- protected MessageBroker getMessageBroker() {
- return commonContext.getAuthenticationSession().getMessageBroker();
+ protected Optional<MessageBroker> getMessageBroker() {
+ return Optional.ofNullable(commonContext.getAuthenticationSession())
+ .map(AuthenticationSession::getMessageBroker);
}
-
-
}