teichmann@5831: package org.dive4elements.river.artifacts.states.minfo; raimund@3629: ingo@3649: import java.util.ArrayList; ingo@3649: import java.util.List; ingo@3649: ingo@3649: import org.apache.log4j.Logger; raimund@3629: teichmann@5831: import org.dive4elements.artifacts.Artifact; teichmann@5831: import org.dive4elements.artifacts.CallContext; teichmann@5831: import org.dive4elements.artifacts.CallMeta; teichmann@5831: import org.dive4elements.artifacts.common.model.KVP; teichmann@5831: import org.dive4elements.river.artifacts.resources.Resources; teichmann@5831: import org.dive4elements.river.artifacts.states.MultiStringArrayState; raimund@3629: ingo@3649: public class CharDiameter extends MultiStringArrayState { raimund@3629: ingo@3649: private static final Logger logger = Logger.getLogger(CharDiameter.class); ingo@3649: ingo@3649: public static final String UI_PROVIDER = "parameter-matrix"; raimund@3629: raimund@3629: private static final String CHAR_DIAMETER_MIN = "calc.bed.dmin"; raimund@3629: private static final String CHAR_DIAMETER_MAX = "calc.bed.dmax"; raimund@3629: private static final String CHAR_DIAMETER_90 = "calc.bed.d90"; raimund@3629: private static final String CHAR_DIAMETER_84 = "calc.bed.d84"; raimund@3629: private static final String CHAR_DIAMETER_80 = "calc.bed.d80"; raimund@3629: private static final String CHAR_DIAMETER_75 = "calc.bed.d75"; raimund@3629: private static final String CHAR_DIAMETER_70 = "calc.bed.d70"; raimund@3629: private static final String CHAR_DIAMETER_60 = "calc.bed.d60"; raimund@3629: private static final String CHAR_DIAMETER_50 = "calc.bed.d50"; raimund@3629: private static final String CHAR_DIAMETER_40 = "calc.bed.d40"; raimund@3629: private static final String CHAR_DIAMETER_30 = "calc.bed.d30"; raimund@3629: private static final String CHAR_DIAMETER_25 = "calc.bed.d25"; raimund@3629: private static final String CHAR_DIAMETER_20 = "calc.bed.d20"; raimund@3629: private static final String CHAR_DIAMETER_16 = "calc.bed.d16"; raimund@3629: private static final String CHAR_DIAMETER_10 = "calc.bed.d10"; raimund@3629: raimund@3629: public static final String[] CHAR_DIAMETER = { raimund@3629: CHAR_DIAMETER_10, raimund@3629: CHAR_DIAMETER_16, raimund@3629: CHAR_DIAMETER_20, raimund@3629: CHAR_DIAMETER_25, raimund@3629: CHAR_DIAMETER_30, raimund@3629: CHAR_DIAMETER_40, raimund@3629: CHAR_DIAMETER_50, raimund@3629: CHAR_DIAMETER_60, raimund@3629: CHAR_DIAMETER_70, raimund@3629: CHAR_DIAMETER_75, raimund@3629: CHAR_DIAMETER_80, raimund@3629: CHAR_DIAMETER_84, raimund@3629: CHAR_DIAMETER_90, raimund@3629: CHAR_DIAMETER_MAX, raimund@3629: CHAR_DIAMETER_MIN raimund@3629: }; raimund@3629: raimund@3629: @Override raimund@3629: public String getUIProvider() { raimund@3629: return UI_PROVIDER; raimund@3629: } raimund@3629: raimund@3629: @Override ingo@3649: protected KVP[] getOptions( ingo@3649: Artifact artifact, ingo@3649: String parameterName, ingo@3649: CallContext context ingo@3649: ) ingo@3649: throws IllegalArgumentException raimund@3629: { raimund@3629: CallMeta meta = context.getMeta(); raimund@3629: ingo@3649: List> rows = new ArrayList>(); ingo@3649: String key = parameterName; raimund@3629: for (int i = 0; i < CHAR_DIAMETER.length; ++i) { raimund@3629: String calc = CHAR_DIAMETER[i]; ingo@3649: rows.add(new KVP (calc, ingo@3649: Resources.getMsg(meta, calc, calc))); raimund@3629: } raimund@3629: ingo@3649: return rows.toArray(new KVP[rows.size()]); ingo@3649: } ingo@3649: ingo@3649: @Override ingo@3649: protected String getLabelFor(CallContext cc, String parameterName, ingo@3649: String value) throws IllegalArgumentException { ingo@3649: ingo@3649: return Resources.getMsg(cc.getMeta(), value, value); raimund@3629: } raimund@3629: raimund@3629: }