You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by sa...@apache.org on 2018/02/07 21:42:36 UTC
[geode] branch develop updated: GEODE-3974: improve permission for
Internal functions (#1395)
This is an automated email from the ASF dual-hosted git repository.
sai_boorlagadda pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new aa46923 GEODE-3974: improve permission for Internal functions (#1395)
aa46923 is described below
commit aa469239860778eb46e09dd7b390aee08f152480
Author: Sai Boorlagadda <sa...@gmail.com>
AuthorDate: Wed Feb 7 13:42:30 2018 -0800
GEODE-3974: improve permission for Internal functions (#1395)
New marker interface InternalFunction to define all
internal functions. InternalFunctions need * permission.
---
.../jdbc/internal/cli/AlterConnectionFunction.java | 9 --
.../jdbc/internal/cli/AlterMappingFunction.java | 9 --
.../internal/cli/CreateConnectionFunction.java | 10 ---
.../jdbc/internal/cli/CreateMappingFunction.java | 10 ---
.../internal/cli/DescribeConnectionFunction.java | 10 ---
.../jdbc/internal/cli/DescribeMappingFunction.java | 10 ---
.../internal/cli/DestroyConnectionFunction.java | 10 ---
.../jdbc/internal/cli/DestroyMappingFunction.java | 10 ---
.../jdbc/internal/cli/JdbcCliFunction.java | 15 +---
.../jdbc/internal/cli/ListConnectionFunction.java | 9 --
.../jdbc/internal/cli/ListMappingFunction.java | 9 --
.../cli/JDBCConnectorFunctionsSecurityTest.java | 22 ++---
.../internal/deadlock/GemFireDeadlockDetector.java | 5 +-
.../internal/cache/PRContainsValueFunction.java | 5 +-
.../internal/cache/execute/InternalFunction.java | 35 ++++----
.../util/FindRestEnabledServersFunction.java | 5 +-
.../internal/cache/snapshot/ClientExporter.java | 4 +-
.../cache/snapshot/RegionSnapshotServiceImpl.java | 4 +-
.../internal/cache/snapshot/WindowedExporter.java | 5 +-
.../management/internal/JmxManagerLocator.java | 5 +-
.../management/internal/ManagementFunction.java | 5 +-
.../internal/beans/QueryDataFunction.java | 3 +-
.../cli/functions/AlterRuntimeConfigFunction.java | 14 +--
.../cli/functions/ChangeLogLevelFunction.java | 14 +--
.../cli/functions/CloseDurableClientFunction.java | 15 +---
.../cli/functions/CloseDurableCqFunction.java | 15 +---
.../cli/functions/ContinuousQueryFunction.java | 13 +--
.../functions/CreateAsyncEventQueueFunction.java | 14 +--
.../functions/CreateDefinedIndexesFunction.java | 14 +--
.../cli/functions/CreateDiskStoreFunction.java | 15 +---
.../cli/functions/CreateIndexFunction.java | 15 +---
.../cli/functions/DataCommandFunction.java | 13 +--
.../internal/cli/functions/DeployFunction.java | 14 +--
.../cli/functions/DescribeDiskStoreFunction.java | 14 +--
.../functions/DestroyAsyncEventQueueFunction.java | 15 +---
.../cli/functions/DestroyDiskStoreFunction.java | 16 +---
.../cli/functions/DestroyIndexFunction.java | 14 +--
.../cli/functions/ExportConfigFunction.java | 14 +--
.../internal/cli/functions/ExportDataFunction.java | 14 +--
.../internal/cli/functions/ExportLogsFunction.java | 14 +--
.../functions/FetchRegionAttributesFunction.java | 14 +--
.../FetchSharedConfigurationStatusFunction.java | 16 +---
.../cli/functions/GarbageCollectionFunction.java | 15 +---
.../functions/GatewayReceiverCreateFunction.java | 14 +--
.../cli/functions/GatewaySenderCreateFunction.java | 15 +---
.../functions/GatewaySenderDestroyFunction.java | 15 +---
.../GetMemberConfigInformationFunction.java | 14 +--
.../functions/GetMemberInformationFunction.java | 14 +--
.../functions/GetRegionDescriptionFunction.java | 15 +---
.../internal/cli/functions/GetRegionsFunction.java | 14 +--
.../cli/functions/GetStackTracesFunction.java | 15 +---
.../GetSubscriptionQueueSizeFunction.java | 15 +---
.../internal/cli/functions/ImportDataFunction.java | 14 +--
.../functions/ListAsyncEventQueuesFunction.java | 14 +--
.../cli/functions/ListDeployedFunction.java | 14 +--
.../cli/functions/ListDiskStoresFunction.java | 14 +--
.../cli/functions/ListDurableCqNamesFunction.java | 14 +--
.../cli/functions/ListFunctionFunction.java | 13 +--
.../internal/cli/functions/ListIndexFunction.java | 14 +--
.../internal/cli/functions/NetstatFunction.java | 14 +--
.../internal/cli/functions/RebalanceFunction.java | 14 +--
.../cli/functions/RegionAlterFunction.java | 14 +--
.../cli/functions/RegionCreateFunction.java | 14 +--
.../cli/functions/RegionDestroyFunction.java | 15 +---
.../functions/ShowMissingDiskStoresFunction.java | 14 +--
.../internal/cli/functions/ShutDownFunction.java | 14 +--
.../cli/functions/SizeExportLogsFunction.java | 14 +--
.../internal/cli/functions/UndeployFunction.java | 14 +--
.../internal/cli/functions/UnregisterFunction.java | 15 +---
.../cli/functions/UserFunctionExecution.java | 4 +-
.../functions/DownloadJarFunction.java | 14 +--
.../functions/GetClusterConfigurationFunction.java | 17 +---
.../functions/GetRegionNamesFunction.java | 14 +--
.../functions/RecreateCacheFunction.java | 15 +---
.../cache/execute/CoreFunctionSecurityTest.java | 100 ++++++++++-----------
.../cli/functions/LuceneCreateIndexFunction.java | 17 +---
.../cli/functions/LuceneDescribeIndexFunction.java | 16 +---
.../cli/functions/LuceneDestroyIndexFunction.java | 18 +---
.../cli/functions/LuceneListIndexFunction.java | 15 +---
.../cli/functions/LuceneSearchIndexFunction.java | 20 +----
.../internal/directory/DumpDirectoryFiles.java | 18 +---
.../internal/distributed/LuceneQueryFunction.java | 14 +--
.../distributed/WaitUntilFlushedFunction.java | 15 +---
.../internal/results/LuceneGetPageFunction.java | 15 +---
.../lucene/LuceneClientSecurityDUnitTest.java | 5 +-
.../lucene/test/LuceneFunctionSecurityTest.java | 56 +++---------
86 files changed, 234 insertions(+), 1020 deletions(-)
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/AlterConnectionFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/AlterConnectionFunction.java
index 68a3cb7..7ac8240 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/AlterConnectionFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/AlterConnectionFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import org.apache.geode.annotations.Experimental;
@@ -25,8 +23,6 @@ import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class AlterConnectionFunction
@@ -90,9 +86,4 @@ public class AlterConnectionFunction
String message = "Altered JDBC connection " + connectionName + " on " + member;
return new CliFunctionResult(member, xmlEntity, message);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_MANAGE);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/AlterMappingFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/AlterMappingFunction.java
index 9d44c46..f7f0045 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/AlterMappingFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/AlterMappingFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import org.apache.geode.annotations.Experimental;
@@ -25,8 +23,6 @@ import org.apache.geode.connectors.jdbc.internal.RegionMapping;
import org.apache.geode.connectors.jdbc.internal.RegionMappingNotFoundException;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class AlterMappingFunction extends JdbcCliFunction<RegionMapping, CliFunctionResult> {
@@ -88,9 +84,4 @@ public class AlterMappingFunction extends JdbcCliFunction<RegionMapping, CliFunc
String message = "Altered JDBC connection " + connectionName + " on " + member;
return new CliFunctionResult(member, xmlEntity, message);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_MANAGE);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateConnectionFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateConnectionFunction.java
index 65c5301..55b4358 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateConnectionFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateConnectionFunction.java
@@ -14,9 +14,6 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.ConnectionConfigExistsException;
@@ -24,8 +21,6 @@ import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class CreateConnectionFunction
@@ -58,9 +53,4 @@ public class CreateConnectionFunction
String message = "Created JDBC connection " + connectionName + " on " + member;
return new CliFunctionResult(member, xmlEntity, message);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_MANAGE);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunction.java
index 2b5f046..a7fb1a5 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunction.java
@@ -14,9 +14,6 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
@@ -24,8 +21,6 @@ import org.apache.geode.connectors.jdbc.internal.RegionMapping;
import org.apache.geode.connectors.jdbc.internal.RegionMappingExistsException;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class CreateMappingFunction extends JdbcCliFunction<RegionMapping, CliFunctionResult> {
@@ -62,9 +57,4 @@ public class CreateMappingFunction extends JdbcCliFunction<RegionMapping, CliFun
String message = "Created JDBC mapping for region " + regionName + " on " + member;
return new CliFunctionResult(member, xmlEntity, message);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_MANAGE);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeConnectionFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeConnectionFunction.java
index 9f3feca..73c1cb8 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeConnectionFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeConnectionFunction.java
@@ -14,15 +14,10 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class DescribeConnectionFunction extends JdbcCliFunction<String, ConnectionConfiguration> {
@@ -36,9 +31,4 @@ public class DescribeConnectionFunction extends JdbcCliFunction<String, Connecti
FunctionContext<String> context) {
return service.getConnectionConfig(context.getArguments());
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingFunction.java
index d8b54a0..49c56a3 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingFunction.java
@@ -14,15 +14,10 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
import org.apache.geode.connectors.jdbc.internal.RegionMapping;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class DescribeMappingFunction extends JdbcCliFunction<String, RegionMapping> {
@@ -35,9 +30,4 @@ public class DescribeMappingFunction extends JdbcCliFunction<String, RegionMappi
RegionMapping getFunctionResult(JdbcConnectorService service, FunctionContext<String> context) {
return service.getMappingForRegion(context.getArguments());
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyConnectionFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyConnectionFunction.java
index de81353..e69710d 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyConnectionFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyConnectionFunction.java
@@ -14,17 +14,12 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class DestroyConnectionFunction extends JdbcCliFunction<String, CliFunctionResult> {
@@ -81,9 +76,4 @@ public class DestroyConnectionFunction extends JdbcCliFunction<String, CliFuncti
String message = "Connection named \"" + connectionName + "\" not found";
return new CliFunctionResult(member, false, message);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_MANAGE);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyMappingFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyMappingFunction.java
index 9f739ed..643aea6 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyMappingFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyMappingFunction.java
@@ -14,17 +14,12 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
import org.apache.geode.connectors.jdbc.internal.RegionMapping;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class DestroyMappingFunction extends JdbcCliFunction<String, CliFunctionResult> {
@@ -81,9 +76,4 @@ public class DestroyMappingFunction extends JdbcCliFunction<String, CliFunctionR
String message = "Region mapping for region \"" + regionName + "\" not found";
return new CliFunctionResult(member, false, message);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_MANAGE);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/JdbcCliFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/JdbcCliFunction.java
index fc39da0..8b7bd46 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/JdbcCliFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/JdbcCliFunction.java
@@ -14,20 +14,14 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.annotations.Experimental;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
-public abstract class JdbcCliFunction<T1, T2> implements Function<T1>, InternalEntity {
+public abstract class JdbcCliFunction<T1, T2> implements InternalFunction<T1> {
private final FunctionContextArgumentProvider argumentProvider;
private final ExceptionHandler exceptionHandler;
@@ -59,11 +53,6 @@ public abstract class JdbcCliFunction<T1, T2> implements Function<T1>, InternalE
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_READ);
- }
-
String getMember(FunctionContext<T1> context) {
return argumentProvider.getMember(context);
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListConnectionFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListConnectionFunction.java
index 23926bc..58866a6 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListConnectionFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListConnectionFunction.java
@@ -14,16 +14,12 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Set;
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class ListConnectionFunction extends JdbcCliFunction<Void, ConnectionConfiguration[]> {
@@ -46,9 +42,4 @@ public class ListConnectionFunction extends JdbcCliFunction<Void, ConnectionConf
private Set<ConnectionConfiguration> getConnectionConfigs(JdbcConnectorService service) {
return service.getConnectionConfigs();
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingFunction.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingFunction.java
index 15497a0..7b472e1 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingFunction.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingFunction.java
@@ -14,16 +14,12 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Set;
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
import org.apache.geode.connectors.jdbc.internal.RegionMapping;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
@Experimental
public class ListMappingFunction extends JdbcCliFunction<Void, RegionMapping[]> {
@@ -45,9 +41,4 @@ public class ListMappingFunction extends JdbcCliFunction<Void, RegionMapping[]>
private Set<RegionMapping> getRegionMappings(JdbcConnectorService service) {
return service.getRegionMappings();
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/JDBCConnectorFunctionsSecurityTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/JDBCConnectorFunctionsSecurityTest.java
index a0abef0..abc0a3d 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/JDBCConnectorFunctionsSecurityTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/JDBCConnectorFunctionsSecurityTest.java
@@ -63,17 +63,17 @@ public class JDBCConnectorFunctionsSecurityTest {
@BeforeClass
public static void setupClass() {
- functionStringMap.put(new AlterConnectionFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new AlterMappingFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new CreateConnectionFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new CreateMappingFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new DescribeConnectionFunction(), "CLUSTER:READ");
- functionStringMap.put(new DescribeMappingFunction(), "CLUSTER:READ");
- functionStringMap.put(new DestroyConnectionFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new DestroyMappingFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new ListConnectionFunction(), "CLUSTER:READ");
- functionStringMap.put(new ListMappingFunction(), "CLUSTER:READ");
- functionStringMap.put(new InheritsDefaultPermissionsJDBCFunction(), "CLUSTER:READ");
+ functionStringMap.put(new AlterConnectionFunction(), "*");
+ functionStringMap.put(new AlterMappingFunction(), "*");
+ functionStringMap.put(new CreateConnectionFunction(), "*");
+ functionStringMap.put(new CreateMappingFunction(), "*");
+ functionStringMap.put(new DescribeConnectionFunction(), "*");
+ functionStringMap.put(new DescribeMappingFunction(), "*");
+ functionStringMap.put(new DestroyConnectionFunction(), "*");
+ functionStringMap.put(new DestroyMappingFunction(), "*");
+ functionStringMap.put(new ListConnectionFunction(), "*");
+ functionStringMap.put(new ListMappingFunction(), "*");
+ functionStringMap.put(new InheritsDefaultPermissionsJDBCFunction(), "*");
functionStringMap.keySet().forEach(FunctionService::registerFunction);
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/GemFireDeadlockDetector.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/GemFireDeadlockDetector.java
index 2e039d8..1ade269 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/GemFireDeadlockDetector.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/GemFireDeadlockDetector.java
@@ -20,7 +20,6 @@ import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.apache.geode.cache.execute.Execution;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.FunctionException;
import org.apache.geode.cache.execute.FunctionService;
@@ -28,8 +27,8 @@ import org.apache.geode.cache.execute.ResultCollector;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.execute.AbstractExecution;
+import org.apache.geode.internal.cache.execute.InternalFunction;
/**
* This class uses gemfire function execution to get the dependencies between threads present in
@@ -103,7 +102,7 @@ public class GemFireDeadlockDetector {
return detector.getDependencyGraph();
}
- private static class CollectDependencyFunction implements Function, InternalEntity {
+ private static class CollectDependencyFunction implements InternalFunction {
private static final long serialVersionUID = 6204378622627095817L;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PRContainsValueFunction.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PRContainsValueFunction.java
index ae2dd67..3747d53 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PRContainsValueFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PRContainsValueFunction.java
@@ -17,15 +17,14 @@ package org.apache.geode.internal.cache;
import java.util.Iterator;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.FunctionAdapter;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.RegionFunctionContext;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
/**
*
*/
-public class PRContainsValueFunction extends FunctionAdapter implements InternalEntity {
+public class PRContainsValueFunction implements InternalFunction {
@Override
public void execute(FunctionContext context) {
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingFunction.java b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/InternalFunction.java
similarity index 52%
copy from geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingFunction.java
copy to geode-core/src/main/java/org/apache/geode/internal/cache/execute/InternalFunction.java
index d8b54a0..ffacf4f 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/InternalFunction.java
@@ -12,32 +12,29 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.connectors.jdbc.internal.cli;
+package org.apache.geode.internal.cache.execute;
import java.util.Collection;
import java.util.Collections;
-import org.apache.geode.annotations.Experimental;
-import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
-import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.cache.execute.Function;
+import org.apache.geode.internal.InternalEntity;
import org.apache.geode.management.internal.security.ResourcePermissions;
import org.apache.geode.security.ResourcePermission;
-@Experimental
-public class DescribeMappingFunction extends JdbcCliFunction<String, RegionMapping> {
-
- DescribeMappingFunction() {
- super(new FunctionContextArgumentProvider(), new ExceptionHandler());
- }
-
- @Override
- RegionMapping getFunctionResult(JdbcConnectorService service, FunctionContext<String> context) {
- return service.getMappingForRegion(context.getArguments());
- }
+/**
+ * Defines a marker interface to be used by all internal functions and expected to require
+ * ResourcePermissions.ALL to execute the function. Internal Functions are functions that are
+ * executed by members with in the distributed system, if a function is required by a client API
+ * then it shouldn't be an InternalFunction.
+ */
+public interface InternalFunction<T> extends Function<T>, InternalEntity {
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.CLUSTER_READ);
+ /**
+ * InternalFunction do require ResourcePermissions.ALL so that it only allows super users to
+ * invoke from Clients. So don't override this in implementations.
+ */
+ default Collection<ResourcePermission> getRequiredPermissions(String regionName) {
+ return Collections.singletonList(ResourcePermissions.ALL);
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/util/FindRestEnabledServersFunction.java b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/util/FindRestEnabledServersFunction.java
index 1977920..273aad2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/util/FindRestEnabledServersFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/util/FindRestEnabledServersFunction.java
@@ -15,12 +15,11 @@
package org.apache.geode.internal.cache.execute.util;
import org.apache.geode.cache.CacheClosedException;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.RestAgent;
/**
@@ -29,7 +28,7 @@ import org.apache.geode.management.internal.RestAgent;
*
* @since GemFire 8.1
*/
-public class FindRestEnabledServersFunction implements Function, InternalEntity {
+public class FindRestEnabledServersFunction implements InternalFunction {
private static final long serialVersionUID = 7851518767859544678L;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/ClientExporter.java b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/ClientExporter.java
index 9a947c1..1e4782f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/ClientExporter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/ClientExporter.java
@@ -30,7 +30,7 @@ import org.apache.geode.cache.execute.ResultCollector;
import org.apache.geode.cache.execute.ResultSender;
import org.apache.geode.cache.snapshot.SnapshotOptions;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.snapshot.RegionSnapshotServiceImpl.ExportSink;
import org.apache.geode.internal.cache.snapshot.RegionSnapshotServiceImpl.Exporter;
import org.apache.geode.internal.cache.snapshot.RegionSnapshotServiceImpl.ResultSenderSink;
@@ -118,7 +118,7 @@ public class ClientExporter<K, V> implements Exporter<K, V> {
* @param <K> the key type
* @param <V> the value type
*/
- static class ProxyExportFunction<K, V> implements Function, InternalEntity {
+ static class ProxyExportFunction<K, V> implements InternalFunction {
private static final long serialVersionUID = 1L;
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
index f2b0a1c..057d081 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
@@ -53,11 +53,11 @@ import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.CachedDeserializable;
import org.apache.geode.internal.cache.CachedDeserializableFactory;
-import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.LocalDataSet;
import org.apache.geode.internal.cache.LocalRegion;
import org.apache.geode.internal.cache.Token;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.snapshot.GFSnapshot.GFSnapshotImporter;
import org.apache.geode.internal.cache.snapshot.GFSnapshot.SnapshotWriter;
import org.apache.geode.internal.cache.snapshot.SnapshotPacket.SnapshotRecord;
@@ -504,7 +504,7 @@ public class RegionSnapshotServiceImpl<K, V> implements RegionSnapshotService<K,
}
}
- private static class ParallelExportFunction<K, V> implements Function, InternalEntity {
+ private static class ParallelExportFunction<K, V> implements InternalFunction {
@Override
public boolean hasResult() {
return true;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/WindowedExporter.java b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/WindowedExporter.java
index 50c0b78..eddff7c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/WindowedExporter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/WindowedExporter.java
@@ -32,7 +32,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.geode.cache.EntryDestroyedException;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.FunctionException;
import org.apache.geode.cache.execute.FunctionService;
@@ -44,9 +43,9 @@ import org.apache.geode.cache.snapshot.SnapshotOptions;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.ReplyProcessor21;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.LocalRegion;
import org.apache.geode.internal.cache.execute.InternalExecution;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.execute.LocalResultCollector;
import org.apache.geode.internal.cache.snapshot.FlowController.Window;
import org.apache.geode.internal.cache.snapshot.RegionSnapshotServiceImpl.ExportSink;
@@ -157,7 +156,7 @@ public class WindowedExporter<K, V> implements Exporter<K, V> {
*
* @see FlowController
*/
- private static class WindowedExportFunction<K, V> implements Function, InternalEntity {
+ private static class WindowedExportFunction<K, V> implements InternalFunction {
private static final long serialVersionUID = 1L;
// We must keep a ref here since the ProcessorKeeper only has a weak ref. If
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocator.java b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocator.java
index 1a5b531..cc7036b 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocator.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocator.java
@@ -24,7 +24,6 @@ import org.apache.geode.SystemFailure;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheFactory;
import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.FunctionService;
import org.apache.geode.distributed.DistributedSystem;
@@ -32,8 +31,8 @@ import org.apache.geode.distributed.internal.ClusterConfigurationService;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.distributed.internal.tcpserver.TcpHandler;
import org.apache.geode.distributed.internal.tcpserver.TcpServer;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.AlreadyRunningException;
import org.apache.geode.management.ManagementService;
@@ -196,7 +195,7 @@ public class JmxManagerLocator implements TcpHandler {
}
}
- public static class StartJmxManagerFunction implements Function, InternalEntity {
+ public static class StartJmxManagerFunction implements InternalFunction {
private static final long serialVersionUID = -2860286061903069789L;
public static final String ID = StartJmxManagerFunction.class.getName();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/ManagementFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/ManagementFunction.java
index 98161b7..64627d0 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/ManagementFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/ManagementFunction.java
@@ -25,11 +25,10 @@ import javax.management.ReflectionException;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.cache.execute.FunctionAdapter;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
/**
@@ -42,7 +41,7 @@ import org.apache.geode.internal.logging.LogService;
* 1) All setter methods 2) All operations 3) addNotificationListener 4) removeNotificationListener
* 5) getNotificationInfo
*/
-public class ManagementFunction extends FunctionAdapter implements InternalEntity {
+public class ManagementFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
index 92b2a15..5fdc336 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/QueryDataFunction.java
@@ -53,6 +53,7 @@ import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.LocalDataSet;
import org.apache.geode.internal.cache.PartitionedRegion;
import org.apache.geode.internal.cache.PartitionedRegionHelper;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.DistributedRegionMXBean;
import org.apache.geode.management.ManagementService;
@@ -486,7 +487,7 @@ public class QueryDataFunction implements Function, InternalEntity {
/**
* Function to gather data locally. This function is required to execute query with region context
*/
- private class LocalQueryFunction implements Function, InternalEntity {
+ private class LocalQueryFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/AlterRuntimeConfigFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/AlterRuntimeConfigFunction.java
index 1a3aa24..74ea983 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/AlterRuntimeConfigFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/AlterRuntimeConfigFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@@ -23,19 +21,16 @@ import java.util.Set;
import org.apache.logging.log4j.Logger;
import org.apache.geode.cache.CacheClosedException;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.ConfigSource;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class AlterRuntimeConfigFunction implements Function, InternalEntity {
+public class AlterRuntimeConfigFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -90,11 +85,6 @@ public class AlterRuntimeConfigFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_WRITE);
- }
-
- @Override
public String getId() {
return AlterRuntimeConfigFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ChangeLogLevelFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ChangeLogLevelFunction.java
index 16b3ea1..526f4fe 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ChangeLogLevelFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ChangeLogLevelFunction.java
@@ -16,8 +16,6 @@ package org.apache.geode.management.internal.cli.functions;
import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -25,16 +23,13 @@ import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Logger;
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogLevel;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.logging.log4j.LogWriterLogger;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
@@ -45,7 +40,7 @@ import org.apache.geode.security.ResourcePermission;
*
*/
-public class ChangeLogLevelFunction implements Function, InternalEntity {
+public class ChangeLogLevelFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String ID = ChangeLogLevelFunction.class.getName();
@@ -77,11 +72,6 @@ public class ChangeLogLevelFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_WRITE);
- }
-
- @Override
public String getId() {
return ChangeLogLevelFunction.ID;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CloseDurableClientFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CloseDurableClientFunction.java
index f4ece32..358c0fd 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CloseDurableClientFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CloseDurableClientFunction.java
@@ -14,26 +14,20 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier;
import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.domain.MemberResult;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/***
* Function to close a durable client
*
*/
-public class CloseDurableClientFunction implements Function, InternalEntity {
+public class CloseDurableClientFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -74,11 +68,6 @@ public class CloseDurableClientFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_QUERY);
- }
-
- @Override
public String getId() {
return CloseDurableClientFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CloseDurableCqFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CloseDurableCqFunction.java
index d196d9e..b736ebd 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CloseDurableCqFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CloseDurableCqFunction.java
@@ -14,26 +14,20 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier;
import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.domain.MemberResult;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/***
* Function to close a durable cq
*
*/
-public class CloseDurableCqFunction implements Function, InternalEntity {
+public class CloseDurableCqFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -76,11 +70,6 @@ public class CloseDurableCqFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_QUERY);
- }
-
- @Override
public String getId() {
return CloseDurableCqFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ContinuousQueryFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ContinuousQueryFunction.java
index d9d389b..2a6454d 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ContinuousQueryFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ContinuousQueryFunction.java
@@ -16,26 +16,22 @@ package org.apache.geode.management.internal.cli.functions;
import java.io.Serializable;
import java.util.Collection;
-import java.util.Collections;
import java.util.Iterator;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.CacheServerImpl;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.tier.sockets.AcceptorImpl;
import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier;
import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
import org.apache.geode.internal.cache.tier.sockets.ServerConnection;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* @since GemFire 8.0
*/
-public class ContinuousQueryFunction implements Function, InternalEntity {
+public class ContinuousQueryFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
public static final String ID = ContinuousQueryFunction.class.getName();
@@ -107,11 +103,6 @@ public class ContinuousQueryFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return ContinuousQueryFunction.ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateAsyncEventQueueFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateAsyncEventQueueFunction.java
index a56efc2..696f7a9 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateAsyncEventQueueFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateAsyncEventQueueFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -27,7 +25,6 @@ import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.cache.Declarable;
import org.apache.geode.cache.asyncqueue.AsyncEventListener;
import org.apache.geode.cache.asyncqueue.AsyncEventQueueFactory;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.wan.GatewayEventFilter;
import org.apache.geode.cache.wan.GatewayEventSubstitutionFilter;
@@ -35,13 +32,11 @@ import org.apache.geode.cache.wan.GatewaySender.OrderPolicy;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.ClassPathLoader;
import org.apache.geode.internal.InternalDataSerializer;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* Function used by the 'create async-event-queue' gfsh command to create an asynchronous event
@@ -49,7 +44,7 @@ import org.apache.geode.security.ResourcePermission;
*
* @since GemFire 8.0
*/
-public class CreateAsyncEventQueueFunction implements Function, InternalEntity {
+public class CreateAsyncEventQueueFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
private static final long serialVersionUID = 1L;
@@ -132,11 +127,6 @@ public class CreateAsyncEventQueueFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_DEPLOY);
- }
-
private Object newInstance(String className)
throws ClassNotFoundException, IllegalAccessException, InstantiationException {
if (Strings.isNullOrEmpty(className)) {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateDefinedIndexesFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateDefinedIndexesFunction.java
index 3d10421..12d5c33 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateDefinedIndexesFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateDefinedIndexesFunction.java
@@ -15,30 +15,25 @@
package org.apache.geode.management.internal.cli.functions;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.ResultSender;
import org.apache.geode.cache.query.Index;
import org.apache.geode.cache.query.IndexType;
import org.apache.geode.cache.query.MultiIndexCreationException;
import org.apache.geode.cache.query.QueryService;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.management.internal.cli.domain.IndexInfo;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class CreateDefinedIndexesFunction implements Function, InternalEntity {
+public class CreateDefinedIndexesFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@Override
@@ -126,9 +121,4 @@ public class CreateDefinedIndexesFunction implements Function, InternalEntity {
.lastResult(new CliFunctionResult(memberId, exception, exceptionMessage));
}
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_QUERY);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateDiskStoreFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateDiskStoreFunction.java
index d013a8e..5a52d04 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateDiskStoreFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateDiskStoreFunction.java
@@ -20,27 +20,21 @@ package org.apache.geode.management.internal.cli.functions;
* @since GemFire 8.0
*/
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.logging.log4j.Logger;
import org.apache.geode.SystemFailure;
import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.cache.DiskStoreFactory;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.DiskStoreAttributes;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class CreateDiskStoreFunction implements Function, InternalEntity {
+public class CreateDiskStoreFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
private static final long serialVersionUID = 1L;
@@ -85,11 +79,6 @@ public class CreateDiskStoreFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_DISK);
- }
-
- @Override
public String getId() {
return CreateDiskStoreFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateIndexFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateIndexFunction.java
index 1e103f2..559fa28 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateIndexFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CreateIndexFunction.java
@@ -14,30 +14,24 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.query.IndexExistsException;
import org.apache.geode.cache.query.IndexInvalidException;
import org.apache.geode.cache.query.IndexNameConflictException;
import org.apache.geode.cache.query.QueryService;
import org.apache.geode.cache.query.RegionNotFoundException;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.management.internal.cli.domain.IndexInfo;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/***
* Function to create index in a member, based on different arguments passed to it
*
*/
-public class CreateIndexFunction implements Function, InternalEntity {
+public class CreateIndexFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -109,11 +103,6 @@ public class CreateIndexFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_QUERY);
- }
-
private String getValidRegionName(Cache cache, String regionPath) {
while (regionPath != null && cache.getRegion(regionPath) == null) {
int dotPosition;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DataCommandFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DataCommandFunction.java
index 63c60de..989f79b 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DataCommandFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DataCommandFunction.java
@@ -15,7 +15,6 @@
package org.apache.geode.management.internal.cli.functions;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -29,7 +28,6 @@ import org.json.JSONArray;
import org.apache.geode.cache.DataPolicy;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.partition.PartitionRegionHelper;
import org.apache.geode.cache.query.FunctionDomainException;
@@ -48,10 +46,10 @@ import org.apache.geode.cache.query.internal.StructImpl;
import org.apache.geode.cache.query.internal.Undefined;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.NanoTimer;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.PartitionedRegion;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.security.SecurityService;
import org.apache.geode.management.internal.cli.domain.DataCommandRequest;
@@ -61,14 +59,12 @@ import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.cli.json.GfJsonException;
import org.apache.geode.management.internal.cli.json.GfJsonObject;
import org.apache.geode.management.internal.cli.util.JsonUtil;
-import org.apache.geode.management.internal.security.ResourcePermissions;
import org.apache.geode.pdx.PdxInstance;
-import org.apache.geode.security.ResourcePermission;
/**
* @since GemFire 7.0
*/
-public class DataCommandFunction implements Function, InternalEntity {
+public class DataCommandFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
private static final long serialVersionUID = 1L;
@@ -136,11 +132,6 @@ public class DataCommandFunction implements Function, InternalEntity {
}
}
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.DATA_ALL);
- }
-
-
public DataCommandResult remove(DataCommandRequest request, InternalCache cache) {
String key = request.getKey();
String keyClass = request.getKeyClass();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DeployFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DeployFunction.java
index 6652955..e169c87 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DeployFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DeployFunction.java
@@ -24,8 +24,6 @@ import java.nio.file.Paths;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -40,18 +38,15 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.SystemFailure;
import org.apache.geode.cache.CacheClosedException;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.ClassPathLoader;
import org.apache.geode.internal.DeployedJar;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class DeployFunction implements Function, InternalEntity {
+public class DeployFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String ID = DeployFunction.class.getName();
@@ -123,11 +118,6 @@ public class DeployFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_DEPLOY);
- }
-
- @Override
public String getId() {
return ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java
index 976a975..c4e680e 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java
@@ -16,8 +16,6 @@
package org.apache.geode.management.internal.cli.functions;
import java.io.File;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
@@ -31,20 +29,17 @@ import org.apache.geode.cache.DiskStore;
import org.apache.geode.cache.EvictionAction;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.asyncqueue.AsyncEventQueue;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.server.CacheServer;
import org.apache.geode.cache.wan.GatewaySender;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.lang.ObjectUtils;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.util.ArrayUtils;
import org.apache.geode.management.internal.cli.domain.DiskStoreDetails;
import org.apache.geode.management.internal.cli.exceptions.EntityNotFoundException;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* The DescribeDiskStoreFunction class is an implementation of a GemFire Function used to collect
@@ -59,7 +54,7 @@ import org.apache.geode.security.ResourcePermission;
* @see org.apache.geode.management.internal.cli.domain.DiskStoreDetails
* @since GemFire 7.0
*/
-public class DescribeDiskStoreFunction implements Function, InternalEntity {
+public class DescribeDiskStoreFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
@@ -135,11 +130,6 @@ public class DescribeDiskStoreFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
private void setDiskDirDetails(final DiskStore diskStore,
final DiskStoreDetails diskStoreDetails) {
File[] diskDirs = diskStore.getDiskDirs();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyAsyncEventQueueFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyAsyncEventQueueFunction.java
index 51fd394..bc5b872 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyAsyncEventQueueFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyAsyncEventQueueFunction.java
@@ -14,24 +14,18 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.asyncqueue.internal.AsyncEventQueueImpl;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.management.internal.cli.commands.DestroyAsyncEventQueueCommand;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* Function used by the 'destroy async-event-queue' gfsh command to destroy an asynchronous event
* queue on a member.
*/
-public class DestroyAsyncEventQueueFunction implements Function, InternalEntity {
+public class DestroyAsyncEventQueueFunction implements InternalFunction {
private static final long serialVersionUID = -7754359270344102817L;
@@ -73,11 +67,6 @@ public class DestroyAsyncEventQueueFunction implements Function, InternalEntity
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE);
- }
-
XmlEntity getAEQXmlEntity(String key, String value) {
XmlEntity xmlEntity = new XmlEntity(CacheXml.ASYNC_EVENT_QUEUE, key, value);
return xmlEntity;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java
index 8b38e6a..c7690c3 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java
@@ -14,26 +14,20 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.DiskStore;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* Function used by the 'destroy disk-store' gfsh command to destroy a disk store on each member.
*
* @since GemFire 8.0
*/
-public class DestroyDiskStoreFunction implements Function, InternalEntity {
+public class DestroyDiskStoreFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@Override
@@ -74,10 +68,4 @@ public class DestroyDiskStoreFunction implements Function, InternalEntity {
}
context.getResultSender().lastResult(result);
}
-
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_DISK);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyIndexFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyIndexFunction.java
index d3b445e..e1699b7 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyIndexFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyIndexFunction.java
@@ -14,26 +14,21 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.query.Index;
import org.apache.geode.cache.query.QueryService;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.management.internal.cli.domain.IndexInfo;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class DestroyIndexFunction implements Function, InternalEntity {
+public class DestroyIndexFunction implements InternalFunction {
private static final long serialVersionUID = -868082551095130315L;
@Override
@@ -105,11 +100,6 @@ public class DestroyIndexFunction implements Function, InternalEntity {
context.getResultSender().lastResult(result);
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_QUERY);
- }
-
/***
*
* @param name
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportConfigFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportConfigFunction.java
index fe210f2..17a9b1f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportConfigFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportConfigFunction.java
@@ -16,8 +16,6 @@ package org.apache.geode.management.internal.cli.functions;
import java.io.PrintWriter;
import java.io.StringWriter;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import org.apache.logging.log4j.Logger;
@@ -25,19 +23,16 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.SystemFailure;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheClosedException;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DistributionConfigImpl;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.internal.ConfigSource;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXmlGenerator;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class ExportConfigFunction implements Function, InternalEntity {
+public class ExportConfigFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String ID = ExportConfigFunction.class.getName();
@@ -119,11 +114,6 @@ public class ExportConfigFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportDataFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportDataFunction.java
index cc25452..9758083 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportDataFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportDataFunction.java
@@ -15,21 +15,16 @@
package org.apache.geode.management.internal.cli.functions;
import java.io.File;
-import java.util.Collection;
-import java.util.Collections;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.snapshot.RegionSnapshotService;
import org.apache.geode.cache.snapshot.SnapshotOptions;
import org.apache.geode.cache.snapshot.SnapshotOptions.SnapshotFormat;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.snapshot.SnapshotOptionsImpl;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/***
* Function which carries out the export of a region to a file on a member. Uses the
@@ -37,7 +32,7 @@ import org.apache.geode.security.ResourcePermission;
*
*
*/
-public class ExportDataFunction implements Function, InternalEntity {
+public class ExportDataFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
public void execute(FunctionContext context) {
@@ -76,11 +71,6 @@ public class ExportDataFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.DATA_READ);
- }
-
public String getId() {
return ExportDataFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java
index ab9c95b..e929cd7 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ExportLogsFunction.java
@@ -25,8 +25,6 @@ import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.Level;
@@ -36,12 +34,11 @@ import org.apache.geode.cache.AttributesFactory;
import org.apache.geode.cache.DataPolicy;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.Scope;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalRegionArguments;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogLevel;
import org.apache.geode.management.internal.cli.commands.ExportLogsCommand;
@@ -49,8 +46,6 @@ import org.apache.geode.management.internal.cli.util.ExportLogsCacheWriter;
import org.apache.geode.management.internal.cli.util.LogExporter;
import org.apache.geode.management.internal.cli.util.LogFilter;
import org.apache.geode.management.internal.configuration.domain.Configuration;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* this function extracts the logs using a LogExporter which creates a zip file, and then writes the
@@ -59,7 +54,7 @@ import org.apache.geode.security.ResourcePermission;
*
* The function only extracts .log and .gfs files under server's working directory
*/
-public class ExportLogsFunction implements Function, InternalEntity {
+public class ExportLogsFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String EXPORT_LOGS_REGION = "__exportLogsRegion";
@@ -123,11 +118,6 @@ public class ExportLogsFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
public static Region createOrGetExistingExportLogsRegion(boolean isInitiatingMember,
InternalCache cache) throws IOException, ClassNotFoundException {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/FetchRegionAttributesFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/FetchRegionAttributesFunction.java
index 584f558..6b65a6b 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/FetchRegionAttributesFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/FetchRegionAttributesFunction.java
@@ -15,8 +15,6 @@
package org.apache.geode.management.internal.cli.functions;
import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@@ -25,21 +23,18 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.cache.AttributesFactory;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheListener;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.AbstractRegion;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.cli.domain.ClassName;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
*
* @since GemFire 7.0
*/
-public class FetchRegionAttributesFunction implements Function, InternalEntity {
+public class FetchRegionAttributesFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
private static final long serialVersionUID = 4366812590788342070L;
@@ -124,11 +119,6 @@ public class FetchRegionAttributesFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/FetchSharedConfigurationStatusFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/FetchSharedConfigurationStatusFunction.java
index 3bad85e..796b971 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/FetchSharedConfigurationStatusFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/FetchSharedConfigurationStatusFunction.java
@@ -14,23 +14,16 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.commons.lang.StringUtils;
-import org.apache.geode.cache.execute.FunctionAdapter;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.InternalLocator;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.configuration.domain.SharedConfigurationStatus;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class FetchSharedConfigurationStatusFunction extends FunctionAdapter
- implements InternalEntity {
+public class FetchSharedConfigurationStatusFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -51,11 +44,6 @@ public class FetchSharedConfigurationStatusFunction extends FunctionAdapter
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return FetchSharedConfigurationStatusFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GarbageCollectionFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GarbageCollectionFunction.java
index 48a8153..fc00710 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GarbageCollectionFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GarbageCollectionFunction.java
@@ -14,20 +14,15 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.util.BytesToString;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
*
@@ -36,7 +31,7 @@ import org.apache.geode.security.ResourcePermission;
*
*
*/
-public class GarbageCollectionFunction implements Function, InternalEntity {
+public class GarbageCollectionFunction implements InternalFunction {
public static final String ID = GarbageCollectionFunction.class.getName();
private static final long serialVersionUID = 1L;
@@ -71,12 +66,6 @@ public class GarbageCollectionFunction implements Function, InternalEntity {
context.getResultSender().lastResult(resultMap);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE);
- }
-
@Override
public String getId() {
return GarbageCollectionFunction.ID;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewayReceiverCreateFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewayReceiverCreateFunction.java
index dd01f28..94186a1 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewayReceiverCreateFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewayReceiverCreateFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -23,25 +21,22 @@ import joptsimple.internal.Strings;
import org.apache.logging.log4j.Logger;
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.ResultSender;
import org.apache.geode.cache.wan.GatewayReceiver;
import org.apache.geode.cache.wan.GatewayReceiverFactory;
import org.apache.geode.cache.wan.GatewayTransportFilter;
import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* The function to a create GatewayReceiver using given configuration parameters.
*/
-public class GatewayReceiverCreateFunction implements Function, InternalEntity {
+public class GatewayReceiverCreateFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
@@ -91,11 +86,6 @@ public class GatewayReceiverCreateFunction implements Function, InternalEntity {
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_GATEWAY);
- }
-
/**
* GatewayReceiver creation happens here.
*
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderCreateFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderCreateFunction.java
index 8c2a5ea..8d2d486 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderCreateFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderCreateFunction.java
@@ -14,13 +14,9 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.logging.log4j.Logger;
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.ResultSender;
import org.apache.geode.cache.wan.GatewayEventFilter;
@@ -29,15 +25,13 @@ import org.apache.geode.cache.wan.GatewaySender.OrderPolicy;
import org.apache.geode.cache.wan.GatewaySenderFactory;
import org.apache.geode.cache.wan.GatewayTransportFilter;
import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class GatewaySenderCreateFunction implements Function, InternalEntity {
+public class GatewaySenderCreateFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
@@ -71,11 +65,6 @@ public class GatewaySenderCreateFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_GATEWAY);
- }
-
/**
* Creates the GatewaySender with given configuration.
*
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderDestroyFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderDestroyFunction.java
index 99a134e..5f72f34 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderDestroyFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderDestroyFunction.java
@@ -14,22 +14,16 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.ResultSender;
import org.apache.geode.cache.wan.GatewaySender;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class GatewaySenderDestroyFunction implements Function, InternalEntity {
+public class GatewaySenderDestroyFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
private static final String ID = GatewaySenderDestroyFunction.class.getName();
public static GatewaySenderDestroyFunction INSTANCE = new GatewaySenderDestroyFunction();
@@ -71,11 +65,6 @@ public class GatewaySenderDestroyFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_GATEWAY);
- }
-
- @Override
public String getId() {
return ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberConfigInformationFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberConfigInformationFunction.java
index a7d40fe..7d29b48 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberConfigInformationFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberConfigInformationFunction.java
@@ -19,8 +19,6 @@ import static org.apache.geode.distributed.ConfigurationProperties.SOCKET_BUFFER
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -28,26 +26,23 @@ import java.util.Map;
import java.util.Set;
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.server.CacheServer;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionConfigImpl;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.internal.ConfigSource;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.CacheConfig;
import org.apache.geode.internal.cache.GemFireCacheImpl;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.ha.HARegionQueue;
import org.apache.geode.management.internal.cli.domain.MemberConfigurationInfo;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/****
*
*
*/
-public class GetMemberConfigInformationFunction implements Function, InternalEntity {
+public class GetMemberConfigInformationFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -138,11 +133,6 @@ public class GetMemberConfigInformationFunction implements Function, InternalEnt
context.getResultSender().lastResult(memberConfigInfo);
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
/****
* Gets the default values for the cache attributes
*
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberInformationFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberInformationFunction.java
index b0bffe7..fa8b9c6 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberInformationFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberInformationFunction.java
@@ -17,35 +17,30 @@ package org.apache.geode.management.internal.cli.functions;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheClosedException;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.server.CacheServer;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.CacheClientStatus;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.tier.InternalClientMembership;
import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.domain.CacheServerInfo;
import org.apache.geode.management.internal.cli.domain.MemberInformation;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/***
*
* since 7.0
*/
-public class GetMemberInformationFunction implements Function, InternalEntity {
+public class GetMemberInformationFunction implements InternalFunction {
/**
*
*/
@@ -143,11 +138,6 @@ public class GetMemberInformationFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
private long bytesToMeg(long bytes) {
return bytes / (1024L * 1024L);
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetRegionDescriptionFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetRegionDescriptionFunction.java
index e3250be..f483cc8 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetRegionDescriptionFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetRegionDescriptionFunction.java
@@ -15,19 +15,13 @@
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.cli.domain.RegionDescriptionPerMember;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class GetRegionDescriptionFunction implements Function, InternalEntity {
+public class GetRegionDescriptionFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -51,9 +45,4 @@ public class GetRegionDescriptionFunction implements Function, InternalEntity {
context.getResultSender().sendException(e);
}
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetRegionsFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetRegionsFunction.java
index 110d4ff..fbdd9a4 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetRegionsFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetRegionsFunction.java
@@ -14,24 +14,19 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.cli.domain.RegionInformation;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* Function that retrieves regions hosted on every member
*/
-public class GetRegionsFunction implements Function, InternalEntity {
+public class GetRegionsFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -56,9 +51,4 @@ public class GetRegionsFunction implements Function, InternalEntity {
functionContext.getResultSender().sendException(e);
}
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetStackTracesFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetStackTracesFunction.java
index c2ae7d6..39ea54d 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetStackTracesFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetStackTracesFunction.java
@@ -15,19 +15,13 @@
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.OSProcess;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.cli.domain.StackTracesPerMember;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class GetStackTracesFunction implements Function, InternalEntity {
+public class GetStackTracesFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -49,11 +43,6 @@ public class GetStackTracesFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
// TODO Auto-generated method stub
return GetStackTracesFunction.class.getName();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetSubscriptionQueueSizeFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetSubscriptionQueueSizeFunction.java
index 2a3670a..b17a813 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetSubscriptionQueueSizeFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetSubscriptionQueueSizeFunction.java
@@ -14,30 +14,24 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.query.CqQuery;
import org.apache.geode.cache.query.internal.CqQueryVsdStats;
import org.apache.geode.cache.query.internal.cq.CqService;
import org.apache.geode.cache.query.internal.cq.InternalCqQuery;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier;
import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.domain.SubscriptionQueueSizeResult;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/***
* Function to get subscription-queue-size
*
*/
-public class GetSubscriptionQueueSizeFunction implements Function, InternalEntity {
+public class GetSubscriptionQueueSizeFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -103,11 +97,6 @@ public class GetSubscriptionQueueSizeFunction implements Function, InternalEntit
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return GetSubscriptionQueueSizeFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ImportDataFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ImportDataFunction.java
index 600d530..1d0248d 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ImportDataFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ImportDataFunction.java
@@ -15,27 +15,22 @@
package org.apache.geode.management.internal.cli.functions;
import java.io.File;
-import java.util.Collection;
-import java.util.Collections;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.snapshot.RegionSnapshotService;
import org.apache.geode.cache.snapshot.SnapshotOptions;
import org.apache.geode.cache.snapshot.SnapshotOptions.SnapshotFormat;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/****
* Function which carries out the import of a region to a file on a member. Uses the
* RegionSnapshotService to import the data
*
*/
-public class ImportDataFunction implements Function, InternalEntity {
+public class ImportDataFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
@@ -74,11 +69,6 @@ public class ImportDataFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.DATA_WRITE);
- }
-
public String getId() {
return ImportDataFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListAsyncEventQueuesFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListAsyncEventQueuesFunction.java
index 00715e4..2bb4a50 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListAsyncEventQueuesFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListAsyncEventQueuesFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Properties;
import java.util.Set;
@@ -26,15 +24,12 @@ import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.cache.asyncqueue.AsyncEventListener;
import org.apache.geode.cache.asyncqueue.AsyncEventQueue;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.Declarable2;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.cli.domain.AsyncEventQueueDetails;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* An implementation of GemFire Function interface used to determine all the async event queues that
@@ -43,7 +38,7 @@ import org.apache.geode.security.ResourcePermission;
*
* @since GemFire 8.0
*/
-public class ListAsyncEventQueuesFunction implements Function, InternalEntity {
+public class ListAsyncEventQueuesFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
private static final long serialVersionUID = 1L;
@@ -103,9 +98,4 @@ public class ListAsyncEventQueuesFunction implements Function, InternalEntity {
context.getResultSender().lastResult(result);
}
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDeployedFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDeployedFunction.java
index 3ae31c4..2734df5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDeployedFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDeployedFunction.java
@@ -14,27 +14,22 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import org.apache.logging.log4j.Logger;
import org.apache.geode.SystemFailure;
import org.apache.geode.cache.CacheClosedException;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.ClassPathLoader;
import org.apache.geode.internal.DeployedJar;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.JarDeployer;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class ListDeployedFunction implements Function, InternalEntity {
+public class ListDeployedFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String ID = ListDeployedFunction.class.getName();
@@ -86,11 +81,6 @@ public class ListDeployedFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDiskStoresFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDiskStoresFunction.java
index b38219f..940a7f5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDiskStoresFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDiskStoresFunction.java
@@ -15,22 +15,17 @@
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.DiskStore;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.cli.domain.DiskStoreDetails;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* The ListDiskStoresFunction class is an implementation of GemFire Function interface used to
@@ -46,7 +41,7 @@ import org.apache.geode.security.ResourcePermission;
* @see org.apache.geode.management.internal.cli.domain.DiskStoreDetails
* @since GemFire 7.0
*/
-public class ListDiskStoresFunction implements Function, InternalEntity {
+public class ListDiskStoresFunction implements InternalFunction {
@SuppressWarnings("unused")
public void init(final Properties props) {}
@@ -77,9 +72,4 @@ public class ListDiskStoresFunction implements Function, InternalEntity {
context.getResultSender().sendException(e);
}
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDurableCqNamesFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDurableCqNamesFunction.java
index 6952c5f..0d02ccd 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDurableCqNamesFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListDurableCqNamesFunction.java
@@ -16,23 +16,18 @@
package org.apache.geode.management.internal.cli.functions;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.query.internal.cq.CqService;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier;
import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.domain.DurableCqNamesResult;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* The ListDurableCqs class is a GemFire function used to collect all the durable client names on
@@ -48,7 +43,7 @@ import org.apache.geode.security.ResourcePermission;
* @since GemFire 7.0.1
*/
@SuppressWarnings("unused")
-public class ListDurableCqNamesFunction implements Function, InternalEntity {
+public class ListDurableCqNamesFunction implements InternalFunction {
private static final long serialVersionUID = 1L;
public String getId() {
@@ -93,9 +88,4 @@ public class ListDurableCqNamesFunction implements Function, InternalEntity {
context.getResultSender().lastResult(result);
}
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListFunctionFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListFunctionFunction.java
index 87f22c8..65c311c 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListFunctionFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListFunctionFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -31,12 +29,10 @@ import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.FunctionService;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class ListFunctionFunction implements Function, InternalEntity {
+public class ListFunctionFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String ID = ListFunctionFunction.class.getName();
@@ -95,11 +91,6 @@ public class ListFunctionFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListIndexFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListIndexFunction.java
index d1a96e2..8967cd7 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListIndexFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ListIndexFunction.java
@@ -15,20 +15,15 @@
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.query.Index;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.cli.domain.IndexDetails;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* The ListIndexFunction class is a GemFire function used to collect all the index information on
@@ -44,7 +39,7 @@ import org.apache.geode.security.ResourcePermission;
* @since GemFire 7.0
*/
@SuppressWarnings("unused")
-public class ListIndexFunction implements Function, InternalEntity {
+public class ListIndexFunction implements InternalFunction {
public String getId() {
return ListIndexFunction.class.getName();
@@ -66,9 +61,4 @@ public class ListIndexFunction implements Function, InternalEntity {
context.getResultSender().sendException(e);
}
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ_QUERY);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java
index 7b59b98..d1a7612 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java
@@ -27,24 +27,19 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.CliUtil.DeflaterInflaterData;
import org.apache.geode.management.internal.cli.GfshParser;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* Executes 'netstat' OS command & returns the result as compressed bytes.
@@ -52,7 +47,7 @@ import org.apache.geode.security.ResourcePermission;
* @since GemFire 7.0
*/
@SuppressWarnings({"serial"})
-public class NetstatFunction implements Function, InternalEntity {
+public class NetstatFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
private static final long serialVersionUID = 1L;
@@ -93,11 +88,6 @@ public class NetstatFunction implements Function, InternalEntity {
context.getResultSender().lastResult(result);
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
private static void addMemberHostHeader(final StringBuilder netstatInfo, final String id,
final String host, final String lineSeparator) {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java
index dfdd9d2..2434a22 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.CancellationException;
@@ -27,16 +25,13 @@ import org.apache.geode.cache.control.RebalanceFactory;
import org.apache.geode.cache.control.RebalanceOperation;
import org.apache.geode.cache.control.RebalanceResults;
import org.apache.geode.cache.control.ResourceManager;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.partition.PartitionRebalanceInfo;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class RebalanceFunction implements Function, InternalEntity {
+public class RebalanceFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String ID = RebalanceFunction.class.getName();
@@ -95,11 +90,6 @@ public class RebalanceFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.DATA_MANAGE);
- }
-
- @Override
public String getId() {
return RebalanceFunction.ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java
index c704a3a..84dd2b1 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Set;
import org.apache.logging.log4j.Logger;
@@ -27,12 +25,11 @@ import org.apache.geode.cache.CacheListener;
import org.apache.geode.cache.CacheLoader;
import org.apache.geode.cache.CacheWriter;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.ResultSender;
import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.AbstractRegion;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.cli.CliUtil;
@@ -40,15 +37,13 @@ import org.apache.geode.management.internal.cli.domain.ClassName;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.cli.util.RegionPath;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
* Function used by the 'alter region' gfsh command to alter a region on each member.
*
* @since GemFire 8.0
*/
-public class RegionAlterFunction implements Function, InternalEntity {
+public class RegionAlterFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
private static final long serialVersionUID = -4846425364943216425L;
@@ -98,11 +93,6 @@ public class RegionAlterFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.DATA_MANAGE);
- }
-
private <K, V> Region<?, ?> alterRegion(Cache cache, RegionFunctionArgs regionAlterArgs) {
final String regionPathString = regionAlterArgs.getRegionPath();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
index dadca7e..b8d0b10 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
@@ -15,8 +15,6 @@
package org.apache.geode.management.internal.cli.functions;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -38,13 +36,12 @@ import org.apache.geode.cache.RegionAttributes;
import org.apache.geode.cache.RegionExistsException;
import org.apache.geode.cache.RegionFactory;
import org.apache.geode.cache.RegionShortcut;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.ResultSender;
import org.apache.geode.cache.util.ObjectSizer;
import org.apache.geode.compression.Compressor;
import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.LogService;
@@ -54,14 +51,12 @@ import org.apache.geode.management.internal.cli.domain.ClassName;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.cli.util.RegionPath;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
*
* @since GemFire 7.0
*/
-public class RegionCreateFunction implements Function, InternalEntity {
+public class RegionCreateFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
@@ -128,11 +123,6 @@ public class RegionCreateFunction implements Function, InternalEntity {
}
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singletonList(ResourcePermissions.DATA_MANAGE);
- }
-
private CliFunctionResult handleException(final String memberNameOrId, final String exceptionMsg,
final Exception e) {
if (e != null && logger.isDebugEnabled()) {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java
index 06e2ff6..b3d812a 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java
@@ -14,26 +14,20 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.RegionDestroyedException;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
*
* @since GemFire 7.0
*/
-public class RegionDestroyFunction implements Function, InternalEntity {
+public class RegionDestroyFunction implements InternalFunction {
private static final long serialVersionUID = 9172773671865750685L;
public static final RegionDestroyFunction INSTANCE = new RegionDestroyFunction();
@@ -92,11 +86,6 @@ public class RegionDestroyFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.DATA_MANAGE);
- }
-
- @Override
public String getId() {
return ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
index c5dd3b5..4b1ff1f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
@@ -14,27 +14,22 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.PartitionedRegion;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.partitioned.ColocatedRegionDetails;
import org.apache.geode.internal.cache.persistence.PersistentMemberID;
import org.apache.geode.internal.cache.persistence.PersistentMemberManager;
import org.apache.geode.internal.cache.persistence.PersistentMemberPattern;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class ShowMissingDiskStoresFunction implements Function, InternalEntity {
+public class ShowMissingDiskStoresFunction implements InternalFunction {
@Override
public void execute(FunctionContext context) {
@@ -89,11 +84,6 @@ public class ShowMissingDiskStoresFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return getClass().getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java
index c3b01e7..bd5de57 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -23,14 +21,11 @@ import java.util.concurrent.Future;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.tcp.ConnectionTable;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
/**
*
@@ -39,7 +34,7 @@ import org.apache.geode.security.ResourcePermission;
*
*
*/
-public class ShutDownFunction implements Function, InternalEntity {
+public class ShutDownFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String ID = ShutDownFunction.class.getName();
@@ -97,11 +92,6 @@ public class ShutDownFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE);
- }
-
- @Override
public boolean hasResult() {
return true;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java
index edae35d..cfdad78 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java
@@ -16,26 +16,21 @@ package org.apache.geode.management.internal.cli.functions;
import java.io.File;
import java.io.IOException;
-import java.util.Collection;
-import java.util.Collections;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.ManagementException;
import org.apache.geode.management.internal.cli.util.BytesToString;
import org.apache.geode.management.internal.cli.util.LogExporter;
import org.apache.geode.management.internal.cli.util.LogFilter;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class SizeExportLogsFunction extends ExportLogsFunction implements Function, InternalEntity {
+public class SizeExportLogsFunction extends ExportLogsFunction implements InternalFunction {
private static final Logger LOGGER = LogService.getLogger();
private static final long serialVersionUID = 1L;
@@ -97,9 +92,4 @@ public class SizeExportLogsFunction extends ExportLogsFunction implements Functi
return estimatedSize;
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java
index 73c92dc..858fd6f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java
@@ -15,8 +15,6 @@
package org.apache.geode.management.internal.cli.functions;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import org.apache.commons.lang.ArrayUtils;
@@ -24,19 +22,16 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.SystemFailure;
import org.apache.geode.cache.CacheClosedException;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.ClassPathLoader;
import org.apache.geode.internal.DeployedJar;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.JarDeployer;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class UndeployFunction implements Function, InternalEntity {
+public class UndeployFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
public static final String ID = UndeployFunction.class.getName();
@@ -112,11 +107,6 @@ public class UndeployFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_DEPLOY);
- }
-
- @Override
public String getId() {
return ID;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java
index 6bbdc1a..0ec8ab3 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java
@@ -14,17 +14,11 @@
*/
package org.apache.geode.management.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.FunctionService;
-import org.apache.geode.internal.InternalEntity;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
+import org.apache.geode.internal.cache.execute.InternalFunction;
-public class UnregisterFunction implements Function, InternalEntity {
+public class UnregisterFunction implements InternalFunction {
public static final String ID = UnregisterFunction.class.getName();
private static final long serialVersionUID = 1L;
@@ -46,11 +40,6 @@ public class UnregisterFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE_DEPLOY);
- }
-
- @Override
public boolean hasResult() {
return true;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java
index a2f4d55..14cd821 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java
@@ -34,8 +34,8 @@ import org.apache.geode.cache.execute.FunctionService;
import org.apache.geode.cache.execute.ResultCollector;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.security.SecurityService;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
@@ -45,7 +45,7 @@ import org.apache.geode.security.ResourcePermission;
/**
* @since GemFire 7.0
*/
-public class UserFunctionExecution implements Function<Object[]>, InternalEntity {
+public class UserFunctionExecution implements InternalFunction<Object[]> {
public static final String ID = UserFunctionExecution.class.getName();
private static Logger logger = LogService.getLogger();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/DownloadJarFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/DownloadJarFunction.java
index 730ee11..345f144 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/DownloadJarFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/DownloadJarFunction.java
@@ -20,8 +20,6 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.rmi.RemoteException;
-import java.util.Collection;
-import java.util.Collections;
import com.healthmarketscience.rmiio.RemoteInputStream;
import com.healthmarketscience.rmiio.RemoteInputStreamServer;
@@ -29,19 +27,16 @@ import com.healthmarketscience.rmiio.SimpleRemoteInputStream;
import com.healthmarketscience.rmiio.exporter.RemoteStreamExporter;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.FunctionException;
import org.apache.geode.distributed.Locator;
import org.apache.geode.distributed.internal.ClusterConfigurationService;
import org.apache.geode.distributed.internal.InternalLocator;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.SystemManagementService;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class DownloadJarFunction implements Function<Object[]>, InternalEntity {
+public class DownloadJarFunction implements InternalFunction<Object[]> {
private static final Logger logger = LogService.getLogger();
private static final long serialVersionUID = 1L;
@@ -89,11 +84,6 @@ public class DownloadJarFunction implements Function<Object[]>, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return DownloadJarFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/GetClusterConfigurationFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/GetClusterConfigurationFunction.java
index 9184a3f..0f9addc 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/GetClusterConfigurationFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/GetClusterConfigurationFunction.java
@@ -16,23 +16,18 @@
package org.apache.geode.management.internal.configuration.functions;
import java.io.IOException;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Set;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.internal.ClusterConfigurationService;
import org.apache.geode.distributed.internal.InternalLocator;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.internal.configuration.messages.ConfigurationResponse;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class GetClusterConfigurationFunction implements Function, InternalEntity {
+public class GetClusterConfigurationFunction implements InternalFunction {
private static final Logger logger = LogService.getLogger();
@Override
@@ -53,12 +48,4 @@ public class GetClusterConfigurationFunction implements Function, InternalEntity
context.getResultSender().lastResult(e);
}
}
-
- /**
- * this function will return all cluster config which will potentially leak security information.
- * Thus we require all permissions to execute this function
- **/
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.ALL);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/GetRegionNamesFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/GetRegionNamesFunction.java
index 1ecc410..4a123a5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/GetRegionNamesFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/GetRegionNamesFunction.java
@@ -16,20 +16,15 @@ package org.apache.geode.management.internal.configuration.functions;
import static java.util.stream.Collectors.toSet;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Set;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalRegion;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
+import org.apache.geode.internal.cache.execute.InternalFunction;
-public class GetRegionNamesFunction implements Function, InternalEntity {
+public class GetRegionNamesFunction implements InternalFunction {
@Override
public void execute(FunctionContext context) {
InternalCache cache = GemFireCacheImpl.getInstance();
@@ -41,11 +36,6 @@ public class GetRegionNamesFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_READ);
- }
-
- @Override
public String getId() {
return GetRegionNamesFunction.class.getName();
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/RecreateCacheFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/RecreateCacheFunction.java
index 075d76f..1c0b40b 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/RecreateCacheFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/functions/RecreateCacheFunction.java
@@ -14,21 +14,15 @@
*/
package org.apache.geode.management.internal.configuration.functions;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.CacheConfig;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
-import org.apache.geode.management.internal.security.ResourcePermissions;
-import org.apache.geode.security.ResourcePermission;
-public class RecreateCacheFunction implements Function, InternalEntity {
+public class RecreateCacheFunction implements InternalFunction {
@Override
public void execute(FunctionContext context) {
CliFunctionResult result = null;
@@ -48,11 +42,6 @@ public class RecreateCacheFunction implements Function, InternalEntity {
}
@Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(ResourcePermissions.CLUSTER_MANAGE);
- }
-
- @Override
public String getId() {
return RecreateCacheFunction.class.getName();
}
diff --git a/geode-core/src/test/java/org/apache/geode/cache/execute/CoreFunctionSecurityTest.java b/geode-core/src/test/java/org/apache/geode/cache/execute/CoreFunctionSecurityTest.java
index 729abf9..8b7cf2d 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/execute/CoreFunctionSecurityTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/execute/CoreFunctionSecurityTest.java
@@ -103,57 +103,57 @@ public class CoreFunctionSecurityTest {
@BeforeClass
public static void setupClass() {
- functionStringMap.put(new AlterRuntimeConfigFunction(), "CLUSTER:WRITE");
- functionStringMap.put(new ChangeLogLevelFunction(), "CLUSTER:WRITE");
- functionStringMap.put(new CloseDurableClientFunction(), "CLUSTER:MANAGE:QUERY");
- functionStringMap.put(new CloseDurableCqFunction(), "CLUSTER:MANAGE:QUERY");
- functionStringMap.put(new ContinuousQueryFunction(), "CLUSTER:READ");
- functionStringMap.put(new CreateAsyncEventQueueFunction(), "CLUSTER:MANAGE:DEPLOY");
- functionStringMap.put(new CreateDefinedIndexesFunction(), "CLUSTER:MANAGE:QUERY");
- functionStringMap.put(new CreateDiskStoreFunction(), "CLUSTER:MANAGE:DISK");
- functionStringMap.put(new CreateIndexFunction(), "CLUSTER:MANAGE:QUERY");
- functionStringMap.put(new DataCommandFunction(), "DATA");
- functionStringMap.put(new DeployFunction(), "CLUSTER:MANAGE:DEPLOY");
- functionStringMap.put(new DescribeDiskStoreFunction(), "CLUSTER:READ");
- functionStringMap.put(new DestroyAsyncEventQueueFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new DestroyDiskStoreFunction(), "CLUSTER:MANAGE:DISK");
- functionStringMap.put(new DestroyIndexFunction(), "CLUSTER:MANAGE:QUERY");
- functionStringMap.put(new ExportConfigFunction(), "CLUSTER:READ");
- functionStringMap.put(new ExportDataFunction(), "DATA:READ");
- functionStringMap.put(new ExportLogsFunction(), "CLUSTER:READ");
- functionStringMap.put(new FetchRegionAttributesFunction(), "CLUSTER:READ");
- functionStringMap.put(new FetchSharedConfigurationStatusFunction(), "CLUSTER:READ");
- functionStringMap.put(new GarbageCollectionFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new GatewayReceiverCreateFunction(), "CLUSTER:MANAGE:GATEWAY");
- functionStringMap.put(new GatewaySenderCreateFunction(), "CLUSTER:MANAGE:GATEWAY");
- functionStringMap.put(new GatewaySenderDestroyFunction(), "CLUSTER:MANAGE:GATEWAY");
+ functionStringMap.put(new AlterRuntimeConfigFunction(), "*");
+ functionStringMap.put(new ChangeLogLevelFunction(), "*");
+ functionStringMap.put(new CloseDurableClientFunction(), "*");
+ functionStringMap.put(new CloseDurableCqFunction(), "*");
+ functionStringMap.put(new ContinuousQueryFunction(), "*");
+ functionStringMap.put(new CreateAsyncEventQueueFunction(), "*");
+ functionStringMap.put(new CreateDefinedIndexesFunction(), "*");
+ functionStringMap.put(new CreateDiskStoreFunction(), "*");
+ functionStringMap.put(new CreateIndexFunction(), "*");
+ functionStringMap.put(new DataCommandFunction(), "*");
+ functionStringMap.put(new DeployFunction(), "*");
+ functionStringMap.put(new DescribeDiskStoreFunction(), "*");
+ functionStringMap.put(new DestroyAsyncEventQueueFunction(), "*");
+ functionStringMap.put(new DestroyDiskStoreFunction(), "*");
+ functionStringMap.put(new DestroyIndexFunction(), "*");
+ functionStringMap.put(new ExportConfigFunction(), "*");
+ functionStringMap.put(new ExportDataFunction(), "*");
+ functionStringMap.put(new ExportLogsFunction(), "*");
+ functionStringMap.put(new FetchRegionAttributesFunction(), "*");
+ functionStringMap.put(new FetchSharedConfigurationStatusFunction(), "*");
+ functionStringMap.put(new GarbageCollectionFunction(), "*");
+ functionStringMap.put(new GatewayReceiverCreateFunction(), "*");
+ functionStringMap.put(new GatewaySenderCreateFunction(), "*");
+ functionStringMap.put(new GatewaySenderDestroyFunction(), "*");
functionStringMap.put(new GetClusterConfigurationFunction(), "*");
- functionStringMap.put(new GetMemberConfigInformationFunction(), "CLUSTER:READ");
- functionStringMap.put(new GetMemberInformationFunction(), "CLUSTER:READ");
- functionStringMap.put(new GetRegionDescriptionFunction(), "CLUSTER:READ");
- functionStringMap.put(new GetRegionsFunction(), "CLUSTER:READ");
- functionStringMap.put(new GetStackTracesFunction(), "CLUSTER:READ");
- functionStringMap.put(new GetSubscriptionQueueSizeFunction(), "CLUSTER:READ");
- functionStringMap.put(new ImportDataFunction(), "DATA:WRITE");
- functionStringMap.put(new ListAsyncEventQueuesFunction(), "CLUSTER:READ");
- functionStringMap.put(new ListDeployedFunction(), "CLUSTER:READ");
- functionStringMap.put(new ListDiskStoresFunction(), "CLUSTER:READ");
- functionStringMap.put(new ListDurableCqNamesFunction(), "CLUSTER:READ");
- functionStringMap.put(new ListFunctionFunction(), "CLUSTER:READ");
- functionStringMap.put(new ListIndexFunction(), "CLUSTER:READ:QUERY");
- functionStringMap.put(new NetstatFunction(), "CLUSTER:READ");
- functionStringMap.put(new RebalanceFunction(), "DATA:MANAGE");
- functionStringMap.put(new RegionAlterFunction(), "DATA:MANAGE");
- functionStringMap.put(new RegionCreateFunction(), "DATA:MANAGE");
- functionStringMap.put(new RegionDestroyFunction(), "DATA:MANAGE");
- functionStringMap.put(new ShowMissingDiskStoresFunction(), "CLUSTER:READ");
- functionStringMap.put(new ShutDownFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new SizeExportLogsFunction(), "CLUSTER:READ");
- functionStringMap.put(new UndeployFunction(), "CLUSTER:MANAGE:DEPLOY");
- functionStringMap.put(new UnregisterFunction(), "CLUSTER:MANAGE:DEPLOY");
- functionStringMap.put(new GetRegionNamesFunction(), "CLUSTER:READ");
- functionStringMap.put(new RecreateCacheFunction(), "CLUSTER:MANAGE");
- functionStringMap.put(new DownloadJarFunction(), "CLUSTER:READ");
+ functionStringMap.put(new GetMemberConfigInformationFunction(), "*");
+ functionStringMap.put(new GetMemberInformationFunction(), "*");
+ functionStringMap.put(new GetRegionDescriptionFunction(), "*");
+ functionStringMap.put(new GetRegionsFunction(), "*");
+ functionStringMap.put(new GetStackTracesFunction(), "*");
+ functionStringMap.put(new GetSubscriptionQueueSizeFunction(), "*");
+ functionStringMap.put(new ImportDataFunction(), "*");
+ functionStringMap.put(new ListAsyncEventQueuesFunction(), "*");
+ functionStringMap.put(new ListDeployedFunction(), "*");
+ functionStringMap.put(new ListDiskStoresFunction(), "*");
+ functionStringMap.put(new ListDurableCqNamesFunction(), "*");
+ functionStringMap.put(new ListFunctionFunction(), "*");
+ functionStringMap.put(new ListIndexFunction(), "*");
+ functionStringMap.put(new NetstatFunction(), "*");
+ functionStringMap.put(new RebalanceFunction(), "*");
+ functionStringMap.put(new RegionAlterFunction(), "*");
+ functionStringMap.put(new RegionCreateFunction(), "*");
+ functionStringMap.put(new RegionDestroyFunction(), "*");
+ functionStringMap.put(new ShowMissingDiskStoresFunction(), "*");
+ functionStringMap.put(new ShutDownFunction(), "*");
+ functionStringMap.put(new SizeExportLogsFunction(), "*");
+ functionStringMap.put(new UndeployFunction(), "*");
+ functionStringMap.put(new UnregisterFunction(), "*");
+ functionStringMap.put(new GetRegionNamesFunction(), "*");
+ functionStringMap.put(new RecreateCacheFunction(), "*");
+ functionStringMap.put(new DownloadJarFunction(), "*");
functionStringMap.keySet().forEach(FunctionService::registerFunction);
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneCreateIndexFunction.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneCreateIndexFunction.java
index a22b381..a2e2f32 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneCreateIndexFunction.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneCreateIndexFunction.java
@@ -18,9 +18,6 @@ package org.apache.geode.cache.lucene.internal.cli.functions;
import static org.apache.geode.cache.lucene.internal.LuceneServiceImpl.validateCommandParameters.INDEX_NAME;
import static org.apache.geode.cache.lucene.internal.LuceneServiceImpl.validateCommandParameters.REGION_PATH;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.commons.lang.StringUtils;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
@@ -36,17 +33,13 @@ import org.apache.geode.cache.lucene.internal.LuceneServiceImpl;
import org.apache.geode.cache.lucene.internal.cli.LuceneCliStrings;
import org.apache.geode.cache.lucene.internal.cli.LuceneIndexDetails;
import org.apache.geode.cache.lucene.internal.cli.LuceneIndexInfo;
-import org.apache.geode.cache.lucene.internal.security.LucenePermission;
-import org.apache.geode.cache.lucene.internal.xml.LuceneXmlConstants;
import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.security.ResourcePermission;
-import org.apache.geode.security.ResourcePermission.Operation;
-import org.apache.geode.security.ResourcePermission.Resource;
/**
@@ -61,7 +54,7 @@ import org.apache.geode.security.ResourcePermission.Resource;
* @see LuceneIndexDetails
*/
@SuppressWarnings("unused")
-public class LuceneCreateIndexFunction implements InternalEntity, Function {
+public class LuceneCreateIndexFunction implements InternalFunction {
private static final long serialVersionUID = 3061443846664615818L;
@@ -129,12 +122,6 @@ public class LuceneCreateIndexFunction implements InternalEntity, Function {
return new XmlEntity(CacheXml.REGION, "name", regionName);
}
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(
- new ResourcePermission(Resource.CLUSTER, Operation.MANAGE, LucenePermission.TARGET));
- }
-
private LuceneSerializer toSerializer(String serializerName)
throws InstantiationException, IllegalAccessException, ClassNotFoundException {
String trimmedName = StringUtils.trim(serializerName);
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneDescribeIndexFunction.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneDescribeIndexFunction.java
index 8f9bac3..c847c72 100755
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneDescribeIndexFunction.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneDescribeIndexFunction.java
@@ -15,9 +15,6 @@
package org.apache.geode.cache.lucene.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
@@ -28,11 +25,8 @@ import org.apache.geode.cache.lucene.internal.LuceneIndexImpl;
import org.apache.geode.cache.lucene.internal.LuceneServiceImpl;
import org.apache.geode.cache.lucene.internal.cli.LuceneIndexDetails;
import org.apache.geode.cache.lucene.internal.cli.LuceneIndexInfo;
-import org.apache.geode.cache.lucene.internal.security.LucenePermission;
import org.apache.geode.internal.InternalEntity;
-import org.apache.geode.security.ResourcePermission;
-import org.apache.geode.security.ResourcePermission.Operation;
-import org.apache.geode.security.ResourcePermission.Resource;
+import org.apache.geode.internal.cache.execute.InternalFunction;
/**
* The LuceneDescribeIndexFunction class is a function used to collect the information on a
@@ -48,7 +42,7 @@ import org.apache.geode.security.ResourcePermission.Resource;
* @see LuceneIndexInfo
*/
@SuppressWarnings("unused")
-public class LuceneDescribeIndexFunction implements InternalEntity, Function {
+public class LuceneDescribeIndexFunction implements InternalFunction {
private static final long serialVersionUID = 1776072528558670172L;
@@ -73,10 +67,4 @@ public class LuceneDescribeIndexFunction implements InternalEntity, Function {
}
context.getResultSender().lastResult(result);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(
- new ResourcePermission(Resource.CLUSTER, Operation.READ, LucenePermission.TARGET));
- }
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneDestroyIndexFunction.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneDestroyIndexFunction.java
index 1a12894..0583b52 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneDestroyIndexFunction.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneDestroyIndexFunction.java
@@ -14,28 +14,20 @@
*/
package org.apache.geode.cache.lucene.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
-
import org.apache.commons.lang.StringUtils;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.lucene.LuceneService;
import org.apache.geode.cache.lucene.LuceneServiceProvider;
import org.apache.geode.cache.lucene.internal.LuceneServiceImpl;
import org.apache.geode.cache.lucene.internal.cli.LuceneDestroyIndexInfo;
-import org.apache.geode.cache.lucene.internal.security.LucenePermission;
import org.apache.geode.cache.lucene.internal.xml.LuceneXmlConstants;
-import org.apache.geode.internal.InternalEntity;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.xmlcache.CacheXml;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
-import org.apache.geode.security.ResourcePermission;
-import org.apache.geode.security.ResourcePermission.Operation;
-import org.apache.geode.security.ResourcePermission.Resource;
-public class LuceneDestroyIndexFunction implements Function, InternalEntity {
+public class LuceneDestroyIndexFunction implements InternalFunction {
public void execute(final FunctionContext context) {
CliFunctionResult result;
String memberId = context.getCache().getDistributedSystem().getDistributedMember().getId();
@@ -72,10 +64,4 @@ public class LuceneDestroyIndexFunction implements Function, InternalEntity {
return new XmlEntity(CacheXml.REGION, "name", regionName, LuceneXmlConstants.PREFIX,
LuceneXmlConstants.NAMESPACE, LuceneXmlConstants.INDEX, "name", indexName);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(
- new ResourcePermission(Resource.CLUSTER, Operation.MANAGE, LucenePermission.TARGET));
- }
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneListIndexFunction.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneListIndexFunction.java
index 31c8122..a4d7193 100755
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneListIndexFunction.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneListIndexFunction.java
@@ -15,8 +15,6 @@
package org.apache.geode.cache.lucene.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -29,11 +27,8 @@ import org.apache.geode.cache.lucene.internal.LuceneIndexCreationProfile;
import org.apache.geode.cache.lucene.internal.LuceneIndexImpl;
import org.apache.geode.cache.lucene.internal.LuceneServiceImpl;
import org.apache.geode.cache.lucene.internal.cli.LuceneIndexDetails;
-import org.apache.geode.cache.lucene.internal.security.LucenePermission;
import org.apache.geode.internal.InternalEntity;
-import org.apache.geode.security.ResourcePermission;
-import org.apache.geode.security.ResourcePermission.Operation;
-import org.apache.geode.security.ResourcePermission.Resource;
+import org.apache.geode.internal.cache.execute.InternalFunction;
/**
* The LuceneListIndexFunction class is a function used to collect the information on all lucene
@@ -48,7 +43,7 @@ import org.apache.geode.security.ResourcePermission.Resource;
* @see LuceneIndexDetails
*/
@SuppressWarnings("unused")
-public class LuceneListIndexFunction implements InternalEntity, Function {
+public class LuceneListIndexFunction implements InternalFunction {
private static final long serialVersionUID = -2320432506763893879L;
@@ -70,10 +65,4 @@ public class LuceneListIndexFunction implements InternalEntity, Function {
}
context.getResultSender().lastResult(indexDetailsSet);
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(
- new ResourcePermission(Resource.CLUSTER, Operation.READ, LucenePermission.TARGET));
- }
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneSearchIndexFunction.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneSearchIndexFunction.java
index c043388..1e0dbd1 100755
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneSearchIndexFunction.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/functions/LuceneSearchIndexFunction.java
@@ -15,8 +15,6 @@
package org.apache.geode.cache.lucene.internal.cli.functions;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -24,20 +22,13 @@ import java.util.Set;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.cache.lucene.LuceneQuery;
-import org.apache.geode.cache.lucene.LuceneQueryException;
-import org.apache.geode.cache.lucene.LuceneResultStruct;
-import org.apache.geode.cache.lucene.LuceneService;
-import org.apache.geode.cache.lucene.LuceneServiceProvider;
-import org.apache.geode.cache.lucene.PageableLuceneQueryResults;
+import org.apache.geode.cache.lucene.*;
import org.apache.geode.cache.lucene.internal.cli.LuceneIndexDetails;
import org.apache.geode.cache.lucene.internal.cli.LuceneIndexInfo;
import org.apache.geode.cache.lucene.internal.cli.LuceneQueryInfo;
import org.apache.geode.cache.lucene.internal.cli.LuceneSearchResults;
import org.apache.geode.internal.InternalEntity;
-import org.apache.geode.security.ResourcePermission;
-import org.apache.geode.security.ResourcePermission.Operation;
-import org.apache.geode.security.ResourcePermission.Resource;
+import org.apache.geode.internal.cache.execute.InternalFunction;
/**
* The LuceneSearchIndexFunction class is a function used to collect the information on a particular
@@ -53,7 +44,7 @@ import org.apache.geode.security.ResourcePermission.Resource;
* @see LuceneIndexInfo
*/
@SuppressWarnings("unused")
-public class LuceneSearchIndexFunction<K, V> implements InternalEntity, Function {
+public class LuceneSearchIndexFunction<K, V> implements InternalFunction {
private static final long serialVersionUID = 163818919780803222L;
@@ -98,9 +89,4 @@ public class LuceneSearchIndexFunction<K, V> implements InternalEntity, Function
context.getResultSender().lastResult(result);
}
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- return Collections.singleton(new ResourcePermission(Resource.DATA, Operation.READ, regionName));
- }
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/directory/DumpDirectoryFiles.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/directory/DumpDirectoryFiles.java
index 4d720da..c1232c9 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/directory/DumpDirectoryFiles.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/directory/DumpDirectoryFiles.java
@@ -17,14 +17,11 @@ package org.apache.geode.cache.lucene.internal.directory;
import java.io.File;
import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
import org.apache.logging.log4j.Logger;
import org.apache.lucene.index.IndexWriter;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.FunctionException;
import org.apache.geode.cache.execute.RegionFunctionContext;
@@ -34,14 +31,11 @@ import org.apache.geode.cache.lucene.internal.InternalLuceneIndex;
import org.apache.geode.cache.lucene.internal.filesystem.FileSystem;
import org.apache.geode.cache.lucene.internal.repository.IndexRepository;
import org.apache.geode.cache.lucene.internal.repository.RepositoryManager;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.BucketNotFoundException;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.security.ResourcePermission;
-import org.apache.geode.security.ResourcePermission.Operation;
-import org.apache.geode.security.ResourcePermission.Resource;
-public class DumpDirectoryFiles implements Function, InternalEntity {
+public class DumpDirectoryFiles implements InternalFunction {
private static final long serialVersionUID = 1L;
private static final Logger logger = LogService.getLogger();
@@ -101,12 +95,4 @@ public class DumpDirectoryFiles implements Function, InternalEntity {
public boolean optimizeForWrite() {
return true;
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- Set<ResourcePermission> required = new HashSet<>();
- required.add(new ResourcePermission(Resource.DATA, Operation.READ, regionName));
- required.add(new ResourcePermission(Resource.CLUSTER, Operation.MANAGE));
- return required;
- }
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunction.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunction.java
index bc5ced6..e460533 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunction.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunction.java
@@ -18,14 +18,12 @@ package org.apache.geode.cache.lucene.internal.distributed;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import org.apache.logging.log4j.Logger;
import org.apache.lucene.search.Query;
import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.FunctionException;
import org.apache.geode.cache.execute.RegionFunctionContext;
@@ -41,12 +39,11 @@ import org.apache.geode.cache.lucene.internal.LuceneServiceImpl;
import org.apache.geode.cache.lucene.internal.repository.IndexRepository;
import org.apache.geode.cache.lucene.internal.repository.IndexResultCollector;
import org.apache.geode.cache.lucene.internal.repository.RepositoryManager;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.BucketNotFoundException;
import org.apache.geode.internal.cache.PrimaryBucketException;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.execute.InternalFunctionInvocationTargetException;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.security.ResourcePermission;
/**
* {@link LuceneQueryFunction} coordinates text search on a member. It receives text search query
@@ -54,7 +51,7 @@ import org.apache.geode.security.ResourcePermission;
* and provides a result collector. The locally collected results are sent to the search
* coordinator.
*/
-public class LuceneQueryFunction implements Function<LuceneFunctionContext>, InternalEntity {
+public class LuceneQueryFunction implements InternalFunction<LuceneFunctionContext> {
private static final long serialVersionUID = 1L;
public static final String ID = LuceneQueryFunction.class.getName();
@@ -176,11 +173,4 @@ public class LuceneQueryFunction implements Function<LuceneFunctionContext>, Int
public boolean optimizeForWrite() {
return true;
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- ResourcePermission read = new ResourcePermission(ResourcePermission.Resource.DATA,
- ResourcePermission.Operation.READ, regionName);
- return Collections.singleton(read);
- }
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunction.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunction.java
index f0c88a4..0e84ad3 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunction.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunction.java
@@ -15,27 +15,23 @@
package org.apache.geode.cache.lucene.internal.distributed;
-import java.util.Collection;
-import java.util.Collections;
import java.util.concurrent.TimeUnit;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.asyncqueue.internal.AsyncEventQueueImpl;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.RegionFunctionContext;
import org.apache.geode.cache.execute.ResultSender;
import org.apache.geode.cache.lucene.internal.LuceneServiceImpl;
-import org.apache.geode.internal.InternalEntity;
-import org.apache.geode.security.ResourcePermission;
+import org.apache.geode.internal.cache.execute.InternalFunction;
/**
* {@link WaitUntilFlushedFunction} will check all the members with index to wait until the events
* in current AEQs are flushed into index. This function enables an accessor and client to call to
* make sure the current events are processed.
*/
-public class WaitUntilFlushedFunction implements Function<Object>, InternalEntity {
+public class WaitUntilFlushedFunction implements InternalFunction<Object> {
private static final long serialVersionUID = 1L;
public static final String ID = WaitUntilFlushedFunction.class.getName();
@@ -79,11 +75,4 @@ public class WaitUntilFlushedFunction implements Function<Object>, InternalEntit
public boolean optimizeForWrite() {
return true;
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- ResourcePermission read = new ResourcePermission(ResourcePermission.Resource.DATA,
- ResourcePermission.Operation.READ, regionName);
- return Collections.singleton(read);
- }
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/results/LuceneGetPageFunction.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/results/LuceneGetPageFunction.java
index 8e2bfcc..3ddbff3 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/results/LuceneGetPageFunction.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/results/LuceneGetPageFunction.java
@@ -15,8 +15,6 @@
package org.apache.geode.cache.lucene.internal.results;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -24,23 +22,21 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.cache.Region;
-import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.RegionFunctionContext;
import org.apache.geode.cache.partition.PartitionRegionHelper;
-import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.EntrySnapshot;
import org.apache.geode.internal.cache.PrimaryBucketException;
import org.apache.geode.internal.cache.Token;
+import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.execute.InternalFunctionInvocationTargetException;
import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.security.ResourcePermission;
/**
* {@link LuceneGetPageFunction} Returns the values of entries back to the user This behaves
* basically like a getAll, but it does not invoke a cache loader
*/
-public class LuceneGetPageFunction implements Function<Object>, InternalEntity {
+public class LuceneGetPageFunction implements InternalFunction<Object> {
private static final long serialVersionUID = 1L;
public static final String ID = LuceneGetPageFunction.class.getName();
@@ -90,11 +86,4 @@ public class LuceneGetPageFunction implements Function<Object>, InternalEntity {
public boolean optimizeForWrite() {
return false;
}
-
- @Override
- public Collection<ResourcePermission> getRequiredPermissions(String regionName) {
- ResourcePermission read = new ResourcePermission(ResourcePermission.Resource.DATA,
- ResourcePermission.Operation.READ, regionName);
- return Collections.singleton(read);
- }
}
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java
index 378ea89..2ebe8a2 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneClientSecurityDUnitTest.java
@@ -136,8 +136,7 @@ public class LuceneClientSecurityDUnitTest extends LuceneQueriesAccessorBase {
protected LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse[] getSearchIndexUserNameAndExpectedResponses() {
return new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse[] {
new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse("nopermissions", true,
- "nopermissions not authorized for DATA:READ"),
- new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse("dataread" + REGION_NAME,
- false, null)};
+ "nopermissions not authorized for *"),
+ new LuceneCommandsSecurityDUnitTest.UserNameAndExpectedResponse("*", false, null)};
}
}
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneFunctionSecurityTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneFunctionSecurityTest.java
index fd4aa30..ab3c843 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneFunctionSecurityTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneFunctionSecurityTest.java
@@ -60,14 +60,14 @@ public class LuceneFunctionSecurityTest {
@BeforeClass
public static void setupClass() {
- functionStringMap.put(new LuceneCreateIndexFunction(), "CLUSTER:MANAGE:LUCENE");
- functionStringMap.put(new LuceneDescribeIndexFunction(), "CLUSTER:READ:LUCENE");
- functionStringMap.put(new LuceneDestroyIndexFunction(), "CLUSTER:MANAGE:LUCENE");
- functionStringMap.put(new LuceneListIndexFunction(), "CLUSTER:READ:LUCENE");
- functionStringMap.put(new LuceneSearchIndexFunction(), "DATA:READ:testRegion");
- functionStringMap.put(new LuceneQueryFunction(), "DATA:READ:testRegion");
- functionStringMap.put(new WaitUntilFlushedFunction(), "DATA:READ:testRegion");
- functionStringMap.put(new LuceneGetPageFunction(), "DATA:READ:testRegion");
+ functionStringMap.put(new LuceneCreateIndexFunction(), "*");
+ functionStringMap.put(new LuceneDescribeIndexFunction(), "*");
+ functionStringMap.put(new LuceneDestroyIndexFunction(), "*");
+ functionStringMap.put(new LuceneListIndexFunction(), "*");
+ functionStringMap.put(new LuceneSearchIndexFunction(), "*");
+ functionStringMap.put(new LuceneQueryFunction(), "*");
+ functionStringMap.put(new WaitUntilFlushedFunction(), "*");
+ functionStringMap.put(new LuceneGetPageFunction(), "*");
functionStringMap.keySet().forEach(FunctionService::registerFunction);
FunctionService.registerFunction(new DumpDirectoryFiles());
@@ -90,48 +90,16 @@ public class LuceneFunctionSecurityTest {
// getRequiredPermission are all enforced before trying to execute
@Test
@ConnectionConfiguration(user = "clusterManage", password = "clusterManage")
- public void dumpDirectoryFileRequiresBoth_AsClusterManage() {
- gfsh.executeAndAssertThat("execute function --region=testRegion --id=" + DumpDirectoryFiles.ID)
- .tableHasRowCount(RESULT_HEADER, 1).tableHasRowWithValues(RESULT_HEADER,
- "Exception: clusterManage not authorized for DATA:READ:testRegion")
- .statusIsError();
- }
-
- @Test
- @ConnectionConfiguration(user = "dataRead", password = "dataRead")
- public void dumpDirectoryFileRequiresBoth_AsDataRead() {
- gfsh.executeAndAssertThat("execute function --region=testRegion --id=" + DumpDirectoryFiles.ID)
- .tableHasRowCount(RESULT_HEADER, 1).tableHasRowWithValues(RESULT_HEADER,
- "Exception: dataRead not authorized for CLUSTER:MANAGE")
- .statusIsError();
- }
-
- @Test
- @ConnectionConfiguration(user = "clusterManage,dataReadRegionB",
- password = "clusterManage,dataReadRegionB")
- public void dumpDirectoryFileRequiresBoth_dataReadAnotherRegion() {
- gfsh.executeAndAssertThat("execute function --region=testRegion --id=" + DumpDirectoryFiles.ID)
- .tableHasRowCount(RESULT_HEADER, 1)
- .tableHasRowWithValues(RESULT_HEADER,
- "Exception: clusterManage,dataReadRegionB not authorized for DATA:READ:testRegion")
- .statusIsError();
- }
-
- @Test
- @ConnectionConfiguration(user = "clusterManage,dataReadTestRegionA",
- password = "clusterManage,dataReadTestRegionA")
- public void dumpDirectoryFileRequiresBoth_dataReadInsufficient() {
+ public void dumpDirectoryFileRequiresAll_insufficientUser() {
gfsh.executeAndAssertThat("execute function --region=testRegion --id=" + DumpDirectoryFiles.ID)
.tableHasRowCount(RESULT_HEADER, 1)
- .tableHasRowWithValues(RESULT_HEADER,
- "Exception: clusterManage,dataReadTestRegionA not authorized for DATA:READ:testRegion")
+ .tableHasRowWithValues(RESULT_HEADER, "Exception: clusterManage not authorized for *")
.statusIsError();
}
@Test
- @ConnectionConfiguration(user = "clusterManage,dataReadTestRegion",
- password = "clusterManage,dataReadTestRegion")
- public void dumpDirectoryFileRequiresBoth_validUser() {
+ @ConnectionConfiguration(user = "*", password = "*")
+ public void dumpDirectoryFileRequiresAll_validUser() {
gfsh.executeAndAssertThat("execute function --region=testRegion --id=" + DumpDirectoryFiles.ID)
.tableHasRowCount(RESULT_HEADER, 1).doesNotContainOutput("not authorized").statusIsError();
}
--
To stop receiving notification emails like this one, please contact
sai_boorlagadda@apache.org.