You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by rf...@apache.org on 2011/09/08 22:53:59 UTC

svn commit: r1166899 - in /incubator/wink/trunk: wink-common/src/main/java/org/apache/wink/common/internal/registry/ wink-common/src/main/resources/org/apache/wink/common/internal/i18n/ wink-server/src/main/java/org/apache/wink/server/internal/contexts...

Author: rfeng
Date: Thu Sep  8 20:53:59 2011
New Revision: 1166899

URL: http://svn.apache.org/viewvc?rev=1166899&view=rev
Log:
Adding more error logs for BAD_REQUEST (400) 

Modified:
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/Injectable.java
    incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/HttpHeadersImpl.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ServerInjectableFactory.java

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/Injectable.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/Injectable.java?rev=1166899&r1=1166898&r2=1166899&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/Injectable.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/Injectable.java Thu Sep  8 20:53:59 2011
@@ -25,6 +25,7 @@ import java.lang.annotation.Annotation;
 import java.lang.reflect.Member;
 import java.lang.reflect.Type;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
@@ -138,4 +139,14 @@ public abstract class Injectable {
      */
     public abstract Object getValue(RuntimeContext runtimeContext) throws IOException;
 
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("Injectable [paramType=").append(paramType).append(", type=").append(type)
+            .append(", genericType=").append(genericType).append(", member=").append(member).append(", annotations=")
+            .append(Arrays.toString(annotations)).append("]");
+        return builder.toString();
+    }
+
+
 }

Modified: incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties?rev=1166899&r1=1166898&r2=1166899&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties (original)
+++ incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties Thu Sep  8 20:53:59 2011
@@ -95,7 +95,10 @@ unhandledExceptionToContainer=An unhandl
 exceptionOccurredDuringInvocation=The following error occurred during the invocation of the handlers chain: {0} with message ''{1}'' while processing {2} request sent to {3}
 
 # Contexts
-uriBadBaseURI=The following base URI syntax is not valid: {0} 
+uriBadBaseURI=The following base URI syntax is not valid: {0}
+illegalAcceptHeader=Illegal Accept request header: {0} 
+
+conversionError=Error converting parameter {0} with value {1}
 
 # Error Flow
 exceptionOccurredDuringExceptionMapper=An exception occurred while processing the toResponse method of the {0} ExceptionMapper.

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/HttpHeadersImpl.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/HttpHeadersImpl.java?rev=1166899&r1=1166898&r2=1166899&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/HttpHeadersImpl.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/HttpHeadersImpl.java Thu Sep  8 20:53:59 2011
@@ -37,6 +37,7 @@ import javax.ws.rs.core.Cookie;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response.Status;
 
 import org.apache.wink.common.RestConstants;
 import org.apache.wink.common.internal.CaseInsensitiveMultivaluedMap;
@@ -152,8 +153,8 @@ public class HttpHeadersImpl implements 
             logger.trace("getAcceptHeader() returns {}", acceptHeader); //$NON-NLS-1$
             return acceptHeader;
         } catch (IllegalArgumentException e) {
-            logger.trace("Illegal Accept request header: {}", e); //$NON-NLS-1$
-            throw new WebApplicationException(e, 400);
+            logger.error(Messages.getMessage("illegalAcceptHeader", acceptValue), e);
+            throw new WebApplicationException(e, Status.BAD_REQUEST);
         }
     }
 

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ServerInjectableFactory.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ServerInjectableFactory.java?rev=1166899&r1=1166898&r2=1166899&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ServerInjectableFactory.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ServerInjectableFactory.java Thu Sep  8 20:53:59 2011
@@ -48,6 +48,7 @@ import javax.ws.rs.ext.Providers;
 
 import org.apache.wink.common.RuntimeContext;
 import org.apache.wink.common.internal.PathSegmentImpl;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.registry.BoundInjectable;
 import org.apache.wink.common.internal.registry.ContextAccessor;
 import org.apache.wink.common.internal.registry.Injectable;
@@ -60,8 +61,12 @@ import org.apache.wink.common.internal.u
 import org.apache.wink.common.utils.ProviderUtils;
 import org.apache.wink.common.utils.ProviderUtils.PROVIDER_EXCEPTION_ORIGINATOR;
 import org.apache.wink.server.internal.handlers.SearchResult;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ServerInjectableFactory extends InjectableFactory {
+    
+    private final static Logger logger = LoggerFactory.getLogger(ServerInjectableFactory.class);
 
     @Override
     public Injectable createContextParam(Class<?> classType, Annotation[] annotations, Member member) {
@@ -403,6 +408,7 @@ public class ServerInjectableFactory ext
                 // http://jcp.org/aboutJava/communityprocess/maintenance/jsr311/311ChangeLog.html:
                 // "400 status code should be returned if an exception is
                 // raised during @FormParam-annotated parameter construction"
+                logger.error(Messages.getMessage("conversionError", this, values), e);
                 throw new WebApplicationException(e.getCause(), Response.Status.BAD_REQUEST);
             }
         }
@@ -543,6 +549,7 @@ public class ServerInjectableFactory ext
             try {
                 return getConvertor().convert(values);
             } catch (ConversionException e) {
+                logger.error(Messages.getMessage("conversionError", this, values), e);
                 throw new WebApplicationException(e.getCause(), Response.Status.BAD_REQUEST);
             }
         }
@@ -598,6 +605,7 @@ public class ServerInjectableFactory ext
             try {
                 return getConvertor().convert(value);
             } catch (ConversionException e) {
+                logger.error(Messages.getMessage("conversionError", this, value), e);
                 throw new WebApplicationException(e.getCause(), Response.Status.BAD_REQUEST);
             }
         }