From d114fecf4f0467980e54d9fe44df11c996ba019d Mon Sep 17 00:00:00 2001 From: Wim Velzeboer Date: Mon, 11 Sep 2023 17:19:36 +0100 Subject: [PATCH] Remove Sharing Mode from Dynamic Application Factories Sharing mode is no longer required as SOQL queries can now run in USER_MODE or SYSTEM_MODE. --- .../classes/fflib_AppBindingResolver.cls | 1 - .../dynamic/classes/fflib_AppBindings.cls | 14 -------- .../classes/fflib_DynamicAppFactory.cls | 12 ------- .../classes/fflib_DynamicSelectorFactory.cls | 1 - .../dynamic/classes/fflib_SharingMode.cls | 34 ------------------- .../classes/fflib_SharingMode.cls-meta.xml | 5 --- .../interfaces/fflib_IAppBindingResolver.cls | 1 - .../classes/interfaces/fflib_IAppBindings.cls | 1 - .../fflib_DynamicServiceFactoryTest.cls | 3 +- 9 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_SharingMode.cls delete mode 100644 sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_SharingMode.cls-meta.xml diff --git a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_AppBindingResolver.cls b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_AppBindingResolver.cls index 875c376..7f65040 100644 --- a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_AppBindingResolver.cls +++ b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_AppBindingResolver.cls @@ -160,7 +160,6 @@ public virtual class fflib_AppBindingResolver .selectByType(bindingToResolve.getBindingType()) .selectByInterfaceType(bindingToResolve.getInterfaceType()) .selectByObject(bindingToResolve.getBindingObject()) - .selectBySharingMode(bindingToResolve.getSharingMode()) .selectBySequence(bindingToResolve.getSequence()); this.bindingToResolve = internalBindings.newAppBinding(); diff --git a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_AppBindings.cls b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_AppBindings.cls index 7ff4053..06e95e4 100644 --- a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_AppBindings.cls +++ b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_AppBindings.cls @@ -182,20 +182,6 @@ public virtual class fflib_AppBindings return new fflib_AppBindings(result); } - public fflib_IAppBindings selectBySharingMode(fflib_SharingMode sharingMode) - { - if (null == sharingMode) return this; - - List result = new List(); - for (fflib_IAppBinding binding : bindings) - { - if (binding.getSharingMode() != sharingMode) continue; - - result.add(binding); - } - return new fflib_AppBindings(result); - } - public fflib_IAppBindings selectByNamespacePrefix(String namespacePrefix) { if (null == namespacePrefix) return this; diff --git a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_DynamicAppFactory.cls b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_DynamicAppFactory.cls index 863966e..7f7f742 100644 --- a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_DynamicAppFactory.cls +++ b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_DynamicAppFactory.cls @@ -32,18 +32,6 @@ public abstract class fflib_DynamicAppFactory { protected String packageName; - protected fflib_SharingMode sharingMode - { - get - { - if (sharingMode == null) - { - sharingMode = fflib_SharingMode.WithSharing; - } - return sharingMode; - } - set; - } protected fflib_IAppBindingResolver resolver; protected Map routes; diff --git a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_DynamicSelectorFactory.cls b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_DynamicSelectorFactory.cls index 9719207..f4b898c 100644 --- a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_DynamicSelectorFactory.cls +++ b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_DynamicSelectorFactory.cls @@ -106,7 +106,6 @@ public virtual class fflib_DynamicSelectorFactory Map implementationBySObjectType = appBindings.selectByType(fflib_AppBindingType.Selector) - .selectBySharingMode(this.sharingMode) .getImplementationBySObjectType(); this.selectorFactory = new fflib_ClassicSelectorFactory(implementationBySObjectType); diff --git a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_SharingMode.cls b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_SharingMode.cls deleted file mode 100644 index 451877d..0000000 --- a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_SharingMode.cls +++ /dev/null @@ -1,34 +0,0 @@ -/** - * File Name: fflib_SharingMode - * @description Enum with the Application Binding Sharing Modes - - * @author architect ir. Wilhelmus G.J. Velzeboer - * - * Copyright (c), W.G.J. Velzeboer, - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above author notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - Neither the name of the author nor the names of its contributors - * may be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -public enum fflib_SharingMode -{ - WithSharing, WithoutSharing, InheritedSharing, None -} \ No newline at end of file diff --git a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_SharingMode.cls-meta.xml b/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_SharingMode.cls-meta.xml deleted file mode 100644 index 754ecb1..0000000 --- a/sfdx-source/apex-extensions/main/application/dynamic/classes/fflib_SharingMode.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 57.0 - Active - diff --git a/sfdx-source/apex-extensions/main/application/dynamic/classes/interfaces/fflib_IAppBindingResolver.cls b/sfdx-source/apex-extensions/main/application/dynamic/classes/interfaces/fflib_IAppBindingResolver.cls index 187f443..3748dcc 100644 --- a/sfdx-source/apex-extensions/main/application/dynamic/classes/interfaces/fflib_IAppBindingResolver.cls +++ b/sfdx-source/apex-extensions/main/application/dynamic/classes/interfaces/fflib_IAppBindingResolver.cls @@ -35,7 +35,6 @@ public interface fflib_IAppBindingResolver fflib_IAppBindingResolver bySequence(Integer sequence); fflib_IAppBindingResolver byType(fflib_AppBindingType bindingType); fflib_IAppBindingResolver byInterfaceType(System.Type interfaceType); - fflib_IAppBindingResolver bySharingMode(fflib_SharingMode sharingMode); fflib_IAppBindingResolver byNamespacePrefix(String namespacePrefix); fflib_IAppBindingResolver byPackageName(String packageName); List resolve(); diff --git a/sfdx-source/apex-extensions/main/application/dynamic/classes/interfaces/fflib_IAppBindings.cls b/sfdx-source/apex-extensions/main/application/dynamic/classes/interfaces/fflib_IAppBindings.cls index edce326..2710d9d 100644 --- a/sfdx-source/apex-extensions/main/application/dynamic/classes/interfaces/fflib_IAppBindings.cls +++ b/sfdx-source/apex-extensions/main/application/dynamic/classes/interfaces/fflib_IAppBindings.cls @@ -44,7 +44,6 @@ public interface fflib_IAppBindings fflib_IAppBindings selectBySequence(Decimal sequence); fflib_IAppBindings selectByType(fflib_AppBindingType bindingType); fflib_IAppBindings selectByInterfaceType(System.Type interfaceType); - fflib_IAppBindings selectBySharingMode(fflib_SharingMode sharingMode); fflib_IAppBindings selectByNamespacePrefix(String namespacePrefix); fflib_IAppBindings selectByPackageName(String packageName); } \ No newline at end of file diff --git a/sfdx-source/apex-extensions/tests/classes/application/fflib_DynamicServiceFactoryTest.cls b/sfdx-source/apex-extensions/tests/classes/application/fflib_DynamicServiceFactoryTest.cls index 8d2b587..91ab26f 100644 --- a/sfdx-source/apex-extensions/tests/classes/application/fflib_DynamicServiceFactoryTest.cls +++ b/sfdx-source/apex-extensions/tests/classes/application/fflib_DynamicServiceFactoryTest.cls @@ -128,8 +128,7 @@ public class fflib_DynamicServiceFactoryTest new fflib_AppBindingResolver(); private static final fflib_DynamicServiceFactory Service = - new fflib_DynamicServiceFactory(bindingResolver) - .setSharingMode(fflib_SharingMode.WithSharing); + new fflib_DynamicServiceFactory(bindingResolver); public interface IMyService {}