]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.common/src/org/simantics/db/common/service/ServiceActivityMonitorImpl.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.db.common / src / org / simantics / db / common / service / ServiceActivityMonitorImpl.java
index 1f6f69e12317ade1da034776f4f39fceb42d12b5..1858e87ddea8af1249af7343f95cb1a2037548ae 100644 (file)
@@ -1,64 +1,64 @@
-package org.simantics.db.common.service;\r
-\r
-import java.util.concurrent.Semaphore;\r
-import java.util.concurrent.TimeUnit;\r
-import java.util.concurrent.atomic.AtomicInteger;\r
-\r
-import org.simantics.db.service.ServiceActivityMonitor;\r
-\r
-import gnu.trove.map.TObjectIntMap;\r
-import gnu.trove.map.hash.TObjectIntHashMap;\r
-\r
-public class ServiceActivityMonitorImpl implements ServiceActivityMonitor {\r
-\r
-    public static final long REPORTING_PERIOD = 5L;\r
-    \r
-    Semaphore sem = new Semaphore(1);\r
-    AtomicInteger ref = new AtomicInteger();\r
-    TObjectIntMap<Object> ids = new TObjectIntHashMap<>();\r
-\r
-    @Override\r
-    public void registerActivity(Object id) {\r
-        if (ref.getAndIncrement() == 0)\r
-            sem.acquireUninterruptibly(1);\r
-        synchronized (ids) {\r
-            ids.adjustOrPutValue(id, 1, 1);\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public void unregisterActivity(Object id) {\r
-        synchronized (ids) {\r
-            int refs = ids.get(id);\r
-            if (refs == 1) {\r
-                ids.remove(id);\r
-            } else {\r
-                ids.put(id, refs-1);\r
-            }\r
-        }\r
-        if (ref.decrementAndGet() == 0)\r
-            sem.release();\r
-    }\r
-\r
-    @Override\r
-    public void waitForCompletion() throws InterruptedException {\r
-        while(true) {\r
-            if(waitForCompletion(REPORTING_PERIOD, TimeUnit.SECONDS))\r
-                return;\r
-            synchronized (ids) {\r
-                System.err.println("ServiceActivityMonitorImpl.waitForCompletion: " + ids);\r
-            }    \r
-        }\r
-    }\r
-\r
-    @Override\r
-    public boolean waitForCompletion(long timeout, TimeUnit unit) throws InterruptedException {\r
-        if(sem.tryAcquire(timeout, unit)) {\r
-            sem.release();\r
-            return true;\r
-        }\r
-        else\r
-            return false;\r
-    }\r
-\r
+package org.simantics.db.common.service;
+
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.simantics.db.service.ServiceActivityMonitor;
+
+import gnu.trove.map.TObjectIntMap;
+import gnu.trove.map.hash.TObjectIntHashMap;
+
+public class ServiceActivityMonitorImpl implements ServiceActivityMonitor {
+
+    public static final long REPORTING_PERIOD = 5L;
+    
+    Semaphore sem = new Semaphore(1);
+    AtomicInteger ref = new AtomicInteger();
+    TObjectIntMap<Object> ids = new TObjectIntHashMap<>();
+
+    @Override
+    public void registerActivity(Object id) {
+        if (ref.getAndIncrement() == 0)
+            sem.acquireUninterruptibly(1);
+        synchronized (ids) {
+            ids.adjustOrPutValue(id, 1, 1);
+        }
+    }
+
+    @Override
+    public void unregisterActivity(Object id) {
+        synchronized (ids) {
+            int refs = ids.get(id);
+            if (refs == 1) {
+                ids.remove(id);
+            } else {
+                ids.put(id, refs-1);
+            }
+        }
+        if (ref.decrementAndGet() == 0)
+            sem.release();
+    }
+
+    @Override
+    public void waitForCompletion() throws InterruptedException {
+        while(true) {
+            if(waitForCompletion(REPORTING_PERIOD, TimeUnit.SECONDS))
+                return;
+            synchronized (ids) {
+                System.err.println("ServiceActivityMonitorImpl.waitForCompletion: " + ids);
+            }    
+        }
+    }
+
+    @Override
+    public boolean waitForCompletion(long timeout, TimeUnit unit) throws InterruptedException {
+        if(sem.tryAcquire(timeout, unit)) {
+            sem.release();
+            return true;
+        }
+        else
+            return false;
+    }
+
 }
\ No newline at end of file