[ 
https://issues.apache.org/jira/browse/GEODE-126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14645276#comment-14645276
 ] 

John Blum edited comment on GEODE-126 at 7/29/15 12:34 AM:
-----------------------------------------------------------

The initial set of Functions I am thinking of originate from the 
[com.gemstone.gemfire.managment.internal.cli.functions|https://github.com/apache/incubator-geode/tree/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions]
 package, which are used by _Gfsh_ to implement many of the _Gfsh_ commands.

Some good examples include, but are not limited to..

* 
[AlterRuntimeConfigFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/AlterRuntimeConfigFunction.java]
 
* 
[ChangeLogLevelFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ChangeLogLevelFunction.java]
* 
[CloseDurableCqFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CloseDurableCqFunction.java]
* 
[ContinuousQueryFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ContunuousQueryFunction.java]
* 
[CreateAsyncEventQueueFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateAsyncEventQueueFunction.java]
* 
[CreatedDefinedIndexesFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateDefinedIndexesFunction.java]
* 
[CreatedDiskStoreFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateDiskStoreFunction.java]
* 
[CreateHDFSStoreFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateHDFSStoreFunction.java]
* 
[CreateIndexFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateIndexFunction.java]
* 
[DeployFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/DeployFunction.java]
* 
[DestroyDiskStoreFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/DestroyDiskStoreFunction.java]
* etc
* etc

The one I needed in particular was 
[GetRegionsFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/GetRegionsFunction.java]
 (probably more appropriately named "ListRegionsFunction") which was [used in 
Spring Data 
GemFire|https://github.com/spring-projects/spring-data-gemfire/blob/master/src/main/java/org/springframework/data/gemfire/client/GemfireDataSourcePostProcessor.java#L88]
 for [SGF-409|https://jira.spring.io/browse/SGF-409].

Anyway, this set of GemFire Functions in the package noted above should be 
reviewed and perhaps included in the initial set of "pre-canned" Function Geode 
offers out-of-the-box.  Of course, as William points out, there are many other, 
possibly useful Functions we could offer as well.

As such, this could serve as the Epic to track all such Functions and 
individual JIRAs could be filed for select groupings of Functions (e.g. all 
DiskStore related Functions).


was (Author: jblum):
The initial set of Functions I am thinking of originate from the 
[com.gemstone.gemfire.managment.internal.cli.functions|https://github.com/apache/incubator-geode/tree/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions]
 package, which are used by _Gfsh_ for many of the _Gfsh_ command 
implementations.

Some good examples include, but are not limited to..

* 
[AlterRuntimeConfigFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/AlterRuntimeConfigFunction.java]
 
* 
[ChangeLogLevelFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ChangeLogLevelFunction.java]
* 
[CloseDurableCqFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CloseDurableCqFunction.java]
* 
[ContinuousQueryFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ContunuousQueryFunction.java]
* 
[CreateAsyncEventQueueFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateAsyncEventQueueFunction.java]
* 
[CreatedDefinedIndexesFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateDefinedIndexesFunction.java]
* 
[CreatedDiskStoreFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateDiskStoreFunction.java]
* 
[CreateHDFSStoreFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateHDFSStoreFunction.java]
* 
[CreateIndexFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/CreateIndexFunction.java]
* 
[DeployFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/DeployFunction.java]
* 
[DestroyDiskStoreFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/DestroyDiskStoreFunction.java]
* etc
* etc

The one I needed in particular was 
[GetRegionsFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/GetRegionsFunction.java]
 (probably more appropriately named "ListRegionsFunction") which was [used in 
Spring Data 
GemFire|https://github.com/spring-projects/spring-data-gemfire/blob/master/src/main/java/org/springframework/data/gemfire/client/GemfireDataSourcePostProcessor.java#L88]
 for [SGF-409|https://jira.spring.io/browse/SGF-409].

Anyway, this set of GemFire Functions in the package noted above should be 
reviewed and perhaps included in the initial set of "pre-canned" Function Geode 
offers out-of-the-box.  Of course, as William points out, there are many other, 
possibly useful Functions we could offer as well.

As such, this could serve as the Epic to track all such Functions and 
individual JIRAs could be filed for select groupings of Functions (e.g. all 
DiskStore related Functions).

> Provide pre-canned Geode Functions out-of-the-box for useful, common Geode 
> operations.
> --------------------------------------------------------------------------------------
>
>                 Key: GEODE-126
>                 URL: https://issues.apache.org/jira/browse/GEODE-126
>             Project: Geode
>          Issue Type: Improvement
>          Components: functions
>    Affects Versions: 1.0.0-incubating
>         Environment: Apache Geode + Cache Clients
>            Reporter: John Blum
>              Labels: ApacheGeode, Canned, Functions, Out-of-the-Box
>
> There were many useful _Geode_ 
> [Function(s)|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/cache/execute/Function.java]
>  created to implement many of _Geode's_ features.
> For instance, _Gfsh_ commands were nearly all implemented with _Geode_ 
> [Functions|https://github.com/apache/incubator-geode/tree/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions].
> Some of these {{Functions}} should be provided out-of-the-box, as pre-canned 
> {{Functions}} that users can use and documented as such.
> One good +example+ of such a {{Function}} is the _Gfsh's_ {{list functions}} 
> command {{Function}}... 
> [ListFunctionFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ListFunctionFunction.java].
> There are many more like 
> [ListFunctionFunction|https://github.com/apache/incubator-geode/blob/develop/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ListFunctionFunction.java]
>  that would be equally useful to provide in a non-internal API, supported by 
> Geode out-of-the-box.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to