package org.simantics.db.tests.api.story.sessionGarbageCollection; import java.util.Collection; import java.util.List; import org.junit.Assert; import org.simantics.databoard.Bindings; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.common.utils.ListUtils; import org.simantics.db.exception.DatabaseException; import org.simantics.db.testing.common.ReadCommand; import org.simantics.layer0.Layer0; import org.simantics.utils.datastructures.collections.CollectionUtils; public class Read extends ReadCommand { @Override protected void run(ReadGraph graph, CollectDuringWriteAndRead environment) throws DatabaseException { Layer0 L0 = Layer0.getInstance(graph); Resource root = environment.getRoot(); int size = environment.getListSize(); Collection lists = graph.getObjects(root, L0.ConsistsOf); if(lists.size() == 0) return; int position = environment.randomNatural() % lists.size(); Resource list = CollectionUtils.element(lists, position); List rs = ListUtils.toList(graph, list); String n = graph.getRelatedValue(list, L0.HasName, Bindings.STRING); for(int i=0;i