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/20 23:54:37 UTC

[1/3] git commit: ISIS-711: fix for bulk action raiseError support

Repository: isis
Updated Branches:
  refs/heads/master 48de256e6 -> 4b2903ebd


ISIS-711: fix for bulk action raiseError support


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/8fda6537
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/8fda6537
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/8fda6537

Branch: refs/heads/master
Commit: 8fda65377decdd78e6e131d20b9ae9ef482af6d3
Parents: 48de256
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Feb 20 20:44:52 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Feb 20 20:44:52 2014 +0000

----------------------------------------------------------------------
 .../ajaxtable/BulkActionsLinkFactory.java       | 63 +++++++++++++-------
 1 file changed, 42 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/8fda6537/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
index 99f589a..4ad4973 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
@@ -29,11 +29,14 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
 import org.apache.wicket.markup.html.link.AbstractLink;
 import org.apache.wicket.markup.html.link.Link;
 
+import org.apache.isis.applib.RecoverableException;
 import org.apache.isis.applib.annotation.Bulk;
 import org.apache.isis.applib.annotation.Bulk.InteractionContext.InvokedAs;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.commons.authentication.MessageBroker;
+import org.apache.isis.core.commons.exceptions.IsisApplicationException;
+import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
 import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
@@ -137,30 +140,48 @@ final class BulkActionsLinkFactory implements ActionLinkFactory {
 
                 } catch(final ConcurrencyException ex) {
                     
-                    // resync with the objectstore
-                    final List<ObjectAdapterMemento> toggleMementosList = Lists.newArrayList(model.getToggleMementosList());
-                    for (ObjectAdapterMemento oam : toggleMementosList) {
-                        // just requesting the adapter will sync the OAM's version with the objectstore
-                        oam.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
-                    }
-                    
-                    // discard any adapters that might have been deleted
-                    model.setObject(persistentAdaptersWithin(model.getObject()));
-                    
-                    // attempt to preserve the toggled adapters
-                    final List<ObjectAdapter> adapters = model.getObject();
-                    model.clearToggleMementosList();
-                    for (ObjectAdapterMemento oam : toggleMementosList) {
-                        final ObjectAdapter objectAdapter = oam.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
-                        if(adapters.contains(objectAdapter)) {
-                            // in case it has been deleted...
-                            model.toggleSelectionOn(objectAdapter);
-                        }
-                    }
-                    
+                    recover();
                     // display a warning to the user so that they know that the action wasn't performed
                     getMessageBroker().addWarning(ex.getMessage());
                     return;
+
+                } catch(final RuntimeException ex) {
+                    
+                    final RecoverableException appEx = ActionModel.getApplicationExceptionIfAny(ex);
+                    if (appEx != null) {
+
+                        recover();
+                        
+                        getMessageBroker().setApplicationError(appEx.getMessage());
+                        
+                        // there's no need to abort the transaction, it will have already been done
+                        // (in IsisTransactionManager#executeWithinTransaction(...)). 
+                        return;
+                    } 
+                    throw ex;
+                }
+            }
+            
+            private void recover() {
+                // resync with the objectstore
+                final List<ObjectAdapterMemento> toggleMementosList = Lists.newArrayList(model.getToggleMementosList());
+                for (ObjectAdapterMemento oam : toggleMementosList) {
+                    // just requesting the adapter will sync the OAM's version with the objectstore
+                    oam.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+                }
+                
+                // discard any adapters that might have been deleted
+                model.setObject(persistentAdaptersWithin(model.getObject()));
+                
+                // attempt to preserve the toggled adapters
+                final List<ObjectAdapter> adapters = model.getObject();
+                model.clearToggleMementosList();
+                for (ObjectAdapterMemento oam : toggleMementosList) {
+                    final ObjectAdapter objectAdapter = oam.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+                    if(adapters.contains(objectAdapter)) {
+                        // in case it has been deleted...
+                        model.toggleSelectionOn(objectAdapter);
+                    }
                 }
             }
 


