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 -->