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/02/19 14:33:31 UTC
[3/5] git commit: ISIS-699: backing out change.
ISIS-699: backing out change.
... since the redirect doesn't always occur (not completely sure why).
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2f76f2eb
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2f76f2eb
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2f76f2eb
Branch: refs/heads/master
Commit: 2f76f2ebd6b336d19a8c61d189552d0bc6256298
Parents: 3d36f49
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Feb 19 13:05:00 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Feb 19 13:33:05 2014 +0000
----------------------------------------------------------------------
.../ActionResultResponseType.java | 5 ++++-
.../entity/properties/EntityPropertiesForm.java | 7 ++++---
.../wicket/ui/pages/entity/EntityPage.java | 22 ++++++++++++++------
3 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/2f76f2eb/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
index 8f8b2a7..9e5b5af 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
@@ -67,7 +67,10 @@ public enum ActionResultResponseType {
}
private ActionResultResponse toEntityPage(final ActionModel model, final ObjectAdapter actualAdapter, ConcurrencyException exIfAny) {
- return ActionResultResponse.toPage(this, new EntityPage(actualAdapter, exIfAny));
+ // this will not preserve the URL (because pageParameters are not copied over)
+ // but trying to preserve them seems to cause the 302 redirect to be swallowed somehow
+ final EntityPage entityPage = new EntityPage(actualAdapter, exIfAny);
+ return ActionResultResponse.toPage(this, entityPage);
}
},
http://git-wip-us.apache.org/repos/asf/isis/blob/2f76f2eb/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
index d13dc50..b56599d 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
@@ -23,6 +23,7 @@ import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.Page;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.Session;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -350,7 +351,7 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
feedbackOrNotifyAnyRecognizedError(preValidationErrorIfAny, form);
// skip validation, because would relate to old values
- final EntityPage entityPage = new EntityPage(EntityPropertiesForm.this.getModelObject(), null);
+ final EntityPage entityPage = new EntityPage(EntityPropertiesForm.this.getModelObject(), null, new PageParameters());
EntityPropertiesForm.this.setResponsePage(entityPage);
} else {
// run Wicket's validation
@@ -404,9 +405,9 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
toViewMode(null);
- final EntityPage entityPage = new EntityPage(EntityPropertiesForm.this.getModelObject(), null);
-
// "redirect-after-post"
+ // (url is not preserved, but can't figure out way to do so and combine with redirect that completes)
+ final EntityPage entityPage = new EntityPage(EntityPropertiesForm.this.getModelObject());
EntityPropertiesForm.this.setResponsePage(entityPage);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/2f76f2eb/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
index a0dfc95..d960e0a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
@@ -51,11 +51,11 @@ public class EntityPage extends PageAbstract {
* {@link BookmarkablePageLink bookmarkable} links.
*/
public EntityPage(final PageParameters pageParameters) {
- this(pageParameters, new EntityModel(pageParameters));
+ this(new EntityModel(pageParameters), pageParameters);
}
- private EntityPage(final PageParameters pageParameters, final EntityModel entityModel) {
- this(pageParameters, entityModel, entityModel.getObject().titleString(null));
+ private EntityPage(final EntityModel entityModel, final PageParameters pageParameters) {
+ this(entityModel, pageParameters, entityModel.getObject().titleString(null));
}
public EntityPage(final ObjectAdapter adapter) {
@@ -70,8 +70,18 @@ public class EntityPage extends PageAbstract {
this(newEntityModel(adapter, exIfAny));
}
+ public EntityPage(ObjectAdapter adapter, ConcurrencyException exIfAny, PageParameters pageParameters) {
+ this(newEntityModel(adapter, exIfAny), pageParameters);
+ }
+
private EntityPage(EntityModel entityModel) {
- this(entityModel.getPageParameters(), entityModel);
+ // using the pageParameters implied by the entityModel means that the URL is preserved on redirect-after-post
+ // however... the redirect seems to be swallowed in some cases, meaning that the page is not re-rendered at all
+ // therefore, reverting this change.
+ //this(entityModel, entityModel.getPageParameters());
+
+ // using new PageParameters means that the page's URL will not be mounted, however it will at least re-render
+ this(entityModel, new PageParameters());
}
private static EntityModel newEntityModel(ObjectAdapter adapter, ConcurrencyException exIfAny) {
@@ -80,8 +90,8 @@ public class EntityPage extends PageAbstract {
return model;
}
- private EntityPage(PageParameters pageParameters, EntityModel entityModel, String titleString) {
- super(pageParameters, ApplicationActions.INCLUDE, titleString, ComponentType.ENTITY);
+ private EntityPage(EntityModel entityModel, PageParameters pageParameters, String titleString) {
+ super(pageParameters != null? pageParameters: entityModel.getPageParameters(), ApplicationActions.INCLUDE, titleString, ComponentType.ENTITY);
// this is a work-around for JRebel integration...
// ... even though the IsisJRebelPlugin calls invalidateCache, it seems that there is