X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.common%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fcommon%2Fservice%2FServiceActivityUpdaterForWriteTransactions.java;fp=bundles%2Forg.simantics.db.common%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fcommon%2Fservice%2FServiceActivityUpdaterForWriteTransactions.java;h=d5802eeda1b7ce0b788a7a3cf356074e76eaa999;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.common/src/org/simantics/db/common/service/ServiceActivityUpdaterForWriteTransactions.java b/bundles/org.simantics.db.common/src/org/simantics/db/common/service/ServiceActivityUpdaterForWriteTransactions.java new file mode 100644 index 000000000..d5802eeda --- /dev/null +++ b/bundles/org.simantics.db.common/src/org/simantics/db/common/service/ServiceActivityUpdaterForWriteTransactions.java @@ -0,0 +1,35 @@ +package org.simantics.db.common.service; + +import org.simantics.db.Session; +import org.simantics.db.common.session.SessionEventListenerAdapter; +import org.simantics.db.service.ServiceActivityMonitor; +import org.simantics.db.service.SessionEventSupport; + +public class ServiceActivityUpdaterForWriteTransactions + extends SessionEventListenerAdapter { + + private final ServiceActivityMonitor serviceActivityMonitor; + + public ServiceActivityUpdaterForWriteTransactions( + ServiceActivityMonitor serviceActivityMonitor) { + this.serviceActivityMonitor = serviceActivityMonitor; + } + + @Override + public void writeTransactionStarted() { + serviceActivityMonitor.registerActivity(this); + } + + @Override + public void writeTransactionFinished() { + serviceActivityMonitor.unregisterActivity(this); + } + + public static void register(Session session) { + ServiceActivityUpdaterForWriteTransactions updater = + new ServiceActivityUpdaterForWriteTransactions( + session.getService(ServiceActivityMonitor.class)); + session.getService(SessionEventSupport.class).addListener(updater); + } + +}