flink-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Sandiford (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLINK-1458) Interfaces and abstract classes are not valid types
Date Tue, 27 Jan 2015 18:37:35 GMT
John Sandiford created FLINK-1458:
-------------------------------------

             Summary: Interfaces and abstract classes are not valid types
                 Key: FLINK-1458
                 URL: https://issues.apache.org/jira/browse/FLINK-1458
             Project: Flink
          Issue Type: Bug
            Reporter: John Sandiford


I don't know whether this is by design or is a bug, but I am having trouble working with DataSet
and traits in scala which is a major limitation.  A simple example is shown below.  

Compile time warning is 'Type Main.SimpleTrait has no fields that are visible from Scala Type
analysis. Falling back to Java Type Analysis...'

Run time error is 'Interfaces and abstract classes are not valid types: interface Main$SimpleTrait'

Regards, John


 val env = ExecutionEnvironment.getExecutionEnvironment

  trait SimpleTrait {
    def contains(x: String): Boolean
  }

  class SimpleClass extends SimpleTrait {
    def contains(x: String) = true
  }

  val data: DataSet[Double] = env.fromElements(1.0, 2.0, 3.0, 4.0)

  def f(data: DataSet[Double]): DataSet[SimpleTrait] = {

    data.mapPartition(iterator => {
      Iterator(new SimpleClass)
    })
  }


  val g = f(data)
  g.print()



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

Mime
View raw message