runtime binding conversion executors

This commit is contained in:
Keith Donald
2008-03-04 22:55:04 +00:00
parent 8c7e6213c0
commit 88ef5327ad
13 changed files with 218 additions and 72 deletions

View File

@@ -70,10 +70,10 @@ public class CompositeConversionServiceTests extends TestCase {
service.getConversionExecutorsForSource(String.class).length);
assertEquals(0, service.getConversionExecutorsForSource(Date.class).length);
ConversionExecutor[] fromStringConversionExecutors = service.getConversionExecutorsForSource(String.class);
ConversionExecutor booleanConversionExecutor = null;
ConversionExecutorImpl booleanConversionExecutor = null;
for (int i = 0; i < fromStringConversionExecutors.length; i++) {
if (fromStringConversionExecutors[i].getConverter() instanceof TextToBoolean) {
booleanConversionExecutor = fromStringConversionExecutors[i];
if (((ConversionExecutorImpl) fromStringConversionExecutors[i]).getConverter() instanceof TextToBoolean) {
booleanConversionExecutor = (ConversionExecutorImpl) fromStringConversionExecutors[i];
}
}
assertEquals(Boolean.TRUE, booleanConversionExecutor.execute("ja"));

View File

@@ -13,23 +13,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.binding.convert;
package org.springframework.binding.convert.support;
import java.util.Date;
import junit.framework.TestCase;
import org.springframework.binding.convert.support.AbstractConverter;
import org.springframework.binding.convert.ConversionContext;
import org.springframework.binding.convert.ConversionException;
/**
* Test case for {@link ConversionExecutor}.
* Test case for {@link ConversionExecutorImpl}.
*/
public class ConversionExecutorTests extends TestCase {
public class ConversionExecutorImplTests extends TestCase {
private ConversionExecutor conversionExecutor;
private ConversionExecutorImpl conversionExecutor;
protected void setUp() throws Exception {
conversionExecutor = new ConversionExecutor(String.class, Date.class, new TestTextToDate());
conversionExecutor = new ConversionExecutorImpl(String.class, Date.class, new TestTextToDate());
}
public void testTypeConversion() {

View File

@@ -54,7 +54,8 @@ public class DefaultConversionServiceTests extends TestCase {
DefaultConversionService service = new DefaultConversionService();
ConversionExecutor executor = service.getConversionExecutor(String.class, Boolean.class);
ConversionExecutorImpl executor = (ConversionExecutorImpl) service.getConversionExecutor(String.class,
Boolean.class);
assertNotSame(customConverter, executor.getConverter());
try {
executor.execute("ja");
@@ -65,7 +66,7 @@ public class DefaultConversionServiceTests extends TestCase {
service.addConverter(customConverter);
executor = service.getConversionExecutor(String.class, Boolean.class);
executor = (ConversionExecutorImpl) service.getConversionExecutor(String.class, Boolean.class);
assertSame(customConverter, executor.getConverter());
assertTrue(((Boolean) executor.execute("ja")).booleanValue());
}