summaryrefslogtreecommitdiff
path: root/BKUOnline/src/main/java/at/gv/egiz/mocca/id/SLCommandBrocker.java
diff options
context:
space:
mode:
authortkellner <tkellner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2011-05-16 15:27:17 +0000
committertkellner <tkellner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2011-05-16 15:27:17 +0000
commit379b5636bfe4919c83c185964ae552e442b8d28c (patch)
treeaa402e48e2ba8c25fb7b146420c1c5b9b63952bc /BKUOnline/src/main/java/at/gv/egiz/mocca/id/SLCommandBrocker.java
parent25479b6e776109b384f779c5b1e3e26ac7ddbf5b (diff)
downloadmocca-379b5636bfe4919c83c185964ae552e442b8d28c.tar.gz
mocca-379b5636bfe4919c83c185964ae552e442b8d28c.tar.bz2
mocca-379b5636bfe4919c83c185964ae552e442b8d28c.zip
Spelling
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@934 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'BKUOnline/src/main/java/at/gv/egiz/mocca/id/SLCommandBrocker.java')
-rw-r--r--BKUOnline/src/main/java/at/gv/egiz/mocca/id/SLCommandBrocker.java100
1 files changed, 0 insertions, 100 deletions
diff --git a/BKUOnline/src/main/java/at/gv/egiz/mocca/id/SLCommandBrocker.java b/BKUOnline/src/main/java/at/gv/egiz/mocca/id/SLCommandBrocker.java
deleted file mode 100644
index 2e46a220..00000000
--- a/BKUOnline/src/main/java/at/gv/egiz/mocca/id/SLCommandBrocker.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-* Copyright 2009 Federal Chancellery Austria and
-* Graz University of Technology
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-package at.gv.egiz.mocca.id;
-
-import at.gv.egiz.bku.slcommands.SLCommand;
-import at.gv.egiz.bku.slcommands.SLCommandContext;
-import at.gv.egiz.bku.slcommands.SLResult;
-import at.gv.egiz.bku.slcommands.impl.ErrorResultImpl;
-import at.gv.egiz.bku.slexceptions.SLCommandException;
-
-public class SLCommandBrocker {
-
- private Sync<SLCommand> commandSync = new Sync<SLCommand>();
-
- private Sync<SLResult> resultSync = new Sync<SLResult>();
-
- public SLResult execute(SLCommand command, SLCommandContext context, long timeout) throws InterruptedException {
- try {
- commandSync.put(command, timeout);
- if (command != null) {
- return resultSync.get(timeout);
- } else {
- return null;
- }
- } catch (SLCommandException e) {
- return new ErrorResultImpl(e, context.getLocale());
- }
- }
-
- public SLCommand nextCommand(SLResult result, long timeout) throws SLCommandException, InterruptedException {
- if (result != null) {
- resultSync.put(result, timeout);
- }
- return commandSync.get(timeout);
- }
-
- public class Sync<R> {
-
- private boolean available;
-
- private R r;
-
- public synchronized R get(long timeout) throws SLCommandException, InterruptedException {
-
- long t0 = System.currentTimeMillis();
- long elapsed = 0;
-
- while (!available) {
- wait(timeout - elapsed);
- elapsed = System.currentTimeMillis() - t0;
- if (elapsed > timeout) {
- notifyAll();
- throw new SLCommandException(6000);
- }
- }
-
- R r = this.r;
- this.r = null;
- available = false;
- notifyAll();
- return r;
- }
-
- public synchronized void put(R r, long timeout) throws SLCommandException, InterruptedException {
-
- long t0 = System.currentTimeMillis();
- long elapsed = 0;
-
- while (available) {
- wait(timeout - elapsed);
- elapsed = System.currentTimeMillis() - t0;
- if (elapsed > timeout) {
- notifyAll();
- throw new SLCommandException(6000);
- }
- }
-
- this.r = r;
- available = true;
- notifyAll();
- }
-
- }
-
-}