[ 
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.

Reply via email to