You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by bl...@apache.org on 2009/08/24 23:30:17 UTC

svn commit: r807388 - in /incubator/wink/trunk: wink-client/src/main/java/org/apache/wink/client/ wink-common/src/main/java/org/apache/wink/common/internal/application/ wink-common/src/main/java/org/apache/wink/common/internal/i18n/ wink-common/src/mai...

Author: bluk
Date: Mon Aug 24 21:30:14 2009
New Revision: 807388

URL: http://svn.apache.org/viewvc?rev=807388&view=rev
Log:
Externalize strings into resource.properties file

See [WINK-34]

Added:
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessageBundle.java   (with props)
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/Messages.java   (with props)
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessagesConstants.java   (with props)
    incubator/wink/trunk/wink-common/src/main/resources/org/
    incubator/wink/trunk/wink-common/src/main/resources/org/apache/
    incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/
    incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/
    incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/
    incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/
    incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties
Modified:
    incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/RestClient.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationValidator.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/SimpleWinkApplication.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/lifecycle/LifecycleManagerUtils.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/AssetProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/FileProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomEntryProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomFeedProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/AbstractJsonXmlProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonJAXBProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/header/MediaTypeHeaderDelegate.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ProvidersRegistry.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/metadata/ResourceMetadataCollector.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/GenericsUtils.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/MediaTypeMapper.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ApplicationProcessor.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/UriInfoImpl.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FindRootResourceHandler.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FlushResultHandler.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/PopulateErrorResponseHandler.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java
    incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/DependenciesInjectionPostProcessor.java
    incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/SpringLifecycleManager.java
    incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/server/WebDAVResponseBuilder.java

Modified: incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/RestClient.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/RestClient.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/RestClient.java (original)
+++ incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/RestClient.java Mon Aug 24 21:30:14 2009
@@ -30,6 +30,7 @@
 import org.apache.wink.client.internal.ResourceImpl;
 import org.apache.wink.common.WinkApplication;
 import org.apache.wink.common.internal.application.ApplicationValidator;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.lifecycle.LifecycleManagersRegistry;
 import org.apache.wink.common.internal.lifecycle.ScopeLifecycleManager;
 import org.apache.wink.common.internal.registry.ProvidersRegistry;
@@ -56,11 +57,15 @@
  */
 public class RestClient {
 
-    private static final Logger logger = LoggerFactory.getLogger(RestClient.class);
+    private static final Logger logger                   =
+                                                             LoggerFactory
+                                                                 .getLogger(RestClient.class);
 
     private ProvidersRegistry   providersRegistry;
     private ClientConfig        config;
 
+    private final static String CLASS_NOT_A_PROVIDER_MSG = Messages.getMessage("classNotAProvider");
+
     /**
      * Construct a new RestClient using the default client configuration
      */
@@ -147,7 +152,7 @@
             if (ProviderMetadataCollector.isProvider(cls)) {
                 providersRegistry.addProvider(cls);
             } else {
-                logger.warn("{} is not a provider. Ignoring.", cls);
+                logger.warn(CLASS_NOT_A_PROVIDER_MSG, cls);
             }
         }
     }
@@ -158,7 +163,7 @@
             if (ProviderMetadataCollector.isProvider(cls)) {
                 providersRegistry.addProvider(obj);
             } else {
-                logger.warn("{} is not a provider. Ignoring.", obj);
+                logger.warn(CLASS_NOT_A_PROVIDER_MSG, obj);
             }
         }
     }
@@ -175,7 +180,7 @@
             if (ProviderMetadataCollector.isProvider(cls)) {
                 providersRegistry.addProvider(obj, priority);
             } else {
-                logger.warn("{} is not a provider. Ignoring.", obj);
+                logger.warn(CLASS_NOT_A_PROVIDER_MSG, obj);
             }
         }
     }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java Mon Aug 24 21:30:14 2009
@@ -31,6 +31,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.registry.metadata.ProviderMetadataCollector;
 import org.apache.wink.common.internal.registry.metadata.ResourceMetadataCollector;
 import org.apache.wink.common.internal.utils.FileLoader;
@@ -102,10 +103,10 @@
                         .isProvider(cls)) {
                         classes.add(cls);
                     } else {
-                        logger.warn("The {} is neither resource nor provider. Ignoring.", cls);
+                        logger.warn(Messages.getMessage("classNotAResourceNorProvider"), cls);
                     }
                 } catch (ClassNotFoundException e) {
-                    logger.error("{} is not a class. Ignoring.", line);
+                    logger.error(Messages.getMessage("isNotAClass"), line);
                 }
             }
         } catch (IOException e) {
@@ -114,7 +115,7 @@
             try {
                 is.close();
             } catch (IOException e) {
-                logger.info("Exception when closing file", e);
+                logger.info(Messages.getMessage("exceptionClosingFile"), e);
             }
         }
     }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationValidator.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationValidator.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationValidator.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationValidator.java Mon Aug 24 21:30:14 2009
@@ -28,6 +28,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.DynamicResource;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.registry.metadata.ProviderMetadataCollector;
 import org.apache.wink.common.internal.registry.metadata.ResourceMetadataCollector;
 
