[Minor] Sorting in DefaultEnumHandler by param index
This commit is contained in:
parent
e245cd23a8
commit
f1c0e22227
|
@ -20,16 +20,14 @@ import static li.strolch.utils.helper.StringHelper.DASH;
|
||||||
import static li.strolch.utils.helper.StringHelper.isNotEmpty;
|
import static li.strolch.utils.helper.StringHelper.isNotEmpty;
|
||||||
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import li.strolch.agent.api.ComponentContainer;
|
import li.strolch.agent.api.ComponentContainer;
|
||||||
import li.strolch.agent.api.StrolchComponent;
|
import li.strolch.agent.api.StrolchComponent;
|
||||||
import li.strolch.exception.StrolchException;
|
import li.strolch.exception.StrolchException;
|
||||||
import li.strolch.model.ParameterBag;
|
import li.strolch.model.ParameterBag;
|
||||||
import li.strolch.model.Resource;
|
import li.strolch.model.Resource;
|
||||||
|
import li.strolch.model.parameter.Parameter;
|
||||||
import li.strolch.model.parameter.StringParameter;
|
import li.strolch.model.parameter.StringParameter;
|
||||||
import li.strolch.persistence.api.StrolchTransaction;
|
import li.strolch.persistence.api.StrolchTransaction;
|
||||||
import li.strolch.privilege.model.Certificate;
|
import li.strolch.privilege.model.Certificate;
|
||||||
|
@ -54,11 +52,12 @@ public class DefaultEnumHandler extends StrolchComponent implements EnumHandler
|
||||||
Resource enumeration = tx.getResourceBy(TYPE_ENUMERATION, name, true);
|
Resource enumeration = tx.getResourceBy(TYPE_ENUMERATION, name, true);
|
||||||
ParameterBag enumValuesByLanguage = findParameterBagByLanguage(enumeration, locale);
|
ParameterBag enumValuesByLanguage = findParameterBagByLanguage(enumeration, locale);
|
||||||
|
|
||||||
Set<String> parameterKeySet = enumValuesByLanguage.getParameterKeySet();
|
List<Parameter<?>> parameters = enumValuesByLanguage.getParameters();
|
||||||
Map<String, String> values = new HashMap<>(parameterKeySet.size());
|
parameters.sort(Comparator.comparing(Parameter::getIndex));
|
||||||
for (String paramKey : parameterKeySet) {
|
Map<String, String> values = new HashMap<>(parameters.size());
|
||||||
StringParameter enumParam = enumValuesByLanguage.getParameter(paramKey);
|
for (Parameter<?> param : parameters) {
|
||||||
values.put(paramKey, enumParam.getValue());
|
StringParameter enumParam = (StringParameter) param;
|
||||||
|
values.put(enumParam.getId(), enumParam.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
return new StrolchEnum(name, locale, values);
|
return new StrolchEnum(name, locale, values);
|
||||||
|
|
Loading…
Reference in New Issue