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.api.view.View;
38 import info.magnolia.ui.vaadin.sticker.Sticker;
39
40 import java.util.Optional;
41
42 import com.vaadin.ui.Component;
43 import com.vaadin.ui.Label;
44 import com.vaadin.ui.VerticalLayout;
45
46
47
48
49 public class InstanceInfo implements View {
50
51 private static final String STICKER_ENVIRONMENT = "magnolia.ui.sticker.environment";
52 private static final String STICKER_BACKGROUND_COLOR = "magnolia.ui.sticker.color.background";
53 private static final String STICKER_TEXT_COLOR = "magnolia.ui.sticker.color.text";
54
55 private final MagnoliaConfigurationProperties magnoliaConfigurationProperties;
56
57 public InstanceInfo(MagnoliaConfigurationProperties magnoliaConfigurationProperties) {
58 this.magnoliaConfigurationProperties = magnoliaConfigurationProperties;
59 }
60
61 @Override
62 public Component asVaadinComponent() {
63 String environment = magnoliaConfigurationProperties.getProperty(STICKER_ENVIRONMENT);
64 String instanceName = magnoliaConfigurationProperties.getProperty(MagnoliaConfigurationProperties.MAGNOLIA_WEBAPP);
65 String backgroundColor = magnoliaConfigurationProperties.getProperty(STICKER_BACKGROUND_COLOR);
66 String textColor = magnoliaConfigurationProperties.getProperty(STICKER_TEXT_COLOR);
67
68 VerticalLayout environmentInfo = new VerticalLayout();
69
70 if (environment != null) {
71 environmentInfo.setSizeUndefined();
72 environmentInfo.setSpacing(false);
73 environmentInfo.setMargin(true);
74 environmentInfo.addStyleName("header-component");
75
76 Sticker sticker = new Sticker();
77 sticker.addStyleNames("sticker");
78 Optional.ofNullable(environment)
79 .ifPresent(en -> {
80 sticker.setEnvironment(en);
81 sticker.setDescription(en);
82 });
83 Optional.ofNullable(backgroundColor)
84 .ifPresent(sticker::setBackgroundColor);
85 Optional.ofNullable(textColor)
86 .ifPresent(sticker::setTextColor);
87
88 Label instance = new Label();
89 instance.addStyleName("label");
90 Optional.ofNullable(instanceName)
91 .ifPresent(name -> {
92 instance.setValue(name);
93 instance.setDescription(name);
94 });
95
96 environmentInfo.addComponents(sticker, instance);
97 } else {
98 environmentInfo.setVisible(false);
99 }
100
101 return environmentInfo;
102 }
103 }