@@ -80,7 +81,7 @@
     private boolean classUnique(Class<? extends Object> cls) {
         if (!singletonClasses.add(cls)) {
             // the singleton of this class already exists
-            logger.warn("The class {} was already added. Ignored.", cls);
+            logger.warn(Messages.getMessage("classAlreadyAdded"), cls);
             return false;
         }
         return true;
@@ -107,7 +108,7 @@
         boolean valid = counter <= 1;
 
         if (!valid) {
-            logger.warn("The class {} may only have one of the following declarations: {}, {}, {}",
+            logger.warn(Messages.getMessage("classNotValid"),
                         new Object[] {cls, Path.class.getName(), DynamicResource.class.getName(),
                             Provider.class.getName()});
         }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/SimpleWinkApplication.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/SimpleWinkApplication.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/SimpleWinkApplication.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/SimpleWinkApplication.java Mon Aug 24 21:30:14 2009
@@ -27,6 +27,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.WinkApplication;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.utils.FileLoader;
 
 /**
@@ -78,7 +79,7 @@
                         .addAll(getApplicationFileLoader(getFileStream(applicationConfigFile))
                             .getClasses());
                 } catch (FileNotFoundException e) {
-                    logger.warn("Could not find {}. Ignoring.", applicationConfigFile);
+                    logger.warn(Messages.getMessage("configNotFound"), applicationConfigFile);
                 }
             }
         }

Added: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessageBundle.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessageBundle.java?rev=807388&view=auto
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessageBundle.java (added)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessageBundle.java Mon Aug 24 21:30:14 2009
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.wink.common.internal.i18n;
+
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Accept parameters for ProjectResourceBundle, but defer object instantiation
+ * (and therefore resource bundle loading) until required.
+ */
+public class MessageBundle {
+    private static final Logger logger          = LoggerFactory.getLogger(MessageBundle.class);
+
+    private boolean             loaded          = false;
+
+    private ResourceBundle      _resourceBundle = null;
+
+    private final String        packageName;
+    private final String        resourceName;
+    private final Locale        locale;
+    private final ClassLoader   classLoader;
+
+    public final ResourceBundle getResourceBundle() {
+        if (!loaded) {
+            try {
+                _resourceBundle =
+                    ResourceBundle.getBundle(packageName + "." + resourceName, locale, classLoader);
+            } catch (MissingResourceException e) {
+                logger.debug("loadBundle: Ignoring MissingResourceException: " + e.getMessage(), e);
+            }
+            loaded = true;
+        }
+        return _resourceBundle;
+    }
+
+    /** Construct a new ExtendMessages */
+    public MessageBundle(String packageName,
+                         String resourceName,
+                         Locale locale,
+                         ClassLoader classLoader) throws MissingResourceException {
+        this.packageName = packageName;
+        this.resourceName = resourceName;
+        this.locale = locale;
+        this.classLoader = classLoader;
+    }
+
+    /**
+     * Gets a string message from the resource bundle for the given key
+     * 
+     * @param key The resource key
+     * @return The message
+     */
+    public String getMessage(String key) throws MissingResourceException {
+        String msg = null;
+        if (getResourceBundle() != null) {
+            msg = getResourceBundle().getString(key);
+        }
+
+        if (msg == null) {
+            String className = packageName + '.' + resourceName;
+            throw new MissingResourceException("Cannot find resource key \"" + key
+                + "\" in base name "
+                + packageName
+                + '.'
+                + resourceName, className, key);
+        }
+
+        return msg;
+    }
+}

Propchange: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessageBundle.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/Messages.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/Messages.java?rev=807388&view=auto
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/Messages.java (added)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/Messages.java Mon Aug 24 21:30:14 2009
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.wink.common.internal.i18n;
+
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+
+public class Messages {
+    private static final Class<?>             thisClass                  = Messages.class;
+
+    private static final String               resourceName               =
+                                                                             MessagesConstants.resourceName;
+    private static final Locale               locale                     = MessagesConstants.locale;
+
+    public static final String                DEFAULT_MESSAGE_BUNDLE_KEY = "default";
+    private static final String               NO_MESSAGE_BUNDLE          =
+                                                                             "Message Bundle is not available";
+
+    private static final String               packageName                =
+                                                                             getPackage(thisClass
+                                                                                 .getName());
+    private static final ClassLoader          classLoader                =
+                                                                             thisClass
+                                                                                 .getClassLoader();
+
+    private static Map<String, MessageBundle> messageBundleMap           =
+                                                                             new HashMap<String, MessageBundle>();
+
+    static {
+        MessageBundle defaultMessageBundle =
+            new MessageBundle(packageName, resourceName, locale, classLoader);
+        addMessageBundle(DEFAULT_MESSAGE_BUNDLE_KEY, defaultMessageBundle);
+    }
+
+    /**
+     * To add a new Message Bundle to the MessageBundle list. Must be called
+     * before runtime starts.
+     * 
+     * @param messageBundleKey The key which will be used to refer to this
+     *            message bundle later.
+     * @param messageBundle The message bundle.
+     */
+    public static void addMessageBundle(String messageBundleKey, MessageBundle messageBundle) {
+        messageBundleMap.put(messageBundleKey, messageBundle);
+    }
+
+    /**
+     * Get a message from resource.properties from the package of the given
+     * object.
+     * 
+     * @param key The resource key
+     * @return The formatted message
+     */
+    public static String getMessage(String key) throws MissingResourceException {
+        MessageBundle messageBundle = getMessageBundle(DEFAULT_MESSAGE_BUNDLE_KEY);
+        return messageBundle.getMessage(key);
+    }
+
+    public static MessageBundle getMessageBundle(String messageBundleKey) {
+        MessageBundle messageBundle = (MessageBundle)messageBundleMap.get(messageBundleKey);
+        return messageBundle;
+    }
+
+    /**
+     * Get a message from resource.properties from the package of the given
+     * object.
+     * 
+     * @param messageBundleKey The key for getting the correct message bundle.
+     * @param key The resource key
+     * @return The formatted message
+     */
+    public static String getMessageFromBundle(String messageBundleKey, String key)
+        throws MissingResourceException, Exception {
+        MessageBundle messageBundle = getMessageBundle(messageBundleKey);
+        if (messageBundle == null)
+            throw new Exception(NO_MESSAGE_BUNDLE);
+
+        return messageBundle.getMessage(key);
+    }
+
+    private static String getPackage(String name) {
+        return name.substring(0, name.lastIndexOf('.')).intern();
+    }
+}

Propchange: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/Messages.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessagesConstants.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessagesConstants.java?rev=807388&view=auto
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessagesConstants.java (added)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessagesConstants.java Mon Aug 24 21:30:14 2009
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.wink.common.internal.i18n;
+
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+public class MessagesConstants {
+    public static final String         resourceName    = "resource".intern();
+    public static final Locale         locale          = Locale.getDefault();
+
+    public static final String         rootPackageName =
+                                                           "org.apache.wink.common.internal.i18n"
+                                                               .intern();
+
+    public static final ResourceBundle rootBundle      =
+                                                           ResourceBundle
+                                                               .getBundle(rootPackageName + "."
+                                                                              + resourceName,
+                                                                          locale,
+                                                                          MessagesConstants.class
+                                                                              .getClassLoader());
+}

Propchange: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/i18n/MessagesConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/lifecycle/LifecycleManagerUtils.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/lifecycle/LifecycleManagerUtils.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/lifecycle/LifecycleManagerUtils.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/lifecycle/LifecycleManagerUtils.java Mon Aug 24 21:30:14 2009
@@ -23,6 +23,7 @@
 import java.io.IOException;
 import java.security.PrivilegedActionException;
 
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.registry.metadata.ClassMetadata;
 import org.apache.wink.common.internal.registry.metadata.ProviderMetadataCollector;
 import org.apache.wink.common.internal.registry.metadata.ResourceMetadataCollector;
@@ -41,10 +42,10 @@
             CreationUtils.injectFields(object, classMetadata, null);
             return new SingletonObjectFactory<T>(object);
         } catch (IOException e) {
-            logger.error("Failed to inject fields of singleton {}", cls);
+            logger.error(Messages.getMessage("injectionFailureSingleton"), cls);
             throw new ObjectCreationException(e);
         } catch (PrivilegedActionException e) {
-            logger.error("Failed to inject fields of singleton {}", cls);
+            logger.error(Messages.getMessage("injectionFailureSingleton"), cls);
             throw new ObjectCreationException(e);
         }
     }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/AssetProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/AssetProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/AssetProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/AssetProvider.java Mon Aug 24 21:30:14 2009
