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 2016/06/03 15:58:38 UTC
[7/8] isis git commit: ISIS-1422: use PublishingServiceInternal's
withPublishingSuppressed wormhole to stop publishing when invoke an action
for autoComplete.
ISIS-1422: use PublishingServiceInternal's withPublishingSuppressed wormhole to stop publishing when invoke an action for autoComplete.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a3225182
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a3225182
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a3225182
Branch: refs/heads/master
Commit: a322518276504ab788b46a7a777b30230727f909
Parents: 0f55080
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Jun 3 15:21:07 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Jun 3 16:43:54 2016 +0100
----------------------------------------------------------------------
.../autocomplete/AutoCompleteFacetAbstract.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/a3225182/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
index 5f489ef..2c999cf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
@@ -23,6 +23,7 @@ import java.lang.reflect.Method;
import java.util.Collections;
import java.util.List;
+import org.apache.isis.applib.services.publish.PublisherService;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -37,6 +38,7 @@ import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInv
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.param.autocomplete.MinLengthUtil;
import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal;
import org.apache.isis.core.metamodel.spec.ActionType;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -100,8 +102,16 @@ public abstract class AutoCompleteFacetAbstract extends FacetAbstract implements
final ObjectAdapter repositoryAdapter = adapterManager.getAdapterFor(repository);
final ObjectAdapter searchAdapter = adapterManager.adapterFor(search);
- final ObjectAdapter resultAdapter = repositoryAction.execute(repositoryAdapter, null, new ObjectAdapter[] { searchAdapter},
- interactionInitiatedBy);
+
+ final ObjectAdapter resultAdapter =
+ getPublishingServiceInternal().withPublishingSuppressed(new PublishingServiceInternal.Block<ObjectAdapter>() {
+ @Override
+ public ObjectAdapter exec() {
+ return repositoryAction.execute(repositoryAdapter, null, new ObjectAdapter[] { searchAdapter},
+ interactionInitiatedBy);
+ }
+ });
+
// check a collection was returned
if(CollectionFacet.Utils.getCollectionFacetFromSpec(resultAdapter) == null) {
return Collections.emptyList();
@@ -114,6 +124,10 @@ public abstract class AutoCompleteFacetAbstract extends FacetAbstract implements
adapterList, interactionInitiatedBy);
}
+ private PublishingServiceInternal getPublishingServiceInternal() {
+ return servicesInjector.lookupService(PublishingServiceInternal.class);
+ }
+
private void cacheRepositoryAndRepositoryActionIfRequired() {
if(!cachedRepositoryAction) {