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.importing;
22
23 import java.util.concurrent.BlockingQueue;
24
25 import org.universAAL.ri.gateway.eimanager.ImportEntry;
26 import org.universAAL.ri.gateway.eimanager.impl.registry.EIRepoAccessManager;
27
28 public class ImportProcessExecutor implements Runnable {
29
30 private BlockingQueue<InternalImportOperation> importQueue;
31
32 public ImportProcessExecutor(
33 final BlockingQueue<InternalImportOperation> queue) {
34 this.importQueue = queue;
35 }
36
37 public void run() {
38 Thread.currentThread()
39 .setName("Space Gateway :: ImportProcessExecutor");
40 while (!(Thread.currentThread().isInterrupted())) {
41 try {
42 final InternalImportOperation op = importQueue.take();
43 this.process(op);
44 } catch (InterruptedException e) {
45
46 Thread.currentThread().interrupt();
47 }
48 }
49 }
50
51 private void process(final InternalImportOperation op) {
52 switch (op.getType()) {
53 case ServiceCaller:
54 case ContextSubscriber:
55 case UICaller:
56 switch (op.getOp()) {
57 case Publish:
58 EIRepoAccessManager.Instance
59 .publishImportToRepo(new ImportEntry(op.getMemberId(),
60 op.getBusMember(), op
61 .getRemoteRegisteredProxyId(), op, true, ""));
62 break;
63
64 case Purge:
65 EIRepoAccessManager.Instance.removeImportFromRepo(op
66 .getImportEntry());
67 break;
68 }
69 default:
70
71
72 }
73 }
74
75 }