@@ -48,6 +48,7 @@
 import org.apache.wink.common.annotations.Asset;
 import org.apache.wink.common.annotations.Scope;
 import org.apache.wink.common.annotations.Scope.ScopeType;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.registry.Injectable;
 import org.apache.wink.common.internal.registry.InjectableFactory;
 import org.apache.wink.common.internal.registry.Injectable.ParamType;
@@ -111,17 +112,20 @@
                            httpHeaders,
                            entityStream);
         } catch (IllegalArgumentException e) {
-            logger.error("Error invoking asset method {}", method.getMethod().getName());
+            logger.error(Messages.getMessage("assetMethodInvokeError"), method.getMethod()
+                .getName());
             throw new WebApplicationException(e);
         } catch (IllegalAccessException e) {
-            logger.error("Error invoking asset method {}", method.getMethod().getName());
+            logger.error(Messages.getMessage("assetMethodInvokeError"), method.getMethod()
+                .getName());
             throw new WebApplicationException(e);
         } catch (InvocationTargetException e) {
             Throwable targetException = e.getTargetException();
             if (targetException instanceof RuntimeException) {
                 throw (RuntimeException)targetException;
             }
-            logger.error("Error invoking asset method {}", method.getMethod().getName());
+            logger.error(Messages.getMessage("assetMethodInvokeError"), method.getMethod()
+                .getName());
             throw new WebApplicationException(targetException);
         }
     }
@@ -166,16 +170,16 @@
             if (targetException instanceof RuntimeException) {
                 throw (RuntimeException)targetException;
             }
-            logger.error("Error invoking asset method {}", method.getMethod().getName());
+            logger.error(Messages.getMessage("assetMethodInvokeError"), method.getMethod()
+                .getName());
             throw new WebApplicationException(e);
         } catch (InstantiationException e) {
-            logger
-                .error("Failed to instantiate asset {}. Assets must have a default public contructor.",
-                       type.getName());
+            logger.error(Messages.getMessage("assetMustHavePublicConstructor"), type.getName());
             throw new WebApplicationException(e);
 
         } catch (Exception e) {
-            logger.error("Error invoking asset method {}", method.getMethod().getName());
+            logger.error(Messages.getMessage("assetMethodInvokeError"), method.getMethod()
+                .getName());
             throw new WebApplicationException(e);
         }
     }
@@ -223,14 +227,14 @@
         // verify that the asset has a default public constructor
         try {
             if (assetType.getConstructor() == null) {
-                logger.info("Cannot instantiate asset {}", assetType.getName());
+                logger.info(Messages.getMessage("assetCannotInstantiate"), assetType.getName());
                 return false;
             }
         } catch (SecurityException e) {
-            logger.info("Cannot instantiate asset {}", assetType.getName());
+            logger.info(Messages.getMessage("assetCannotInstantiate"), assetType.getName());
             return false;
         } catch (NoSuchMethodException e) {
-            logger.info("Cannot instantiate asset {}", assetType.getName());
+            logger.info(Messages.getMessage("assetCannotInstantiate"), assetType.getName());
             return false;
         }
 
@@ -408,8 +412,8 @@
                         // we allow to have only one entity parameter
                         String methodName =
                             method.getDeclaringClass().getName() + "." + method.getName();
-                        logger.error("Asset locator method {} has more than one entity parameter",
-                                     methodName);
+                        logger.error(Messages
+                            .getMessage("assetLocatorMethodMoreThanOneEntityParam"), methodName);
                         throw new WebApplicationException();
                     }
                     type = fp.getGenericType();

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/FileProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/FileProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/FileProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/FileProvider.java Mon Aug 24 21:30:14 2009
@@ -37,6 +37,7 @@
 import javax.ws.rs.ext.MessageBodyWriter;
 import javax.ws.rs.ext.Provider;
 
+import org.apache.wink.common.internal.i18n.Messages;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -74,7 +75,7 @@
                         MultivaluedMap<String, Object> httpHeaders,
                         OutputStream entityStream) throws IOException, WebApplicationException {
         if (!t.canRead() || t.isDirectory()) {
-            logger.warn("Can not write file {} to response, file is not readable or a Directory ",
+            logger.warn(Messages.getMessage("cannotUseFileAsResponse"),
                         t.getAbsoluteFile());
             throw new WebApplicationException();
         } else {
@@ -105,9 +106,7 @@
             dir = new File(uploadDir);
             if (!dir.exists() || !dir.isDirectory()) {
                 dir = null;
-                logger
-                    .warn("Upload directory '{}' does not exist or not a directory, uploading entity to deafult temporary directory",
-                          uploadDir);
+                logger.warn(Messages.getMessage("uploadDirDoesNotExist"), uploadDir);
                 throw new WebApplicationException();
 
             }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomEntryProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomEntryProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomEntryProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomEntryProvider.java Mon Aug 24 21:30:14 2009
@@ -35,6 +35,7 @@
 import javax.xml.bind.PropertyException;
 import javax.xml.bind.Unmarshaller;
 
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.model.atom.AtomEntry;
 import org.apache.wink.common.model.atom.AtomJAXBUtils;
 import org.apache.wink.common.model.atom.ObjectFactory;
@@ -97,7 +98,7 @@
         if (object instanceof AtomEntry) {
             entry = (AtomEntry)object;
         } else {
-            logger.error("request entity is not an atom entry (it was unmarshalled as {})", object
+            logger.error(Messages.getMessage("atomRequestEntityNotAtomEntry"), object
                 .getClass());
             throw new WebApplicationException(Status.BAD_REQUEST);
         }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomFeedProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomFeedProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomFeedProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/atom/AbstractAtomFeedProvider.java Mon Aug 24 21:30:14 2009
@@ -35,6 +35,7 @@
 import javax.xml.bind.PropertyException;
 import javax.xml.bind.Unmarshaller;
 
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.model.atom.AtomFeed;
 import org.apache.wink.common.model.atom.AtomJAXBUtils;
 import org.apache.wink.common.model.atom.ObjectFactory;
@@ -96,7 +97,7 @@
         if (object instanceof AtomFeed) {
             feed = (AtomFeed)object;
         } else {
-            logger.error("request entity is not an atom feed (it was unmarshalled as {})", object
+            logger.error(Messages.getMessage("atomRequestEntityNotAtomFeed"), object
                 .getClass());
             throw new WebApplicationException(Status.BAD_REQUEST);
         }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/AbstractJsonXmlProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/AbstractJsonXmlProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/AbstractJsonXmlProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/AbstractJsonXmlProvider.java Mon Aug 24 21:30:14 2009
@@ -32,6 +32,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.providers.entity.xml.AbstractJAXBProvider;
 import org.apache.wink.common.model.atom.AtomJAXBUtils;
 import org.xml.sax.Attributes;
@@ -60,7 +61,7 @@
             spf.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
         } catch (Exception e) {
             // shouldn't happen!
-            logger.error("Error while setting SAX parser feature for JSON provider");
+            logger.error(Messages.getMessage("jsonErrorSAXParserFeature"));
             throw new WebApplicationException(e);
         }
     }
@@ -149,7 +150,7 @@
                 }
 
             } catch (JSONException e) {
-                logger.error("failed to convert XML to JSon");
+                logger.error(Messages.getMessage("jsonFailConvertXMLToJSON"));
                 throw new WebApplicationException(e);
             }
         }