[2/3] git commit: ISIS-699: reinstating the very original versions...

Posted by da...@apache.org.
ISIS-699: reinstating the very original versions...

... since the backout of commit 2f76f2ebd6b336d19a8c61d189552d0bc6256298 failed,
that is the redirect is still to the old URL which fails when running against
tomcat on a remote host (at least some of the time...)

Whether this'll fix the issue, I'm unsure, since not sure what the real problem is here...


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e9ba1508
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e9ba1508
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e9ba1508

Branch: refs/heads/master
Commit: e9ba150864bda616a378f4f069e4eeb09b0bff60
Parents: 8fda653
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Feb 20 22:39:22 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Feb 20 22:39:22 2014 +0000

----------------------------------------------------------------------
 .../entity/properties/EntityPropertiesForm.java | 33 ++++++++++----------
 .../wicket/ui/pages/entity/EntityPage.java      | 26 ++++-----------
 2 files changed, 22 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/e9ba1508/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 b56599d..bece9aa 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,7 +23,6 @@ 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;
@@ -237,19 +236,19 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
     }
 
     private void addPropertyToForm(final EntityModel entityModel,
-			final ObjectAssociation association,
-			final WebMarkupContainer container) {
-		final OneToOneAssociation otoa = (OneToOneAssociation) association;
-		final PropertyMemento pm = new PropertyMemento(otoa);
-
-		final ScalarModel scalarModel = entityModel.getPropertyModel(pm);
-		final Component component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
-		
-		if(!renderedFirstField) {
-		    component.add(new CssClassAppender("first-field"));
-		    renderedFirstField = true;
-		}
-	}
+            final ObjectAssociation association,
+            final WebMarkupContainer container) {
+        final OneToOneAssociation otoa = (OneToOneAssociation) association;
+        final PropertyMemento pm = new PropertyMemento(otoa);
+
+        final ScalarModel scalarModel = entityModel.getPropertyModel(pm);
+        final Component component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
+        
+        if(!renderedFirstField) {
+            component.add(new CssClassAppender("first-field"));
+            renderedFirstField = true;
+        }
+    }
 
     private List<ObjectAssociation> visibleProperties(final ObjectAdapter adapter, final ObjectSpecification objSpec, Where where) {
         return objSpec.getAssociations(Contributed.INCLUDED, visiblePropertyFilter(adapter, where));
@@ -351,7 +350,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, new PageParameters());
+                    final EntityPage entityPage = new EntityPage(EntityPropertiesForm.this.getModelObject(), null);
                     EntityPropertiesForm.this.setResponsePage(entityPage);
                 } else {
                     // run Wicket's validation
@@ -405,9 +404,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/e9ba1508/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 d960e0a..fc12a21 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(new EntityModel(pageParameters), pageParameters);
+        this(pageParameters, new EntityModel(pageParameters));
     }
     
