You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/01/09 21:07:23 UTC
svn commit: r1229332 [1/5] - in /cxf/trunk:
common/common/src/main/java/org/apache/cxf/common/util/
rt/core/src/main/java/org/apache/cxf/bus/osgi/
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxr...
Author: dkulp
Date: Mon Jan 9 20:07:20 2012
New Revision: 1229332
URL: http://svn.apache.org/viewvc?rev=1229332&view=rev
Log:
Cleanup rawtypes issues in JAX-RS
Modified:
cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/PrimitiveUtils.java
cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/CXFActivator.java
cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/WorkQueueSingleConfig.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceFactoryBean.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ResponseReader.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ServerWebApplicationException.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/WebClient.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/MessageContextImpl.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/search/PrimitiveSearchCondition.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalContextResolver.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalSearchContext.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/AbstractResourceInfo.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/ProviderInfo.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AtomPojoProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/FormEncodingProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXRSDataBinding.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONUtils.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/SourceProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/XMLBeansElementProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/XPathProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/XSLTJaxbProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/JAXRSClientFactoryBeanDefinitionParser.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/multipart/AttachmentUtils.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/CustomerInfo.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/JAXBContextProvider.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/fortest/AbstractEntity2.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AtomPojoProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/BinaryDataProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataSourceProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/FormEncodingProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JSONProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/NoNamespaceJava5TypeCreator.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/NoNamespaceTypeCreator.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/SourceProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/XPathProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/XSLTJaxbProviderTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/resources/sdo/Structure.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/resources/sdo/impl/StructureImpl.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/JAXRSServerFactoryBeanTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/browser/bootstrapping/BootstrapStorage.java
cxf/trunk/rt/rs/security/xml/src/main/java/org/apache/cxf/rs/security/saml/SamlFormInHandler.java
cxf/trunk/rt/rs/security/xml/src/main/java/org/apache/cxf/rs/security/xml/AbstractXmlSecOutInterceptor.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookServer.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/GenericHandlerWriter.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerStreamingTest.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSSoapBookTest.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/StringTextWriter.java
cxf/trunk/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/saml/JAXRSSamlTest.java
cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/security/WSSecurityClientTest.java
Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/PrimitiveUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/PrimitiveUtils.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/PrimitiveUtils.java (original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/common/util/PrimitiveUtils.java Mon Jan 9 20:07:20 2012
@@ -54,33 +54,32 @@ public final class PrimitiveUtils {
return clz;
}
- public static Object read(String value, Class<?> type) {
+ public static <T> Object read(String value, Class<T> type) {
Object ret = value;
- if (Integer.TYPE.equals(type)) {
+ if (Integer.TYPE.equals(type) || Integer.class.equals(type)) {
ret = Integer.valueOf(value);
}
- if (Byte.TYPE.equals(type)) {
+ if (Byte.TYPE.equals(type) || Byte.class.equals(type)) {
ret = Byte.valueOf(value);
}
- if (Short.TYPE.equals(type)) {
+ if (Short.TYPE.equals(type) || Short.class.equals(type)) {
ret = Short.valueOf(value);
}
- if (Long.TYPE.equals(type)) {
+ if (Long.TYPE.equals(type) || Long.class.equals(type)) {
ret = Long.valueOf(value);
}
- if (Float.TYPE.equals(type)) {
+ if (Float.TYPE.equals(type) || Float.class.equals(type)) {
ret = Float.valueOf(value);
}
- if (Double.TYPE.equals(type)) {
+ if (Double.TYPE.equals(type) || Double.class.equals(type)) {
ret = Double.valueOf(value);
}
- if (Boolean.TYPE.equals(type)) {
+ if (Boolean.TYPE.equals(type) || Boolean.class.equals(type)) {
ret = Boolean.valueOf(value);
}
- if (Character.TYPE.equals(type)) {
+ if (Character.TYPE.equals(type) || Character.class.equals(type)) {
ret = value.charAt(0);
}
- // TODO others.
return ret;
}
}
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/CXFActivator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/CXFActivator.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/CXFActivator.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/CXFActivator.java Mon Jan 9 20:07:20 2012
@@ -50,6 +50,7 @@ public class CXFActivator implements Bun
private ServiceRegistration wqSingleConfigRegistratin;
/** {@inheritDoc}*/
+ @SuppressWarnings("deprecation")
public void start(BundleContext context) throws Exception {
cxfBundleListener = new CXFExtensionBundleListener(context.getBundle().getBundleId());
context.addBundleListener(cxfBundleListener);
@@ -74,7 +75,7 @@ public class CXFActivator implements Bun
}
private ServiceRegistration registerManagedServiceFactory(BundleContext context,
- Class serviceClass,
+ Class<?> serviceClass,
Object service,
String servicePid) {
Properties props = new Properties();
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/WorkQueueSingleConfig.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/WorkQueueSingleConfig.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/WorkQueueSingleConfig.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/osgi/WorkQueueSingleConfig.java Mon Jan 9 20:07:20 2012
@@ -22,6 +22,7 @@ import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;
+import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.workqueue.AutomaticWorkQueueImpl;
import org.osgi.service.cm.ConfigurationException;
import org.osgi.service.cm.ManagedService;
@@ -39,18 +40,19 @@ public class WorkQueueSingleConfig imple
this.workQueueList = workQueueList;
}
- public void updated(Dictionary properties) throws ConfigurationException {
+ public void updated(@SuppressWarnings("rawtypes") Dictionary properties) throws ConfigurationException {
+ Dictionary<String, String> p = CastUtils.cast(properties);
String names = (String)properties.get(PROPERTY_PREFIX + ".names");
String[] nameAr = names.split(",");
for (String name : nameAr) {
- updateQueue(name.trim(), properties);
+ updateQueue(name.trim(), p);
}
}
- private void updateQueue(String name, Dictionary properties)
+ private void updateQueue(String name, Dictionary<String, String> properties)
throws ConfigurationException {
Dictionary<String, String> queueProperties = new Hashtable<String, String>();
- Enumeration it = properties.keys();
+ Enumeration<?> it = properties.keys();
while (it.hasMoreElements()) {
String key = (String)it.nextElement();
String prefix = PROPERTY_PREFIX + "." + name + ".";
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java Mon Jan 9 20:07:20 2012
@@ -358,7 +358,7 @@ public class AbstractJAXRSFactoryBean ex
}
db.initialize(s);
}
- factory.setUserProviders(Collections.singletonList(new DataBindingProvider(db)));
+ factory.setUserProviders(Collections.singletonList(new DataBindingProvider<Object>(db)));
}
/**
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java Mon Jan 9 20:07:20 2012
@@ -136,7 +136,7 @@ public class JAXRSInvoker extends Abstra
exchange.getInMessage());
ProviderInfo<?> appProvider =
- (ProviderInfo)exchange.getEndpoint().get(Application.class.getName());
+ (ProviderInfo<?>)exchange.getEndpoint().get(Application.class.getName());
if (appProvider != null) {
InjectionUtils.injectContexts(appProvider.getProvider(),
appProvider,
@@ -264,7 +264,7 @@ public class JAXRSInvoker extends Abstra
}
@SuppressWarnings("unchecked")
- protected MultivaluedMap getTemplateValues(Message msg) {
+ protected MultivaluedMap<String, String> getTemplateValues(Message msg) {
MultivaluedMap<String, String> values = new MetadataMap<String, String>();
MultivaluedMap<String, String> oldValues =
(MultivaluedMap<String, String>)msg.get(URITemplate.TEMPLATE_PARAMETERS);
@@ -324,7 +324,7 @@ public class JAXRSInvoker extends Abstra
if (result instanceof MessageContentsList) {
result = ((MessageContentsList)result).get(0);
} else if (result instanceof List) {
- result = ((List)result).get(0);
+ result = ((List<?>)result).get(0);
} else if (result.getClass().isArray()) {
result = ((Object[])result)[0];
}
@@ -341,7 +341,6 @@ public class JAXRSInvoker extends Abstra
return result;
}
- @SuppressWarnings("unchecked")
private void pushOntoStack(OperationResourceInfo ori, Class<?> realClass, Message msg) {
OperationResourceInfoStack stack = msg.get(OperationResourceInfoStack.class);
if (stack == null) {
@@ -350,8 +349,9 @@ public class JAXRSInvoker extends Abstra
}
+ @SuppressWarnings("unchecked")
MultivaluedMap<String, String> params =
- (MultivaluedMap)msg.get(URITemplate.TEMPLATE_PARAMETERS);
+ (MultivaluedMap<String, String>)msg.get(URITemplate.TEMPLATE_PARAMETERS);
List<String> values = null;
if (params == null || params.size() == 1) {
values = Collections.emptyList();
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java Mon Jan 9 20:07:20 2012
@@ -70,7 +70,7 @@ import org.apache.cxf.service.invoker.In
*/
public class JAXRSServerFactoryBean extends AbstractJAXRSFactoryBean {
- protected Map<Class, ResourceProvider> resourceProviders = new HashMap<Class, ResourceProvider>();
+ protected Map<Class<?>, ResourceProvider> resourceProviders = new HashMap<Class<?>, ResourceProvider>();
private Server server;
private boolean start = true;
@@ -251,7 +251,7 @@ public class JAXRSServerFactoryBean exte
* Sets one or more root resource classes
* @param classes the list of resource classes
*/
- public void setResourceClasses(List<Class> classes) {
+ public void setResourceClasses(List<Class<?>> classes) {
serviceFactory.setResourceClasses(classes);
}
@@ -259,7 +259,7 @@ public class JAXRSServerFactoryBean exte
* Sets one or more root resource classes
* @param classes the array of resource classes
*/
- public void setResourceClasses(Class... classes) {
+ public void setResourceClasses(Class<?>... classes) {
serviceFactory.setResourceClasses(classes);
}
@@ -304,7 +304,7 @@ public class JAXRSServerFactoryBean exte
* @param c resource class
* @param rp resource provider
*/
- public void setResourceProvider(Class c, ResourceProvider rp) {
+ public void setResourceProvider(Class<?> c, ResourceProvider rp) {
resourceProviders.put(c, rp);
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceFactoryBean.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceFactoryBean.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceFactoryBean.java Mon Jan 9 20:07:20 2012
@@ -130,7 +130,7 @@ public class JAXRSServiceFactoryBean ext
return classResourceInfos;
}
- public void setResourceClass(Class cls) {
+ public void setResourceClass(Class<?> cls) {
if (getCreatedFromModel(cls) == null) {
classResourceInfos.clear();
boolean isRoot = AnnotationUtils.getClassAnnotation(cls, Path.class) != null;
@@ -138,8 +138,8 @@ public class JAXRSServiceFactoryBean ext
}
}
- public void setResourceClasses(List<Class> classes) {
- for (Class resourceClass : classes) {
+ public void setResourceClasses(List<Class<?>> classes) {
+ for (Class<?> resourceClass : classes) {
ClassResourceInfo cri = getCreatedFromModel(resourceClass);
if (cri != null) {
@@ -186,7 +186,7 @@ public class JAXRSServiceFactoryBean ext
return map;
}
- protected ClassResourceInfo createResourceInfo(Class cls, boolean isRoot) {
+ protected ClassResourceInfo createResourceInfo(Class<?> cls, boolean isRoot) {
ClassResourceInfo classResourceInfo =
ResourceUtils.createClassResourceInfo(cls, cls, isRoot, enableStatic);
if (classResourceInfo != null) {
@@ -195,7 +195,7 @@ public class JAXRSServiceFactoryBean ext
return classResourceInfo;
}
- public void setResourceClasses(Class... classes) {
+ public void setResourceClasses(Class<?>... classes) {
setResourceClasses(Arrays.asList(classes));
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServiceImpl.java Mon Jan 9 20:07:20 2012
@@ -99,7 +99,7 @@ public class JAXRSServiceImpl extends Ab
return serviceName;
}
if (address == null) {
- Class primaryClass = classResourceInfos.get(0).getServiceClass();
+ Class<?> primaryClass = classResourceInfos.get(0).getServiceClass();
String ns = PackageUtils.getNamespace(PackageUtils.getPackageName(primaryClass));
return new QName(ns, primaryClass.getSimpleName());
} else {
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java Mon Jan 9 20:07:20 2012
@@ -55,6 +55,7 @@ public class JAXRSBPNamespaceHandler imp
return null;
}
+ @SuppressWarnings("rawtypes")
public Set<Class> getManagedClasses() {
return null;
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java Mon Jan 9 20:07:20 2012
@@ -382,19 +382,23 @@ public abstract class AbstractClient imp
state.setResponseBuilder(currentResponseBuilder);
return rb;
}
-
- @SuppressWarnings("unchecked")
- protected void writeBody(Object o, Message outMessage, Class<?> cls, Type type, Annotation[] anns,
- MultivaluedMap<String, String> headers, OutputStream os) {
+ protected <T> void writeBody(T o, Message outMessage, Type type, Annotation[] anns,
+ MultivaluedMap<String, Object> headers, OutputStream os) {
+ @SuppressWarnings("unchecked")
+ Class<T> cls = (Class<T>)o.getClass();
+ writeBody(o, outMessage, cls, type, anns, headers, os);
+ }
+ protected <T> void writeBody(T o, Message outMessage, Class<T> cls, Type type, Annotation[] anns,
+ MultivaluedMap<String, Object> headers, OutputStream os) {
if (o == null) {
return;
}
- MediaType contentType = MediaType.valueOf(headers.getFirst("Content-Type"));
+ MediaType contentType = MediaType.valueOf(headers.getFirst("Content-Type").toString());
- MessageBodyWriter mbw = ProviderFactory.getInstance(outMessage).createMessageBodyWriter(
- cls, type, anns, contentType, outMessage);
+ MessageBodyWriter<T> mbw = ProviderFactory.getInstance(outMessage)
+ .createMessageBodyWriter(cls, type, anns, contentType, outMessage);
if (mbw != null) {
try {
mbw.writeTo(o, cls, type, anns, contentType, headers, os);
@@ -411,12 +415,12 @@ public abstract class AbstractClient imp
}
@SuppressWarnings("unchecked")
- protected Object readBody(Response r, Message inMessage, Class<?> cls,
- Type type, Annotation[] anns) {
+ protected <T> T readBody(Response r, Message inMessage, Class<T> cls,
+ Type type, Annotation[] anns) {
InputStream inputStream = (InputStream)r.getEntity();
if (inputStream == null) {
- return cls == Response.class ? r : null;
+ return cls == Response.class ? cls.cast(r) : null;
}
int status = r.getStatus();
@@ -424,23 +428,31 @@ public abstract class AbstractClient imp
Object length = r.getMetadata().getFirst(HttpHeaders.CONTENT_LENGTH);
if (length == null || Integer.parseInt(length.toString()) == 0
|| status >= 400) {
- return cls == Response.class ? r : status >= 400 ? inputStream : null;
+ if (cls == Response.class) {
+ return cls.cast(r);
+ } else {
+ return null;
+ }
}
}
MediaType contentType = getResponseContentType(r);
- MessageBodyReader mbr = ProviderFactory.getInstance(inMessage).createMessageBodyReader(
- cls, type, anns, contentType, inMessage);
+ MessageBodyReader<T> mbr
+ = ProviderFactory.getInstance(inMessage).createMessageBodyReader(
+ cls, type, anns, contentType, inMessage);
if (mbr != null) {
try {
- return mbr.readFrom(cls, type, anns, contentType,
- new MetadataMap<String, Object>(r.getMetadata(), true, true), inputStream);
+ MultivaluedMap<String, String> m
+ = (MultivaluedMap<String, String>)
+ ((MultivaluedMap<?, ?>)new MetadataMap<String, Object>(r.getMetadata(),
+ true, true));
+ return mbr.readFrom(cls, type, anns, contentType, m, inputStream);
} catch (Exception ex) {
reportMessageHandlerProblem("MSG_READER_PROBLEM", cls, contentType, ex, r);
}
} else if (cls == Response.class) {
- return r;
+ return cls.cast(r);
} else {
reportMessageHandlerProblem("NO_MSG_READER", cls, contentType, null, null);
}
@@ -471,7 +483,7 @@ public abstract class AbstractClient imp
}
checkClientException(message, message.getExchange().get(Exception.class));
- List result = message.getExchange().get(List.class);
+ List<?> result = message.getExchange().get(List.class);
return result != null ? result.toArray() : null;
}
@@ -516,7 +528,7 @@ public abstract class AbstractClient imp
try {
Object body = params.length == 0 ? null : params[0];
- Map<String, Object> reqContext = CastUtils.cast((Map)context.get(REQUEST_CONTEXT));
+ Map<String, Object> reqContext = CastUtils.cast((Map<?, ?>)context.get(REQUEST_CONTEXT));
MultivaluedMap<String, String> headers =
(MultivaluedMap<String, String>)reqContext.get(Message.PROTOCOL_HEADERS);
@@ -553,7 +565,7 @@ public abstract class AbstractClient imp
if (InjectionUtils.isSupportedCollectionOrArray(pValue.getClass())) {
Collection<?> c = pValue.getClass().isArray()
- ? Arrays.asList((Object[]) pValue) : (Collection) pValue;
+ ? Arrays.asList((Object[]) pValue) : (Collection<?>) pValue;
for (Iterator<?> it = c.iterator(); it.hasNext();) {
addToBuilder(ub, paramName, it.next(), pt);
}
@@ -759,11 +771,12 @@ public abstract class AbstractClient imp
}
protected Map<String, Object> getRequestContext(Message outMessage) {
- Map<String, Object> invContext = CastUtils.cast((Map)outMessage.get(Message.INVOCATION_CONTEXT));
- return CastUtils.cast((Map)invContext.get(REQUEST_CONTEXT));
+ Map<String, Object> invContext
+ = CastUtils.cast((Map<?, ?>)outMessage.get(Message.INVOCATION_CONTEXT));
+ return CastUtils.cast((Map<?, ?>)invContext.get(REQUEST_CONTEXT));
}
- protected List getContentsList(Object body) {
+ protected List<?> getContentsList(Object body) {
return body == null ? new MessageContentsList() : new MessageContentsList(body);
}
@@ -788,8 +801,8 @@ public abstract class AbstractClient imp
if (context == null) {
context = new HashMap<String, Object>();
}
- reqContext = CastUtils.cast((Map)context.get(REQUEST_CONTEXT));
- resContext = CastUtils.cast((Map)context.get(RESPONSE_CONTEXT));
+ reqContext = CastUtils.cast((Map<?, ?>)context.get(REQUEST_CONTEXT));
+ resContext = CastUtils.cast((Map<?, ?>)context.get(RESPONSE_CONTEXT));
if (reqContext == null) {
reqContext = new HashMap<String, Object>(cfg.getRequestContext());
context.put(REQUEST_CONTEXT, reqContext);
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java Mon Jan 9 20:07:20 2012
@@ -409,7 +409,7 @@ public class ClientProxyImpl extends Abs
if (pValue != null) {
if (InjectionUtils.isSupportedCollectionOrArray(pValue.getClass())) {
Collection<?> c = pValue.getClass().isArray()
- ? Arrays.asList((Object[]) pValue) : (Collection) pValue;
+ ? Arrays.asList((Object[]) pValue) : (Collection<?>) pValue;
for (Iterator<?> it = c.iterator(); it.hasNext();) {
FormUtils.addPropertyToForm(form, p.getName(), it.next());
}
@@ -502,7 +502,7 @@ public class ClientProxyImpl extends Abs
Exchange exchange,
Map<String, Object> invContext) throws Throwable {
- Map<String, Object> reqContext = CastUtils.cast((Map)invContext.get(REQUEST_CONTEXT));
+ Map<String, Object> reqContext = CastUtils.cast((Map<?, ?>)invContext.get(REQUEST_CONTEXT));
int bodyIndex = body != null ? (Integer)reqContext.get("BODY_INDEX") : -1;
OperationResourceInfo ori =
(OperationResourceInfo)reqContext.get(OperationResourceInfo.class.getName());
@@ -566,8 +566,8 @@ public class ClientProxyImpl extends Abs
if (objs == null || objs.size() == 0) {
return;
}
- MultivaluedMap<String, String> headers =
- (MultivaluedMap)outMessage.get(Message.PROTOCOL_HEADERS);
+ MultivaluedMap<String, Object> headers =
+ (MultivaluedMap<String, Object>)outMessage.get(Message.PROTOCOL_HEADERS);
Method method = ori.getMethodToInvoke();
int bodyIndex = (Integer)outMessage.get("BODY_INDEX");
Method aMethod = ori.getAnnotatedMethod();
@@ -576,11 +576,11 @@ public class ClientProxyImpl extends Abs
Object body = objs.get(0);
try {
if (bodyIndex != -1) {
- writeBody(body, outMessage, body.getClass(),
+ writeBody(body, outMessage,
method.getGenericParameterTypes()[bodyIndex],
anns, headers, os);
} else {
- writeBody(body, outMessage, body.getClass(), body.getClass(),
+ writeBody(body, outMessage, body.getClass(),
anns, headers, os);
}
} catch (Exception ex) {
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java Mon Jan 9 20:07:20 2012
@@ -19,6 +19,7 @@
package org.apache.cxf.jaxrs.client;
import java.net.URI;
+import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
@@ -49,7 +50,7 @@ public class JAXRSClientFactoryBean exte
private MultivaluedMap<String, String> headers;
private ClientState initialState;
private boolean threadSafe;
- private Class serviceClass;
+ private Class<?> serviceClass;
public JAXRSClientFactoryBean() {
this(new JAXRSServiceFactoryBean());
@@ -168,7 +169,7 @@ public class JAXRSClientFactoryBean exte
* Gets the initial headers
* @return the headers
*/
- public Map getHeaders() {
+ public Map<String, List<String>> getHeaders() {
return headers;
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ResponseReader.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ResponseReader.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ResponseReader.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ResponseReader.java Mon Jan 9 20:07:20 2012
@@ -57,8 +57,8 @@ public class ResponseReader implements M
return cls.isAssignableFrom(Response.class);
}
- @SuppressWarnings("unchecked")
- public Response readFrom(Class<Response> cls, Type genericType, Annotation[] anns, MediaType mt,
+ public Response readFrom(Class<Response> cls, Type genericType,
+ Annotation[] anns, MediaType mt,
MultivaluedMap<String, String> headers, InputStream is)
throws IOException, WebApplicationException {
@@ -74,23 +74,29 @@ public class ResponseReader implements M
}
if (entityCls != null) {
- Providers providers = getContext().getProviders();
- MessageBodyReader<?> reader =
- providers.getMessageBodyReader(entityCls, getEntityGenericType(), anns, mt);
- if (reader == null) {
- throw new ClientWebApplicationException("No reader for Response entity "
- + entityCls.getName());
- }
-
- Object entity = reader.readFrom((Class)entityCls, getEntityGenericType(),
- anns, mt, headers, is);
+ Object entity = readFrom(entityCls, anns, mt, headers, is);
rb.entity(entity);
}
-
return rb.build();
}
-
+ private <T> T readFrom(Class<T> type,
+ Annotation anns[], MediaType mt,
+ MultivaluedMap<String, String> headers,
+ InputStream is) throws IOException, WebApplicationException {
+
+ Providers providers = getContext().getProviders();
+ MessageBodyReader<T> reader =
+ providers.getMessageBodyReader(type, getEntityGenericType(), anns, mt);
+ if (reader == null) {
+ throw new ClientWebApplicationException("No reader for Response entity "
+ + entityCls.getName());
+ }
+
+ return reader.readFrom(type, getEntityGenericType(),
+ anns, mt, headers, is);
+ }
+
public void setEntityClass(Class<?> cls) {
entityCls = cls;
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ServerWebApplicationException.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ServerWebApplicationException.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ServerWebApplicationException.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ServerWebApplicationException.java Mon Jan 9 20:07:20 2012
@@ -86,7 +86,9 @@ public class ServerWebApplicationExcepti
@SuppressWarnings("unchecked")
public MultivaluedMap<String, String> getHeaders() {
- return (MultivaluedMap)super.getResponse().getMetadata();
+ MultivaluedMap<?, ?> mp = super.getResponse().getMetadata();
+ //need to bounce through the temp so the cast will work
+ return (MultivaluedMap<String, String>)mp;
}
@Override
@@ -141,11 +143,10 @@ public class ServerWebApplicationExcepti
* @param cls the entity class
* @return the typed entity
*/
- @SuppressWarnings("unchecked")
public <T> T toErrorObject(Client client, Class<T> entityCls) {
Response response = getResponse();
try {
- MultivaluedMap headers = response.getMetadata();
+ MultivaluedMap<String, String> headers = getHeaders();
Object contentType = headers.getFirst("Content-Type");
InputStream inputStream = (InputStream)response.getEntity();
if (contentType == null || inputStream == null) {
@@ -166,7 +167,7 @@ public class ServerWebApplicationExcepti
ProviderFactory pf = (ProviderFactory)ep.get(ProviderFactory.class.getName());
- MessageBodyReader reader = pf.createMessageBodyReader(entityCls,
+ MessageBodyReader<T> reader = pf.createMessageBodyReader(entityCls,
entityCls,
annotations,
mt,
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/WebClient.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/WebClient.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/WebClient.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/WebClient.java Mon Jan 9 20:07:20 2012
@@ -762,6 +762,13 @@ public class WebClient extends AbstractC
Object entity = readBody(currentResponse, outMessage, responseClass, genericType,
new Annotation[]{});
+
+ if (entity == null) {
+ int status = currentResponse.getStatus();
+ if (status >= 400) {
+ entity = currentResponse.getEntity();
+ }
+ }
rb.entity(entity instanceof Response
? ((Response)entity).getEntity() : entity);
@@ -791,8 +798,8 @@ public class WebClient extends AbstractC
if (objs == null || objs.size() == 0) {
return;
}
- MultivaluedMap<String, String> headers =
- (MultivaluedMap<String, String>)outMessage.get(Message.PROTOCOL_HEADERS);
+ MultivaluedMap<String, Object> headers =
+ (MultivaluedMap<String, Object>)outMessage.get(Message.PROTOCOL_HEADERS);
Object body = objs.get(0);
Map<String, Object> requestContext = WebClient.this.getRequestContext(outMessage);
@@ -801,7 +808,7 @@ public class WebClient extends AbstractC
type = (Type)requestContext.get(REQUEST_TYPE);
}
try {
- writeBody(body, outMessage, body.getClass(), type == null ? body.getClass() : type,
+ writeBody(body, outMessage, type == null ? body.getClass() : type,
new Annotation[]{}, headers, os);
if (os != null) {
os.flush();
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/MessageContextImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/MessageContextImpl.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/MessageContextImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/MessageContextImpl.java Mon Jan 9 20:07:20 2012
@@ -171,7 +171,7 @@ public class MessageContextImpl implemen
}
private void convertToAttachments(Object value) {
- List<?> handlers = (List)value;
+ List<?> handlers = (List<?>)value;
List<org.apache.cxf.message.Attachment> atts =
new ArrayList<org.apache.cxf.message.Attachment>();
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/search/PrimitiveSearchCondition.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/search/PrimitiveSearchCondition.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/search/PrimitiveSearchCondition.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/search/PrimitiveSearchCondition.java Mon Jan 9 20:07:20 2012
@@ -99,7 +99,7 @@ public class PrimitiveSearchCondition<T>
return pojo.getClass().getName().startsWith("java.lang");
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({ "unchecked", "rawtypes" })
private boolean compare(Object lval, ConditionType cond, Object rval) {
boolean compares = true;
if (cond == ConditionType.EQUALS || cond == ConditionType.NOT_EQUALS) {
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java Mon Jan 9 20:07:20 2012
@@ -112,13 +112,14 @@ public class XMLSource {
* @param cls class of the node
* @return the instance representing the matching node
*/
+ @SuppressWarnings("unchecked")
public <T> T getNode(String expression, Map<String, String> namespaces, Class<T> cls) {
Node node = (Node)evaluate(expression, namespaces, XPathConstants.NODE);
if (node == null) {
return null;
}
if (cls.isPrimitive() || cls == String.class) {
- return readPrimitiveValue(node, cls);
+ return (T)readPrimitiveValue(node, cls);
} else {
return readNode(node, cls);
}
@@ -160,7 +161,7 @@ public class XMLSource {
for (int i = 0; i < nodes.getLength(); i++) {
Node node = nodes.item(i);
if (InjectionUtils.isPrimitive(cls)) {
- values[i] = readPrimitiveValue(node, cls);
+ values[i] = (T)readPrimitiveValue(node, cls);
} else {
values[i] = readNode(node, cls);
}
@@ -278,9 +279,10 @@ public class XMLSource {
* @param cls the class of the response
* @return the value
*/
+ @SuppressWarnings("unchecked")
public <T> T getValue(String expression, Map<String, String> namespaces, Class<T> cls) {
Object result = evaluate(expression, namespaces, XPathConstants.STRING);
- return result == null ? null : InjectionUtils.convertStringToPrimitive(result.toString(), cls);
+ return result == null ? null : (T)InjectionUtils.convertStringToPrimitive(result.toString(), cls);
}
@@ -325,7 +327,7 @@ public class XMLSource {
}
}
- private <T> T readPrimitiveValue(Node node, Class<T> cls) {
+ private <T> Object readPrimitiveValue(Node node, Class<T> cls) {
if (String.class == cls) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
@@ -357,7 +359,7 @@ public class XMLSource {
try {
- JAXBElementProvider provider = new JAXBElementProvider();
+ JAXBElementProvider<?> provider = new JAXBElementProvider<Object>();
JAXBContext c = provider.getPackageContext(cls);
if (c == null) {
c = provider.getClassContext(cls);
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RuntimeDelegateImpl.java Mon Jan 9 20:07:20 2012
@@ -40,8 +40,8 @@ import org.apache.cxf.jaxrs.utils.Resour
public class RuntimeDelegateImpl extends RuntimeDelegate {
- protected Map<Class<?>, HeaderDelegate> headerProviders
- = new HashMap<Class<?>, HeaderDelegate>();
+ protected Map<Class<?>, HeaderDelegate<?>> headerProviders
+ = new HashMap<Class<?>, HeaderDelegate<?>>();
public RuntimeDelegateImpl() {
headerProviders.put(MediaType.class, new MediaTypeHeaderProvider());
@@ -70,7 +70,7 @@ public class RuntimeDelegateImpl extends
@SuppressWarnings("unchecked")
@Override
public <T> HeaderDelegate<T> createHeaderDelegate(Class<T> type) {
- return headerProviders.get(type);
+ return (HeaderDelegate<T>)headerProviders.get(type);
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java Mon Jan 9 20:07:20 2012
@@ -323,7 +323,7 @@ public class UriBuilderImpl extends UriB
}
@Override
- public UriBuilder path(Class resource) throws IllegalArgumentException {
+ public UriBuilder path(@SuppressWarnings("rawtypes") Class resource) throws IllegalArgumentException {
if (resource == null) {
throw new IllegalArgumentException("resource is null");
}
@@ -338,7 +338,8 @@ public class UriBuilderImpl extends UriB
}
@Override
- public UriBuilder path(Class resource, String method) throws IllegalArgumentException {
+ public UriBuilder path(@SuppressWarnings("rawtypes") Class resource, String method)
+ throws IllegalArgumentException {
if (resource == null) {
throw new IllegalArgumentException("resource is null");
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalContextResolver.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalContextResolver.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalContextResolver.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalContextResolver.java Mon Jan 9 20:07:20 2012
@@ -21,11 +21,11 @@ package org.apache.cxf.jaxrs.impl.tl;
import javax.ws.rs.ext.ContextResolver;
-public class ThreadLocalContextResolver extends AbstractThreadLocalProxy<ContextResolver>
- implements ContextResolver {
+public class ThreadLocalContextResolver<T>
+ extends AbstractThreadLocalProxy<ContextResolver<T>>
+ implements ContextResolver<T> {
- @SuppressWarnings("unchecked")
- public Object getContext(Class type) {
+ public T getContext(Class<?> type) {
return get() != null ? get().getContext(type) : null;
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalSearchContext.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalSearchContext.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalSearchContext.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/tl/ThreadLocalSearchContext.java Mon Jan 9 20:07:20 2012
@@ -26,8 +26,7 @@ import org.apache.cxf.jaxrs.ext.search.S
public class ThreadLocalSearchContext extends AbstractThreadLocalProxy<SearchContext>
implements SearchContext {
- @SuppressWarnings("unchecked")
- public SearchCondition getCondition(Class cls) {
+ public <T> SearchCondition<T> getCondition(Class<T> cls) {
return get().getCondition(cls);
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java Mon Jan 9 20:07:20 2012
@@ -35,6 +35,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.GenericEntity;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
@@ -216,7 +217,7 @@ public class JAXRSOutInterceptor extends
Annotation[] annotations = invoked != null ? invoked.getAnnotations() : new Annotation[]{};
- MessageBodyWriter writer = null;
+ MessageBodyWriter<?> writer = null;
MediaType responseType = null;
for (MediaType type : availableContentTypes) {
writer = ProviderFactory.getInstance(message)
@@ -244,7 +245,7 @@ public class JAXRSOutInterceptor extends
}
message.put(Message.CONTENT_TYPE, responseType.toString());
- long size = writer.getSize(entity, targetType, genericType, annotations, responseType);
+ long size = getSize(writer, entity, targetType, genericType, annotations, responseType);
if (size > 0) {
LOG.fine("Setting ContentLength to " + size + " as requested by "
+ writer.getClass().getName());
@@ -254,11 +255,11 @@ public class JAXRSOutInterceptor extends
LOG.fine("Response EntityProvider is: " + writer.getClass().getName());
}
try {
- writer.writeTo(entity, targetType, genericType,
- annotations,
- responseType,
- responseHeaders,
- message.getContent(OutputStream.class));
+ writeTo(writer, entity, targetType, genericType,
+ annotations,
+ responseType,
+ responseHeaders,
+ message.getContent(OutputStream.class));
if (isResponseRedirected(message)) {
return;
@@ -283,6 +284,31 @@ public class JAXRSOutInterceptor extends
}
}
+ //CHECKSTYLE:OFF
+ private static <T> void writeTo(MessageBodyWriter<?> mwriter,
+ T entity,
+ Class<?> type, Type genericType,
+ Annotation[] annotations,
+ MediaType mediaType,
+ MultivaluedMap<String, Object> httpHeaders,
+ OutputStream entityStream)
+ throws WebApplicationException, IOException {
+ @SuppressWarnings("unchecked")
+ MessageBodyWriter<T> writer = (MessageBodyWriter<T>)mwriter;
+ writer.writeTo(entity, type, genericType, annotations, mediaType,
+ httpHeaders, entityStream);
+ }
+
+ private static <T> long getSize(MessageBodyWriter<?> mwriter, T entity,
+ Class<?> targetType,
+ Type genericType,
+ Annotation[] annotations, MediaType responseType) {
+ @SuppressWarnings("unchecked")
+ MessageBodyWriter<T> writer = (MessageBodyWriter<T>)mwriter;
+ return writer.getSize(entity, targetType, genericType, annotations, responseType);
+ }
+ //CHECKSTYLE:ON
+
private boolean isResponseNull(Object o) {
return o == null || GenericEntity.class.isAssignableFrom(o.getClass())
&& ((GenericEntity<?>)o).getEntity() == null;
@@ -292,7 +318,7 @@ public class JAXRSOutInterceptor extends
return GenericEntity.class.isAssignableFrom(o.getClass()) ? ((GenericEntity<?>)o).getEntity() : o;
}
- private boolean checkBufferingMode(Message m, MessageBodyWriter w, boolean firstTry) {
+ private boolean checkBufferingMode(Message m, MessageBodyWriter<?> w, boolean firstTry) {
if (!firstTry) {
return false;
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/AbstractResourceInfo.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/AbstractResourceInfo.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/AbstractResourceInfo.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/AbstractResourceInfo.java Mon Jan 9 20:07:20 2012
@@ -41,9 +41,9 @@ public abstract class AbstractResourceIn
private static Map<Class<?>, List<Field>> contextFields;
private static Map<Class<?>, List<Field>> resourceFields;
private static Map<Class<?>, Map<Class<?>, Method>> contextMethods;
- private static Map<Class<?>, Map<Field, ThreadLocalProxy>> fieldProxyMap;
- private static Map<Class<?>, Map<Field, ThreadLocalProxy>> resourceProxyMap;
- private static Map<Class<?>, Map<Method, ThreadLocalProxy>> setterProxyMap;
+ private static Map<Class<?>, Map<Field, ThreadLocalProxy<?>>> fieldProxyMap;
+ private static Map<Class<?>, Map<Field, ThreadLocalProxy<?>>> resourceProxyMap;
+ private static Map<Class<?>, Map<Method, ThreadLocalProxy<?>>> setterProxyMap;
protected boolean root;
protected Class<?> resourceClass;
@@ -98,9 +98,9 @@ public abstract class AbstractResourceIn
findContextFields(cls.getSuperclass());
}
- private <T> Map<Class<?>, Map<T, ThreadLocalProxy>> getProxyMap(Class<T> keyClass,
- Map<Class<?>, Map<T, ThreadLocalProxy>> map) {
- return map == null ? new HashMap<Class<?>, Map<T, ThreadLocalProxy>>() : map;
+ private <T> Map<Class<?>, Map<T, ThreadLocalProxy<?>>> getProxyMap(Class<T> keyClass,
+ Map<Class<?>, Map<T, ThreadLocalProxy<?>>> map) {
+ return map == null ? new HashMap<Class<?>, Map<T, ThreadLocalProxy<?>>>() : map;
}
private void findContextSetterMethods(Class<?> cls) {
@@ -166,15 +166,15 @@ public abstract class AbstractResourceIn
return getList(resourceFields);
}
- public ThreadLocalProxy getContextFieldProxy(Field f) {
+ public ThreadLocalProxy<?> getContextFieldProxy(Field f) {
return getProxy(fieldProxyMap, f);
}
- public ThreadLocalProxy getResourceFieldProxy(Field f) {
+ public ThreadLocalProxy<?> getResourceFieldProxy(Field f) {
return getProxy(resourceProxyMap, f);
}
- public ThreadLocalProxy getContextSetterProxy(Method m) {
+ public ThreadLocalProxy<?> getContextSetterProxy(Method m) {
return getProxy(setterProxyMap, m);
}
@@ -186,12 +186,12 @@ public abstract class AbstractResourceIn
clearProxies(setterProxyMap);
}
- private <T> void clearProxies(Map<Class<?>, Map<T, ThreadLocalProxy>> tlps) {
- Map<T, ThreadLocalProxy> proxies = tlps == null ? null : tlps.get(getServiceClass());
+ private <T> void clearProxies(Map<Class<?>, Map<T, ThreadLocalProxy<?>>> tlps) {
+ Map<T, ThreadLocalProxy<?>> proxies = tlps == null ? null : tlps.get(getServiceClass());
if (proxies == null) {
return;
}
- for (ThreadLocalProxy tlp : proxies.values()) {
+ for (ThreadLocalProxy<?> tlp : proxies.values()) {
if (tlp != null) {
tlp.remove();
}
@@ -235,10 +235,14 @@ public abstract class AbstractResourceIn
return ret;
}
- private <T> ThreadLocalProxy getProxy(Map<Class<?>, Map<T, ThreadLocalProxy>> proxies, T key) {
+ private <T> ThreadLocalProxy<?> getProxy(Map<Class<?>, Map<T, ThreadLocalProxy<?>>> proxies,
+ T key) {
- Map<T, ThreadLocalProxy> theMap = proxies == null ? null : proxies.get(getServiceClass());
-
- return theMap != null ? theMap.get(key) : null;
+ Map<?, ThreadLocalProxy<?>> theMap = proxies == null ? null : proxies.get(getServiceClass());
+ ThreadLocalProxy<?> ret = null;
+ if (theMap != null) {
+ ret = theMap.get(key);
+ }
+ return ret;
}
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/ProviderInfo.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/ProviderInfo.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/ProviderInfo.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/ProviderInfo.java Mon Jan 9 20:07:20 2012
@@ -41,7 +41,7 @@ public class ProviderInfo<T> extends Abs
if (!(obj instanceof ProviderInfo)) {
return false;
}
- return provider.equals(((ProviderInfo)obj).getProvider());
+ return provider.equals(((ProviderInfo<?>)obj).getProvider());
}
public int hashCode() {
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java Mon Jan 9 20:07:20 2012
@@ -19,6 +19,7 @@
package org.apache.cxf.jaxrs.provider;
+import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
@@ -39,6 +40,7 @@ import java.util.logging.Logger;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.MessageBodyReader;
@@ -75,8 +77,8 @@ import org.apache.cxf.phase.PhaseInterce
import org.apache.cxf.staxutils.DepthXMLStreamReader;
import org.apache.cxf.staxutils.transform.TransformUtils;
-public abstract class AbstractJAXBProvider extends AbstractConfigurableProvider
- implements MessageBodyReader<Object>, MessageBodyWriter<Object> {
+public abstract class AbstractJAXBProvider<T> extends AbstractConfigurableProvider
+ implements MessageBodyReader<T>, MessageBodyWriter<T> {
protected static final ResourceBundle BUNDLE = BundleUtils.getBundle(AbstractJAXBProvider.class);
@@ -182,7 +184,7 @@ public abstract class AbstractJAXBProvid
}
}
- protected <T> T getStaxHandlerFromCurrentMessage(Class<T> staxCls) {
+ protected <X> X getStaxHandlerFromCurrentMessage(Class<X> staxCls) {
Message m = PhaseInterceptorChain.getCurrentMessage();
if (m != null) {
return staxCls.cast(m.getContent(staxCls));
@@ -194,7 +196,7 @@ public abstract class AbstractJAXBProvid
return cls.getAnnotation(XmlRootElement.class) != null;
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({ "unchecked", "rawtypes" })
protected Object convertToJaxbElementIfNeeded(Object obj, Class<?> cls, Type genericType)
throws Exception {
@@ -210,7 +212,7 @@ public abstract class AbstractJAXBProvid
} else if (marshalAsJaxbElement || asJaxbElement) {
name = getJaxbQName(cls, genericType, obj, false);
}
- return name != null ? new JAXBElement(name, cls, null, obj) : obj;
+ return name != null ? new JAXBElement<Object>(name, (Class)cls, null, obj) : obj;
}
public void setCollectionWrapperName(String wName) {
@@ -236,7 +238,15 @@ public abstract class AbstractJAXBProvid
return marshalAsJaxbElement || isSupported(type, genericType, anns);
}
-
+ public void writeTo(T t, Type genericType, Annotation annotations[],
+ MediaType mediaType,
+ MultivaluedMap<String, Object> httpHeaders,
+ OutputStream entityStream) throws IOException, WebApplicationException {
+ @SuppressWarnings("unchecked")
+ Class<T> type = (Class<T>)t.getClass();
+ writeTo(t, type, genericType, annotations, mediaType, httpHeaders, entityStream);
+ }
+
protected JAXBContext getCollectionContext(Class<?> type) throws JAXBException {
synchronized (collectionContextClasses) {
if (!collectionContextClasses.contains(type)) {
@@ -345,7 +355,7 @@ public abstract class AbstractJAXBProvid
schema = s;
}
- public long getSize(Object o, Class<?> type, Type genericType, Annotation[] annotations, MediaType mt) {
+ public long getSize(T o, Class<?> type, Type genericType, Annotation[] annotations, MediaType mt) {
return -1;
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AtomPojoProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AtomPojoProvider.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AtomPojoProvider.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AtomPojoProvider.java Mon Jan 9 20:07:20 2012
@@ -68,13 +68,13 @@ import org.apache.cxf.jaxrs.utils.Inject
@Produces({"application/atom+xml", "application/atom+xml;type=feed", "application/atom+xml;type=entry" })
@Consumes({"application/atom+xml", "application/atom+xml;type=feed", "application/atom+xml;type=entry" })
@Provider
-public class AtomPojoProvider extends AbstractConfigurableProvider
- implements MessageBodyWriter<Object>, MessageBodyReader<Object> {
+public class AtomPojoProvider<T> extends AbstractConfigurableProvider
+ implements MessageBodyWriter<T>, MessageBodyReader<T> {
private static final Logger LOG = LogUtils.getL7dLogger(AtomPojoProvider.class);
private static final Abdera ATOM_ENGINE = new Abdera();
- private JAXBElementProvider jaxbProvider = new JAXBElementProvider();
+ private JAXBElementProvider<T> jaxbProvider = new JAXBElementProvider<T>();
private Map<String, String> collectionGetters = Collections.emptyMap();
private Map<String, String> collectionSetters = Collections.emptyMap();
private Map<String, AtomElementWriter<?, ?>> atomWriters = Collections.emptyMap();
@@ -109,7 +109,7 @@ public class AtomPojoProvider extends Ab
}
}
- public long getSize(Object t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mt) {
+ public long getSize(T t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mt) {
return -1;
}
@@ -125,7 +125,7 @@ public class AtomPojoProvider extends Ab
return !Feed.class.isAssignableFrom(type) && !Entry.class.isAssignableFrom(type);
}
- public void writeTo(Object o, Class<?> clazz, Type genericType, Annotation[] annotations,
+ public void writeTo(T o, Class<?> clazz, Type genericType, Annotation[] annotations,
MediaType mt, MultivaluedMap<String, Object> headers, OutputStream os)
throws IOException {
boolean isFeed = isFeedRequested(mt);
@@ -143,7 +143,9 @@ public class AtomPojoProvider extends Ab
if (isFeed && !isCollection) {
atomElement = createFeedFromCollectionWrapper(o);
} else if (!isFeed && !isCollection) {
- atomElement = createEntryFromObject(o, clazz);
+ @SuppressWarnings("unchecked")
+ Class<? extends T> cls = (Class<? extends T>)clazz;
+ atomElement = createEntryFromObject(o, cls);
}
} catch (Exception ex) {
throw new WebApplicationException(ex);
@@ -213,20 +215,24 @@ public class AtomPojoProvider extends Ab
}
@SuppressWarnings("unchecked")
- protected boolean buildFeed(Feed feed, Object o) {
+ protected <X> boolean buildFeed(Feed feed, X o) {
AtomElementWriter<?, ?> builder = atomWriters.get(o.getClass().getName());
if (builder != null) {
- ((AtomElementWriter)builder).writeTo(feed, o);
+ ((AtomElementWriter<Feed, X>)builder).writeTo(feed, o);
return true;
}
return false;
}
- protected void setFeedFromCollection(Factory factory, Feed feed, Object wrapper, Object collection,
- Class<?> collectionCls, Type collectionType, boolean writerUsed) throws Exception {
+ protected <X> void setFeedFromCollection(Factory factory, Feed feed, X wrapper,
+ Object collection,
+ Class<?> collectionCls,
+ Type collectionType,
+ boolean writerUsed) throws Exception {
Object[] arr = collectionCls.isArray() ? (Object[])collection : ((Collection<?>)collection).toArray();
- Class<?> memberClass = InjectionUtils.getActualType(collectionType);
+ @SuppressWarnings("unchecked")
+ Class<? extends X> memberClass = (Class<? extends X>)InjectionUtils.getActualType(collectionType);
for (Object o : arr) {
Entry entry = createEntryFromObject(o, memberClass);
@@ -238,16 +244,17 @@ public class AtomPojoProvider extends Ab
}
@SuppressWarnings("unchecked")
- protected void setFeedProperties(Factory factory, Feed feed, Object wrapper, Object collection,
- Class<?> collectionCls, Type collectionType) {
+ protected <X> void setFeedProperties(Factory factory, Feed feed, X wrapper, Object collection,
+ Class<?> collectionCls, Type collectionType) {
- AbstractAtomElementBuilder<?> builder = atomBuilders.get(wrapper.getClass().getName());
+ AbstractAtomElementBuilder<X> builder
+ = (AbstractAtomElementBuilder<X>)atomBuilders.get(wrapper.getClass().getName());
if (builder == null) {
return;
}
setCommonElementProperties(factory, feed, builder, wrapper);
- AbstractFeedBuilder theBuilder = (AbstractFeedBuilder)builder;
+ AbstractFeedBuilder<X> theBuilder = (AbstractFeedBuilder<X>)builder;
// the hierarchy is a bit broken in that we can not set author/title.etc on some
// common Feed/Entry super type
@@ -309,7 +316,7 @@ public class AtomPojoProvider extends Ab
- protected Entry createEntryFromObject(Object o, Class<?> cls) throws Exception {
+ protected <X> Entry createEntryFromObject(X o, Class<? extends X> cls) throws Exception {
Factory factory = Abdera.getNewFactory();
Entry entry = factory.getAbdera().newEntry();
@@ -350,16 +357,18 @@ public class AtomPojoProvider extends Ab
}
- @SuppressWarnings("unchecked")
- protected void setEntryProperties(Factory factory, Entry entry, Object o, Class<?> cls) {
- AbstractAtomElementBuilder<?> builder = atomBuilders.get(o.getClass().getName());
+ protected <X> void setEntryProperties(Factory factory, Entry entry,
+ X o, Class<? extends X> cls) {
+ @SuppressWarnings("unchecked")
+ AbstractAtomElementBuilder<X> builder
+ = (AbstractAtomElementBuilder<X>)atomBuilders.get(o.getClass().getName());
if (builder == null) {
return;
}
setCommonElementProperties(factory, entry, builder, o);
- AbstractEntryBuilder theBuilder = (AbstractEntryBuilder)builder;
+ AbstractEntryBuilder<X> theBuilder = (AbstractEntryBuilder<X>)builder;
String author = theBuilder.getAuthor(o);
if (author != null) {
entry.addAuthor(author);
@@ -414,10 +423,9 @@ public class AtomPojoProvider extends Ab
}
- @SuppressWarnings("unchecked")
- private void setCommonElementProperties(Factory factory, ExtensibleElement element,
- AbstractAtomElementBuilder builder,
- Object o) {
+ private <X> void setCommonElementProperties(Factory factory, ExtensibleElement element,
+ AbstractAtomElementBuilder<X> builder,
+ X o) {
String baseUri = builder.getBaseUri(o);
if (baseUri != null) {
element.setBaseUri(baseUri);
@@ -459,8 +467,8 @@ public class AtomPojoProvider extends Ab
return true;
}
- public Object readFrom(Class<Object> cls, Type type, Annotation[] anns, MediaType mt,
- MultivaluedMap<String, String> headers, InputStream is)
+ public T readFrom(Class<T> cls, Type type, Annotation[] anns, MediaType mt,
+ MultivaluedMap<String, String> headers, InputStream is)
throws IOException, WebApplicationException {
boolean isFeed = isFeedRequested(mt);
@@ -474,8 +482,8 @@ public class AtomPojoProvider extends Ab
}
@SuppressWarnings("unchecked")
- private Object readFromFeed(Class<Object> cls, MediaType mt,
- MultivaluedMap<String, String> headers, InputStream is)
+ private T readFromFeed(Class<T> cls, MediaType mt,
+ MultivaluedMap<String, String> headers, InputStream is)
throws IOException {
AtomFeedProvider p = new AtomFeedProvider();
@@ -483,13 +491,14 @@ public class AtomPojoProvider extends Ab
AtomElementReader<?, ?> reader = atomReaders.get(cls.getName());
if (reader != null) {
- return ((AtomElementReader)reader).readFrom(feed);
+ return ((AtomElementReader<Feed, T>)reader).readFrom(feed);
}
- Object instance = null;
+ T instance = null;
try {
String methodName = getCollectionMethod(cls, false);
Method m = cls.getMethod(methodName, new Class[]{List.class});
- Class<?> realCls = InjectionUtils.getActualType(m.getGenericParameterTypes()[0]);
+ Class<Object> realCls
+ = (Class<Object>)InjectionUtils.getActualType(m.getGenericParameterTypes()[0]);
List<Object> objects = new ArrayList<Object>();
for (Entry e : feed.getEntries()) {
objects.add(readFromEntry(e, realCls, mt, headers, is));
@@ -504,18 +513,18 @@ public class AtomPojoProvider extends Ab
}
@SuppressWarnings("unchecked")
- private Object readFromEntry(Entry entry, Class<?> cls, MediaType mt,
- MultivaluedMap<String, String> headers, InputStream is)
+ private <X> X readFromEntry(Entry entry, Class<X> cls, MediaType mt,
+ MultivaluedMap<String, String> headers, InputStream is)
throws IOException {
AtomElementReader<?, ?> reader = atomReaders.get(cls.getName());
if (reader != null) {
- return ((AtomElementReader)reader).readFrom(entry);
+ return ((AtomElementReader<Entry, X>)reader).readFrom(entry);
}
try {
Unmarshaller um =
jaxbProvider.getJAXBContext(cls, cls).createUnmarshaller();
- return um.unmarshal(new StringReader(entry.getContent()));
+ return cls.cast(um.unmarshal(new StringReader(entry.getContent())));
} catch (Exception ex) {
reportError("Object of type " + cls.getName() + " can not be deserialized from Entry", ex);
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java Mon Jan 9 20:07:20 2012
@@ -46,8 +46,8 @@ import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageUtils;
import org.apache.cxf.phase.PhaseInterceptorChain;
-public class BinaryDataProvider extends AbstractConfigurableProvider
- implements MessageBodyReader<Object>, MessageBodyWriter<Object> {
+public class BinaryDataProvider<T> extends AbstractConfigurableProvider
+ implements MessageBodyReader<T>, MessageBodyWriter<T> {
private static final String HTTP_RANGE_PROPERTY = "http.range.support";
@@ -59,22 +59,22 @@ public class BinaryDataProvider extends
|| Reader.class.isAssignableFrom(type);
}
- public Object readFrom(Class<Object> clazz, Type genericType, Annotation[] annotations, MediaType type,
+ public T readFrom(Class<T> clazz, Type genericType, Annotation[] annotations, MediaType type,
MultivaluedMap<String, String> headers, InputStream is)
throws IOException {
if (InputStream.class.isAssignableFrom(clazz)) {
- return is;
+ return clazz.cast(is);
}
if (Reader.class.isAssignableFrom(clazz)) {
- return new InputStreamReader(is, getEncoding(type));
+ return clazz.cast(new InputStreamReader(is, getEncoding(type)));
}
if (byte[].class.isAssignableFrom(clazz)) {
- return IOUtils.readBytesFromStream(is);
+ return clazz.cast(IOUtils.readBytesFromStream(is));
}
throw new IOException("Unrecognized class");
}
- public long getSize(Object t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mt) {
+ public long getSize(T t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mt) {
// TODO: if it's a range request, then we should probably always return -1 and set
// Content-Length and Content-Range in handleRangeRequest
if (byte[].class.isAssignableFrom(t.getClass())) {
@@ -91,7 +91,7 @@ public class BinaryDataProvider extends
|| StreamingOutput.class.isAssignableFrom(type);
}
- public void writeTo(Object o, Class<?> clazz, Type genericType, Annotation[] annotations,
+ public void writeTo(T o, Class<?> clazz, Type genericType, Annotation[] annotations,
MediaType type, MultivaluedMap<String, Object> headers, OutputStream os)
throws IOException {
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/FormEncodingProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/FormEncodingProvider.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/FormEncodingProvider.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/FormEncodingProvider.java Mon Jan 9 20:07:20 2012
@@ -51,8 +51,8 @@ import org.apache.cxf.phase.PhaseInterce
@Produces({"application/x-www-form-urlencoded", "multipart/form-data" })
@Consumes({"application/x-www-form-urlencoded", "multipart/form-data" })
@Provider
-public class FormEncodingProvider implements
- MessageBodyReader<Object>, MessageBodyWriter<Object> {
+public class FormEncodingProvider<T> implements
+ MessageBodyReader<T>, MessageBodyWriter<T> {
private FormValidator validator;
@Context private MessageContext mc;
@@ -87,8 +87,8 @@ public class FormEncodingProvider implem
return isSupported(type, genericType, annotations, mt);
}
- public Object readFrom(
- Class<Object> clazz, Type genericType, Annotation[] annotations, MediaType mt,
+ public T readFrom(
+ Class<T> clazz, Type genericType, Annotation[] annotations, MediaType mt,
MultivaluedMap<String, String> headers, InputStream is)
throws IOException {
if (is == null) {
@@ -98,9 +98,9 @@ public class FormEncodingProvider implem
if (mt.isCompatible(MediaType.MULTIPART_FORM_DATA_TYPE)) {
MultipartBody body = AttachmentUtils.getMultipartBody(mc);
if (MultipartBody.class.isAssignableFrom(clazz)) {
- return body;
+ return clazz.cast(body);
} else if (Attachment.class.isAssignableFrom(clazz)) {
- return body.getRootAttachment();
+ return clazz.cast(body.getRootAttachment());
}
}
@@ -138,8 +138,8 @@ public class FormEncodingProvider implem
return (MultivaluedMap<String, String>)clazz.newInstance();
}
- private Object getFormObject(Class<?> clazz, MultivaluedMap<String, String> params) {
- return Form.class.isAssignableFrom(clazz) ? new Form(params) : params;
+ private T getFormObject(Class<T> clazz, MultivaluedMap<String, String> params) {
+ return clazz.cast(Form.class.isAssignableFrom(clazz) ? new Form(params) : params);
}
/**
@@ -173,7 +173,7 @@ public class FormEncodingProvider implem
}
}
- public long getSize(Object t, Class<?> type,
+ public long getSize(T t, Class<?> type,
Type genericType, Annotation[] annotations,
MediaType mediaType) {
return -1;
@@ -193,7 +193,7 @@ public class FormEncodingProvider implem
}
@SuppressWarnings("unchecked")
- public void writeTo(Object obj, Class<?> c, Type t, Annotation[] anns,
+ public void writeTo(T obj, Class<?> c, Type t, Annotation[] anns,
MediaType mt, MultivaluedMap<String, Object> headers, OutputStream os)
throws IOException, WebApplicationException {
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java?rev=1229332&r1=1229331&r2=1229332&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java Mon Jan 9 20:07:20 2012
@@ -74,7 +74,7 @@ import org.apache.cxf.staxutils.transfor
@Produces({"application/xml", "application/*+xml", "text/xml" })
@Consumes({"application/xml", "application/*+xml", "text/xml" })
@Provider
-public class JAXBElementProvider extends AbstractJAXBProvider {
+public class JAXBElementProvider<T> extends AbstractJAXBProvider<T> {
private static final String XML_PI_START = "<?xml version=\"1.0\" encoding=\"";
private static final String NS_MAPPER_PROPERTY = "com.sun.xml.bind.namespacePrefixMapper";
private static final String NS_MAPPER_PROPERTY_INT = "com.sun.xml.internal.bind.namespacePrefixMapper";
@@ -147,7 +147,7 @@ public class JAXBElementProvider extends
mProperties.put(Marshaller.JAXB_SCHEMA_LOCATION, schemaLocation);
}
- public Object readFrom(Class<Object> type, Type genericType, Annotation[] anns, MediaType mt,
+ public T readFrom(Class<T> type, Type genericType, Annotation[] anns, MediaType mt,
MultivaluedMap<String, String> headers, InputStream is)
throws IOException {
try {
@@ -172,7 +172,7 @@ public class JAXBElementProvider extends
response = doUnmarshal(unmarshaller, type, is, mt);
}
if (response instanceof JAXBElement && !JAXBElement.class.isAssignableFrom(type)) {
- response = ((JAXBElement)response).getValue();
+ response = ((JAXBElement<?>)response).getValue();
}
if (isCollection) {
response = ((CollectionWrapper)response).getCollectionOrArray(theType, type,
@@ -180,7 +180,7 @@ public class JAXBElementProvider extends
} else {
response = checkAdapter(response, type, anns, false);
}
- return response;
+ return type.cast(response);
} catch (JAXBException e) {
handleJAXBException(e, true);
@@ -242,7 +242,7 @@ public class JAXBElementProvider extends
return unmarshaller.unmarshal(reader);
}
- public void writeTo(Object obj, Class<?> cls, Type genericType, Annotation[] anns,
+ public void writeTo(T obj, Class<?> cls, Type genericType, Annotation[] anns,
MediaType m, MultivaluedMap<String, Object> headers, OutputStream os)
throws IOException {
try {
@@ -273,16 +273,16 @@ public class JAXBElementProvider extends
Class<?> actualClass = InjectionUtils.getActualType(genericType);
actualClass = getActualType(actualClass, genericType, anns);
- Collection c = originalCls.isArray() ? Arrays.asList((Object[]) collection)
- : (Collection) collection;
+ Collection<?> c = originalCls.isArray() ? Arrays.asList((Object[]) collection)
+ : (Collection<?>) collection;
- Iterator it = c.iterator();
+ Iterator<?> it = c.iterator();
Object firstObj = it.hasNext() ? it.next() : null;
QName qname = null;
if (firstObj instanceof JAXBElement) {
- JAXBElement el = (JAXBElement)firstObj;
+ JAXBElement<?> el = (JAXBElement<?>)firstObj;
qname = el.getName();
actualClass = el.getDeclaredType();
} else {
@@ -338,7 +338,7 @@ public class JAXBElementProvider extends
String ns) throws Exception {
if (obj instanceof JAXBElement) {
- obj = ((JAXBElement)obj).getValue();
+ obj = ((JAXBElement<?>)obj).getValue();
} else {
obj = convertToJaxbElementIfNeeded(obj, cls, genericType);
}