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.admincentral.components;
35
36 import info.magnolia.init.MagnoliaConfigurationProperties;
37 import info.magnolia.ui.vaadin.sticker.Sticker;
38
39 import java.util.Optional;
40
41 import javax.inject.Inject;
42
43 import com.vaadin.ui.Composite;
44 import com.vaadin.ui.Label;
45 import com.vaadin.ui.VerticalLayout;
46
47
48
49
50 public class InstanceInfo extends Composite {
51
52 private static final String STICKER_ENVIRONMENT = "magnolia.ui.sticker.environment";
53 private static final String STICKER_COLOR = "magnolia.ui.sticker.color";
54
55 @Inject
56 public InstanceInfo(MagnoliaConfigurationProperties magnoliaConfigurationProperties) {
57 String environment = magnoliaConfigurationProperties.getProperty(STICKER_ENVIRONMENT);
58
59 if (environment != null) {
60 String instanceName = magnoliaConfigurationProperties.getProperty(MagnoliaConfigurationProperties.MAGNOLIA_WEBAPP);
61 String color = magnoliaConfigurationProperties.getProperty(STICKER_COLOR);
62
63 VerticalLayout environmentInfo = new VerticalLayout();
64 environmentInfo.setSizeUndefined();
65 environmentInfo.setSpacing(false);
66 environmentInfo.setMargin(true);
67 environmentInfo.addStyleName("header-component");
68
69 Sticker sticker = new Sticker();
70 sticker.addStyleNames("sticker");
71 Optional.ofNullable(environment)
72 .ifPresent(en -> {
73 sticker.setEnvironment(en);
74 sticker.setDescription(en);
75 });
76 Optional.ofNullable(color)
77 .ifPresent(sticker::setColor);
78
79 Label instance = new Label();
80 instance.addStyleName("label");
81 Optional.ofNullable(instanceName)
82 .ifPresent(name -> {
83 instance.setValue(name);
84 instance.setDescription(name);
85 });
86
87 environmentInfo.addComponents(sticker, instance);
88 setCompositionRoot(environmentInfo);
89 } else {
90
91 setCompositionRoot(new Label());
92 setVisible(false);
93 }
94 }
95
96 }