You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Simone Robutti (JIRA)" <ji...@apache.org> on 2016/03/02 12:16:18 UTC
[jira] [Created] (FLINK-3563) .returns() doesn't compile when using
.map() with a custom MapFunction
Simone Robutti created FLINK-3563:
-------------------------------------
Summary: .returns() doesn't compile when using .map() with a custom MapFunction
Key: FLINK-3563
URL: https://issues.apache.org/jira/browse/FLINK-3563
Project: Flink
Issue Type: Bug
Components: Type Serialization System
Affects Versions: 0.10.1
Reporter: Simone Robutti
Priority: Minor
Defined a DummyMapFunction that goes from a java Map to another java Map like this:
{code:title=DummyMapFunction.scalaborderStyle=solid}
class DummyMapFunction() extends MapFunction[java.util.Map[String, Any], java.util.Map[FieldName, Any]] {
override def map(input: java.util.Map[String, Any]): java.util.Map[FieldName, Any] = {
val result: java.util.Map[FieldName, Any] = new java.util.HashMap[FieldName, Any]()
result
}
}
{code}
and trying to use it with a map:
{code:title=Main.java}
DummyMapFunction operator = new DummyMapFunction();
DataSource<Map<String, Object>> dataset = env.fromCollection(input);
List<java.util.Map<FieldName, Object>> collectedResult = dataset.map(operator).returns(java.util.Map.class).collect();
{code}
the returns call doesn't compile because it can't resolve the returns method with the parameter.
But if insted of creating a variable of type DummyMapFunction I create a
{code}
MapFunction operator=new DummyMapFuction();
{code}
or I explicitly cast the variable to a MapFunction, it compiles and work flawlessly.
This is a trick that works but I think is an unexpected behaviour.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)