Hi Aljosha

Thanks for your answer!
I tried using returns but it does not work since the only place where I
could call it is within the function that has all the generic types so
there is no useful type hint to give. I could make the user hand over the
class definition for the type as well but that would complicate the
interface and I like to avoid that. Is there documentation or example
somewhere so I can see how to use
InputTypeConfigurable/OutputTypeConfigurable.

if you have time you can also reach me on hangout (might be faster than
email). :-)

cheers Martin


On Mon, May 2, 2016 at 11:23 AM, Aljoscha Krettek <aljos...@apache.org>
wrote:

> Hi,
> for user functions that have generics, such as you have, you have to
> manually specify the types somehow. This can either be done using
> InputTypeConfigurable/OutputTypeConfigurable or maybe using
> stream.returns(<type>).
>
> Cheers,
> Aljoscha
>
> On Fri, 29 Apr 2016 at 12:25 Martin Neumann <mneum...@sics.se> wrote:
>
>> Hej,
>>
>> I have a construct of different generic classes stacked on each other to
>> create a library (so the type variables get handed on). And I have some
>> trouble getting it to work.
>> The current offender is a Class with 3 type variables <K, V, RV>
>> internally it calls:
>>
>> .fold(new Tuple3<>(keyInit ,new Tuple2<Double,Double>(0d,0d), 
>> valueFold.getInit()), new 
>> CountSumFold<V,K,RV>(keySelector,valueSelector,valueFold))
>>
>> I initiated the class with <String, Tuple2<String,Double>,NullValue> but
>> when I try to run it it I get the exception:
>> org.apache.flink.api.common.functions.InvalidTypesException: Type of
>> TypeVariable 'K' in 'class se.sics.anomaly.bs.models.CountSumFold' could
>> not be determined.
>>
>> Anyone has an idea on how to fix this problem?
>>
>> cheers Martin
>>
>>

Reply via email to