@@ -86,6 +86,7 @@ public class TinyPounderMainUI extends UI {
86
86
private static final String VERSION = getVersion ();
87
87
private static final String AVAILABILITY = "Availability" ;
88
88
private static final String CONSISTENCY = "Consistency" ;
89
+ private static final String SECURITY = "Security" ;
89
90
90
91
@ Autowired
91
92
private CacheManagerBusiness cacheManagerBusiness ;
@@ -125,6 +126,7 @@ public class TinyPounderMainUI extends UI {
125
126
private Slider reconnectWindow ;
126
127
private GridLayout dataRootGrid ;
127
128
private GridLayout consistencyGrid ;
129
+ private HorizontalLayout securityGrid ;
128
130
private Slider dataRoots ;
129
131
private CheckBox platformPersistence ;
130
132
private CheckBox platformBackup ;
@@ -142,7 +144,9 @@ public class TinyPounderMainUI extends UI {
142
144
private TextField baseLocation ;
143
145
private Button trashDataButton ;
144
146
private RadioButtonGroup <String > consistencyGroup ;
147
+ private CheckBox securityCheckBox ;
145
148
private TextField votersCountTextField ;
149
+ private TextField securityField ;
146
150
147
151
@ Override
148
152
protected void init (VaadinRequest vaadinRequest ) {
@@ -699,6 +703,28 @@ private void addVoltronConfigControls() {
699
703
700
704
layout .addComponentsAndExpand (dataRootGrid );
701
705
706
+ //security
707
+ securityGrid = new HorizontalLayout ();
708
+ securityCheckBox = new CheckBox ();
709
+ securityCheckBox .setCaption (SECURITY );
710
+
711
+ securityCheckBox .addStyleName (ValoTheme .OPTIONGROUP_HORIZONTAL );
712
+
713
+ securityGrid .addComponent (securityCheckBox );
714
+ securityCheckBox .addStyleName ("align-bottom25" );
715
+ securityField = new TextField ("Security Root Directory" );
716
+ securityField .setValue (settings .getSecurityPath () != null ? settings .getSecurityPath () : "" );
717
+
718
+ securityCheckBox .addValueChangeListener (event -> {
719
+ if (!event .getValue ()) {
720
+ securityGrid .removeComponent (securityField );
721
+ } else {
722
+ securityGrid .addComponentsAndExpand (securityField );
723
+ }
724
+ });
725
+ layout .addComponentsAndExpand (securityGrid );
726
+
727
+
702
728
//consistency and voters
703
729
consistencyGrid = new GridLayout (2 , 1 );
704
730
consistencyGroup = new RadioButtonGroup <>();
@@ -914,6 +940,21 @@ private void generateXML(boolean skipConfirmOverwrite) {
914
940
" </service>\n " +
915
941
"\n " );
916
942
}
943
+
944
+ // security
945
+ if (securityCheckBox .getValue ()) {
946
+
947
+ sb .append (" <service xmlns:security=\" http://www.terracottatech.com/config/security\" >\n " +
948
+ " <security:security>\n " +
949
+ " <security:security-root-directory>" + securityField .getValue () + "</security:security-root-directory>\n " +
950
+ " <security:ssl-tls/>\n " +
951
+ " <security:authentication>\n " +
952
+ " <security:file/>\n " +
953
+ " </security:authentication>\n " +
954
+ " </security:security>\n " +
955
+ " </service>\n " +
956
+ "\n " );
957
+ }
917
958
}
918
959
919
960
// servers
@@ -975,6 +1016,8 @@ private void generateXML(boolean skipConfirmOverwrite) {
975
1016
}
976
1017
977
1018
tcConfigXml .setValue (tcConfigXml .getValue () + xml + "\n \n " );
1019
+ settings .setSecurityPath (securityField .getValue ());
1020
+
978
1021
}
979
1022
}
980
1023
0 commit comments