1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.osgi.boot;
20
21 import org.eclipse.jetty.deploy.App;
22 import org.eclipse.jetty.deploy.bindings.StandardDeployer;
23 import org.eclipse.jetty.deploy.graph.Node;
24 import org.eclipse.jetty.osgi.boot.utils.EventSender;
25
26
27
28
29
30
31
32 public class OSGiDeployer extends StandardDeployer
33 {
34
35
36 public void processBinding(Node node, App app) throws Exception
37 {
38
39
40 if (!(app instanceof AbstractOSGiApp))
41 {
42 super.processBinding(node,app);
43 }
44 else
45 {
46 EventSender.getInstance().send(EventSender.DEPLOYING_EVENT, ((AbstractOSGiApp)app).getBundle(), app.getContextPath());
47 try
48 {
49 super.processBinding(node,app);
50 ((AbstractOSGiApp)app).registerAsOSGiService();
51 EventSender.getInstance().send(EventSender.DEPLOYED_EVENT, ((AbstractOSGiApp)app).getBundle(), app.getContextPath());
52 }
53 catch (Exception e)
54 {
55 EventSender.getInstance().send(EventSender.FAILED_EVENT, ((AbstractOSGiApp)app).getBundle(), app.getContextPath());
56 throw e;
57 }
58 }
59
60 }
61 }