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: [email protected]
For additional commands, e-mail: [email protected]