Generics & Plugins

Jay Shaughnessy jshaughn at redhat.com
Tue Sep 13 13:09:05 UTC 2011


There are a couple of places that just adding in the <?> can cause an 
issue but I think it falls out pretty quickly.  I totally agree with you 
that we have way too many warnings like this, and I make it a point to 
remove all warnings (at least those flagged with my eclipse settings, 
like the one you mention) in files I touch.   In eclipse at least it's 
very easy to add the <?> generics syntax with a hover option.

I'm not sure the IJ users even see these warnings because I continually 
visit new files, or files I've already fixed, to find new instances of 
the problem.  In short, I think we should actually use valid java syntax 
when we can.  Five thousand warnings in the code base is annoying.


On 9/12/2011 3:38 PM, John Mazzitelli wrote:
> IIRC there are certain places where the<?>  placeholders cause compile
> problems. I can't remember the details.
>
> On 09/12/2011 03:35 PM, Stefan Negrea wrote:
>> Hello Everybody,
>>
>> I noticed a lot of raw type warnings in RHQ. I think most of them can be fixed pretty easy (without adding SuppressWarnings everywhere).
>>
>> Here are two specific examples:
>> 1) org.rhq.core.pluginapi.inventory.ResourceComponent.java
>>    - Now
>>      public interface ResourceComponent<T extends ResourceComponent>   extends AvailabilityFacet {
>>
>>    - Could be changed to
>>      public interface ResourceComponent<T extends ResourceComponent<?>>   extends AvailabilityFacet {
>>
>> 2) org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent.java
>>    - Now
>>      public interface ResourceDiscoveryComponent<T extends ResourceComponent>   {
>>
>>    - Could be changed to
>>      public interface ResourceDiscoveryComponent<T extends ResourceComponent<?>>   {
>>
>>
>> With this change the only problems that come to my mind are related to runtime exceptions from collections that use these classes. I attached a Java file with a few test cases for generics with wildcards . Hopefully I covered most of the RHQ use cases.
>>
>>
>> The wildcard change looks benign to me. Are there any reasons this was not done? Am I missing some complex edge cases or classloader issues? Or maybe problems with different JVMs?
>>
>>
>> Thank you,
>> Stefan Negrea
>>
>> Software Engineer
>>
>>
>>
>>
>> _______________________________________________
>> rhq-devel mailing list
>> rhq-devel at lists.fedorahosted.org
>> https://fedorahosted.org/mailman/listinfo/rhq-devel
> _______________________________________________
> rhq-devel mailing list
> rhq-devel at lists.fedorahosted.org
> https://fedorahosted.org/mailman/listinfo/rhq-devel
>


More information about the rhq-devel mailing list