@@ -171,7 +172,7 @@
                     properties.put("$", text);
                 }
             } catch (JSONException e) {
-                logger.error("failed to convert XML to JSon");
+                logger.error(Messages.getMessage("jsonFailConvertXMLToJSON"));
                 throw new WebApplicationException(e);
             }
         }
@@ -182,7 +183,7 @@
                 String xmlToParse = xmlStringToParse.toString();
                 AtomJAXBUtils.saxParse(new StringReader(xmlToParse),
                                        this,
-                                       "failed to convert XML to JSon");
+                                       Messages.getMessage("jsonFailConvertXMLToJSON"));
             }
 
             try {

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonJAXBProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonJAXBProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonJAXBProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonJAXBProvider.java Mon Aug 24 21:30:14 2009
@@ -41,6 +41,7 @@
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.annotations.Scope;
 import org.apache.wink.common.annotations.Scope.ScopeType;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
 import org.json.JSONObject;
 
@@ -113,7 +114,7 @@
             marshaller.marshal(jaxbObject, handler);
             return handler.getJsonResult();
         } catch (JAXBException e) {
-            logger.error("Failed to convert JAXB object {} to JSONObject", type.getName());
+            logger.error(Messages.getMessage("jsonFailConvertJAXBToJSON"), type.getName());
             throw new WebApplicationException(e);
         }
     }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/json/JsonProvider.java Mon Aug 24 21:30:14 2009
@@ -39,6 +39,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.RestConstants;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.providers.entity.xml.AbstractJAXBProvider;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
 import org.apache.wink.common.utils.ProviderUtils;
@@ -80,7 +81,7 @@
         try {
             jsonString = t.toString(2);
         } catch (JSONException e) {
-            logger.error("Failed to write json object");
+            logger.error(Messages.getMessage("jsonFailWriteJSONObject"));
             throw new WebApplicationException(e, Response.Status.INTERNAL_SERVER_ERROR);
         }
 

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java Mon Aug 24 21:30:14 2009
@@ -42,6 +42,7 @@
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -153,7 +154,7 @@
         if (!isXMLRootElement(type) && isXMLType(type)) {
             JAXBElement<?> wrappedJAXBElement = wrapInJAXBElement(jaxbObject, type);
             if (wrappedJAXBElement == null) {
-                logger.error("Failed to find ObjectFactory for {}", type.getName());
+                logger.error(Messages.getMessage("jaxbObjectFactoryNotFound"), type.getName());
                 throw new WebApplicationException();
             }
             return wrappedJAXBElement;
@@ -185,10 +186,10 @@
                 }
                 return null;
             }
-            logger.warn("Failed to instantiate object factory for {}", type.getName());
+            logger.warn(Messages.getMessage("jaxbObjectFactoryInstantiate"), type.getName());
             return defaultWrapInJAXBElement(jaxbObject, type);
         } catch (Exception e) {
-            logger.error("Failed to build JAXBElement for {}", type.getName());
+            logger.error(Messages.getMessage("jaxbElementFailToBuild"), type.getName());
             return null;
         }
 
@@ -208,12 +209,12 @@
         try {
             factoryClass = Thread.currentThread().getContextClassLoader().loadClass(b.toString());
         } catch (ClassNotFoundException e) {
-            logger.error("ObjectFactory for {} was not found", type.getName());
+            logger.error(Messages.getMessage("jaxbObjectFactoryNotFound"), type.getName());
             return null;
         }
 
         if (!factoryClass.isAnnotationPresent(XmlRegistry.class)) {
-            logger.error("Found ObjectFactory for {} is not annotated with XmlRegistry.class", type
+            logger.error(Messages.getMessage("jaxbObjectFactoryNotAnnotatedXMLRegistry"), type
                 .getName());
             return null;
         }
@@ -223,7 +224,7 @@
 
     @SuppressWarnings("unchecked")
     private JAXBElement<?> defaultWrapInJAXBElement(Object jaxbObject, Class<?> type) {
-        logger.info("Creating default JAXBElement for {}", type.getName());
+        logger.info(Messages.getMessage("jaxbCreateDefaultJAXBElement"), type.getName());
         String typeStr = type.getAnnotation(XmlType.class).name();
         return new JAXBElement(new QName(typeStr), type, jaxbObject);
     }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java Mon Aug 24 21:30:14 2009
@@ -44,6 +44,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.utils.ProviderUtils;
 
 @Provider
@@ -78,7 +79,7 @@
             unmarshaledResource =
                 unmarshaller.unmarshal(new StreamSource(entityStream), classToFill);
         } catch (JAXBException e) {
-            logger.error("Failed to unmarshal {}", type.getName());
+            logger.error(Messages.getMessage("jaxbFailToUnmarshal"), type.getName());
             throw new WebApplicationException(e, Response.Status.BAD_REQUEST);
         }
         return unmarshaledResource;
