Author: markt
Date: Fri Nov 27 17:14:16 2009
New Revision: 884913

URL: http://svn.apache.org/viewvc?rev=884913&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48267
Generics
Patch provided by sebb

Modified:
    tomcat/trunk/java/javax/annotation/Resource.java
    tomcat/trunk/java/javax/ejb/EJB.java
    tomcat/trunk/java/javax/el/BeanELResolver.java
    tomcat/trunk/java/javax/el/ELContext.java
    tomcat/trunk/java/javax/el/ListELResolver.java
    tomcat/trunk/java/javax/el/MapELResolver.java
    tomcat/trunk/java/javax/el/ResourceBundleELResolver.java
    tomcat/trunk/java/javax/xml/ws/WebServiceRef.java

Modified: tomcat/trunk/java/javax/annotation/Resource.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/annotation/Resource.java?rev=884913&r1=884912&r2=884913&view=diff
==============================================================================
--- tomcat/trunk/java/javax/annotation/Resource.java (original)
+++ tomcat/trunk/java/javax/annotation/Resource.java Fri Nov 27 17:14:16 2009
@@ -32,6 +32,7 @@
         APPLICATION
     }
     public String name() default "";
+    @SuppressWarnings("unchecked") // Can't use Class<?> because API needs to 
match specification
     public Class type() default Object.class;
     public AuthenticationType authenticationType() default 
AuthenticationType.CONTAINER;
     public boolean shareable() default true;

Modified: tomcat/trunk/java/javax/ejb/EJB.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/ejb/EJB.java?rev=884913&r1=884912&r2=884913&view=diff
==============================================================================
--- tomcat/trunk/java/javax/ejb/EJB.java (original)
+++ tomcat/trunk/java/javax/ejb/EJB.java Fri Nov 27 17:14:16 2009
@@ -29,6 +29,7 @@
 public @interface EJB {
    String name() default "";
    String description() default "";
+   @SuppressWarnings("unchecked") // Can't use Class<?> because API needs to 
match specification
    Class beanInterface() default java.lang.Object.class;
    String beanName() default "";
    String mappedName() default "";

Modified: tomcat/trunk/java/javax/el/BeanELResolver.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java?rev=884913&r1=884912&r2=884913&view=diff
==============================================================================
--- tomcat/trunk/java/javax/el/BeanELResolver.java (original)
+++ tomcat/trunk/java/javax/el/BeanELResolver.java Fri Nov 27 17:14:16 2009
@@ -229,7 +229,8 @@
                        this.type = descriptor.getPropertyType();
                }
 
-               public Class getPropertyType() {
+               @SuppressWarnings("unchecked") // Can't use Class<?> because 
API needs to match specification
+        public Class getPropertyType() {
                        return this.type;
                }
 
@@ -285,7 +286,7 @@
                return props.get(ctx, prop);
        }
 
