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 2015/09/03 14:33:13 UTC
[82/87] [abbrv] isis git commit: ISIS-1044: removed the
InteractionUtils' withFiltering() and its threadlocal;
removed the disabling of the filtering (in ObjectAdapter.Util#isVisible());
also DeploymentCategoryProvider stuff.
ISIS-1044: removed the InteractionUtils' withFiltering() and its threadlocal; removed the disabling of the filtering (in ObjectAdapter.Util#isVisible()); also DeploymentCategoryProvider stuff.
namely:
- added new DeploymentCategoryProviderAware infrastructure, retrofitted RuntimeContext to provide a DeploymentCategoryProvider (cf AuthenticationSessionProvider)
- made DeploymentCategoryProvider extend Injectable, so that RuntimeContext's subcomponents (which include DeploymentCategory) can inject themselves, eg into facet factories)
- made FacetFactoryAbstract implement AuthenticationSessionProviderAware and DeploymentCategoryProviderAware, so that all facets will be able to obtain the authSession and deployment category for themselves (this still to do)
- made FormAbstract, FormComponentPanelAbstract and PanelAbstract all implement DeploymentCategoryProvider (because they also all implement AuthenticationSessionProvider)
- made IsisWicketApplication implement DeploymentCategoryProvider (because it also implements AuthenticationSessionProvider)
also:
- changed order of params in ObjectAction#executeWithRuleChecking(...)
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/eab298d3
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/eab298d3
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/eab298d3
Branch: refs/heads/master
Commit: eab298d3425dbf1a4fbacce2124f4943e06f8bb8
Parents: d120bf7
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 3 10:47:04 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 3 10:54:54 2015 +0100
----------------------------------------------------------------------
.../core/metamodel/adapter/ObjectAdapter.java | 2 +-
.../deployment/DeploymentCategoryProvider.java | 4 +-
.../DeploymentCategoryProviderAbstract.java | 29 +++++++++
.../DeploymentCategoryProviderAware.java | 29 +++++++++
.../metamodel/facets/FacetFactoryAbstract.java | 26 +++++++-
...onInvocationFacetForDomainEventAbstract.java | 4 +-
.../all/i18n/TranslationFacetFactory.java | 3 +
.../CollectionAccessorFacetViaAccessor.java | 4 +-
.../PropertyAccessorFacetViaAccessor.java | 4 +-
.../interactions/InteractionUtils.java | 25 --------
.../runtimecontext/RuntimeContext.java | 3 +
.../runtimecontext/RuntimeContextAbstract.java | 17 ++++++
.../container/DomainObjectContainerDefault.java | 5 +-
.../metamodel/spec/feature/ObjectAction.java | 3 +-
.../specloader/specimpl/ObjectActionImpl.java | 3 +-
.../TitleAnnotationFacetFactoryTest.java | 24 ++++++++
.../core/runtime/system/DeploymentType.java | 4 +-
.../wicket/viewer/IsisWicketApplication.java | 34 ++++++++---
.../viewer/wicket/model/models/ActionModel.java | 14 ++---
.../model/models/EntityCollectionModel.java | 9 +--
.../viewer/wicket/model/models/EntityModel.java | 10 +--
.../viewer/wicket/model/models/ScalarModel.java | 64 +++++---------------
.../collection/bulk/BulkActionsLinkFactory.java | 5 +-
.../scalars/reference/ReferencePanel.java | 5 --
.../FormComponentPanelAbstract.java | 17 +++++-
.../valuechoices/ValueChoicesSelect2Panel.java | 5 --
.../viewer/wicket/ui/panels/FormAbstract.java | 22 +++++--
.../viewer/wicket/ui/panels/PanelAbstract.java | 18 +++++-
.../handlers/DomainObjectInvocationHandler.java | 32 +---------
29 files changed, 251 insertions(+), 173 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java
index d834d00..e6bbb13 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java
@@ -406,7 +406,7 @@ public interface ObjectAdapter extends Instance, org.apache.isis.applib.annotati
final VisibilityContext<?> context = createVisibleInteractionContext(adapter, authenticationSession,
deploymentCategory, interactionInitiatedBy);
InteractionResult visibleResult = InteractionUtils.isVisibleResult(objectSpecification, context);
- return true || visibleResult.isNotVetoing();
+ return visibleResult.isNotVetoing();
}
private static VisibilityContext<?> createVisibleInteractionContext(
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProvider.java
index ff9aac1..f162be4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProvider.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.deployment;
-public interface DeploymentCategoryProvider {
+import org.apache.isis.core.commons.components.Injectable;
+
+public interface DeploymentCategoryProvider extends Injectable {
public DeploymentCategory getDeploymentCategory();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProviderAbstract.java
new file mode 100644
index 0000000..10539d4
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProviderAbstract.java
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.isis.core.metamodel.deployment;
+
+public abstract class DeploymentCategoryProviderAbstract implements DeploymentCategoryProvider {
+
+ @Override
+ public void injectInto(final Object candidate) {
+ if (DeploymentCategoryProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final DeploymentCategoryProviderAware cast = DeploymentCategoryProviderAware.class.cast(candidate);
+ cast.setDeploymentCategoryProvider(this);
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProviderAware.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProviderAware.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProviderAware.java
new file mode 100644
index 0000000..8285b69
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/deployment/DeploymentCategoryProviderAware.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.metamodel.deployment;
+
+import org.apache.isis.applib.annotation.Programmatic;
+
+public interface DeploymentCategoryProviderAware {
+
+ @Programmatic
+ public void setDeploymentCategoryProvider(DeploymentCategoryProvider deploymentCategoryProvider);
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
index d68d11a..01ab99b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
@@ -23,15 +23,22 @@ import java.util.List;
import com.google.common.collect.ImmutableList;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProviderAware;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.SpecificationLoaderAware;
-public abstract class FacetFactoryAbstract implements FacetFactory, SpecificationLoaderAware {
+public abstract class FacetFactoryAbstract implements FacetFactory, SpecificationLoaderAware,
+ AuthenticationSessionProviderAware, DeploymentCategoryProviderAware {
private final List<FeatureType> featureTypes;
private SpecificationLoader specificationLoader;
+ private AuthenticationSessionProvider authenticationSessionProvider;
+ private DeploymentCategoryProvider deploymentCategoryProvider;
public FacetFactoryAbstract(final List<FeatureType> featureTypes) {
this.featureTypes = ImmutableList.copyOf(featureTypes);
@@ -70,4 +77,21 @@ public abstract class FacetFactoryAbstract implements FacetFactory, Specificatio
this.specificationLoader = specificationLookup;
}
+ @Override
+ public void setAuthenticationSessionProvider(final AuthenticationSessionProvider authenticationSessionProvider) {
+ this.authenticationSessionProvider = authenticationSessionProvider;
+ }
+
+ protected AuthenticationSessionProvider getAuthenticationSessionProvider() {
+ return authenticationSessionProvider;
+ }
+
+ @Override
+ public void setDeploymentCategoryProvider(final DeploymentCategoryProvider deploymentCategoryProvider) {
+ this.deploymentCategoryProvider = deploymentCategoryProvider;
+ }
+
+ protected DeploymentCategoryProvider getDeploymentCategoryProvider() {
+ return deploymentCategoryProvider;
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
index 356ab42..415cb85 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
@@ -68,7 +68,6 @@ import org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFace
import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
-import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -230,8 +229,7 @@ public abstract class ActionInvocationFacetForDomainEventAbstract
return null;
}
- boolean filterForVisibility = InteractionUtils.FILTERING.get() && getConfiguration()
- .getBoolean("isis.reflector.facet.filterVisibility", true);
+ boolean filterForVisibility = getConfiguration().getBoolean("isis.reflector.facet.filterVisibility", true);
if(filterForVisibility) {
final Object result = invocationResultAdapter.getObject();
if(result instanceof Collection || result.getClass().isArray()) {
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
index c8fe2e1..9f74351 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
@@ -21,6 +21,8 @@ package org.apache.isis.core.metamodel.facets.all.i18n;
import com.google.common.base.Strings;
import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -140,4 +142,5 @@ public class TranslationFacetFactory extends FacetFactoryAbstract implements Con
public void setServicesInjector(final ServicesInjector servicesInjector) {
this.servicesInjector = servicesInjector;
}
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
index 20c4004..b203bd4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
@@ -35,7 +35,6 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.CollectionUtils;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacetAbstract;
-import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
public class CollectionAccessorFacetViaAccessor
@@ -78,8 +77,7 @@ public class CollectionAccessorFacetViaAccessor
final ObjectAdapter collectionAdapter = getAdapterManager().adapterFor(collectionOrArray);
- boolean filterForVisibility = InteractionUtils.FILTERING.get() && getConfiguration()
- .getBoolean("isis.reflector.facet.filterVisibility", true);
+ boolean filterForVisibility = getConfiguration().getBoolean("isis.reflector.facet.filterVisibility", true);
if(filterForVisibility) {
final List<ObjectAdapter> visibleAdapters =
ObjectAdapter.Util.visibleAdapters(
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java
index 10a26c8..9207b60 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java
@@ -32,7 +32,6 @@ import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacetAbstract;
-import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
public class PropertyAccessorFacetViaAccessor
@@ -76,8 +75,7 @@ public class PropertyAccessorFacetViaAccessor
return null;
}
- boolean filterForVisibility = InteractionUtils.FILTERING.get() && getConfiguration()
- .getBoolean("isis.reflector.facet.filterVisibility", true);
+ boolean filterForVisibility = getConfiguration().getBoolean("isis.reflector.facet.filterVisibility", true);
if(filterForVisibility) {
final ObjectAdapter referencedAdapter = getAdapterManager().adapterFor(referencedObject);
final boolean visible = ObjectAdapter.Util
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
index 3063ff2..0af9114 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
@@ -20,7 +20,6 @@
package org.apache.isis.core.metamodel.interactions;
import java.util.List;
-import java.util.concurrent.Callable;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.consent.InteractionResultSet;
@@ -30,30 +29,6 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
public final class InteractionUtils {
- /**
- * Do NOT call directly, instead use {@link #withFiltering(Callable)}.
- */
- public static ThreadLocal<Boolean> FILTERING = new ThreadLocal() {
- @Override
- protected Boolean initialValue() {
- return false;
- }
- };
-
- public static <T> T withFiltering(Callable<T> callable) {
- try {
- FILTERING.set(true);
- return callable.call();
- } catch (Exception e) {
- if(e instanceof RuntimeException) {
- throw (RuntimeException) e;
- }
- throw new RuntimeException(e);
- } finally {
- FILTERING.set(false);
- }
- }
-
private InteractionUtils() {
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
index 57dea94..30643b0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
@@ -31,6 +31,7 @@ import org.apache.isis.core.metamodel.adapter.QuerySubmitter;
import org.apache.isis.core.metamodel.adapter.ServicesProvider;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
import org.apache.isis.core.metamodel.spec.ObjectInstantiator;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
@@ -40,6 +41,8 @@ import org.apache.isis.core.metamodel.spec.SpecificationLoader;
*/
public interface RuntimeContext extends Injectable, ApplicationScopedComponent {
+ public DeploymentCategoryProvider getDeploymentCategoryProvider();
+
public DeploymentCategory getDeploymentCategory();
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContextAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContextAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContextAbstract.java
index a77be38..16a2b12 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContextAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContextAbstract.java
@@ -23,7 +23,12 @@ import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;
import java.util.Properties;
+
import com.google.common.collect.Lists;
+
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProviderAbstract;
import org.apache.isis.core.metamodel.services.ServicesInjectorSpiDelegator;
import org.apache.isis.core.metamodel.spec.ObjectSpecId;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -61,6 +66,7 @@ public abstract class RuntimeContextAbstract implements RuntimeContext, Specific
protected void injectSubcomponentsInto(final Object candidate) {
getAdapterManager().injectInto(candidate);
getAuthenticationSessionProvider().injectInto(candidate);
+ getDeploymentCategoryProvider().injectInto(candidate);
getServicesInjector().injectInto(candidate);
getDomainObjectServices().injectInto(candidate);
getLocalizationProvider().injectInto(candidate);
@@ -73,6 +79,17 @@ public abstract class RuntimeContextAbstract implements RuntimeContext, Specific
}
@Override
+ public DeploymentCategoryProvider getDeploymentCategoryProvider() {
+ return new DeploymentCategoryProviderAbstract() {
+ @Override
+ public DeploymentCategory getDeploymentCategory() {
+ return RuntimeContextAbstract.this.getDeploymentCategory();
+ }
+ };
+ }
+
+
+ @Override
public SpecificationLoader getSpecificationLoader() {
return specificationLookupDelegator;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
index a8319a9..b961550 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
@@ -79,7 +79,10 @@ import org.apache.isis.core.metamodel.spec.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.SpecificationLoaderAware;
@DomainService(nature = NatureOfService.DOMAIN)
-public class DomainObjectContainerDefault implements DomainObjectContainer, QuerySubmitterAware, ObjectDirtierAware, DomainObjectServicesAware, ObjectPersistorAware, SpecificationLoaderAware, AuthenticationSessionProviderAware, AdapterManagerAware, LocalizationProviderAware, ExceptionRecognizer {
+public class DomainObjectContainerDefault
+ implements DomainObjectContainer, QuerySubmitterAware, ObjectDirtierAware, DomainObjectServicesAware,
+ ObjectPersistorAware, SpecificationLoaderAware, AuthenticationSessionProviderAware, AdapterManagerAware,
+ LocalizationProviderAware, ExceptionRecognizer {
//region > titleOf
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
index 594c8c8..7e0fbae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
@@ -104,7 +104,8 @@ public interface ObjectAction extends ObjectMember {
final ObjectAdapter target,
final ObjectAdapter[] parameters,
final AuthenticationSession authenticationSession,
- final Where where, final InteractionInitiatedBy interactionInitiatedBy) throws AuthorizationException;
+ final InteractionInitiatedBy interactionInitiatedBy,
+ final Where where) throws AuthorizationException;
/**
* Invokes the action's method on the target object given the specified set
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
index 8cc209f..6c5d4fb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
@@ -353,7 +353,8 @@ public class ObjectActionImpl extends ObjectMemberAbstract implements ObjectActi
final ObjectAdapter target,
final ObjectAdapter[] arguments,
final AuthenticationSession authenticationSession,
- final Where where, final InteractionInitiatedBy interactionInitiatedBy) {
+ final InteractionInitiatedBy interactionInitiatedBy,
+ final Where where) {
// see it?
final Consent visibility = isVisible(target, interactionInitiatedBy, where);
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
index f6948c4..dda81a3 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
@@ -31,9 +31,13 @@ import org.junit.Ignore;
import org.junit.Test;
import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.metamodel.adapter.LocalizationDefault;
import org.apache.isis.core.metamodel.adapter.LocalizationProvider;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
@@ -57,6 +61,12 @@ public class TitleAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
@Allowing
@Mock
private LocalizationProvider mockLocalizationProvider;
+ @Mock
+ private DeploymentCategoryProvider mockDeploymentCategoryProvider;
+ @Mock
+ private AuthenticationSessionProvider mockAuthenticationSessionProvider;
+ @Mock
+ private AuthenticationSession mockAuthenticationSession;
@Before
public void setUp() throws Exception {
@@ -66,6 +76,8 @@ public class TitleAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
facetFactory = context.getClassUnderTest();
facetFactory.setAdapterManager(mockAdapterManager);
facetFactory.setSpecificationLoader(mockSpecificationLoaderSpi);
+ facetFactory.setAuthenticationSessionProvider(mockAuthenticationSessionProvider);
+ facetFactory.setDeploymentCategoryProvider(mockDeploymentCategoryProvider);
context.checking(new Expectations() {
{
@@ -73,6 +85,18 @@ public class TitleAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
will(returnValue(new LocalizationDefault()));
}
});
+ context.checking(new Expectations() {
+ {
+ allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
+ will(returnValue(DeploymentCategory.PRODUCTION));
+ }
+ });
+ context.checking(new Expectations() {
+ {
+ allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
+ will(returnValue(mockAuthenticationSession));
+ }
+ });
}
@After
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
index 3cde2b1..1371ec5 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
@@ -26,7 +26,7 @@ import com.google.common.collect.Lists;
import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.core.commons.debug.DebuggableWithTitle;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProviderAbstract;
import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
/**
@@ -54,7 +54,7 @@ import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
* {@link DeploymentType}, eg using the <tt>--type</tt> command line arg</li>
* </ul>
*/
-public class DeploymentType implements DeploymentCategoryProvider {
+public class DeploymentType extends DeploymentCategoryProviderAbstract {
private static List<DeploymentType> deploymentTypes = Lists.newArrayList();
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index ac1de1b..eefbcaa 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -19,20 +19,13 @@
package org.apache.isis.viewer.wicket.viewer;
-import de.agilecoders.wicket.core.Bootstrap;
-import de.agilecoders.wicket.core.markup.html.bootstrap.behavior.BootstrapBaseBehavior;
-import de.agilecoders.wicket.core.settings.BootstrapSettings;
-import de.agilecoders.wicket.core.settings.IBootstrapSettings;
-import de.agilecoders.wicket.webjars.WicketWebjars;
-import de.agilecoders.wicket.webjars.settings.IWebjarsSettings;
-import de.agilecoders.wicket.webjars.settings.WebjarsSettings;
-import net.ftlines.wicketsource.WicketSource;
-
import java.util.Collections;
import java.util.List;
import java.util.ServiceLoader;
import java.util.Set;
+
import javax.servlet.ServletContext;
+
import com.google.common.base.Function;
import com.google.common.base.Throwables;
import com.google.common.collect.Iterables;
@@ -43,6 +36,7 @@ import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Module;
import com.vaynberg.wicket.select2.ApplicationSettings;
+
import org.apache.wicket.Application;
import org.apache.wicket.ConverterLocator;
import org.apache.wicket.IConverterLocator;
@@ -66,6 +60,7 @@ import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy;
import org.apache.wicket.util.time.Duration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
@@ -78,6 +73,8 @@ import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderCl
import org.apache.isis.core.commons.resource.ResourceStreamSourceCurrentClassClassPath;
import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelInvalidException;
import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer;
import org.apache.isis.core.runtime.runner.IsisInjectModule;
@@ -112,6 +109,15 @@ import org.apache.isis.viewer.wicket.viewer.integration.wicket.ConverterForObjec
import org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis;
import org.apache.isis.viewer.wicket.viewer.settings.IsisResourceSettings;
+import de.agilecoders.wicket.core.Bootstrap;
+import de.agilecoders.wicket.core.markup.html.bootstrap.behavior.BootstrapBaseBehavior;
+import de.agilecoders.wicket.core.settings.BootstrapSettings;
+import de.agilecoders.wicket.core.settings.IBootstrapSettings;
+import de.agilecoders.wicket.webjars.WicketWebjars;
+import de.agilecoders.wicket.webjars.settings.IWebjarsSettings;
+import de.agilecoders.wicket.webjars.settings.WebjarsSettings;
+import net.ftlines.wicketsource.WicketSource;
+
/**
* Main application, subclassing the Wicket {@link Application} and
* bootstrapping Isis.
@@ -135,7 +141,10 @@ import org.apache.isis.viewer.wicket.viewer.settings.IsisResourceSettings;
* Alternatively, {@link ComponentFactory}s can be specified by overridding {@link #newIsisWicketModule()}.
* This mechanism allows a number of other aspects to be customized.
*/
-public class IsisWicketApplication extends AuthenticatedWebApplication implements ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, AuthenticationSessionProvider {
+public class IsisWicketApplication
+ extends AuthenticatedWebApplication
+ implements ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, AuthenticationSessionProvider,
+ DeploymentCategoryProvider {
private static final long serialVersionUID = 1L;
@@ -803,4 +812,9 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
cast.setAuthenticationSessionProvider(this);
}
}
+
+ @Override
+ public DeploymentCategory getDeploymentCategory() {
+ return deploymentType.getDeploymentCategory();
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index 9e35254..80e64d6 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -26,7 +26,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.concurrent.Callable;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -62,7 +61,6 @@ import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.spec.ActionType;
import org.apache.isis.core.metamodel.spec.ObjectSpecId;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -468,14 +466,10 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> {
final AuthenticationSession session = getAuthenticationSession();
final ObjectAdapter resultAdapter =
- InteractionUtils.withFiltering(new Callable<ObjectAdapter>() {
- @Override public ObjectAdapter call() throws Exception {
- return action
- .executeWithRuleChecking(
- targetAdapter, arguments, session,
- WHERE_FOR_ACTION_INVOCATION, InteractionInitiatedBy.USER);
- }
- });
+ action.executeWithRuleChecking(
+ targetAdapter, arguments, session,
+ InteractionInitiatedBy.USER,
+ WHERE_FOR_ACTION_INVOCATION);
return resultAdapter;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index 848111c..514faf8 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -107,14 +107,7 @@ public class EntityCollectionModel extends ModelAbstract<List<ObjectAdapter>> im
final ObjectAdapter adapter = entityCollectionModel.parentObjectAdapterMemento.getObjectAdapter(
ConcurrencyChecking.NO_CHECK);
final OneToManyAssociation collection = entityCollectionModel.collectionMemento.getCollection();
- final ObjectAdapter collectionAsAdapter =
- InteractionUtils.withFiltering(
- new Callable<ObjectAdapter>() {
- @Override
- public ObjectAdapter call() throws Exception {
- return collection.get(adapter, InteractionInitiatedBy.USER);
- }
- });
+ final ObjectAdapter collectionAsAdapter = collection.get(adapter, InteractionInitiatedBy.USER);
final List<Object> objectList = asIterable(collectionAsAdapter);
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index acaffc7..460f843 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -22,11 +22,12 @@ package org.apache.isis.viewer.wicket.model.models;
import java.io.Serializable;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.Callable;
import com.google.common.collect.Maps;
+
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
+
import org.apache.isis.applib.annotation.BookmarkPolicy;
import org.apache.isis.applib.services.memento.MementoService.Memento;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -39,7 +40,6 @@ import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
-import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.spec.ObjectSpecId;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.ObjectSpecifications.MemberGroupLayoutHint;
@@ -382,11 +382,7 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> {
final ScalarModel scalarModel = propertyScalarModels.get(pm);
final ObjectAdapter adapter = getObject();
final ObjectAdapter associatedAdapter =
- InteractionUtils.withFiltering(new Callable<ObjectAdapter>() {
- @Override public ObjectAdapter call() throws Exception {
- return pm.getProperty().get(adapter, InteractionInitiatedBy.USER);
- }
- });
+ pm.getProperty().get(adapter, InteractionInitiatedBy.USER);
scalarModel.setObject(associatedAdapter);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index 2573f0c..c44d749 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -175,17 +175,11 @@ public class ScalarModel extends EntityModel implements LinksProvider {
final DeploymentCategory deploymentCategory) {
final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
final OneToOneAssociation property = propertyMemento.getProperty();
- final ObjectAdapter[] choices =
- InteractionUtils.withFiltering(new Callable<ObjectAdapter[]>() {
- @Override
- public ObjectAdapter[] call() throws Exception {
- ObjectAdapter parentAdapter = scalarModel.parentObjectAdapterMemento
- .getObjectAdapter(ConcurrencyChecking.NO_CHECK);
- return property.getChoices(
- parentAdapter,
- InteractionInitiatedBy.USER);
- }
- });
+ ObjectAdapter parentAdapter = scalarModel.parentObjectAdapterMemento
+ .getObjectAdapter(ConcurrencyChecking.NO_CHECK);
+ final ObjectAdapter[] choices = property.getChoices(
+ parentAdapter,
+ InteractionInitiatedBy.USER);
return choicesAsList(choices);
}
@@ -208,14 +202,9 @@ public class ScalarModel extends EntityModel implements LinksProvider {
final ObjectAdapter parentAdapter =
scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
final ObjectAdapter[] choices =
- InteractionUtils.withFiltering(new Callable<ObjectAdapter[]>() {
- @Override
- public ObjectAdapter[] call() throws Exception {
- return property.getAutoComplete(
- parentAdapter, searchArg,
- authenticationSession, deploymentCategory, InteractionInitiatedBy.USER);
- }
- });
+ property.getAutoComplete(
+ parentAdapter, searchArg,
+ authenticationSession, deploymentCategory, InteractionInitiatedBy.USER);
return choicesAsList(choices);
}
@@ -279,12 +268,7 @@ public class ScalarModel extends EntityModel implements LinksProvider {
final ObjectAdapter parentAdapter =
scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.CHECK);
final ObjectAdapter associatedAdapter =
- InteractionUtils.withFiltering(new Callable<ObjectAdapter>() {
- @Override
- public ObjectAdapter call() throws Exception {
- return property.get(parentAdapter, InteractionInitiatedBy.USER);
- }
- });
+ property.get(parentAdapter, InteractionInitiatedBy.USER);
scalarModel.setObject(associatedAdapter);
}
},
@@ -382,14 +366,9 @@ public class ScalarModel extends EntityModel implements LinksProvider {
final ObjectAdapter parentAdapter =
scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.CHECK);
final ObjectAdapter[] choices =
- InteractionUtils.withFiltering(new Callable<ObjectAdapter[]>() {
- @Override
- public ObjectAdapter[] call() throws Exception {
- return actionParameter.getChoices(
- parentAdapter, argumentsIfAvailable,
- InteractionInitiatedBy.USER);
- }
- });
+ actionParameter.getChoices(
+ parentAdapter, argumentsIfAvailable,
+ InteractionInitiatedBy.USER);
return choicesAsList(choices);
}
@@ -410,14 +389,9 @@ public class ScalarModel extends EntityModel implements LinksProvider {
final ObjectAdapter parentAdapter =
scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
- final ObjectAdapter[] choices =
- InteractionUtils.withFiltering(new Callable<ObjectAdapter[]>() {
- @Override public ObjectAdapter[] call() throws Exception {
- return actionParameter.getAutoComplete(
- parentAdapter, searchArg,
- InteractionInitiatedBy.USER);
- }
- });
+ final ObjectAdapter[] choices = actionParameter.getAutoComplete(
+ parentAdapter, searchArg,
+ InteractionInitiatedBy.USER);
return choicesAsList(choices);
}
@@ -601,13 +575,7 @@ public class ScalarModel extends EntityModel implements LinksProvider {
private void getAndStore(final ObjectAdapterMemento parentAdapterMemento) {
final OneToOneAssociation property = propertyMemento.getProperty();
final ObjectAdapter parentAdapter = parentAdapterMemento.getObjectAdapter(ConcurrencyChecking.CHECK);
- final ObjectAdapter associatedAdapter =
- InteractionUtils.withFiltering(new Callable<ObjectAdapter>() {
- @Override
- public ObjectAdapter call() throws Exception {
- return property.get(parentAdapter, InteractionInitiatedBy.USER);
- }
- });
+ final ObjectAdapter associatedAdapter = property.get(parentAdapter, InteractionInitiatedBy.USER);
setObject(associatedAdapter);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
index b9bcd47..1929b5d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
@@ -128,8 +128,9 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
bulkInteractionContext.setIndex(i++);
}
- lastReturnedAdapter = objectAction.executeWithRuleChecking(adapter, new ObjectAdapter[]{}, getAuthenticationSession(), ActionModel.WHERE_FOR_ACTION_INVOCATION,
- InteractionInitiatedBy.USER);
+ lastReturnedAdapter = objectAction.executeWithRuleChecking(adapter, new ObjectAdapter[]{}, getAuthenticationSession(),
+ InteractionInitiatedBy.USER, ActionModel.WHERE_FOR_ACTION_INVOCATION
+ );
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 8f62881..ae59684 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -44,7 +44,6 @@ import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -528,10 +527,6 @@ public class ReferencePanel extends ScalarPanelAbstract {
}
- private DeploymentCategory getDeploymentCategory() {
- return getDeploymentType().getDeploymentCategory();
- }
-
@Inject
private WicketViewerSettings wicketViewerSettings;
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
index 59f152e..fa749df 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
@@ -20,16 +20,21 @@
package org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent;
import java.util.List;
+
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.Session;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.FormComponentPanel;
import org.apache.wicket.model.IModel;
+
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProviderAware;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
@@ -44,7 +49,8 @@ import org.apache.isis.viewer.wicket.ui.util.Components;
* Wicket {@link FormComponentPanel}, providing the ability to build up the
* panel using other {@link ComponentType}s.
*/
-public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T> implements PersistenceSessionProvider, AuthenticationSessionProvider {
+public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T>
+ implements PersistenceSessionProvider, AuthenticationSessionProvider, DeploymentCategoryProvider {
private static final long serialVersionUID = 1L;
@@ -137,6 +143,11 @@ public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T
return ((AuthenticationSessionProvider) Session.get()).getAuthenticationSession();
}
+ @Override
+ public DeploymentCategory getDeploymentCategory() {
+ return IsisContext.getDeploymentType().getDeploymentCategory();
+ }
+
// ///////////////////////////////////////////////////////////////////
// Dependencies (from IsisContext)
// ///////////////////////////////////////////////////////////////////
@@ -161,6 +172,10 @@ public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T
final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
cast.setAuthenticationSessionProvider(this);
}
+ if (DeploymentCategoryProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final DeploymentCategoryProviderAware cast = DeploymentCategoryProviderAware.class.cast(candidate);
+ cast.setDeploymentCategoryProvider(this);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index 64018b2..8a05dd3 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -38,7 +38,6 @@ import org.apache.wicket.model.Model;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
@@ -286,10 +285,6 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
return scalarModel;
}
- private DeploymentCategory getDeploymentCategory() {
- return getDeploymentType().getDeploymentCategory();
- }
-
@Inject
private WicketViewerSettings wicketViewerSettings;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
index 2b8260d..cc3f90b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
@@ -20,18 +20,20 @@
package org.apache.isis.viewer.wicket.ui.panels;
import java.util.List;
-import org.apache.wicket.markup.head.CssHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
+
import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.IFormSubmitter;
import org.apache.wicket.model.IModel;
-import org.apache.wicket.request.resource.CssResourceReference;
+
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProviderAware;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.viewer.wicket.model.isis.PersistenceSessionProvider;
@@ -40,7 +42,9 @@ import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistryAcc
import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistry;
import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistryAccessor;
-public abstract class FormAbstract<T> extends Form<T> implements IHeaderContributor, ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, AuthenticationSessionProvider, PersistenceSessionProvider {
+public abstract class FormAbstract<T> extends Form<T>
+ implements IHeaderContributor, ComponentFactoryRegistryAccessor, PageClassRegistryAccessor,
+ AuthenticationSessionProvider, DeploymentCategoryProvider, PersistenceSessionProvider {
private static final long serialVersionUID = 1L;
@@ -121,6 +125,12 @@ public abstract class FormAbstract<T> extends Form<T> implements IHeaderContribu
return IsisContext.getAuthenticationSession();
}
+ @Override
+ public DeploymentCategory getDeploymentCategory() {
+ return IsisContext.getDeploymentType().getDeploymentCategory();
+ }
+
+ // UNUSED ?
protected List<ObjectAdapter> getServiceAdapters() {
return IsisContext.getPersistenceSession().getServices();
}
@@ -135,6 +145,10 @@ public abstract class FormAbstract<T> extends Form<T> implements IHeaderContribu
final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
cast.setAuthenticationSessionProvider(this);
}
+ if (DeploymentCategoryProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final DeploymentCategoryProviderAware cast = DeploymentCategoryProviderAware.class.cast(candidate);
+ cast.setDeploymentCategoryProvider(this);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
index 15ef6f0..5026844 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
@@ -28,6 +28,9 @@ import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProviderAware;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
@@ -41,7 +44,8 @@ import org.apache.isis.viewer.wicket.ui.util.Components;
* Convenience adapter for {@link Panel}s built up using {@link ComponentType}s.
*/
// TODO mgrigorov: extend GenericPanel and make T the type of the model object, not the model
-public abstract class PanelAbstract<T extends IModel<?>> extends Panel implements IHeaderContributor, PersistenceSessionProvider, AuthenticationSessionProvider {
+public abstract class PanelAbstract<T extends IModel<?>> extends Panel implements IHeaderContributor, PersistenceSessionProvider, AuthenticationSessionProvider,
+ DeploymentCategoryProvider {
private static final long serialVersionUID = 1L;
@@ -114,7 +118,7 @@ public abstract class PanelAbstract<T extends IModel<?>> extends Panel implement
}
- // ///////////////////////////////////////////////////////////////////
+ // ///////////////////////////////////////////////////////////////////
// Convenience
// ///////////////////////////////////////////////////////////////////
@@ -130,6 +134,12 @@ public abstract class PanelAbstract<T extends IModel<?>> extends Panel implement
return asa.getAuthenticationSession();
}
+ @Override
+ public DeploymentCategory getDeploymentCategory() {
+ return IsisContext.getDeploymentType().getDeploymentCategory();
+ }
+
+
// ///////////////////////////////////////////////////////////////////
// Dependencies (from IsisContext)
// ///////////////////////////////////////////////////////////////////
@@ -163,6 +173,10 @@ public abstract class PanelAbstract<T extends IModel<?>> extends Panel implement
final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
cast.setAuthenticationSessionProvider(this);
}
+ if (DeploymentCategoryProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final DeploymentCategoryProviderAware cast = DeploymentCategoryProviderAware.class.cast(candidate);
+ cast.setDeploymentCategoryProvider(this);
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/eab298d3/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
index eaad66a..e62ec6c 100644
--- a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
+++ b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
@@ -26,7 +26,6 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.Callable;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
@@ -61,7 +60,6 @@ import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.ImperativeFacet.Intent;
-import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.interactions.ObjectTitleContext;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
@@ -389,15 +387,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
resolveIfRequired(targetAdapter);
final InteractionInitiatedBy interactionInitiatedBy = getInteractionInitiatedBy();
- final ObjectAdapter currentReferencedAdapter =
- executionMode.shouldEnforceRules()
- ? InteractionUtils.withFiltering(new Callable<ObjectAdapter>() {
- @Override
- public ObjectAdapter call() throws Exception {
- return property.get(targetAdapter, interactionInitiatedBy);
- }
- })
- : property.get(targetAdapter, interactionInitiatedBy);
+ final ObjectAdapter currentReferencedAdapter = property.get(targetAdapter, interactionInitiatedBy);
final Object currentReferencedObj = ObjectAdapter.Util.unwrap(currentReferencedAdapter);
@@ -467,15 +457,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
resolveIfRequired(targetAdapter);
final InteractionInitiatedBy interactionInitiatedBy = getInteractionInitiatedBy();
- final ObjectAdapter currentReferencedAdapter =
- executionMode.shouldEnforceRules()
- ? InteractionUtils.withFiltering(new Callable<ObjectAdapter>() {
- @Override
- public ObjectAdapter call() throws Exception {
- return collection.get(targetAdapter, interactionInitiatedBy);
- }
- })
- : collection.get(targetAdapter, interactionInitiatedBy);
+ final ObjectAdapter currentReferencedAdapter = collection.get(targetAdapter, interactionInitiatedBy);
final Object currentReferencedObj = ObjectAdapter.Util.unwrap(currentReferencedAdapter);
@@ -650,15 +632,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
if (getExecutionMode().shouldExecute()) {
final InteractionInitiatedBy interactionInitiatedBy = getInteractionInitiatedBy();
final ObjectAdapter actionReturnNO =
- executionMode.shouldEnforceRules()
- ? InteractionUtils.withFiltering(new Callable<ObjectAdapter>() {
- @Override
- public ObjectAdapter call() throws Exception {
- return objectAction.execute(targetAdapter, argAdapters,
- interactionInitiatedBy);
- }
- })
- : objectAction.execute(targetAdapter, argAdapters, interactionInitiatedBy);
+ objectAction.execute(targetAdapter, argAdapters, interactionInitiatedBy);
return ObjectAdapter.Util.unwrap(actionReturnNO);
}