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