[Major] TXs are opened from ElementMap and all methods need a TX now

This commit is contained in:
Robert von Burg 2013-12-26 00:05:03 +01:00
parent 3cbac517f3
commit 3081e08828
4 changed files with 33 additions and 38 deletions

View File

@ -10,7 +10,7 @@ public abstract class AbstractModelTest {
@Test
public void shouldStartContainer() {
try (StrolchTransaction tx = getRuntimeMock().getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = getRuntimeMock().getOrderMap().openTx()) {
tx.getOrderDao().queryKeySet();
}
}

View File

@ -19,7 +19,6 @@ import java.util.Set;
import li.strolch.model.Order;
import li.strolch.model.parameter.Parameter;
import li.strolch.persistence.api.OrderDao;
import li.strolch.persistence.api.PersistenceHandler;
import li.strolch.persistence.api.StrolchTransaction;
@SuppressWarnings("nls")
@ -35,15 +34,11 @@ public class OrderModelTestRunner {
this.runtimeMock = runtimeMock;
}
protected PersistenceHandler getPersistenceHandler() {
return this.runtimeMock.getPersistenceHandler();
}
public void runCreateOrderTest() {
// create
Order newOrder = createOrder("MyTestOrder", "Test Name", "TestType"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx();) {
tx.getOrderDao().save(newOrder);
}
}
@ -52,13 +47,13 @@ public class OrderModelTestRunner {
// create
Order newOrder = createOrder(ID, NAME, TYPE);
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx();) {
tx.getOrderDao().save(newOrder);
}
// read
Order readOrder = null;
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx();) {
readOrder = tx.getOrderDao().queryBy(TYPE, ID);
}
assertNotNull("Should read Order with id " + ID, readOrder);
@ -67,13 +62,13 @@ public class OrderModelTestRunner {
Parameter<String> sParam = readOrder.getParameter(BAG_ID, PARAM_STRING_ID);
String newStringValue = "Giddiya!";
sParam.setValue(newStringValue);
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx();) {
tx.getOrderDao().update(readOrder);
}
// read updated
Order updatedOrder = null;
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx();) {
updatedOrder = tx.getOrderDao().queryBy(TYPE, ID);
}
assertNotNull("Should read Order with id " + ID, updatedOrder);
@ -82,12 +77,12 @@ public class OrderModelTestRunner {
assertEquals(newStringValue, updatedParam.getValue());
// delete
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx();) {
tx.getOrderDao().remove(readOrder);
}
// fail to re-read
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx();) {
Order order = tx.getOrderDao().queryBy(TYPE, ID);
assertNull("Should no read Order with id " + ID, order);
}
@ -108,11 +103,11 @@ public class OrderModelTestRunner {
};
Collections.sort(orders, comparator);
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx()) {
tx.getOrderDao().removeAll(tx.getOrderDao().queryAll());
}
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx()) {
tx.getOrderDao().saveAll(orders);
}
@ -121,13 +116,13 @@ public class OrderModelTestRunner {
expectedTypes.add("MyType2");
expectedTypes.add("MyType3");
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx()) {
List<Order> allOrders = tx.getOrderDao().queryAll();
Collections.sort(allOrders, comparator);
assertEquals(orders, allOrders);
}
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx()) {
OrderDao orderDao = tx.getOrderDao();
Set<String> types = orderDao.queryTypes();
@ -145,7 +140,7 @@ public class OrderModelTestRunner {
}
}
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getOrderMap().openTx()) {
Order order = tx.getOrderDao().queryBy("MyType1", "@_00000001");
assertNotNull(order);
order = tx.getOrderDao().queryBy("MyType2", "@_00000006");

View File

@ -18,7 +18,6 @@ import java.util.Set;
import li.strolch.model.Resource;
import li.strolch.model.parameter.Parameter;
import li.strolch.persistence.api.PersistenceHandler;
import li.strolch.persistence.api.ResourceDao;
import li.strolch.persistence.api.StrolchTransaction;
@ -35,15 +34,11 @@ public class ResourceModelTestRunner {
this.runtimeMock = runtimeMock;
}
protected PersistenceHandler getPersistenceHandler() {
return this.runtimeMock.getPersistenceHandler();
}
public void runCreateResourceTest() {
// create
Resource newResource = createResource("MyTestResource", "Test Name", "TestType"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx();) {
tx.getResourceDao().save(newResource);
}
}
@ -52,13 +47,13 @@ public class ResourceModelTestRunner {
// create
Resource newResource = createResource(ID, NAME, TYPE);
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx();) {
tx.getResourceDao().save(newResource);
}
// read
Resource readResource = null;
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx();) {
readResource = tx.getResourceDao().queryBy(TYPE, ID);
}
assertNotNull("Should read Resource with id " + ID, readResource); //$NON-NLS-1$
@ -67,13 +62,13 @@ public class ResourceModelTestRunner {
Parameter<String> sParam = readResource.getParameter(BAG_ID, PARAM_STRING_ID);
String newStringValue = "Giddiya!"; //$NON-NLS-1$
sParam.setValue(newStringValue);
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx();) {
tx.getResourceDao().update(readResource);
}
// read updated
Resource updatedResource = null;
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx();) {
updatedResource = tx.getResourceDao().queryBy(TYPE, ID);
}
assertNotNull("Should read Resource with id " + ID, updatedResource); //$NON-NLS-1$
@ -82,12 +77,12 @@ public class ResourceModelTestRunner {
assertEquals(newStringValue, updatedParam.getValue());
// delete
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx();) {
tx.getResourceDao().remove(readResource);
}
// fail to re-read
try (StrolchTransaction tx = getPersistenceHandler().openTx();) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx();) {
Resource resource = tx.getResourceDao().queryBy(TYPE, ID);
assertNull("Should no read Resource with id " + ID, resource); //$NON-NLS-1$
}
@ -108,11 +103,11 @@ public class ResourceModelTestRunner {
};
Collections.sort(resources, comparator);
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx()) {
tx.getResourceDao().removeAll(tx.getResourceDao().queryAll());
}
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx()) {
tx.getResourceDao().saveAll(resources);
}
@ -121,13 +116,13 @@ public class ResourceModelTestRunner {
expectedTypes.add("MyType2");
expectedTypes.add("MyType3");
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx()) {
List<Resource> allResources = tx.getResourceDao().queryAll();
Collections.sort(allResources, comparator);
assertEquals(resources, allResources);
}
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx()) {
ResourceDao resourceDao = tx.getResourceDao();
Set<String> types = resourceDao.queryTypes();
@ -145,7 +140,7 @@ public class ResourceModelTestRunner {
}
}
try (StrolchTransaction tx = getPersistenceHandler().openTx()) {
try (StrolchTransaction tx = this.runtimeMock.getResourceMap().openTx()) {
Resource resource = tx.getResourceDao().queryBy("MyType1", "@_00000001");
assertNotNull(resource);
resource = tx.getResourceDao().queryBy("MyType2", "@_00000006");

View File

@ -18,8 +18,9 @@ package li.strolch.testbase.runtime;
import java.io.File;
import java.text.MessageFormat;
import li.strolch.persistence.api.PersistenceHandler;
import li.strolch.runtime.agent.api.ComponentContainer;
import li.strolch.runtime.agent.api.OrderMap;
import li.strolch.runtime.agent.api.ResourceMap;
import li.strolch.runtime.agent.api.StrolchAgent;
import li.strolch.runtime.configuration.RuntimeConfiguration;
import li.strolch.runtime.privilege.StrolchPrivilegeHandler;
@ -49,8 +50,12 @@ public final class RuntimeMock {
return this.container.getComponent(StrolchPrivilegeHandler.class);
}
public PersistenceHandler getPersistenceHandler() {
return this.container.getComponent(PersistenceHandler.class);
public OrderMap getOrderMap() {
return this.container.getOrderMap();
}
public ResourceMap getResourceMap() {
return this.container.getResourceMap();
}
public void mockRuntime(File rootPathF, File rootSrc) {