-       private final static Method getMethod(Class type, Method m) {
+       private final static Method getMethod(Class<?> type, Method m) {
                if (m == null || Modifier.isPublic(type.getModifiers())) {
                        return m;
                }

Modified: tomcat/trunk/java/javax/el/ELContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/ELContext.java?rev=884913&r1=884912&r2=884913&view=diff
==============================================================================
--- tomcat/trunk/java/javax/el/ELContext.java (original)
+++ tomcat/trunk/java/javax/el/ELContext.java Fri Nov 27 17:14:16 2009
@@ -39,6 +39,7 @@
         this.resolved = false;
     }
     
+    @SuppressWarnings("unchecked") // Can't use Class<?> because API needs to 
match specification
     public Object getContext(Class key) {
         if (this.map == null) {
             return null;
@@ -46,6 +47,7 @@
         return this.map.get(key);
     }
     
+    @SuppressWarnings("unchecked") // Can't use Class<?> because API needs to 
match specification
     public void putContext(Class key, Object contextObject) throws 
NullPointerException {
         if (key == null || contextObject == null) {
             throw new NullPointerException();

Modified: tomcat/trunk/java/javax/el/ListELResolver.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/ListELResolver.java?rev=884913&r1=884912&r2=884913&view=diff
==============================================================================
--- tomcat/trunk/java/javax/el/ListELResolver.java (original)
+++ tomcat/trunk/java/javax/el/ListELResolver.java Fri Nov 27 17:14:16 2009
@@ -28,7 +28,7 @@
 
        private final boolean readOnly;
 
-       private final static Class<? extends List> UNMODIFIABLE =
+       private final static Class<?> UNMODIFIABLE =
            Collections.unmodifiableList(new ArrayList<Object>()).getClass();
 
        public ListELResolver() {
@@ -46,9 +46,9 @@
                        throw new NullPointerException();
                }
 
-               if (base instanceof List) {
+               if (base instanceof List<?>) {
                        context.setPropertyResolved(true);
-                       List<Object> list = (List<Object>) base;
+                       List<?> list = (List<?>) base;
                        int idx = coerce(property);
                        if (idx < 0 || idx >= list.size()) {
                                return null;
@@ -66,9 +66,9 @@
                        throw new NullPointerException();
                }
 
-               if (base instanceof List) {
+               if (base instanceof List<?>) {
                        context.setPropertyResolved(true);
-                       List<Object> list = (List<Object>) base;
+                       List<?> list = (List<?>) base;
                        int idx = coerce(property);
                        if (idx < 0 || idx >= list.size()) {
                                return null;
@@ -89,8 +89,9 @@
                        throw new NullPointerException();
                }
 
-               if (base instanceof List) {
+               if (base instanceof List<?>) {
                        context.setPropertyResolved(true);
+                       @SuppressWarnings("unchecked") // Must be OK to cast to 
Object
                        List<Object> list = (List<Object>) base;
 
                        if (this.readOnly) {
@@ -117,9 +118,9 @@
                        throw new NullPointerException();
                }
 
-               if (base instanceof List) {
+               if (base instanceof List<?>) {
                        context.setPropertyResolved(true);
-                       List<Object> list = (List<Object>) base;
+                       List<?> list = (List<?>) base;
                        int idx = coerce(property);
                        if (idx < 0 || idx >= list.size()) {
                                throw new PropertyNotFoundException(
@@ -133,8 +134,8 @@
 
        @Override
     public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext 
context, Object base) {
-               if (base instanceof List) {
-                       FeatureDescriptor[] descs = new 
FeatureDescriptor[((List) base).size()];
+               if (base instanceof List<?>) {
+                       FeatureDescriptor[] descs = new 
FeatureDescriptor[((List<?>) base).size()];
                        for (int i = 0; i < descs.length; i++) {
                                descs[i] = new FeatureDescriptor();
                                descs[i].setDisplayName("["+i+"]");
@@ -152,7 +153,7 @@
 
        @Override
     public Class<?> getCommonPropertyType(ELContext context, Object base) {
-               if (base != null && base instanceof List) {
+               if (base instanceof List<?>) { // implies base != null
                        return Integer.class;
                }
                return null;

Modified: tomcat/trunk/java/javax/el/MapELResolver.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/MapELResolver.java?rev=884913&r1=884912&r2=884913&view=diff
==============================================================================
--- tomcat/trunk/java/javax/el/MapELResolver.java (original)
+++ tomcat/trunk/java/javax/el/MapELResolver.java Fri Nov 27 17:14:16 2009
@@ -27,8 +27,8 @@
 
 public class MapELResolver extends ELResolver {
 
-       private final static Class UNMODIFIABLE = Collections.unmodifiableMap(
-                       new HashMap()).getClass();
+       private final static Class<?> UNMODIFIABLE = 
Collections.unmodifiableMap(
+                       new HashMap<Object, Object>()).getClass();
 
        private final boolean readOnly;
 
@@ -47,9 +47,9 @@
                        throw new NullPointerException();
                }
 
-               if (base instanceof Map) {
+               if (base instanceof Map<?,?>) {
                        context.setPropertyResolved(true);
-                       return ((Map) base).get(property);
+                       return ((Map<?,?>) base).get(property);
                }
                
                return null;
@@ -62,9 +62,9 @@
                        throw new NullPointerException();
                }
 
-               if (base instanceof Map) {
+               if (base instanceof Map<?,?>) {
                        context.setPropertyResolved(true);
-                       Object obj = ((Map) base).get(property);
+                       Object obj = ((Map<?,?>) base).get(property);
                        return (obj != null) ? obj.getClass() : null;
                }
                
@@ -80,7 +80,7 @@
                        throw new NullPointerException();
                }
 
-               if (base instanceof Map) {
+               if (base instanceof Map<?, ?>) {
                        context.setPropertyResolved(true);
 
                        if (this.readOnly) {
@@ -90,7 +90,9 @@
                        }
 
                        try {
-                               ((Map) base).put(property, value);
+                           @SuppressWarnings("unchecked") // Must be OK
+                           Map<Object, Object> map = ((Map<Object, Object>) 
base);
+                           map.put(property, value);
                        } catch (UnsupportedOperationException e) {
                                throw new PropertyNotWritableException(e);
                        }
@@ -104,7 +106,7 @@
                        throw new NullPointerException();
                }
 
-               if (base instanceof Map) {
+               if (base instanceof Map<?, ?>) {
                        context.setPropertyResolved(true);
                        return this.readOnly || 
UNMODIFIABLE.equals(base.getClass());
                }
@@ -114,8 +116,8 @@
 
        @Override
     public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext 
context, Object base) {
-               if (base instanceof Map) {
-                       Iterator itr = ((Map) base).keySet().iterator();
+               if (base instanceof Map<?, ?>) {
+                       Iterator<?> itr = ((Map<?, ?>) 
base).keySet().iterator();
                        List<FeatureDescriptor> feats = new 
ArrayList<FeatureDescriptor>();
                        Object key;
                        FeatureDescriptor desc;
@@ -138,7 +140,7 @@
 
        @Override
     public Class<?> getCommonPropertyType(ELContext context, Object base) {
-               if (base instanceof Map) {
+               if (base instanceof Map<?, ?>) {
                        return Object.class;
                }
                return null;

Modified: tomcat/trunk/java/javax/el/ResourceBundleELResolver.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/ResourceBundleELResolver.java?rev=884913&r1=884912&r2=884913&view=diff
==============================================================================
--- tomcat/trunk/java/javax/el/ResourceBundleELResolver.java (original)
+++ tomcat/trunk/java/javax/el/ResourceBundleELResolver.java Fri Nov 27 
17:14:16 2009
@@ -100,14 +100,15 @@
        }
 
        @Override
+    @SuppressWarnings("unchecked") // Can't use Iterator<FeatureDescriptor> 
because API needs to match specification
     public Iterator getFeatureDescriptors(ELContext context, Object base) {
                if (base instanceof ResourceBundle) {
                        List<FeatureDescriptor> feats = new 
ArrayList<FeatureDescriptor>();
-                       Enumeration e = ((ResourceBundle) base).getKeys();
+                       Enumeration<String> e = ((ResourceBundle) 
base).getKeys();
                        FeatureDescriptor feat;
                        String key;
                        while (e.hasMoreElements()) {
-                               key = (String) e.nextElement();
+                               key = e.nextElement();
                                feat = new FeatureDescriptor();
                                feat.setDisplayName(key);
                                feat.setExpert(false);

Modified: tomcat/trunk/java/javax/xml/ws/WebServiceRef.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/xml/ws/WebServiceRef.java?rev=884913&r1=884912&r2=884913&view=diff
==============================================================================
--- tomcat/trunk/java/javax/xml/ws/WebServiceRef.java (original)
+++ tomcat/trunk/java/javax/xml/ws/WebServiceRef.java Fri Nov 27 17:14:16 2009
@@ -28,7 +28,9 @@
 
 public @interface WebServiceRef {
     public String name() default "";
+    @SuppressWarnings("unchecked") // Can't use Class<?> because API needs to 
match specification
     public Class type() default java.lang.Object.class;
+    @SuppressWarnings("unchecked") // Can't use Class<?> because API needs to 
match specification
     public Class value() default java.lang.Object.class;
     public String wsdlLocation() default "";
     public String mappedName() default "";



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to