camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Barry Kaplan (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (CAMEL-2167) Upgrade camel-scala to scala 2.8
Date Wed, 25 Nov 2009 03:09:52 GMT

    [ https://issues.apache.org/activemq/browse/CAMEL-2167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=56076#action_56076
] 

Barry Kaplan edited comment on CAMEL-2167 at 11/24/09 7:09 PM:
---------------------------------------------------------------

Ah, well looks like its more java generics foo. Likely the self referentials, eg: "class ProcessorDefinition<Type
extends org.apache.camel.model.ProcessorDefinition>". 

This going to be a slog. Here is one example:

{code}
public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedDefinition>
{..}

public abstract class ProcessorDefinition<Type extends ProcessorDefinition> extends
OptionalIdentifiedDefinition implements Block {..}
{code}

The above compiles fine with just javac. But when scalac see's this (when trying to compile
scala) it complains that ProcessorDefinition does not provide the type argument for OptionalIdentifiedDefinition.
I only found this by extracting out just the type declarations into a separate project. In
that small project scalac did not crash but provided the error message. In the camel-scala
project scalac just barfs.

_rant begin_ I hate java generics. I hate java. After a couple years of only scala, groovy,
ruby, and c# I had forgotten what an archaic, noisy language java is. _rant end_



      was (Author: memelet):
    Ah, well looks like its more java generics foo. Likely the self referentials, eg: "class
ProcessorDefinition<Type extends org.apache.camel.model.ProcessorDefinition>". 
  
> Upgrade camel-scala to scala 2.8
> --------------------------------
>
>                 Key: CAMEL-2167
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2167
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-scala
>    Affects Versions: 2.0.0
>            Reporter: Barry Kaplan
>            Assignee: Hadrian Zbarcea
>             Fix For: 2.2.0, 2.3.0
>
>         Attachments: Upgrade_to_scala_2_8.patch
>
>
> The attached patch upgrades to 2.8.0-SNAPSHOT (actually a specific version, but pretty
close to today). 
> Only a few changes were required:
>  - Change package declarations to new 2.8 style that allows relative imports
>  - Change org.apache.camel.scala.conveters.ScalaTypeConverter from a singleton object
to a class. Otherwise ObjectHelper failed to instantiate the converter due to private access.
(This could be 2.8 bug. I will need to raise an issue.)
> - Removed generic parameters on references to java classes that were not generic. Don't
know why this compiled with scala 2.7.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message