@@ -113,7 +114,7 @@
             marshaller.marshal(t, writer);
             writer.flush();
         } catch (JAXBException e) {
-            logger.error("Failed to marshal {}", t.getName());
+            logger.error(Messages.getMessage("jaxbFailToMarshal"), t.getName());
             throw new WebApplicationException(e, Response.Status.INTERNAL_SERVER_ERROR);
         }
 

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java Mon Aug 24 21:30:14 2009
@@ -40,6 +40,7 @@
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.transform.stream.StreamSource;
 
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.utils.ProviderUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -77,7 +78,7 @@
                     unmarshaller.unmarshal(new StreamSource(entityStream), type).getValue();
 
         } catch (JAXBException e) {
-            logger.error("Failed to unmarshal {}", type.getName());
+            logger.error(Messages.getMessage("jaxbFailToUnmarshal"), type.getName());
             throw new WebApplicationException(e, Response.Status.BAD_REQUEST);
         }
         return unmarshaledResource;
@@ -116,7 +117,7 @@
             marshaller.marshal(entityToMarshal, entityStream);
             entityStream.flush();
         } catch (JAXBException e) {
-            logger.error("Failed to marshal {}", type.getName());
+            logger.error(Messages.getMessage("jaxbFailToMarshal"), type.getName());
             throw new WebApplicationException(e);
         }
     }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/header/MediaTypeHeaderDelegate.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/header/MediaTypeHeaderDelegate.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/header/MediaTypeHeaderDelegate.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/header/MediaTypeHeaderDelegate.java Mon Aug 24 21:30:14 2009
@@ -26,6 +26,7 @@
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
 
+import org.apache.wink.common.internal.i18n.Messages;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -62,7 +63,7 @@
                 }
             }
         } catch (ArrayIndexOutOfBoundsException e) {
-            String errMsg = String.format("Wrong MediaType format for MediaType:\"%s\"", value);
+            String errMsg = String.format(Messages.getMessage("mediaTypeWrongFormat"), value);
             logger.error(errMsg);
             throw new IllegalArgumentException(errMsg, e);
         }

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ProvidersRegistry.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ProvidersRegistry.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ProvidersRegistry.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ProvidersRegistry.java Mon Aug 24 21:30:14 2009
@@ -51,6 +51,7 @@
 
 import org.apache.wink.common.WinkApplication;
 import org.apache.wink.common.internal.application.ApplicationValidator;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.lifecycle.LifecycleManagersRegistry;
 import org.apache.wink.common.internal.lifecycle.ObjectFactory;
 import org.apache.wink.common.internal.runtime.RuntimeContext;
@@ -155,7 +156,7 @@
             retValue = true;
         }
         if (retValue == false) {
-            logger.warn("Unknown provider: {}", cls);
+            logger.warn(Messages.getMessage("classIsUnknownProvider"), cls);
         }
         return retValue;
 
