You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/05/05 14:25:04 UTC

[isis] branch master updated: ISIS-2311: disable CORS, as it breaks toggle off AJAX requests (HTTP 403)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 145d8d5  ISIS-2311: disable CORS, as it breaks toggle off AJAX requests (HTTP 403)
145d8d5 is described below

commit 145d8d5226b46b49d580c4923576c0a2045bdd4a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue May 5 16:24:48 2020 +0200

    ISIS-2311: disable CORS, as it breaks toggle off AJAX requests (HTTP
    403)
---
 .../demo/src/main/java/demoapp/webapp/DemoAppManifest.java    |  2 +-
 .../wicket/ui/components/collection/CollectionPanel.java      | 11 +++++------
 .../ajaxtable/columns/ObjectAdapterToggleboxColumn.java       | 10 ++++++----
 .../components/widgets/checkbox/ContainedToggleboxPanel.java  | 11 ++++-------
 4 files changed, 16 insertions(+), 18 deletions(-)

diff --git a/examples/demo/src/main/java/demoapp/webapp/DemoAppManifest.java b/examples/demo/src/main/java/demoapp/webapp/DemoAppManifest.java
index ead89c7..01cca84 100644
--- a/examples/demo/src/main/java/demoapp/webapp/DemoAppManifest.java
+++ b/examples/demo/src/main/java/demoapp/webapp/DemoAppManifest.java
@@ -75,7 +75,7 @@ import demoapp.utils.LibraryPreloadingService;
     IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
 
     // CORS
-    IsisModuleExtCorsImpl.class,
+    //IsisModuleExtCorsImpl.class,
 
     // Security Manager Extension (secman)
     IsisModuleExtSecmanModel.class,
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
index ee2b0f5..03d8b41 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -32,6 +32,7 @@ import org.apache.isis.core.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
+import org.apache.isis.core.webapp.context.memento.ObjectMemento;
 import org.apache.isis.viewer.wicket.model.common.OnSelectionHandler;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
 import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
@@ -46,7 +47,6 @@ import org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2;
 import org.apache.isis.viewer.wicket.ui.components.widgets.checkbox.ContainedToggleboxPanel;
 import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-import org.apache.isis.core.webapp.context.memento.ObjectMemento;
 
 import lombok.val;
 
@@ -131,7 +131,6 @@ implements CollectionSelectorProvider, BulkActionsProvider {
     }
 
 
-
     // -- BulkActionsProvider
     ObjectAdapterToggleboxColumn toggleboxColumn;
 
@@ -142,14 +141,14 @@ implements CollectionSelectorProvider, BulkActionsProvider {
             final List<ObjectAction> associatedActions =
                     associatedWithActionsHelper.getAssociatedActions(getSpecificationLoader());
 
-            final EntityCollectionModel entityCollectionModel = getModel();
+            val entityCollectionModel = getModel();
             if(associatedActions.isEmpty() || entityCollectionModel.isStandalone()) {
                 return null;
             }
 
             toggleboxColumn = new ObjectAdapterToggleboxColumn(super.getCommonContext());
             
-            final OnSelectionHandler handler = new OnSelectionHandler() {
+            val handler = new OnSelectionHandler() {
 
                 private static final long serialVersionUID = 1L;
 
@@ -159,9 +158,9 @@ implements CollectionSelectorProvider, BulkActionsProvider {
                         final ManagedObject selectedAdapter,
                         final AjaxRequestTarget ajaxRequestTarget) {
                     
-                    ContainedToggleboxPanel togglePanel = (ContainedToggleboxPanel) context;
+                    val togglePanel = (ContainedToggleboxPanel) context;
                     
-                    boolean isSelected = getModel().toggleSelectionOn(selectedAdapter);
+                    val isSelected = getModel().toggleSelectionOn(selectedAdapter);
                     togglePanel.setModel(isSelected); // sync the checkbox's model
                 }
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
index 8d0813d..a4440c1 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
@@ -30,11 +30,11 @@ import org.apache.wicket.model.IModel;
 
 import org.apache.isis.core.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
 import org.apache.isis.viewer.wicket.model.common.OnSelectionHandler;
 import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.ui.components.widgets.checkbox.ContainedToggleboxPanel;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
-import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
 
 import lombok.val;
 
@@ -69,11 +69,11 @@ public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ManagedOb
     @Override
     public Component getHeader(String componentId) {
 
-        final ContainedToggleboxPanel bulkToggle = new ContainedToggleboxPanel(componentId) {
+        val bulkToggle = new ContainedToggleboxPanel(componentId) {
             private static final long serialVersionUID = 1L;
             @Override
             public void onSubmit(AjaxRequestTarget target) {
-                final boolean setToChecked = !this.isChecked();
+                val setToChecked = !this.isChecked();
                 
                 for (ContainedToggleboxPanel rowToggle : rowToggles) {
                     
@@ -104,12 +104,14 @@ public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ManagedOb
         final MarkupContainer row = cellItem.getParent().getParent();
         row.setOutputMarkupId(true);
 
-        final ContainedToggleboxPanel rowToggle = new ContainedToggleboxPanel(componentId) {
+        val rowToggle = new ContainedToggleboxPanel(componentId) {
             private static final long serialVersionUID = 1L;
             @Override
             public void onSubmit(AjaxRequestTarget target) {
+                
                 val entityModel = (EntityModel) rowModel;
                 val selectedAdapter = entityModel.load();
+                
                 if(onSelectionHandler != null) {
                     onSelectionHandler.onSelected(this, selectedAdapter, target);
                 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
index 12302ea..443a460 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
@@ -39,13 +39,13 @@ public class ContainedToggleboxPanel extends PanelAbstract<Model<Boolean>> {
     private static final String ID_TOGGLEBOX = "togglebox";
 
     private final AjaxCheckBox checkbox;
-    //    private final List<Component> componentsToRerender = _Lists.newArrayList();
 
     public ContainedToggleboxPanel(final String id) {
         super(id);
 
         final WebMarkupContainer markupContainer = new WebMarkupContainer(ID_CONTAINER);
         add(markupContainer);
+        
         final Form<Object> form = new Form<Object>(ID_FORM);
         markupContainer.add(form);
 
@@ -54,18 +54,15 @@ public class ContainedToggleboxPanel extends PanelAbstract<Model<Boolean>> {
 
             @Override
             protected void onUpdate(AjaxRequestTarget target) {
+                
                 ContainedToggleboxPanel.this.toggle(target);
             }
+            
         };
         form.add(checkbox);
+        
     }
 
-
-    //    public void addComponentToRerender(final Component component) {
-    //        component.setOutputMarkupPlaceholderTag(true);
-    //        componentsToRerender.add(component);
-    //    }
-
     /**
      * Hook method for (typically anonymous) subclasses to override.
      */