BATCH-794: Move to BRITS style dependencies so we can build against Spring 3.0 snapshots

This commit is contained in:
dsyer
2008-11-04 08:20:09 +00:00
parent 277c7f40ae
commit 883ce9d356
11 changed files with 727 additions and 903 deletions

View File

@@ -1,18 +1,16 @@
package org.springframework.batch.item.database;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
import javax.sql.DataSource;
import org.hibernate.SessionFactory;
import org.hibernate.StatelessSession;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.batch.item.ExecutionContext;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.ItemStream;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
@@ -29,42 +27,56 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@ContextConfiguration(locations = "data-source-context.xml")
public class HibernateCursorProjectionItemReaderIntegrationTests {
protected ItemReader<?> reader;
@Autowired
protected DataSource dataSource;
private DataSource dataSource;
@Before
public void onSetUp() throws Exception {
reader = createItemReader();
}
private void initializeItemReader(HibernateCursorItemReader<?> reader,
String hsqlQuery) throws Exception {
protected ItemReader<?> createItemReader() throws Exception {
LocalSessionFactoryBean factoryBean = new LocalSessionFactoryBean();
factoryBean.setDataSource(dataSource);
factoryBean.setMappingLocations(new Resource[] { new ClassPathResource("Foo.hbm.xml", getClass()) });
factoryBean.setMappingLocations(new Resource[] { new ClassPathResource(
"Foo.hbm.xml", getClass()) });
factoryBean.afterPropertiesSet();
SessionFactory sessionFactory = (SessionFactory) factoryBean.getObject();
SessionFactory sessionFactory = (SessionFactory) factoryBean
.getObject();
String hsqlQuery = "select f.value, f.name from Foo f";
reader.setQueryString(hsqlQuery);
reader.setSessionFactory(sessionFactory);
reader.afterPropertiesSet();
reader.setSaveState(true);
reader.open(new ExecutionContext());
HibernateCursorItemReader<Object> inputSource = new HibernateCursorItemReader<Object>();
inputSource.setQueryString(hsqlQuery);
inputSource.setSessionFactory(sessionFactory);
inputSource.afterPropertiesSet();
inputSource.setSaveState(true);
return inputSource;
}
@Test
public void testNormalProcessing() throws Exception {
((InitializingBean) reader).afterPropertiesSet();
((ItemStream) reader).open(new ExecutionContext());
Object[] foo1 = (Object[]) reader.read();
public void testMultipleItemsInProjection() throws Exception {
HibernateCursorItemReader<Object[]> reader = new HibernateCursorItemReader<Object[]>();
initializeItemReader(reader, "select f.value, f.name from Foo f");
Object[] foo1 = reader.read();
assertEquals(1, foo1[0]);
}
@Test
public void testSingleItemInProjection() throws Exception {
HibernateCursorItemReader<Object> reader = new HibernateCursorItemReader<Object>();
initializeItemReader(reader, "select f.value from Foo f");
Object foo1 = reader.read();
assertEquals(1, foo1);
}
@Test
public void testSingleItemInProjectionWithArrayType() throws Exception {
HibernateCursorItemReader<Object[]> reader = new HibernateCursorItemReader<Object[]>();
initializeItemReader(reader, "select f.value from Foo f");
try {
Object[] foo1 = reader.read();
assertNotNull(foo1);
fail("Expected ClassCastException");
} catch(ClassCastException e) {
// expected
}
}
}

View File

@@ -15,15 +15,19 @@
*/
package org.springframework.batch.item.xml.stax;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.XMLEvent;
import junit.framework.TestCase;
import static org.easymock.EasyMock.*;
import com.bea.xml.stream.events.StartDocumentEvent;
import com.sun.xml.internal.stream.events.StartDocumentEvent;
/**
* @author Lucas Ward

View File

@@ -15,6 +15,12 @@
*/
package org.springframework.batch.item.xml.stax;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLEventWriter;
@@ -23,10 +29,8 @@ import javax.xml.stream.events.XMLEvent;
import junit.framework.TestCase;
import static org.easymock.EasyMock.*;
import org.easymock.EasyMock;
import com.bea.xml.stream.events.StartDocumentEvent;
import com.bea.xml.stream.util.NamespaceContextImpl;
/**
* @author Lucas Ward
@@ -47,7 +51,7 @@ public class AbstractEventWriterWrapperTests extends TestCase {
public void testAdd() throws XMLStreamException {
XMLEvent event = new StartDocumentEvent();
XMLEvent event = EasyMock.createMock(XMLEvent.class);
xmlEventWriter.add(event);
expectLastCall();
replay(xmlEventWriter);
@@ -83,7 +87,7 @@ public class AbstractEventWriterWrapperTests extends TestCase {
}
public void testGetNamespaceContext() {
NamespaceContext context = new NamespaceContextImpl();
NamespaceContext context = EasyMock.createMock(NamespaceContext.class);
expect(xmlEventWriter.getNamespaceContext()).andReturn(context);
replay(xmlEventWriter);
assertEquals(eventWriterWrapper.getNamespaceContext(), context);
@@ -109,7 +113,7 @@ public class AbstractEventWriterWrapperTests extends TestCase {
public void testSetNamespaceContext() throws XMLStreamException {
NamespaceContext context = new NamespaceContextImpl();
NamespaceContext context = EasyMock.createMock(NamespaceContext.class);
xmlEventWriter.setNamespaceContext(context);
expectLastCall().once();
replay(xmlEventWriter);