1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.universAAL.ri.gateway.eimanager.impl.exporting;
22
23 import java.util.concurrent.BlockingQueue;
24
25 import org.universAAL.ri.gateway.eimanager.impl.registry.EIRepoAccessManager;
26
27 public class ExportProcessExecutor implements Runnable {
28
29 private BlockingQueue<InternalExportOperation> exportQueue;
30
31 public ExportProcessExecutor(final BlockingQueue<InternalExportOperation> queue) {
32 this.exportQueue = queue;
33 }
34
35 public void run() {
36 Thread.currentThread()
37 .setName("Space Gateway :: ExportProcessExecutor");
38 while (!(Thread.currentThread().isInterrupted())) {
39 try {
40 final InternalExportOperation op = exportQueue.take();
41 this.process(op);
42 } catch (InterruptedException e) {
43
44 Thread.currentThread().interrupt();
45 }
46 }
47 }
48
49 private void process(final InternalExportOperation op) {
50 switch(op.getType()){
51 case ServiceCallee:
52 case ContextPublisher:
53 case UIHandler:
54 switch(op.getOp()){
55 case Publish:
56 EIRepoAccessManager.Instance.publishExportToRepo(new ExportEntry(op.getMemberId(), op.getBusMember(), op));
57 break;
58
59 case Purge:
60 EIRepoAccessManager.Instance.publishExportToRepo(new ExportEntry(op.getMemberId(), op.getBusMember(), op));
61 break;
62 }
63 default:
64
65 }
66 }
67
68 }