Fix localisation in System Configuration View (#822)
* Fix localisation: * Regenerate Key * SSL Issuer Hash * Rollouts Tooltip Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * add final Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * add parameter description Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Review findings Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * remove TODO-ID Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>
This commit is contained in:
committed by
Dominic Schabel
parent
9884452ad4
commit
b4ec3478c4
@@ -14,6 +14,7 @@ import java.util.Map.Entry;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus.Status;
|
||||
import org.eclipse.hawkbit.ui.utils.VaadinMessageSource;
|
||||
import org.vaadin.alump.distributionbar.gwt.client.GwtDistributionBar;
|
||||
|
||||
/**
|
||||
@@ -38,9 +39,12 @@ public final class DistributionBarHelper {
|
||||
* @param statusTotalCountMap
|
||||
* map with status and count
|
||||
*
|
||||
* @param i18n
|
||||
* the i18n
|
||||
*
|
||||
* @return string of format "status1:count,status2:count"
|
||||
*/
|
||||
public static String getDistributionBarAsHTMLString(final Map<Status, Long> statusTotalCountMap) {
|
||||
public static String getDistributionBarAsHTMLString(final Map<Status, Long> statusTotalCountMap, final VaadinMessageSource i18n) {
|
||||
final StringBuilder htmlString = new StringBuilder();
|
||||
final Map<Status, Long> statusMapWithNonZeroValues = getStatusMapWithNonZeroValues(statusTotalCountMap);
|
||||
final Long totalValue = getTotalSizes(statusTotalCountMap);
|
||||
@@ -51,7 +55,7 @@ public final class DistributionBarHelper {
|
||||
htmlString.append(getParentDivStart());
|
||||
for (final Map.Entry<Status, Long> entry : statusMapWithNonZeroValues.entrySet()) {
|
||||
if (entry.getValue() > 0) {
|
||||
htmlString.append(getPart(partIndex, entry.getKey(), entry.getValue(), totalValue,
|
||||
htmlString.append(getPart(partIndex, getLabel(entry.getKey(), i18n), entry.getValue(), totalValue,
|
||||
statusMapWithNonZeroValues.size()));
|
||||
partIndex++;
|
||||
}
|
||||
@@ -69,7 +73,7 @@ public final class DistributionBarHelper {
|
||||
*/
|
||||
public static Map<Status, Long> getStatusMapWithNonZeroValues(final Map<Status, Long> statusTotalCountMap) {
|
||||
return statusTotalCountMap.entrySet().stream().filter(p -> p.getValue() > 0)
|
||||
.collect(Collectors.toMap(p -> p.getKey(), p -> p.getValue()));
|
||||
.collect(Collectors.toMap(Entry::getKey, Entry::getValue));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,19 +81,54 @@ public final class DistributionBarHelper {
|
||||
*
|
||||
* @param statusCountMap
|
||||
* map with status and count details
|
||||
*
|
||||
* @param i18n
|
||||
* the i18n
|
||||
*
|
||||
* @return tool tip
|
||||
*/
|
||||
public static String getTooltip(final Map<Status, Long> statusCountMap) {
|
||||
public static String getTooltip(final Map<Status, Long> statusCountMap, final VaadinMessageSource i18n) {
|
||||
final Map<Status, Long> nonZeroStatusCountMap = DistributionBarHelper
|
||||
.getStatusMapWithNonZeroValues(statusCountMap);
|
||||
final StringBuilder tooltip = new StringBuilder();
|
||||
for (final Entry<Status, Long> entry : nonZeroStatusCountMap.entrySet()) {
|
||||
tooltip.append(entry.getKey().toString().toLowerCase()).append(" : ").append(entry.getValue())
|
||||
tooltip.append(getLabel(entry.getKey(), i18n)).append(" : ").append(entry.getValue())
|
||||
.append("<br>");
|
||||
}
|
||||
return tooltip.toString();
|
||||
}
|
||||
|
||||
private static String getLabel(final Status status, final VaadinMessageSource i18n) {
|
||||
|
||||
String label;
|
||||
|
||||
switch (status) {
|
||||
|
||||
case SCHEDULED :
|
||||
label = "label.scheduled";
|
||||
break;
|
||||
case RUNNING :
|
||||
label = "label.running";
|
||||
break;
|
||||
case ERROR :
|
||||
label = "label.error";
|
||||
break;
|
||||
case FINISHED :
|
||||
label = "label.finished";
|
||||
break;
|
||||
case CANCELLED :
|
||||
label = "label.cancelled";
|
||||
break;
|
||||
case NOTSTARTED :
|
||||
label = "label.notStarted";
|
||||
break;
|
||||
default :
|
||||
throw new IllegalStateException("The status " + status + " is not supported.");
|
||||
}
|
||||
|
||||
return i18n.getMessage(label);
|
||||
}
|
||||
|
||||
private static String getPartStyle(final int partIndex, final int noOfParts, final String customStyle) {
|
||||
final StringBuilder mainStyle = new StringBuilder();
|
||||
final StringBuilder styleName = new StringBuilder(GwtDistributionBar.CLASSNAME);
|
||||
@@ -104,9 +143,9 @@ public final class DistributionBarHelper {
|
||||
}
|
||||
mainStyle.append(styleName).append(" ");
|
||||
mainStyle.append(DISTRIBUTION_BAR_PART_MAIN_STYLE).append(" ");
|
||||
mainStyle.append(DISTRIBUTION_BAR_PART_CLASSNAME_PREFIX + partIndex);
|
||||
mainStyle.append(DISTRIBUTION_BAR_PART_CLASSNAME_PREFIX).append(partIndex);
|
||||
if (customStyle != null) {
|
||||
mainStyle.append(" ").append("status-bar-part-" + customStyle);
|
||||
mainStyle.append(" ").append("status-bar-part-").append(customStyle);
|
||||
}
|
||||
return mainStyle.toString();
|
||||
}
|
||||
@@ -120,10 +159,9 @@ public final class DistributionBarHelper {
|
||||
return String.format(Locale.ENGLISH, "%.3f", val) + "%";
|
||||
}
|
||||
|
||||
private static String getPart(final int partIndex, final Status status, final Long value, final Long totalValue,
|
||||
private static String getPart(final int partIndex, final String status, final Long value, final Long totalValue,
|
||||
final int noOfParts) {
|
||||
final String partValue = status.toString().toLowerCase();
|
||||
return "<div class=\"" + getPartStyle(partIndex, noOfParts, partValue) + "\" style=\"width: "
|
||||
return "<div class=\"" + getPartStyle(partIndex, noOfParts, status) + "\" style=\"width: "
|
||||
+ getPartWidth(value, totalValue, noOfParts) + ";\"><span class=\""
|
||||
+ DISTRIBUTION_BAR_PART_VALUE_CLASSNAME + "\">" + value + "</span></div>";
|
||||
}
|
||||
|
||||
@@ -647,7 +647,7 @@ public class RolloutListGrid extends AbstractGrid<LazyQueryContainer> {
|
||||
} else if (ROLLOUT_RENDERER_DATA.equals(cell.getPropertyId())) {
|
||||
description = ((RolloutRendererData) cell.getProperty().getValue()).getName();
|
||||
} else if (SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS.equals(cell.getPropertyId())) {
|
||||
description = getTooltip(((TotalTargetCountStatus) cell.getValue()).getStatusTotalCountMap());
|
||||
description = getTooltip(((TotalTargetCountStatus) cell.getValue()).getStatusTotalCountMap(), i18n);
|
||||
}
|
||||
|
||||
return description;
|
||||
@@ -799,7 +799,7 @@ public class RolloutListGrid extends AbstractGrid<LazyQueryContainer> {
|
||||
@Override
|
||||
public String convertToPresentation(final TotalTargetCountStatus value,
|
||||
final Class<? extends String> targetType, final Locale locale) {
|
||||
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
|
||||
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap(), i18n);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -271,7 +271,7 @@ public class RolloutGroupListGrid extends AbstractGrid<LazyQueryContainer> {
|
||||
return ((RolloutRendererData) cell.getProperty().getValue()).getName();
|
||||
} else if (SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS.equals(cell.getPropertyId())) {
|
||||
return DistributionBarHelper
|
||||
.getTooltip(((TotalTargetCountStatus) cell.getValue()).getStatusTotalCountMap());
|
||||
.getTooltip(((TotalTargetCountStatus) cell.getValue()).getStatusTotalCountMap(), i18n);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -326,7 +326,7 @@ public class RolloutGroupListGrid extends AbstractGrid<LazyQueryContainer> {
|
||||
@Override
|
||||
public String convertToPresentation(final TotalTargetCountStatus value,
|
||||
final Class<? extends String> targetType, final Locale locale) {
|
||||
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
|
||||
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap(), i18n);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -49,9 +49,9 @@ public class CertificateAuthenticationConfigurationItem extends AbstractBooleanT
|
||||
final HorizontalLayout caRootAuthorityLayout = new HorizontalLayout();
|
||||
caRootAuthorityLayout.setSpacing(true);
|
||||
|
||||
final Label caRootAuthorityLabel = new LabelBuilder().name("SSL Issuer Hash:").buildLabel();
|
||||
final Label caRootAuthorityLabel = new LabelBuilder().name(i18n.getMessage("label.configuration.auth.hashField")).buildLabel();
|
||||
caRootAuthorityLabel.setDescription(
|
||||
"The SSL Issuer iRules.X509 hash, to validate against the controller request certifcate.");
|
||||
i18n.getMessage("label.configuration.auth.hashField.tooltip"));
|
||||
caRootAuthorityLabel.setWidthUndefined();
|
||||
|
||||
caRootAuthorityTextField = new TextFieldBuilder(TenantConfiguration.VALUE_MAX_SIZE).buildTextComponent();
|
||||
|
||||
@@ -58,7 +58,7 @@ public class GatewaySecurityTokenAuthenticationConfigurationItem extends Abstrac
|
||||
detailLayout = new VerticalLayout();
|
||||
detailLayout.setImmediate(true);
|
||||
|
||||
final Button gatewaytokenBtn = SPUIComponentProvider.getButton("TODO-ID", "Regenerate Key", "",
|
||||
final Button gatewaytokenBtn = SPUIComponentProvider.getButton(null, i18n.getMessage("configuration.button.regenerateKey"), "",
|
||||
ValoTheme.BUTTON_TINY + " " + "redicon", true, null, SPUIButtonStyleSmall.class);
|
||||
gatewaytokenBtn.setImmediate(true);
|
||||
gatewaytokenBtn.setIcon(FontAwesome.REFRESH);
|
||||
|
||||
@@ -213,6 +213,7 @@ label.filter.custom = Custom
|
||||
label.target.filter.truncated={0} targets has been truncated in the list due the target size limit of {1}, use filters to reduce the targets to be shown
|
||||
label.inactive = In-active
|
||||
label.finished = Finished
|
||||
label.notStarted = Not Started
|
||||
label.error = Error
|
||||
label.warning = Warning
|
||||
label.running = Running
|
||||
@@ -232,6 +233,8 @@ label.target.attributes.update.pending = Update pending..
|
||||
label.target.lastpolldate = Last poll :
|
||||
label.tag.name = Tag name
|
||||
label.configuration.auth.header = Allow targets to authenticate via a certificate authenticated by a reverse proxy
|
||||
label.configuration.auth.hashField = SSL Issuer Hash
|
||||
label.configuration.auth.hashField.tooltip = The SSL Issuer iRules.X509 hash, to validate against the controller request certificate.
|
||||
label.configuration.auth.gatewaytoken = Allow a gateway to authenticate and manage multiple targets through a gateway security token
|
||||
label.configuration.auth.targettoken = Allow targets to authenticate directly with their target security token
|
||||
label.configuration.repository.autoclose.action = Autoclose running actions when a new distribution set is assigned
|
||||
@@ -548,6 +551,7 @@ configuration.defaultdistributionset.title=Distribution Configuration
|
||||
configuration.defaultdistributionset.select.label=Select the default distribution set type:
|
||||
configuration.savebutton.tooltip=Save Configurations
|
||||
configuration.cancellbutton.tooltip=Cancel Configurations
|
||||
configuration.button.regenerateKey = Regenerate Key
|
||||
configuration.authentication.title=Authentication Configuration
|
||||
configuration.repository.title=Repository Configuration
|
||||
configuration.polling.title=Polling Configuration
|
||||
|
||||
Reference in New Issue
Block a user