1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.security.app;
35
36 import info.magnolia.objectfactory.ComponentProvider;
37 import info.magnolia.ui.api.app.AppContext;
38 import info.magnolia.ui.api.app.AppView;
39 import info.magnolia.ui.api.app.SubAppDescriptor;
40 import info.magnolia.ui.api.location.DefaultLocation;
41 import info.magnolia.ui.api.location.Location;
42 import info.magnolia.ui.contentapp.ContentApp;
43 import info.magnolia.ui.contentapp.browser.BrowserSubAppDescriptor;
44 import info.magnolia.ui.vaadin.integration.contentconnector.JcrContentConnectorDefinition;
45
46 import javax.inject.Inject;
47
48
49
50
51 public class SecurityApp extends ContentApp {
52
53 @Inject
54 public SecurityApp(AppContext appContext, AppView view, ComponentProvider componentProvider) {
55 super(appContext, view, componentProvider);
56 }
57
58 @Override
59 public void start(Location location) {
60 super.start(location);
61 SubAppDescriptor first = null;
62 for (SubAppDescriptor subAppDescriptor : appContext.getAppDescriptor().getSubApps().values()) {
63 if (first == null) {
64 first = subAppDescriptor;
65 continue;
66 }
67 BrowserSubAppDescriptor browserSubAppDescriptor = (BrowserSubAppDescriptor) first;
68 JcrContentConnectorDefinition connectorDefinition = ((JcrContentConnectorDefinition)browserSubAppDescriptor.getContentConnector());
69 String path = connectorDefinition.getRootPath();
70 getAppContext().openSubApp(new DefaultLocation(Location.LOCATION_TYPE_APP, "security", subAppDescriptor.getName(), path));
71 }
72 BrowserSubAppDescriptor browserSubAppDescriptor = (BrowserSubAppDescriptor) first;
73 JcrContentConnectorDefinition connectorDefinition = ((JcrContentConnectorDefinition)browserSubAppDescriptor.getContentConnector());
74 String path = connectorDefinition.getRootPath();
75 getAppContext().openSubApp(new DefaultLocation(Location.LOCATION_TYPE_APP, "security", first.getName(), path));
76 }
77
78 }