diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/io/support/HibernateAwareItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/io/support/HibernateAwareItemWriter.java
index 5f564e8c1..d593b0b6f 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/io/support/HibernateAwareItemWriter.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/io/support/HibernateAwareItemWriter.java
@@ -31,35 +31,29 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
import org.springframework.util.Assert;
/**
- * {@link ItemWriter} that is aware of the Hibernate session and can take some
- * responsibilities to do with chunk boundaries away from a less smart
- * {@link ItemWriter} (the delegate). A delegate is required, and will be used
- * to do the actual writing of the item.
+ * {@link ItemWriter} that is aware of the Hibernate session and can take some responsibilities to do with chunk
+ * boundaries away from a less smart {@link ItemWriter} (the delegate). A delegate is required, and will be used to do
+ * the actual writing of the item.
*
- * This class implements {@link RepeatInterceptor} and it will only work if
- * properly registered. If the delegate is also a {@link RepeatInterceptor} then
- * it does not need to be separately registered as we make the callbacks here in
- * the right places.
+ * This class implements {@link RepeatInterceptor} and it will only work if properly registered. If the delegate is also
+ * a {@link RepeatInterceptor} then it does not need to be separately registered as we make the callbacks here in the
+ * right places.
*
* @author Dave Syer
*
*/
-public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
- InitializingBean {
+public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor, InitializingBean {
/**
* Key for items processed in the current transaction {@link RepeatContext}.
*/
- private static final String ITEMS_PROCESSED = HibernateAwareItemWriter.class
- .getName()
- + ".ITEMS_PROCESSED";
+ private static final String ITEMS_PROCESSED = HibernateAwareItemWriter.class.getName() + ".ITEMS_PROCESSED";
/**
* Key for {@link RepeatContext} in transaction resource context.
*/
- private static final String WRITER_REPEAT_CONTEXT = HibernateAwareItemWriter.class
- .getName()
- + ".WRITER_REPEAT_CONTEXT";
+ private static final String WRITER_REPEAT_CONTEXT = HibernateAwareItemWriter.class.getName()
+ + ".WRITER_REPEAT_CONTEXT";
private Set failed = new HashSet();
@@ -70,8 +64,7 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
/**
* Public setter for the {@link ItemWriter} property.
*
- * @param delegate
- * the delegate to set
+ * @param delegate the delegate to set
*/
public void setDelegate(ItemWriter delegate) {
this.delegate = delegate;
@@ -80,22 +73,20 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
/**
* Public setter for the {@link HibernateOperations} property.
*
- * @param hibernateTemplate
- * the hibernateTemplate to set
+ * @param hibernateTemplate the hibernateTemplate to set
*/
public void setHibernateTemplate(HibernateOperations hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
/**
- * Set the Hibernate SessionFactory to be used internally. Will
- * automatically create a HibernateTemplate for the given SessionFactory.
+ * Set the Hibernate SessionFactory to be used internally. Will automatically create a HibernateTemplate for the
+ * given SessionFactory.
*
* @see #setHibernateTemplate
*/
public final void setSessionFactory(SessionFactory sessionFactory) {
this.hibernateTemplate = new HibernateTemplate(sessionFactory);
- ;
}
/**
@@ -104,17 +95,15 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
* @see org.springframework.dao.support.DaoSupport#initDao()
*/
public void afterPropertiesSet() throws Exception {
- Assert
- .notNull(delegate,
- "HibernateAwareItemWriter requires an ItemWriter as a delegate.");
- Assert.notNull(hibernateTemplate,
- "HibernateAwareItemWriter requires a HibernateOperations");
+ Assert.notNull(delegate, "HibernateAwareItemWriter requires an ItemWriter as a delegate.");
+ Assert.notNull(hibernateTemplate, "HibernateAwareItemWriter requires a HibernateOperations");
}
/**
- * Use the delegate to actually do the writing, but flush aggressively if
- * the item was previously part of a failed chunk.
- * @throws Exception
+ * Use the delegate to actually do the writing, but flush aggressively if the item was previously part of a failed
+ * chunk.
+ *
+ * @throws Exception
*
* @see org.springframework.batch.io.OutputSource#write(java.lang.Object)
*/
@@ -125,8 +114,7 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
}
/**
- * Does nothing unless the delegate is also a {@link RepeatInterceptor} in
- * which case pass on the call to him.
+ * Does nothing unless the delegate is also a {@link RepeatInterceptor} in which case pass on the call to him.
*
* @see org.springframework.batch.repeat.RepeatInterceptor#before(org.springframework.batch.repeat.RepeatContext)
*/
@@ -138,8 +126,7 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
}
/**
- * Does nothing unless the delegate is also a {@link RepeatInterceptor} in
- * which case pass on the call to him.
+ * Does nothing unless the delegate is also a {@link RepeatInterceptor} in which case pass on the call to him.
*
* @see org.springframework.batch.repeat.RepeatInterceptor#after(org.springframework.batch.repeat.RepeatContext,
* org.springframework.batch.repeat.ExitStatus)
@@ -152,9 +139,8 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
}
/**
- * Flush the Hibernate session so that any batch exceptions are within the
- * RepeatContext. If the delegate is also a {@link RepeatInterceptor} then
- * it will be given the call before flushing.
+ * Flush the Hibernate session so that any batch exceptions are within the RepeatContext. If the delegate is also a
+ * {@link RepeatInterceptor} then it will be given the call before flushing.
*
*
* @see org.springframework.batch.repeat.RepeatInterceptor#close(org.springframework.batch.repeat.RepeatContext)
@@ -189,8 +175,7 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
}
/**
- * Does nothing unless the delegate is also a {@link RepeatInterceptor} in
- * which case pass on the call to him.
+ * Does nothing unless the delegate is also a {@link RepeatInterceptor} in which case pass on the call to him.
*
* @see org.springframework.batch.repeat.RepeatInterceptor#onError(org.springframework.batch.repeat.RepeatContext,
* java.lang.Throwable)
@@ -203,10 +188,9 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
}
/**
- * Sets up the context as a transaction resource so that we can store state
- * and refer back to it in the {@link #write(Object)} method. If the
- * delegate is also a {@link RepeatInterceptor} then it will be given the
- * call afterwards.
+ * Sets up the context as a transaction resource so that we can store state and refer back to it in the
+ * {@link #write(Object)} method. If the delegate is also a {@link RepeatInterceptor} then it will be given the call
+ * afterwards.
*
* @see org.springframework.batch.repeat.RepeatInterceptor#open(org.springframework.batch.repeat.RepeatContext)
*/
@@ -225,28 +209,23 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
* @return the processed
*/
private Set getProcessed() {
- Assert.state(TransactionSynchronizationManager
- .hasResource(WRITER_REPEAT_CONTEXT),
- "RepeatContext not bound to transaction.");
- Set processed = (Set) ((AttributeAccessor) TransactionSynchronizationManager
- .getResource(WRITER_REPEAT_CONTEXT))
- .getAttribute(ITEMS_PROCESSED);
+ Assert.state(TransactionSynchronizationManager.hasResource(WRITER_REPEAT_CONTEXT),
+ "RepeatContext not bound to transaction.");
+ Set processed = (Set) ((AttributeAccessor) TransactionSynchronizationManager.getResource(WRITER_REPEAT_CONTEXT))
+ .getAttribute(ITEMS_PROCESSED);
return processed;
}
/**
* Set up the {@link RepeatContext} as a transaction resource.
*
- * @param context
- * the context to set
+ * @param context the context to set
*/
private void setContext(RepeatContext context) {
- if (TransactionSynchronizationManager
- .hasResource(WRITER_REPEAT_CONTEXT)) {
+ if (TransactionSynchronizationManager.hasResource(WRITER_REPEAT_CONTEXT)) {
return;
}
- TransactionSynchronizationManager.bindResource(WRITER_REPEAT_CONTEXT,
- context);
+ TransactionSynchronizationManager.bindResource(WRITER_REPEAT_CONTEXT, context);
context.setAttribute(ITEMS_PROCESSED, new HashSet());
}
@@ -254,8 +233,7 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
* Remove the transaction resource associated with this context.
*/
private void unsetContext() {
- if (!TransactionSynchronizationManager
- .hasResource(WRITER_REPEAT_CONTEXT)) {
+ if (!TransactionSynchronizationManager.hasResource(WRITER_REPEAT_CONTEXT)) {
return;
}
TransactionSynchronizationManager.unbindResource(WRITER_REPEAT_CONTEXT);
@@ -269,8 +247,7 @@ public class HibernateAwareItemWriter implements ItemWriter, RepeatInterceptor,
* @return the context
*/
private void flushIfNecessary(Object output) {
- RepeatContext context = (RepeatContext) TransactionSynchronizationManager
- .getResource(WRITER_REPEAT_CONTEXT);
+ RepeatContext context = (RepeatContext) TransactionSynchronizationManager.getResource(WRITER_REPEAT_CONTEXT);
boolean flush;
synchronized (failed) {
flush = failed.contains(output);