[infinispan-issues] [JBoss JIRA] (ISPN-5704) Enhancements for Functional Map API

Galder Zamarreño (JIRA) issues at jboss.org
Tue Sep 8 05:10:00 EDT 2015


    [ https://issues.jboss.org/browse/ISPN-5704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106201#comment-13106201 ] 

Galder Zamarreño commented on ISPN-5704:
----------------------------------------

* evalMany methods taking Map should be typed more generically because the way {{entries}} has been defined, it can only carry value information but no metadata paramaters. In other words, with {{entries}} value side being {{? extends V}}, it's difficult to construct to a Map where you have both value and metadata information, and then apply that. Here's how it looks now in WriteOnlyMap:
{code}
CompletableFuture<Void> evalMany(Map<? extends K, ? extends V> entries, BiConsumer<V, WriteEntryView<V>> f);
{code}
Here's how it could look:
{code}
<T> CompletableFuture<Void> evalMany(Map<? extends K, T> entries, BiConsumer<T, WriteEntryView<V>> f);
{code}
By doing that, T could be flexible enough to contain both value and any extra metadata parameters.

> Enhancements for Functional Map API
> -----------------------------------
>
>                 Key: ISPN-5704
>                 URL: https://issues.jboss.org/browse/ISPN-5704
>             Project: Infinispan
>          Issue Type: Enhancement
>            Reporter: Galder Zamarreño
>            Assignee: Galder Zamarreño
>             Fix For: 8.1.0.Final
>
>
> List of enhancements that didn't make it into 8.0:
> * Transaction support.
> * Verify locks are acquired for all operations (once tx is in place, locks can be checked easily)
> * Complete persistence support (remove many returning previous, put many returning previous, remove many)
> * Replication of per-invocation parameters.
> * Port mode *Becoming*Test to functional APIs, and expand on testing other functional APIs.
> * Test interoperability with cache, e.g. cache put with lifespan can be retrieved via functional map with lifespan, and viceversa 
> * Test compatibility mode
> * Add more listener events: activation, passivation and expiration.
> * Use check isLocal instead of `e == null` in command impls
> * Fix branch skip issue (see previous PR: https://github.com/infinispan/infinispan/pull/3571)
> * Add externalizers for primitive versions of Optional.
> * ValueMatcherMode indexes in MarshallableFunctionExternalizers should be based on {{ordinal()}} calls to annotation. Also, could the core's enumeration use the annotations defined in commons?



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the infinispan-issues mailing list