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