--- /dev/null
+package org.simantics.db.common.service;\r
+\r
+import org.simantics.db.Session;\r
+import org.simantics.db.common.session.SessionEventListenerAdapter;\r
+import org.simantics.db.service.ServiceActivityMonitor;\r
+import org.simantics.db.service.SessionEventSupport;\r
+\r
+public class ServiceActivityUpdaterForWriteTransactions\r
+ extends SessionEventListenerAdapter {\r
+\r
+ private final ServiceActivityMonitor serviceActivityMonitor;\r
+ \r
+ public ServiceActivityUpdaterForWriteTransactions(\r
+ ServiceActivityMonitor serviceActivityMonitor) {\r
+ this.serviceActivityMonitor = serviceActivityMonitor;\r
+ }\r
+\r
+ @Override\r
+ public void writeTransactionStarted() {\r
+ serviceActivityMonitor.registerActivity(this);\r
+ }\r
+\r
+ @Override\r
+ public void writeTransactionFinished() {\r
+ serviceActivityMonitor.unregisterActivity(this);\r
+ }\r
+ \r
+ public static void register(Session session) {\r
+ ServiceActivityUpdaterForWriteTransactions updater =\r
+ new ServiceActivityUpdaterForWriteTransactions(\r
+ session.getService(ServiceActivityMonitor.class));\r
+ session.getService(SessionEventSupport.class).addListener(updater);\r
+ }\r
+\r
+}\r