svn commit: r1364624 - /struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java
Author: lukaszlenart Date: Mon Jul 23 13:20:00 2012 New Revision: 1364624 URL: http://svn.apache.org/viewvc?rev=1364624&view=rev Log: WW-3822 adds check if setter was defined as this can be read-only property Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java?rev=1364624&r1=1364623&r2=1364624&view=diff == --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java Mon Jul 23 13:20:00 2012 @@ -47,12 +47,10 @@ import java.util.Map; * and will be removed eventually. * * - * * * @author Gabriel Zimmerman */ public class DefaultObjectTypeDeterminer implements ObjectTypeDeterminer { - protected static final Logger LOG = LoggerFactory.getLogger(DefaultObjectTypeDeterminer.class); @@ -61,17 +59,16 @@ public class DefaultObjectTypeDeterminer public static final String KEY_PROPERTY_PREFIX = "KeyProperty_"; public static final String CREATE_IF_NULL_PREFIX = "CreateIfNull_"; public static final String DEPRECATED_ELEMENT_PREFIX = "Collection_"; - + private ReflectionProvider reflectionProvider; private XWorkConverter xworkConverter; - + @Inject public DefaultObjectTypeDeterminer(@Inject XWorkConverter conv, @Inject ReflectionProvider prov) { this.reflectionProvider = prov; this.xworkConverter = conv; - } - + /** * Determines the key class by looking for the value of @Key annotation for the given class. * If no annotation is found, the key class is determined by using the generic parametrics. @@ -85,21 +82,16 @@ public class DefaultObjectTypeDeterminer */ public Class getKeyClass(Class parentClass, String property) { Key annotation = getAnnotation(parentClass, property, Key.class); - if (annotation != null) { return annotation.value(); } - Class clazz = getClass(parentClass, property, false); - if (clazz != null) { return clazz; } - return (Class) xworkConverter.getConverter(parentClass, KEY_PREFIX + property); } - /** * Determines the element class by looking for the value of @Element annotation for the given * class. @@ -114,32 +106,23 @@ public class DefaultObjectTypeDeterminer */ public Class getElementClass(Class parentClass, String property, Object key) { Element annotation = getAnnotation(parentClass, property, Element.class); - if (annotation != null) { return annotation.value(); } - Class clazz = getClass(parentClass, property, true); - if (clazz != null) { return clazz; } - clazz = (Class) xworkConverter.getConverter(parentClass, ELEMENT_PREFIX + property); - if (clazz == null) { -clazz = (Class) xworkConverter -.getConverter(parentClass, DEPRECATED_ELEMENT_PREFIX + property); - +clazz = (Class) xworkConverter.getConverter(parentClass, DEPRECATED_ELEMENT_PREFIX + property); if (LOG.isInfoEnabled() && clazz != null) { LOG.info("The Collection_xxx pattern for collection type conversion is deprecated. Please use Element_xxx!"); } } return clazz; - } - /** * Determines the key property for a Collection by getting it from the @KeyProperty annotation. * @@ -152,15 +135,12 @@ public class DefaultObjectTypeDeterminer */ public String getKeyProperty(Class parentClass, String property) { KeyProperty annotation = getAnnotation(parentClass, property, KeyProperty.class); - if (annotation != null) { return annotation.value(); } - return (String) xworkConverter.getConverter(parentClass, KEY_PROPERTY_PREFIX + property); } - /** * Determines the createIfNull property for a Collection or Map by getting it from the @CreateIfNull annotation. * @@ -175,21 +155,14 @@ public class DefaultObjectTypeDeterminer * @return true, if the Collection or Map should be created, false otherwise. * @see ObjectTypeDeterminer#getKeyProperty(Class, String) */ -public boolean shouldCreateIfNew(Class parentClass, - String property, - Object target,
svn commit: r1364627 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java
Author: lukaszlenart Date: Mon Jul 23 13:31:52 2012 New Revision: 1364627 URL: http://svn.apache.org/viewvc?rev=1364627&view=rev Log: WW-3839 solves problem with NPE when Log level is WARN Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java?rev=1364627&r1=1364626&r2=1364627&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java Mon Jul 23 13:31:52 2012 @@ -94,7 +94,7 @@ public class TextProviderHelper { } else { LOG.warn("Could not locate the message resource '"+key+"' as there is no TextProvider in the ValueStack."); } -if (msg.equals(defaultMessage)) { +if (defaultMessage.equals(msg)) { LOG.warn("The default value expression '"+defaultMessage+"' was evaluated and did not match a property. The literal value '"+defaultMessage+"' will be used."); } else { LOG.warn("The default value expression '"+defaultMessage+"' evaluated to '"+msg+"'");
[CONF] Confluence Changes in the last 24 hours
This is a daily summary of all recent changes in Confluence. - Updated Spaces: - Apache ActiveMQ (https://cwiki.apache.org/confluence/display/ACTIVEMQ) Pages - Failover Transport Reference edited by gtully (08:06 AM) https://cwiki.apache.org/confluence/display/ACTIVEMQ/Failover+Transport+Reference REST edited by dejanb (07:10 AM) https://cwiki.apache.org/confluence/display/ACTIVEMQ/REST Apache BookKeeper (https://cwiki.apache.org/confluence/display/BOOKKEEPER) Pages - BookKeeper presentations edited by fpj (04:02 AM) https://cwiki.apache.org/confluence/display/BOOKKEEPER/BookKeeper+presentations Apache Camel (https://cwiki.apache.org/confluence/display/CAMEL) Pages - AWS-S3 edited by muellerc (05:39 PM) https://cwiki.apache.org/confluence/display/CAMEL/AWS-S3 SJMS created by sully6768 (12:19 PM) https://cwiki.apache.org/confluence/display/CAMEL/SJMS Component List edited by sully6768 (01:55 PM) https://cwiki.apache.org/confluence/display/CAMEL/Component+List Apache Crunch (https://cwiki.apache.org/confluence/display/CRUNCH) Pages - How To Contribute edited by rsharma (11:55 PM) https://cwiki.apache.org/confluence/display/CRUNCH/How+To+Contribute Apache CXF (https://cwiki.apache.org/confluence/display/CXF) Pages - Fediz Tomcat edited by mazzag (02:14 PM) https://cwiki.apache.org/confluence/display/CXF/Fediz+Tomcat Fediz IDP edited by mazzag (02:06 PM) https://cwiki.apache.org/confluence/display/CXF/Fediz+IDP Apache CXF Documentation (https://cwiki.apache.org/confluence/display/CXF20DOC) Pages - Maven cxf-codegen-plugin (WSDL to Java) edited by dkulp (03:38 PM) https://cwiki.apache.org/confluence/display/CXF20DOC/Maven+cxf-codegen-plugin+%28WSDL+to+Java%29 JAX-RS Redirection edited by sergey_beryozkin (06:36 AM) https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Redirection Apache Flex (https://cwiki.apache.org/confluence/display/FLEX) Pages - Release Guide edited by cframpton (02:57 PM) https://cwiki.apache.org/confluence/display/FLEX/Release+Guide Apache Flume (https://cwiki.apache.org/confluence/display/FLUME) Comments https://cwiki.apache.org/confluence/display/FLUME/Flume+Config+Language (1) https://cwiki.apache.org/confluence/display/FLUME/FEP-1+-+Flume+NG+compatibility+with+OG (1) https://cwiki.apache.org/confluence/display/FLUME/Development+Environment (1) https://cwiki.apache.org/confluence/display/FLUME/User+FAQ (1) Apache Karaf (https://cwiki.apache.org/confluence/display/KARAF) Pages - Apache Karaf Second Birthday Meeting (2012-07-31) edited by nanthrax (03:02 AM) https://cwiki.apache.org/confluence/display/KARAF/Apache+Karaf+Second+Birthday+Meeting+%282012-07-31%29 Apache OpenOffice Community (https://cwiki.apache.org/confluence/display/OOOUSERS) Pages - Download sites edited by robweir (03:25 PM) https://cwiki.apache.org/confluence/display/OOOUSERS/Download+sites Apache Pig (https://cwiki.apache.org/confluence/display/PIG) Pages - HowToRelease edited by alangates (02:12 PM) https://cwiki.apache.org/confluence/display/PIG/HowToRelease Apache S4 (https://cwiki.apache.org/confluence/display/S4) Pages - S4 piper walkthrough edited by mmorel (05:54 PM) https://cwiki.apache.org/confluence/display/S4/S4+piper+walkthrough Apache Shiro (https://cwiki.apache.org/confluence/display/SHIRO) Pages - Commercial Support edited by skipshot4 (02:45 PM) https://cwiki.apache.org/confluence/display/SHIRO/Commercial+Support Index edited by skipshot4 (02:44 PM) https://cwiki.apache.org/confluence/display/SHIRO/Index Apache Struts 2 Documentation (https://cwiki.apache.org/confluence/display/WW) Pages - Create Struts 2 Web Application With Artifacts In WEB-INF lib and Use Ant To Build The Application edited by lukaszlenart (09:23 AM) https://cwiki.apache.org/confluence/display/WW/Create+Struts+2+Web+Application+With+Artifacts+In+WEB-INF+lib+and+Use+Ant+To+Build+The+Application
svn commit: r1364910 - in /struts/struts2/trunk/xwork-core/src: main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java main/java/com/opensymphony/xwork2/util/XWorkList.java test/ja
Author: lukaszlenart Date: Tue Jul 24 06:23:33 2012 New Revision: 1364910 URL: http://svn.apache.org/viewvc?rev=1364910&view=rev Log: WW-3414 removes ObjectFactory as a field and uses ActionContext to retrieve instance of ObjectFactory to allow serialize instances of XWorkList Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java?rev=1364910&r1=1364909&r2=1364910&view=diff == --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java Tue Jul 24 06:23:33 2012 @@ -89,9 +89,9 @@ public class CollectionConverter extends result = new TreeSet(); } else { if (size > 0) { -result = new XWorkList(objectFactory, memberType, size); +result = new XWorkList(memberType, size); } else { -result = new XWorkList(objectFactory, memberType); +result = new XWorkList(memberType); } } Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java?rev=1364910&r1=1364909&r2=1364910&view=diff == --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java Tue Jul 24 06:23:33 2012 @@ -42,17 +42,13 @@ public class XWorkList extends ArrayList private Class clazz; -private ObjectFactory objectFactory; - -public XWorkList(ObjectFactory fac, Class clazz) { +public XWorkList(Class clazz) { this.clazz = clazz; -this.objectFactory = fac; } -public XWorkList(ObjectFactory fac, Class clazz, int initialCapacity) { +public XWorkList(Class clazz, int initialCapacity) { super(initialCapacity); this.clazz = clazz; -this.objectFactory = fac; } /** @@ -169,8 +165,7 @@ public class XWorkList extends ArrayList public synchronized Object get(int index) { while (index >= this.size()) { try { -//todo -this.add(objectFactory.buildBean(clazz, null)); //ActionContext.getContext().getContextMap())); +this.add(getObjectFactory().buildBean(clazz, ActionContext.getContext().getContextMap())); } catch (Exception e) { throw new XWorkException(e); } @@ -179,6 +174,10 @@ public class XWorkList extends ArrayList return super.get(index); } +private ObjectFactory getObjectFactory() { +return ActionContext.getContext().getInstance(ObjectFactory.class); +} + /** * Replaces the element at the specified position in this list with the specified element. * @@ -207,7 +206,7 @@ public class XWorkList extends ArrayList if (LOG.isDebugEnabled()) { LOG.debug("Converting from " + element.getClass().getName() + " to " + clazz.getName()); } -TypeConverter conv = objectFactory.buildConverter(XWorkConverter.class); +TypeConverter conv = getObjectFactory().buildConverter(XWorkConverter.class); Map context = ActionContext.getContext().getContextMap(); element = conv.convertValue(context, null, null, null, element, clazz); } Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java?rev=1364910&r1=1364909&r2=1364910&view=diff == --- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java (original) +++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java Tue Jul 24 06:23:33 2012 @@ -15,7 +15,6 @@ */ package com.opensymphony.xwork2.util; -import com.opensymphony.xwork2.ObjectFactory; import com.ope