INT-1762: add DEFAULT NULL to UPDATED_DATE and lock hint voodoo for sybase
This commit is contained in:
@@ -110,9 +110,16 @@ public class BeanFactoryTypeConverter implements TypeConverter, BeanFactoryAware
|
||||
|
||||
if (!String.class.isAssignableFrom(sourceType.getType())) {
|
||||
PropertyEditor editor = delegate.findCustomEditor(sourceType.getType(), null);
|
||||
if (editor==null) {
|
||||
editor = delegate.getDefaultEditor(sourceType.getType());
|
||||
}
|
||||
if (editor != null){ // INT-1441
|
||||
editor.setValue(value);
|
||||
return editor.getAsText();
|
||||
String text = editor.getAsText();
|
||||
if (String.class.isAssignableFrom(targetType.getClass())) {
|
||||
return text;
|
||||
}
|
||||
return convertValue(text, TypeDescriptor.valueOf(String.class), targetType);
|
||||
}
|
||||
}
|
||||
return delegate.convertIfNecessary(value, targetType.getType());
|
||||
|
||||
@@ -6,9 +6,12 @@ package org.springframework.integration.util;
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||
import org.springframework.core.convert.TypeDescriptor;
|
||||
|
||||
/**
|
||||
@@ -27,4 +30,22 @@ public class BeanFactoryTypeConverterTests {
|
||||
(ArrayList<BeanFactoryTypeConverterTests>) typeConverter.convertValue(sourceObject, null, TypeDescriptor.forObject(new ArrayList<BeanFactoryTypeConverterTests>()));
|
||||
assertEquals(sourceObject, convertedCollection);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testToStringConversion(){
|
||||
BeanFactoryTypeConverter typeConverter = new BeanFactoryTypeConverter();
|
||||
typeConverter.setBeanFactory(new DefaultListableBeanFactory());
|
||||
String converted = (String) typeConverter.convertValue(new Integer(1234), TypeDescriptor.valueOf(Integer.class), TypeDescriptor.valueOf(String.class));
|
||||
assertEquals("1234", converted);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testToNonStringConversionNotSupportedByGenericConversionService(){
|
||||
BeanFactoryTypeConverter typeConverter = new BeanFactoryTypeConverter();
|
||||
typeConverter.setBeanFactory(new DefaultListableBeanFactory());
|
||||
@SuppressWarnings("unchecked")
|
||||
Collection<Integer> converted = (Collection<Integer>) typeConverter.convertValue(new Integer(1234), TypeDescriptor.valueOf(Integer.class), TypeDescriptor.forObject(new ArrayList<Integer>(Arrays.asList(1))));
|
||||
assertEquals(Arrays.asList(1234), converted);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR(100),
|
||||
MARKED BIGINT,
|
||||
CREATED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP,
|
||||
UPDATED_DATE TIMESTAMP DEFAULT NULL,
|
||||
MESSAGE_BYTES BLOB,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR(100),
|
||||
MARKED BIGINT,
|
||||
CREATED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP,
|
||||
UPDATED_DATE TIMESTAMP DEFAULT NULL,
|
||||
MESSAGE_BYTES BLOB,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR(100),
|
||||
MARKED BIGINT,
|
||||
CREATED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP,
|
||||
UPDATED_DATE TIMESTAMP DEFAULT NULL,
|
||||
MESSAGE_BYTES LONGVARBINARY,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR(100),
|
||||
MARKED BIGINT,
|
||||
CREATED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP,
|
||||
UPDATED_DATE TIMESTAMP DEFAULT NULL,
|
||||
MESSAGE_BYTES LONGVARBINARY,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
|
||||
@@ -5,7 +5,7 @@ CREATE TABLE INT_MESSAGE (
|
||||
REGION VARCHAR(100),
|
||||
CREATED_DATE DATETIME NOT NULL,
|
||||
MESSAGE_BYTES BLOB
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE INT_MESSAGE_GROUP (
|
||||
MESSAGE_ID CHAR(36) NOT NULL,
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR(100),
|
||||
MARKED BIGINT,
|
||||
CREATED_DATE DATETIME NOT NULL,
|
||||
UPDATED_DATE DATETIME,
|
||||
UPDATED_DATE DATETIME DEFAULT NULL,
|
||||
MESSAGE_BYTES BLOB,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR2(100),
|
||||
MARKED NUMBER(19,0),
|
||||
CREATED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP,
|
||||
UPDATED_DATE TIMESTAMP DEFAULT NULL,
|
||||
MESSAGE_BYTES BLOB,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR(100),
|
||||
MARKED BIGINT,
|
||||
CREATED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP,
|
||||
UPDATED_DATE TIMESTAMP DEFAULT NULL,
|
||||
MESSAGE_BYTES BYTEA,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR(100),
|
||||
MARKED BIGINT,
|
||||
CREATED_DATE DATETIME NOT NULL,
|
||||
UPDATED_DATE DATETIME,
|
||||
UPDATED_DATE DATETIME DEFAULT NULL,
|
||||
MESSAGE_BYTES IMAGE,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
|
||||
@@ -5,7 +5,7 @@ CREATE TABLE INT_MESSAGE (
|
||||
REGION VARCHAR(100),
|
||||
CREATED_DATE DATETIME NOT NULL,
|
||||
MESSAGE_BYTES IMAGE
|
||||
);
|
||||
) LOCK DATAROWS WITH EXP_ROW_SIZE=1;
|
||||
|
||||
CREATE TABLE INT_MESSAGE_GROUP (
|
||||
MESSAGE_ID CHAR(36) NOT NULL,
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION VARCHAR(100),
|
||||
MARKED BIGINT,
|
||||
CREATED_DATE DATETIME NOT NULL,
|
||||
UPDATED_DATE DATETIME,
|
||||
UPDATED_DATE DATETIME DEFAULT NULL,
|
||||
MESSAGE_BYTES IMAGE,
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
) LOCK DATAROWS WITH EXP_ROW_SIZE=1;
|
||||
|
||||
@@ -5,7 +5,7 @@ CREATE TABLE INT_MESSAGE (
|
||||
REGION ${VARCHAR}(100),
|
||||
CREATED_DATE ${TIMESTAMP} NOT NULL,
|
||||
MESSAGE_BYTES ${BLOB}
|
||||
);
|
||||
)#if(${VOODOO}) ${VOODOO}#end;
|
||||
|
||||
CREATE TABLE INT_MESSAGE_GROUP (
|
||||
MESSAGE_ID CHAR(36) NOT NULL,
|
||||
@@ -13,7 +13,7 @@ CREATE TABLE INT_MESSAGE_GROUP (
|
||||
REGION ${VARCHAR}(100),
|
||||
MARKED ${BIGINT},
|
||||
CREATED_DATE ${TIMESTAMP} NOT NULL,
|
||||
UPDATED_DATE ${TIMESTAMP},
|
||||
UPDATED_DATE ${TIMESTAMP} DEFAULT NULL,
|
||||
MESSAGE_BYTES ${BLOB},
|
||||
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, GROUP_KEY)
|
||||
);
|
||||
)#if(${VOODOO}) ${VOODOO}#end;
|
||||
|
||||
@@ -10,3 +10,4 @@ VARCHAR = VARCHAR
|
||||
NULL = NULL
|
||||
# for generating drop statements...
|
||||
SEQUENCE = TABLE
|
||||
VOODOO = LOCK DATAROWS
|
||||
|
||||
Reference in New Issue
Block a user