@@ -566,7 +567,7 @@
                 data.put(key, set);
             }
             if (!set.add(objectFactory)) {
-                logger.warn("The set already contains {}. Skipping...", objectFactory);
+                logger.warn(Messages.getMessage("mediaTypeSetAlreadyContains"), objectFactory);
             } else {
                 // the set of providers has been changed so must clear the cache
                 providersCache.clear();

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/metadata/ResourceMetadataCollector.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/metadata/ResourceMetadataCollector.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/metadata/ResourceMetadataCollector.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/metadata/ResourceMetadataCollector.java Mon Aug 24 21:30:14 2009
@@ -41,6 +41,7 @@
 import org.apache.wink.common.DynamicResource;
 import org.apache.wink.common.annotations.Parent;
 import org.apache.wink.common.annotations.Workspace;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.registry.Injectable;
 import org.apache.wink.common.internal.registry.InjectableFactory;
 
@@ -162,7 +163,7 @@
                         for (Injectable id : methodMetadata.getFormalParameters()) {
                             if (id.getParamType() == Injectable.ParamType.ENTITY) {
                                 logger
-                                    .warn("Sub-Resource locator {} contains an illegal entity parameter. The locator will be ignored.",
+                                    .warn(Messages.getMessage("subresourceLocatorIllegalEntityParameter"),
                                           methodName);
                                 continue F1;
                             }
@@ -172,7 +173,7 @@
                         if (!methodMetadata.getConsumes().isEmpty() || !methodMetadata
                             .getProduces().isEmpty()) {
                             logger
-                                .warn("Sub-Resource locator {} is annotated with Consumes/Produces. These annotations are ignored for sub-resource locators",
+                                .warn(Messages.getMessage("subresourceLocatorAnnotatedConsumesProduces"),
                                       methodName);
                         }
                         getMetadata().getSubResourceLocators().add(methodMetadata);
@@ -270,7 +271,7 @@
         // since there is at least one JAX-RS annotation on the method
         if (metadata.getHttpMethod() == null && metadata.getPath() == null) {
             logger
-                .warn("The method {} in class {} is not annotated with an http method designator nor the Path annotation. " + "This method will be ignored.",
+                .warn(Messages.getMessage("methodNotAnnotatedCorrectly"),
                       method.getName(),
                       method.getDeclaringClass().getCanonicalName());
             return null;

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/GenericsUtils.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/GenericsUtils.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/GenericsUtils.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/GenericsUtils.java Mon Aug 24 21:30:14 2009
@@ -164,7 +164,7 @@
             return getClassType(((WildcardType)type).getUpperBounds()[0]);
         }
 
-        logger.error(String.format("Method doesn't handle %s", String.valueOf(type)));
+        logger.error("Method doesn't handle %s", String.valueOf(type));
         return null;
     }
 

Added: 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=807388&view=auto
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties (added)
+++ incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties Mon Aug 24 21:30:14 2009
@@ -0,0 +1,107 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#  
+#   http://www.apache.org/licenses/LICENSE-2.0
+#  
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.  
+
+# Class and Method Validation
+classNotAProvider={} is not a provider. Ignoring.
+classNotAResourceNorProvider={} is neither a resource nor a provider. Ignoring.
+classNotADynamicResourceNorResourceNorProvider={} is not a dynamic resource, resource, or provider. Ignoring.
+classAlreadyAdded=The class {} was already added. Ignored.
+classNotValid=The class {} may only have one of the following declarations: {}, {}, {}
+classIsUnknownProvider=Annotated @Provider class does not implement a recognized Provider interface: {}
+isNotAClass={} is not a class. Ignoring.
+resourceClassNotValid=The resource class {} is not a valid resource. Ignoring.
+
+exceptionOccurredDuringClassProcessing=An exception occurred during processing of class {}. Ignoring class.
+listExceptionDuringClassProcessing=The following exception occurred during processing of class: 
+exceptionOccurredDuringSingletonProcessing=An exception occurred during processing of singleton {}. Ignoring singleton.
+listExceptionDuringSingletonProcessing=The following exception occurred during processing of class: 
+exceptionOccurredDuringInstanceProcessing=An exception occurred during processing of instance {}. Ignoring.
+listExceptionDuringInstanceProcessing=The following exception occurred during processing of instance: 
+
+methodNotAnnotatedCorrectly=The method {} in class {} is not annotated with an http method designator nor the Path annotation. This method will be ignored.
+subresourceLocatorIllegalEntityParameter=Sub-Resource locator {} contains an illegal entity parameter. The locator will be ignored.
+subresourceLocatorAnnotatedConsumesProduces=Sub-Resource locator {} is annotated with Consumes/Produces. These annotations are ignored for sub-resource locators
+
+# Loading config
+configNotFound=Could not find {}. Ignoring.
+exceptionClosingFile=Exception when closing file
+propertyNotDefined={} property was not defined.
+alternateShortcutMapLoadFailure=Failed to load alternateShortcutMap
+alternateShortcutMapCloseFailure=Exception when closing file:  
+
+# Provider Information
+uploadDirDoesNotExist=Upload directory '{}' does not exist or is not a directory, uploading entity to default temporary directory
+cannotUseFileAsResponse=Can not write file {} to response, file is not readable or is a directory
+
+jaxbObjectFactoryInstantiate=Failed to instantiate object factory for {}
+
+# internals
+mediaTypeSetAlreadyContains=The set already contains {}. Skipping...
+mediaTypeMapperIncompleteRecord=Record {} is not complete, therefore ignored
+
+# writing
+noWriterOrDataSourceProvider=Could not find a writer or DataSourceProvider for {} type and {} mediaType.
+
+# Spring
+springClassReplaceNewerObjectFactory=The {} was replaced by a newer object factory.
+springBeanClassNotDynamicResource=The bean {} of class {} is not a DynamicResource.
+springBeanNotResourceNorProvider=The bean {} of class {} is neither resource nor provider
+springExceptionOccurredDuringFieldInject=Exception occured during the fields injection for bean: 
+ 
+# Injection
+injectionFailureSingleton=Failed to inject fields of singleton {}
+
+# Asset Provider
+assetLocatorMethodMoreThanOneEntityParam=Asset locator method {} has more than one entity parameter
+assetMethodInvokeError=Error invoking asset method {} 
+assetMustHavePublicConstructor=Failed to instantiate asset {}. Assets must have a default public contructor.
+assetCannotInstantiate=Cannot instantiate asset {}
+
+# Atom Provider
+atomRequestEntityNotAtomEntry=Request entity is not an atom entry (it was unmarshalled as {})
+atomRequestEntityNotAtomFeed=Request entity is not an atom feed (it was unmarshalled as {})
+
+# JSON Provider
+jsonErrorSAXParserFeature=Error while setting SAX parser feature for JSON provider
+jsonFailConvertXMLToJSON=Failed to convert XML to JSON
+jsonFailConvertJAXBToJSON=Failed to convert JAXB object {} to JSONObject
+jsonFailWriteJSONObject=Failed to write JSONObject
+
+# JAXB Provider
+jaxbObjectFactoryNotFound=ObjectFactory for {} was not found
+jaxbElementFailToBuild=Failed to build JAXBElement for {}
+jaxbObjectFactoryNotAnnotatedXMLRegistry=Found ObjectFactory for {} is not annotated with XmlRegistry.class
+jaxbFailToUnmarshal=Failed to unmarshal {}
+jaxbFailToMarshal=Failed to marshal {}
+jaxbCreateDefaultJAXBElement=Creating default JAXBElement for {}
+
+# Failure Messages
+mediaTypeWrongFormat=Wrong MediaType format for MediaType: {}
+methodDoesNotHandleType=Method doesn't handle {}
+unhandledExceptionToContainer=Unhandled exception
+exceptionOccurredDuringInvocation=%s occured during the handlers chain invocation
+
+# Contexts
+uriBadBaseURI=bad base URI: 
+
+# Error Flow
+exceptionOccurredDuringExceptionMapper=Exception occured while executing toResponse of the ExceptionMapper
+
+# WebDAV
+webDAVNoEditOrSelfLink=The resource {} has set no edit or self link
+
+noMethodInClassSupportsHTTPMethod=Could not find any method in class {} that supports {}
\ No newline at end of file

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java Mon Aug 24 21:30:14 2009
@@ -38,6 +38,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.internal.application.ApplicationValidator;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.lifecycle.LifecycleManagersRegistry;
 import org.apache.wink.common.internal.lifecycle.ScopeLifecycleManager;
 import org.apache.wink.common.internal.registry.InjectableFactory;
@@ -278,7 +279,7 @@
                     alternateShortcutMap.put((String)entry.getKey(), (String)entry.getValue());
                 }
             } catch (IOException e) {
-                logger.error("Failed to load alternateShortcutMap", e);
+                logger.error(Messages.getMessage("alternateShortcutMapLoadFailure"), e);
                 throw new WebApplicationException(e);
             } finally {
                 try {
@@ -286,7 +287,7 @@
                         is.close();
                     }
                 } catch (IOException e) {
-                    logger.info("Exception when closing file " + ALTERNATIVE_SHORTCUTS, e);
+                    logger.info(Messages.getMessage("alternateShortcutMapCloseFailure") + ALTERNATIVE_SHORTCUTS, e);
                 }
             }
         }

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/MediaTypeMapper.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/MediaTypeMapper.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/MediaTypeMapper.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/MediaTypeMapper.java Mon Aug 24 21:30:14 2009
@@ -28,6 +28,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
 
 /**
@@ -85,7 +86,7 @@
 
     public void addMapping(String userAgent, String resultMimeType, String typeToSend) {
         if (userAgent == null || resultMimeType == null || typeToSend == null) {
-            logger.warn("Record {} is not complete => ignored", userAgent);
+            logger.warn(Messages.getMessage("mediaTypeMapperIncompleteRecord"), userAgent);
             return;
         }
         this.mappings.add(new AgentStartsWith(userAgent, resultMimeType, typeToSend));

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java Mon Aug 24 21:30:14 2009
@@ -36,6 +36,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.internal.application.ApplicationFileLoader;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.runtime.RuntimeContextTLS;
 import org.apache.wink.server.internal.handlers.ServerMessageContext;
 import org.apache.wink.server.internal.resources.HtmlServiceDocumentResource;
@@ -117,7 +118,7 @@
             handleRequestWithoutFaultBarrier(request, response);
         } catch (Throwable t) {
             // exception was not handled properly
-            logger.error("Unhandled exception", t);
+            logger.error(Messages.getMessage("unhandledExceptionToContainer"), t);
             if (t instanceof RuntimeException) {
                 // let the servlet container to handle the runtime exception
                 throw (RuntimeException)t;
@@ -149,7 +150,7 @@
     }
 
     private void logException(Throwable t) {
-        String messageFormat = "%s occured during the handlers chain invocation";
+        String messageFormat = Messages.getMessage("exceptionOccurredDuringInvocation");
         String exceptionName = t.getClass().getSimpleName();
         if (t instanceof WebApplicationException) {
             WebApplicationException wae = (WebApplicationException)t;

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ApplicationProcessor.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ApplicationProcessor.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ApplicationProcessor.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ApplicationProcessor.java Mon Aug 24 21:30:14 2009
@@ -26,6 +26,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.WinkApplication;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.registry.ProvidersRegistry;
 import org.apache.wink.common.internal.registry.metadata.ProviderMetadataCollector;
 import org.apache.wink.common.internal.registry.metadata.ResourceMetadataCollector;
@@ -105,13 +106,13 @@
                 } else if (ProviderMetadataCollector.isProvider(cls)) {
                     providersRegistry.addProvider(obj, priority);
                 } else {
-                    logger.warn("Cannot handle {}. Ignoring.", obj);
+                    logger.warn(Messages
+                        .getMessage("classNotADynamicResourceNorResourceNorProvider"), obj);
                 }
             } catch (Exception e) {
-                logger
-                    .warn("The following exception occured during processing of instance {}. Ignoring.",
-                          obj.getClass().getCanonicalName());
-                e.printStackTrace();
+                logger.warn(Messages.getMessage("exceptionOccurredDuringInstanceProcessing"), obj
+                    .getClass().getCanonicalName());
+                logger.warn(Messages.getMessage("listExceptionDuringInstanceProcessing"), e);
             }
         }
     }
@@ -129,13 +130,11 @@
                 } else if (ProviderMetadataCollector.isProvider(cls)) {
                     providersRegistry.addProvider(cls);
                 } else {
-                    logger.warn("{} is not a resource or a provider. Ignored.", cls);
+                    logger.warn(Messages.getMessage("classNotAResourceNorProvider"), cls);
                 }
             } catch (Exception e) {
-                logger
-                    .warn("The following exception occured during processing of class {}. Ignoring.",
-                          cls);
-                e.printStackTrace();
+                logger.warn(Messages.getMessage("exceptionOccurredDuringClassProcessing"), cls);
+                logger.warn(Messages.getMessage("listExceptionDuringClassProcessing"), e);
             }
         }
     }
@@ -154,13 +153,12 @@
                 } else if (ProviderMetadataCollector.isProvider(cls)) {
                     providersRegistry.addProvider(obj);
                 } else {
-                    logger.warn("{} is not a resource or a provider. Ignoring.", obj);
+                    logger.warn(Messages.getMessage("classNotAResourceNorProvider"), obj);
                 }
             } catch (Exception e) {
-                logger
-                    .warn("The following exception occured during processing of singleton {}. Ignoring.",
-                          obj.getClass().getCanonicalName());
-                e.printStackTrace();
+                logger.warn(Messages.getMessage("exceptionOccurredDuringSingletonProcessing"), obj
+                    .getClass().getCanonicalName());
+                logger.warn(Messages.getMessage("listExceptionDuringSingletonProcessing"), e);
             }
         }
     }

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/UriInfoImpl.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/UriInfoImpl.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/UriInfoImpl.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/contexts/UriInfoImpl.java Mon Aug 24 21:30:14 2009
@@ -37,6 +37,7 @@
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.internal.MultivaluedMapImpl;
 import org.apache.wink.common.internal.PathSegmentImpl;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.uri.UriEncoder;
 import org.apache.wink.common.internal.utils.UriHelper;
 import org.apache.wink.server.handlers.MessageContext;
@@ -97,7 +98,7 @@
             try {
                 baseUri = new URI(baseUriString);
             } catch (URISyntaxException e) {
-                logger.error("bad base URI: " + baseUriString, e);
+                logger.error(Messages.getMessage("uriBadBaseURI") + baseUriString, e);
             }
         }
         return baseUri;

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FindRootResourceHandler.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FindRootResourceHandler.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FindRootResourceHandler.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FindRootResourceHandler.java Mon Aug 24 21:30:14 2009
@@ -56,7 +56,7 @@
         // get a list of root resources that can handle the request
         List<ResourceInstance> matchedResources = registry.getMatchingRootResources(strippedPath);
         if (matchedResources.size() == 0) {
-            logger.warn("No resource found matching {}", context.getUriInfo().getPath(false));
+            logger.debug("No resource found matching {}", context.getUriInfo().getPath(false));
             SearchResult result =
                 new SearchResult(new WebApplicationException(Response.Status.NOT_FOUND));
             context.setAttribute(SearchResult.class, result);

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FlushResultHandler.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FlushResultHandler.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FlushResultHandler.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/FlushResultHandler.java Mon Aug 24 21:30:14 2009
@@ -46,6 +46,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.internal.MultivaluedMapImpl;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.runtime.RuntimeContextTLS;
 import org.apache.wink.server.handlers.AbstractHandler;
 import org.apache.wink.server.handlers.MessageContext;
@@ -174,9 +175,9 @@
 
         } else {
             logger
-                .warn("Could not find a writer for {} and {}. Try to find JAF DataSourceProvider",
-                      entity.getClass().getName(),
-                      responseMediaType);
+                .debug("Could not find a writer for {} and {}. Try to find JAF DataSourceProvider",
+                       entity.getClass().getName(),
+                       responseMediaType);
         }
 
         DataContentHandler dataContentHandler = null;
@@ -189,7 +190,8 @@
                 .createDataContentHandler(responseMediaType.toString());
 
         if (dataContentHandler == null) {
-            logger.error("Could not find a DataSourceProvider for {} ", responseMediaType);
+            logger.error(Messages.getMessage("noWriterOrDataSourceProvider"), entity.getClass()
+                .getName(), responseMediaType);
             throw new WebApplicationException(500);
         }
 

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/PopulateErrorResponseHandler.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/PopulateErrorResponseHandler.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/PopulateErrorResponseHandler.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/handlers/PopulateErrorResponseHandler.java Mon Aug 24 21:30:14 2009
@@ -26,6 +26,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.server.handlers.AbstractHandler;
 import org.apache.wink.server.handlers.MessageContext;
 
@@ -57,7 +58,7 @@
         try {
             return provider.toResponse(exception);
         } catch (Throwable e) {
-            logger.error("Exception occured while executing toResponse of the ExceptionMapper", e);
+            logger.error(Messages.getMessage("exceptionOccurredDuringExceptionMapper"), e);
             return RUNTIME_DELEGATE.createResponseBuilder().status(500).build();
         }
     }

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java Mon Aug 24 21:30:14 2009
@@ -41,6 +41,7 @@
 import org.apache.wink.common.WinkApplication;
 import org.apache.wink.common.http.HttpStatus;
 import org.apache.wink.common.internal.application.ApplicationValidator;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.lifecycle.LifecycleManagersRegistry;
 import org.apache.wink.common.internal.registry.Injectable;
 import org.apache.wink.common.internal.registry.metadata.MethodMetadata;
@@ -107,7 +108,7 @@
         writersLock.lock();
         try {
             if (!applicationValidator.isValidResource(instance.getClass())) {
-                logger.warn("The resource {} is not a valid resource. Ignoring.", instance);
+                logger.warn(Messages.getMessage("resourceClassNotValid"), instance);
                 return;
             }
 
@@ -132,7 +133,7 @@
         writersLock.lock();
         try {
             if (!applicationValidator.isValidResource(clazz)) {
-                logger.warn("The resource class {} is not a valid resource. Ignoring.", clazz);
+                logger.warn(Messages.getMessage("resourceClassNotValid"), clazz);
                 return;
             }
             ResourceRecord record = getRecord(clazz);
@@ -369,7 +370,7 @@
             }
         }
         if (methodRecords.size() == 0) {
-            logger.info("Could not find any method in class {} that supports {}", resource
+            logger.info(Messages.getMessage("noMethodInClassSupportsHTTPMethod"), resource
                 .getResourceClass().getName(), context.getRequest().getMethod());
             throw new WebApplicationException(HttpStatus.METHOD_NOT_ALLOWED.getCode());
         }

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java Mon Aug 24 21:30:14 2009
@@ -31,6 +31,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.server.internal.DeploymentConfiguration;
 import org.apache.wink.server.internal.RequestProcessor;
 import org.apache.wink.server.internal.application.ServletWinkApplication;
@@ -150,8 +151,7 @@
         }
         String appLocationParameter = getInitParameter(APP_LOCATION_PARAM);
         if (appLocationParameter == null) {
-            String message = APP_LOCATION_PARAM + " was not defined.";
-            logger.warn(message);
+            logger.warn(Messages.getMessage("propertyNotDefined"), APP_LOCATION_PARAM);
         }
         return new ServletWinkApplication(getServletContext(), appLocationParameter);
     }
@@ -171,7 +171,7 @@
                     is.close();
                 }
             } catch (IOException e) {
-                logger.warn("Exception when closing file " + resourceName, e);
+                logger.warn(Messages.getMessage("exceptionClosingFile") + ": " + resourceName, e);
             }
         }
         return properties;

Modified: incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/DependenciesInjectionPostProcessor.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/DependenciesInjectionPostProcessor.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/DependenciesInjectionPostProcessor.java (original)
+++ incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/DependenciesInjectionPostProcessor.java Mon Aug 24 21:30:14 2009
@@ -23,6 +23,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.lifecycle.CreationUtils;
 import org.apache.wink.common.internal.registry.metadata.ClassMetadata;
 import org.apache.wink.common.internal.runtime.RuntimeContextTLS;
@@ -46,7 +47,7 @@
                 CreationUtils.injectFields(bean, classMetadata, RuntimeContextTLS
                     .getRuntimeContext());
             } catch (Exception e) {
-                logger.error("Exception occured during the fields injection for bean " + beanName,
+                logger.error(Messages.getMessage("springExceptionOccurredDuringFieldInject"),
                              e);
                 throw new WebApplicationException(e);
             }

Modified: incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/SpringLifecycleManager.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/SpringLifecycleManager.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/SpringLifecycleManager.java (original)
+++ incubator/wink/trunk/wink-spring-support/src/main/java/org/apache/wink/spring/internal/SpringLifecycleManager.java Mon Aug 24 21:30:14 2009
@@ -25,6 +25,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.DynamicResource;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.internal.lifecycle.LifecycleManager;
 import org.apache.wink.common.internal.lifecycle.ObjectCreationException;
 import org.apache.wink.common.internal.lifecycle.ObjectFactory;
@@ -89,10 +90,10 @@
             .isProvider(cls)) {
             SpringObjectFactory old = class2factory.put(cls, objectFactory);
             if (old != null) {
-                logger.warn("The {} was replaced by a newer object factory.", cls);
+                logger.warn(Messages.getMessage("springClassReplaceNewerObjectFactory"), cls);
             }
         } else {
-            logger.warn("The bean {} of class {} is neither resource nor provider", beanName, cls);
+            logger.warn(Messages.getMessage("springBeanNotResourceNorProvider"), beanName, cls);
         }
     }
 
@@ -103,10 +104,10 @@
             dynResource.setBeanName(beanName);
             SpringObjectFactory old = id2factory.put(beanName, objectFactory);
             if (old != null) {
-                logger.warn("The {} was replaced by a newer object factory.", beanName);
+                logger.warn(Messages.getMessage("springClassReplaceNewerObjectFactory"), beanName);
             }
         } else {
-            logger.warn("The bean {} of class {} is not a DynamicResource.", beanName, cls);
+            logger.warn(Messages.getMessage("springBeanClassNotDynamicResource"), beanName, cls);
         }
     }
 

Modified: incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/server/WebDAVResponseBuilder.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/server/WebDAVResponseBuilder.java?rev=807388&r1=807387&r2=807388&view=diff
==============================================================================
--- incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/server/WebDAVResponseBuilder.java (original)
+++ incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/server/WebDAVResponseBuilder.java Mon Aug 24 21:30:14 2009
@@ -32,6 +32,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.wink.common.http.HttpStatus;
+import org.apache.wink.common.internal.i18n.Messages;
 import org.apache.wink.common.model.synd.SyndBase;
 import org.apache.wink.common.model.synd.SyndEntry;
 import org.apache.wink.common.model.synd.SyndFeed;
@@ -375,7 +376,7 @@
         }
         if (link == null) {
             // no link in the resource
-            logger.error("The resource {} has set no edit or self link", synd.getId());
+            logger.error(Messages.getMessage("webDAVNoEditOrSelfLink"), synd.getId());
             throw new WebApplicationException();
         }