Revision: 1568 http://svn.sourceforge.net/spring-rich-c/?rev=1568&view=rev Author: ge0ffrey Date: 2006-11-18 03:13:51 -0800 (Sat, 18 Nov 2006)
Log Message: ----------- RCP-436 upgrade to spring-binding 1.0, thanks to Aaron Digulla Modified Paths: -------------- trunk/spring-richclient/pom.xml trunk/spring-richclient/samples/simple/src/main/java/org/springframework/richclient/samples/simple/ui/convert/DateToText.java trunk/spring-richclient/samples/simple/src/main/java/org/springframework/richclient/samples/simple/ui/convert/TextToDate.java trunk/spring-richclient/support/src/main/java/org/springframework/richclient/application/DefaultConversionService.java trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/CollectionConverter.java trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/GlazedListModelConverter.java trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/ListModelConverter.java trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/AbstractFormModelTests.java trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/DefaultFormModelTests.java Added Paths: ----------- trunk/spring-richclient/support/src/main/java/org/springframework/binding/convert/ trunk/spring-richclient/support/src/main/java/org/springframework/binding/convert/support/ trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/CopiedPublicNoOpConverter.java Modified: trunk/spring-richclient/pom.xml =================================================================== --- trunk/spring-richclient/pom.xml 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/pom.xml 2006-11-18 11:13:51 UTC (rev 1568) @@ -614,33 +614,7 @@ <dependency> <groupId>org.springframework</groupId> <artifactId>spring-binding</artifactId> - <version>1.0-rc3</version> - <exclusions> - <!-- bug: http://jira.codehaus.org/browse/MNG-1797 - when dependency is listed elsewhere with a version, - that one will override a transitive one, so no exclusions of listed dependencies. - --> - <!--exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-beans</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-context</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - </exclusion--> - <exclusion> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - </exclusion> - <exclusion> - <groupId>ognl</groupId> - <artifactId>ognl</artifactId> - </exclusion> - </exclusions> + <version>1.0</version> </dependency> <dependency> <groupId>org.springmodules</groupId> Modified: trunk/spring-richclient/samples/simple/src/main/java/org/springframework/richclient/samples/simple/ui/convert/DateToText.java =================================================================== --- trunk/spring-richclient/samples/simple/src/main/java/org/springframework/richclient/samples/simple/ui/convert/DateToText.java 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/samples/simple/src/main/java/org/springframework/richclient/samples/simple/ui/convert/DateToText.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -15,13 +15,13 @@ */ package org.springframework.richclient.samples.simple.ui.convert; +import org.springframework.binding.convert.ConversionContext; +import org.springframework.binding.convert.support.AbstractFormattingConverter; +import org.springframework.binding.format.support.DateFormatter; + import java.text.SimpleDateFormat; import java.util.Date; -import org.springframework.binding.convert.support.AbstractFormattingConverter; -import org.springframework.binding.format.support.DateFormatter; -import org.springframework.binding.util.MapAccessor; - /** * Convert a Date value to a String. This will determine how all Date fields are rendered * as Strings in the UI. @@ -63,7 +63,7 @@ /** * Convert the Date to a String using the configured format. */ - protected Object doConvert( Object source, Class targetClass, MapAccessor context ) throws Exception { + protected Object doConvert( Object source, Class targetClass, ConversionContext context ) throws Exception { return (source == null) ? "" : format.formatValue(source); } Modified: trunk/spring-richclient/samples/simple/src/main/java/org/springframework/richclient/samples/simple/ui/convert/TextToDate.java =================================================================== --- trunk/spring-richclient/samples/simple/src/main/java/org/springframework/richclient/samples/simple/ui/convert/TextToDate.java 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/samples/simple/src/main/java/org/springframework/richclient/samples/simple/ui/convert/TextToDate.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -15,17 +15,17 @@ */ package org.springframework.richclient.samples.simple.ui.convert; +import org.springframework.binding.convert.ConversionContext; +import org.springframework.binding.convert.support.AbstractConverter; +import org.springframework.binding.format.support.DateFormatter; +import org.springframework.util.StringUtils; + import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.springframework.binding.convert.support.AbstractConverter; -import org.springframework.binding.format.support.DateFormatter; -import org.springframework.binding.util.MapAccessor; -import org.springframework.util.StringUtils; - /** * Value converter to handle text to date. Both MM-dd-yyyy and MM/dd/YYYY are supported. * The year is required to be 4 digits to avoid dates in the wrong century. If the text @@ -61,7 +61,7 @@ * @return converted Date * @throws Exception on parsing failure */ - protected Object doConvert( Object source, Class targetClass, MapAccessor context ) throws Exception { + protected Object doConvert( Object source, Class targetClass, ConversionContext context ) throws Exception { String src = (String) source; // If the user entered slashes, convert them to dashes Modified: trunk/spring-richclient/support/src/main/java/org/springframework/richclient/application/DefaultConversionService.java =================================================================== --- trunk/spring-richclient/support/src/main/java/org/springframework/richclient/application/DefaultConversionService.java 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/support/src/main/java/org/springframework/richclient/application/DefaultConversionService.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -15,19 +15,19 @@ */ package org.springframework.richclient.application; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.Date; - +import org.springframework.binding.convert.ConversionContext; import org.springframework.binding.convert.support.AbstractConverter; import org.springframework.binding.convert.support.AbstractFormattingConverter; import org.springframework.binding.format.FormatterFactory; import org.springframework.binding.format.support.SimpleFormatterFactory; -import org.springframework.binding.util.MapAccessor; import org.springframework.richclient.convert.support.CollectionConverter; import org.springframework.richclient.convert.support.ListModelConverter; import org.springframework.util.StringUtils; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Date; + public class DefaultConversionService extends org.springframework.binding.convert.support.DefaultConversionService { public DefaultConversionService() { @@ -67,7 +67,7 @@ return new Class[] { Date.class }; } - protected Object doConvert(Object source, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object source, Class targetClass, ConversionContext context) throws Exception { return (!allowEmpty || StringUtils.hasText((String)source)) ? getFormatterFactory().getDateTimeFormatter() .parseValue((String) source, Date.class) : null; } @@ -90,7 +90,7 @@ return new Class[] { String.class }; } - protected Object doConvert(Object source, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object source, Class targetClass, ConversionContext context) throws Exception { return (!allowEmpty || source != null) ? getFormatterFactory().getDateTimeFormatter().formatValue(source) : ""; } @@ -114,7 +114,7 @@ BigInteger.class, BigDecimal.class, }; } - protected Object doConvert(Object source, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object source, Class targetClass, ConversionContext context) throws Exception { return (!allowEmpty || StringUtils.hasText((String)source)) ? getFormatterFactory().getNumberFormatter( targetClass).parseValue((String) source, targetClass) : null; } @@ -138,7 +138,7 @@ return new Class[] { String.class }; } - protected Object doConvert(Object source, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object source, Class targetClass, ConversionContext context) throws Exception { return (!allowEmpty || source != null) ? getFormatterFactory().getNumberFormatter(source.getClass()) .formatValue(source) : ""; } @@ -182,7 +182,7 @@ return new Class[] { Boolean.class }; } - protected Object doConvert(Object source, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object source, Class targetClass, ConversionContext context) throws Exception { String text = (String) source; if (!StringUtils.hasText(text)) { return null; @@ -230,7 +230,7 @@ return new Class[] { String.class }; } - protected Object doConvert(Object source, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object source, Class targetClass, ConversionContext context) throws Exception { Boolean bool = (Boolean) source; if (this.trueString != null && bool.booleanValue()) { return trueString; @@ -244,4 +244,4 @@ } } -} \ No newline at end of file +} Modified: trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/CollectionConverter.java =================================================================== --- trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/CollectionConverter.java 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/CollectionConverter.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -15,17 +15,17 @@ */ package org.springframework.richclient.convert.support; +import org.springframework.binding.convert.ConversionContext; +import org.springframework.binding.convert.Converter; +import org.springframework.binding.convert.support.AbstractConverter; +import org.springframework.core.ReflectiveVisitorHelper; + import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; -import org.springframework.binding.convert.Converter; -import org.springframework.binding.convert.support.AbstractConverter; -import org.springframework.binding.util.MapAccessor; -import org.springframework.core.ReflectiveVisitorHelper; - /** * This converter converts collection values from Object, Object[], Collection, List to Collection.class, List.class, * Object[].class types @@ -44,7 +44,7 @@ private Object visitor = new ValuesVisitor(); - protected Object doConvert(Object sourceValue, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object sourceValue, Class targetClass, ConversionContext context) throws Exception { List values = (List) visitorHelper.invokeVisit(visitor, sourceValue); if (Object[].class == targetClass) { return values.toArray(); Modified: trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/GlazedListModelConverter.java =================================================================== --- trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/GlazedListModelConverter.java 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/GlazedListModelConverter.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -15,14 +15,13 @@ */ package org.springframework.richclient.convert.support; -import javax.swing.ListModel; - -import org.springframework.binding.convert.support.AbstractConverter; -import org.springframework.binding.util.MapAccessor; - import ca.odell.glazedlists.EventList; import ca.odell.glazedlists.swing.EventListModel; +import org.springframework.binding.convert.ConversionContext; +import org.springframework.binding.convert.support.AbstractConverter; +import javax.swing.*; + /** * supports converting [EMAIL PROTECTED] EventList}s to [EMAIL PROTECTED] ListModel} * @@ -34,7 +33,7 @@ private static final Class[] TARGET_CLASSES = new Class[] {ListModel.class}; private static final Class[] SOURCE_CLASSES = new Class[] {EventList.class}; - protected Object doConvert(Object source, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object source, Class targetClass, ConversionContext context) throws Exception { return new EventListModel((EventList) source); } Modified: trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/ListModelConverter.java =================================================================== --- trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/ListModelConverter.java 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/support/src/main/java/org/springframework/richclient/convert/support/ListModelConverter.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -15,18 +15,17 @@ */ package org.springframework.richclient.convert.support; +import org.springframework.binding.convert.ConversionContext; +import org.springframework.binding.convert.support.AbstractConverter; +import org.springframework.binding.value.support.ListListModel; +import org.springframework.core.ReflectiveVisitorHelper; + +import javax.swing.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; -import javax.swing.ListModel; - -import org.springframework.binding.convert.support.AbstractConverter; -import org.springframework.binding.util.MapAccessor; -import org.springframework.binding.value.support.ListListModel; -import org.springframework.core.ReflectiveVisitorHelper; - /** * @author Mathias Broekelmann * @@ -40,7 +39,7 @@ private final ReflectiveVisitorHelper visitorHelper = new ReflectiveVisitorHelper(); - protected Object doConvert(Object sourceValue, Class targetClass, MapAccessor context) throws Exception { + protected Object doConvert(Object sourceValue, Class targetClass, ConversionContext context) throws Exception { return visitorHelper.invokeVisit(this, sourceValue); } Modified: trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/AbstractFormModelTests.java =================================================================== --- trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/AbstractFormModelTests.java 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/AbstractFormModelTests.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -15,14 +15,10 @@ */ package org.springframework.binding.form.support; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; - import org.springframework.beans.NotReadablePropertyException; import org.springframework.binding.convert.ConversionException; import org.springframework.binding.convert.ConversionExecutor; import org.springframework.binding.convert.ConversionService; -import org.springframework.binding.convert.support.GenericConversionService.NoOpConverter; import org.springframework.binding.form.CommitListener; import org.springframework.binding.form.FormModel; import org.springframework.binding.support.BeanPropertyAccessStrategy; @@ -32,6 +28,9 @@ import org.springframework.binding.value.support.ValueHolder; import org.springframework.richclient.test.SpringRichTestCase; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + /** * Tests for @link AbstractFormModel * @@ -332,7 +331,7 @@ assertEquals(Integer.class, cs.lastTarget); cs.executer = new ConversionExecutor(String.class, Integer.class, - new NoOpConverter(String.class, Integer.class)); + new CopiedPublicNoOpConverter(String.class, Integer.class)); ValueModel cvm = fm.getValueModel("simpleProperty", Integer.class); assertEquals(3, cs.calls); assertEquals(Integer.class, cs.lastSource); @@ -469,7 +468,7 @@ return null; } - public ConversionExecutor[] getConversionExecutorsFrom(Class sourceClass) throws ConversionException { + public ConversionExecutor[] getConversionExecutorsForSource(Class sourceClass) throws ConversionException { fail("this method should never be called"); return null; } Added: trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/CopiedPublicNoOpConverter.java =================================================================== --- trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/CopiedPublicNoOpConverter.java (rev 0) +++ trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/CopiedPublicNoOpConverter.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -0,0 +1,52 @@ +/* + * Copyright 2002-2006 the original author or authors. + * + * Licensed 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.springframework.binding.form.support; + +import org.springframework.binding.convert.ConversionContext; +import org.springframework.binding.convert.support.AbstractConverter; + +/** + * HACK: Copy from the package private converter + * org.springframework.binding.convert.support.NoOpConverter + * of the spring-binding dependency. + * + * Converter that is a "no op". + * + * @author Keith Donald + */ +public class CopiedPublicNoOpConverter extends AbstractConverter { + + private Class sourceClass; + + private Class targetClass; + + public CopiedPublicNoOpConverter(Class sourceClass, Class targetClass) { + this.sourceClass = sourceClass; + this.targetClass = targetClass; + } + + protected Object doConvert(Object source, Class targetClass, ConversionContext context) throws Exception { + return source; + } + + public Class[] getSourceClasses() { + return new Class[] { sourceClass }; + } + + public Class[] getTargetClasses() { + return new Class[] { targetClass }; + } +} Modified: trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/DefaultFormModelTests.java =================================================================== --- trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/DefaultFormModelTests.java 2006-11-17 10:41:11 UTC (rev 1567) +++ trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/DefaultFormModelTests.java 2006-11-18 11:13:51 UTC (rev 1568) @@ -15,13 +15,10 @@ */ package org.springframework.binding.form.support; -import java.util.Map; -import java.util.Set; - +import org.springframework.binding.convert.ConversionContext; import org.springframework.binding.convert.ConversionException; import org.springframework.binding.convert.ConversionExecutor; import org.springframework.binding.convert.Converter; -import org.springframework.binding.convert.support.GenericConversionService.NoOpConverter; import org.springframework.binding.form.BindingErrorMessageProvider; import org.springframework.binding.form.FormModel; import org.springframework.binding.form.ValidatingFormModel; @@ -38,6 +35,8 @@ import org.springframework.binding.value.ValueModel; import org.springframework.binding.value.support.ValueHolder; +import java.util.Set; + /** * Tests for @link DefaultFormModel * @@ -58,7 +57,7 @@ TestValidator v = new TestValidator(); fm.setValidator(v); TestConversionService cs = new TestConversionService(); - cs.executer = new ConversionExecutor(String.class, String.class, new NoOpConverter(String.class, String.class)); + cs.executer = new ConversionExecutor(String.class, String.class, new CopiedPublicNoOpConverter(String.class, String.class)); fm.setConversionService(cs); ValueModel vm = fm.getValueModel("simpleProperty"); assertEquals(1, v.count); @@ -328,7 +327,7 @@ this.targetClass = targetClass; } - public Object convert(Object source, Class targetClass, Map context) throws ConversionException { + public Object convert(Object source, Class targetClass, ConversionContext context) throws ConversionException { throw new ConversionException("test", targetClass); } @@ -341,4 +340,4 @@ } } -} \ No newline at end of file +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ spring-rich-c-cvs mailing list spring-rich-c-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spring-rich-c-cvs