001 package com.mockrunner.struts;
002
003 import java.util.Map;
004
005 import org.apache.struts.util.MessageResources;
006 import org.apache.struts.util.MessageResourcesFactory;
007
008 /**
009 * Factory for {@link MapMessageResources}.
010 * If you want this factory to be the default
011 * factory used in your actions in the tests,
012 * you should call
013 * <code>MessageResourcesFactory.setFactoryClass("com.mockrunner.struts.MapMessageResourcesFactory")</code>
014 */
015 public class MapMessageResourcesFactory extends MessageResourcesFactory
016 {
017 private static Map theMessages;
018
019 /**
020 * Sets the messages <code>Map</code> for returned
021 * {@link MapMessageResources} objects.
022 * @param messages the message <code>Map</code>
023 */
024 public static void setMessageMap(Map messages)
025 {
026 theMessages = messages;
027 }
028
029 public MessageResources createResources(String config)
030 {
031 return new MapMessageResources(theMessages, this, config, this.returnNull);
032 }
033 }