You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/11/02 19:35:53 UTC
[09/12] isis git commit: ISIS-1226: detach EntityModels in
BreadcrumbModel
ISIS-1226: detach EntityModels in BreadcrumbModel
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a7519835
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a7519835
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a7519835
Branch: refs/heads/master
Commit: a7519835dcede00bc7c4ddd84882c9900a8e3a37
Parents: 2498f82
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Nov 2 17:42:22 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Nov 2 17:43:40 2015 +0000
----------------------------------------------------------------------
.../wicket/AuthenticatedWebSessionForIsis.java | 8 +++++++-
.../viewer/integration/wicket/WebRequestCycleForIsis.java | 4 +++-
.../components/widgets/breadcrumbs/BreadcrumbModel.java | 10 +++++++---
.../components/widgets/breadcrumbs/BreadcrumbPanel.java | 10 ++++++++--
4 files changed, 25 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/a7519835/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
index 05db776..80e22c1 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
@@ -113,7 +113,13 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
final List<String> roles = authenticationSession.getRoles();
return new Roles(roles.toArray(new String[roles.size()]));
}
-
+
+ @Override
+ public void detach() {
+ breadcrumbModel.detach();
+ super.detach();
+ }
+
// /////////////////////////////////////////////////
// Breadcrumbs and Bookmarks support
// /////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/a7519835/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
index 098efde..c9297c1 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
@@ -98,7 +98,9 @@ public class WebRequestCycleForIsis extends AbstractRequestCycleListener {
if(LOG.isDebugEnabled()) {
LOG.debug("onRequestHandlerExecuted: handler: " + handler);
}
-
+
+ final AuthenticatedWebSessionForIsis authenticatedWebSessionForIsis = AuthenticatedWebSessionForIsis.get();
+
final IsisSession session = getIsisContext().getSessionInstance();
if (session != null) {
try {
http://git-wip-us.apache.org/repos/asf/isis/blob/a7519835/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
index 02b1ce3..6f58943 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
@@ -118,9 +118,13 @@ public class BreadcrumbModel implements Serializable {
if(oidStr == null) {
return null;
}
- return entityModelByOidStr.get(oidStr);
+ final EntityModel entityModel = entityModelByOidStr.get(oidStr);
+ return entityModel;
}
-
-
+ public void detach() {
+ for (EntityModel entityModel : list) {
+ entityModel.detach();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a7519835/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
index 6d19acc..7ba1cd7 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
@@ -17,10 +17,13 @@
package org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs;
import java.util.Collection;
+import java.util.List;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.wicketstuff.select2.Response;
import org.wicketstuff.select2.Select2Choice;
import org.wicketstuff.select2.Settings;
@@ -63,7 +66,9 @@ public class BreadcrumbPanel extends PanelAbstract<IModel<Void>> {
@Override
protected Object getId(EntityModel choice) {
try {
- return PageParameterNames.OBJECT_OID.getStringFrom(choice.getPageParameters());
+ final PageParameters pageParameters = choice.getPageParameters();
+ final String oidStr = PageParameterNames.OBJECT_OID.getStringFrom(pageParameters);
+ return oidStr;
} catch (Exception ex) {
breadcrumbModel.remove(choice);
return null;
@@ -72,7 +77,8 @@ public class BreadcrumbPanel extends PanelAbstract<IModel<Void>> {
@Override
public void query(String term, int page, Response<EntityModel> response) {
- response.addAll(breadcrumbModel.getList());
+ final List<EntityModel> list = breadcrumbModel.getList();
+ response.addAll(list);
}
@Override
Re: [09/12] isis git commit: ISIS-1226: detach EntityModels in BreadcrumbModel
Posted by Dan Haywood <da...@haywood-associates.co.uk>.
thanks for the catch... was going to put the detach logic here, then
discovered I could override detach() in the class itself.
will remove.
Cheers
Dan
On 2 November 2015 at 18:47, Martin Grigorov <mg...@apache.org> wrote:
> Hi Dan,
>
> On Mon, Nov 2, 2015 at 7:35 PM, <da...@apache.org> wrote:
>
> > -
> > +
> > + final AuthenticatedWebSessionForIsis
> > authenticatedWebSessionForIsis = AuthenticatedWebSessionForIsis.get();
> > +
> >
>
> What is the purpose of this ?
> It seems this local variable is not used later.
>
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
Re: [09/12] isis git commit: ISIS-1226: detach EntityModels in BreadcrumbModel
Posted by Martin Grigorov <mg...@apache.org>.
Hi Dan,
On Mon, Nov 2, 2015 at 7:35 PM, <da...@apache.org> wrote:
> -
> +
> + final AuthenticatedWebSessionForIsis
> authenticatedWebSessionForIsis = AuthenticatedWebSessionForIsis.get();
> +
>
What is the purpose of this ?
It seems this local variable is not used later.
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov