--- /dev/null
+package fi.vtt.simantics.procore.internal;\r
+\r
+import org.simantics.db.service.TransactionSupport;\r
+\r
+public class TransactionSupportImpl implements TransactionSupport {\r
+ \r
+ final private SessionImplSocket session;\r
+ \r
+ TransactionSupportImpl(SessionImplSocket session) {\r
+ this.session = session;\r
+ }\r
+ \r
+ private int getAsyncCount() {\r
+ return session.state.getAsyncCount();\r
+ }\r
+ \r
+ @Override\r
+ public int getReadCount() {\r
+ return session.state.getReadCount();\r
+ }\r
+ \r
+ @Override\r
+ public int getWriteCount() {\r
+ return session.state.getWriteCount();\r
+ }\r
+\r
+ @Override\r
+ public void waitCompletion() {\r
+ while(getReadCount() > 0 || getWriteCount() > 0 || getAsyncCount() > 0) {\r
+ try {\r
+ Thread.sleep(10);\r
+ } catch (InterruptedException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+ \r
+}\r