diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStack.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStack.java index 40f88113b798a8b9a3b3ddc199d4d0971973c1e7..180c98988619cc40ac7ad12abe47f602f527f446 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStack.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStack.java @@ -20,6 +20,8 @@ import java.io.File; import java.io.Serializable; import java.util.Queue; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; import org.apache.log4j.Logger; import ch.systemsx.cisd.common.collections.ExtendedBlockingQueueFactory; @@ -241,6 +243,13 @@ class RollbackStack return 0; } } + + @Override + public String toString() + { + return "StackElement [command=" + command + ", order=" + order + "]"; + } + } /** @@ -266,7 +275,9 @@ class RollbackStack @Override public String toString() { - return "RollbackStack [liveLifo=" + liveLifo.toArray() + "]"; + ToStringBuilder sb = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE); + sb.append(liveLifo.toArray()); + return sb.toString(); } /** diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/FileCommandsTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/FileCommandsTest.java index 5823492e14ac280ef9033058f07da67d6f62266f..7636ae94f2b0366d51a4bbe2a2586fe7828b3208 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/FileCommandsTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/FileCommandsTest.java @@ -23,6 +23,7 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import ch.systemsx.cisd.common.filesystem.FileUtilities; +import ch.systemsx.cisd.common.logging.BufferedAppender; /** * @author Chandrasekhar Ramakrishnan @@ -47,6 +48,8 @@ public class FileCommandsTest extends AbstractTestWithRollbackStack private MoveFileCommand mvNewFile; + private BufferedAppender logAppender; + @BeforeMethod @Override public void setUp() throws IOException @@ -71,6 +74,8 @@ public class FileCommandsTest extends AbstractTestWithRollbackStack mvNewFile = new MoveFileCommand(dstDir.getAbsolutePath(), newFile.getName(), dstDir.getAbsolutePath(), newNewFile.getName()); + + logAppender = new BufferedAppender(); } @Test @@ -108,6 +113,8 @@ public class FileCommandsTest extends AbstractTestWithRollbackStack assertTrue("The file should have been deleted", false == dstFile.exists()); assertTrue("The directory should have been deleted", false == dstDir.exists()); checkContentsOfFile(srcFile); + + assertTrue(logAppender.getLogContent().length() > 0); } @Test diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStackTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStackTest.java index d23be21217811126816a29769d7421ad7765c9c8..1e30e837830e7a72246300a48f1539eaeb9ce321 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStackTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStackTest.java @@ -37,6 +37,10 @@ public class RollbackStackTest extends AbstractTestWithRollbackStack assertEquals(TrackingCommandStatus.EXECUTED, cmd1.status); assertEquals(TrackingCommandStatus.EXECUTED, cmd2.status); + assertEquals( + "RollbackStack[{StackElement [command=TrackingCommand [status=EXECUTED], order=0],StackElement [command=TrackingCommand [status=EXECUTED], order=1]}]", + rollbackStack.toString()); + // Rollback and check that the rollback occurred correctly rollbackStack.rollbackAll(); assertEquals(TrackingCommandStatus.ROLLEDBACK, cmd1.status); @@ -236,6 +240,13 @@ public class RollbackStackTest extends AbstractTestWithRollbackStack : true; ++rollbackCount; } + + @Override + public String toString() + { + return "TrackingCommand [status=" + status + "]"; + } + } private static class EqualityTrackingCommand extends TrackingCommand