-    private EntityPage(final EntityModel entityModel, final PageParameters pageParameters) {
-        this(entityModel, pageParameters, entityModel.getObject().titleString(null));
+    private EntityPage(final PageParameters pageParameters, final EntityModel entityModel) {
+        this(pageParameters, entityModel, entityModel.getObject().titleString(null));
     }
 
     public EntityPage(final ObjectAdapter adapter) {
@@ -67,21 +67,7 @@ public class EntityPage extends PageAbstract {
      * (eg from an action invocation) is show.
      */
     public EntityPage(ObjectAdapter adapter, ConcurrencyException exIfAny) {
-        this(newEntityModel(adapter, exIfAny));
-    }
-
-    public EntityPage(ObjectAdapter adapter, ConcurrencyException exIfAny, PageParameters pageParameters) {
-        this(newEntityModel(adapter, exIfAny), pageParameters);
-    }
-
-    private EntityPage(EntityModel 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());
+        this(new PageParameters(), newEntityModel(adapter, exIfAny));
     }
 
     private static EntityModel newEntityModel(ObjectAdapter adapter, ConcurrencyException exIfAny) {
@@ -90,8 +76,8 @@ public class EntityPage extends PageAbstract {
         return model;
     }
 
-    private EntityPage(EntityModel entityModel, PageParameters pageParameters, String titleString) {
-        super(pageParameters != null? pageParameters: entityModel.getPageParameters(), ApplicationActions.INCLUDE, titleString, ComponentType.ENTITY);
+    private EntityPage(PageParameters pageParameters, EntityModel entityModel, String titleString) {
+        super(pageParameters, ApplicationActions.INCLUDE, titleString, ComponentType.ENTITY);
 
         // this is a work-around for JRebel integration...
         // ... even though the IsisJRebelPlugin calls invalidateCache, it seems that there is 


[3/3] git commit: ISIS-695: reverting the bump of plugin version for simplericity

Posted by da...@apache.org.
ISIS-695: reverting the bump of plugin version for simplericity

jetty-console plugin  (since new version compiled against JDK 1.7).


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/4b2903eb
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/4b2903eb
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/4b2903eb

Branch: refs/heads/master
Commit: 4b2903ebde248cc88b2d27ff02db13133149c57f
Parents: e9ba150
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Feb 20 22:49:15 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Feb 20 22:49:15 2014 +0000

----------------------------------------------------------------------
 example/application/quickstart_scimpi_nosql/pom.xml       | 3 ++-
 example/application/quickstart_wicket_restful_jdo/pom.xml | 3 ++-
 example/application/simple_wicket_restful_jdo/pom.xml     | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/4b2903eb/example/application/quickstart_scimpi_nosql/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_scimpi_nosql/pom.xml b/example/application/quickstart_scimpi_nosql/pom.xml
index 02e32a0..c221c93 100644
--- a/example/application/quickstart_scimpi_nosql/pom.xml
+++ b/example/application/quickstart_scimpi_nosql/pom.xml
@@ -168,7 +168,8 @@
                 <plugin>
                     <groupId>org.simplericity.jettyconsole</groupId>
                     <artifactId>jetty-console-maven-plugin</artifactId>
-                    <version>1.54</version>
+                    <!-- update to 1.54 reversed,since seems compiled against 1.7 (major.minor version 51.0) -->
+                    <version>1.43</version>
                 </plugin>
             </plugins>
         </pluginManagement>

http://git-wip-us.apache.org/repos/asf/isis/blob/4b2903eb/example/application/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/pom.xml b/example/application/quickstart_wicket_restful_jdo/pom.xml
index 4daa3f0..3b99ab1 100644
--- a/example/application/quickstart_wicket_restful_jdo/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/pom.xml
@@ -189,7 +189,8 @@
                 <plugin>
                     <groupId>org.simplericity.jettyconsole</groupId>
                     <artifactId>jetty-console-maven-plugin</artifactId>
-                    <version>1.54</version>
+                    <!-- update to 1.54 reversed,since seems compiled against 1.7 (major.minor version 51.0) -->
+                    <version>1.43</version>
                 </plugin>
 
                 <!-- Apache Release Audit Tool -->

http://git-wip-us.apache.org/repos/asf/isis/blob/4b2903eb/example/application/simple_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/pom.xml b/example/application/simple_wicket_restful_jdo/pom.xml
index 9bf7db6..b4aef38 100644
--- a/example/application/simple_wicket_restful_jdo/pom.xml
+++ b/example/application/simple_wicket_restful_jdo/pom.xml
@@ -187,7 +187,8 @@
                 <plugin>
                     <groupId>org.simplericity.jettyconsole</groupId>
                     <artifactId>jetty-console-maven-plugin</artifactId>
-                    <version>1.54</version>
+                    <!-- update to 1.54 reversed,since seems compiled against 1.7 (major.minor version 51.0) -->
+                    <version>1.43</version>
                 </plugin>
 
                 <!-- Apache Release Audit Tool -->