gernotbelger@9036: gernotbelger@9036: package org.dive4elements.river.artifacts.uinfo.salix; gernotbelger@9036: gernotbelger@9178: import java.util.LinkedHashMap; gernotbelger@9062: gernotbelger@9271: import org.dive4elements.artifactdatabase.ProtocolUtils; gernotbelger@9271: import org.dive4elements.artifactdatabase.data.StateData; gernotbelger@9178: import org.dive4elements.artifacts.Artifact; gernotbelger@9271: import org.dive4elements.artifacts.CallContext; gernotbelger@9178: import org.dive4elements.artifacts.CallMeta; gernotbelger@9271: import org.dive4elements.artifacts.common.utils.XMLUtils; gernotbelger@9273: import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; gernotbelger@9271: import org.dive4elements.river.artifacts.resources.Resources; gernotbelger@9062: import org.dive4elements.river.artifacts.states.RadioSelect; gernotbelger@9271: import org.w3c.dom.Element; gernotbelger@9036: gernotbelger@9036: /** gernotbelger@9036: * @author Ingo Weinzierl gernotbelger@9036: */ gernotbelger@9062: public class ScenarioTypeState extends RadioSelect { gernotbelger@9036: private static final long serialVersionUID = 1L; gernotbelger@9036: gernotbelger@9036: public ScenarioTypeState() { gernotbelger@9062: super(); gernotbelger@9036: } gernotbelger@9036: gernotbelger@9062: @Override gernotbelger@9178: protected LinkedHashMap makeEntries(final CallMeta meta, final Artifact artifact) { gernotbelger@9178: final LinkedHashMap entries = new LinkedHashMap<>(); gernotbelger@9178: entries.put("scenarioType.option1", null); gernotbelger@9178: entries.put("scenarioType.option2", null); gernotbelger@9178: entries.put("scenarioType.option3", null); gernotbelger@9062: return entries; gernotbelger@9062: gernotbelger@9062: } gernotbelger@9271: gernotbelger@9271: @Override gernotbelger@9271: protected Element createData(final XMLUtils.ElementCreator cr, final Artifact artifact, final StateData data, final CallContext context) { gernotbelger@9273: return changeHeaderForCurrentState("state.uinfo.load.scenario_type", data.getName(), cr, context); gernotbelger@9273: } gernotbelger@9273: gernotbelger@9273: /// dieser nervige Teil dient lediglich dazu, in create() im client die Überschrift zu ändern... :-( gernotbelger@9273: // Die Überschrift soll anders sein als in createOld() (links) gernotbelger@9273: public static final Element changeHeaderForCurrentState(final String msgKey, final String dataName, final ElementCreator cr, final CallContext context) { gernotbelger@9271: final Element select = ProtocolUtils.createArtNode(cr, "select", null, null); gernotbelger@9271: gernotbelger@9273: cr.addAttr(select, "name", dataName, true); gernotbelger@9271: gernotbelger@9271: final Element label = ProtocolUtils.createArtNode(cr, "label", null, null); gernotbelger@9271: gernotbelger@9273: label.setTextContent(Resources.getMsg(context.getMeta(), msgKey)); gernotbelger@9271: gernotbelger@9271: final Element description = ProtocolUtils.createArtNode(cr, "description", null, null); gernotbelger@9271: description.setTextContent("TEST"); gernotbelger@9271: select.appendChild(description); gernotbelger@9271: select.appendChild(label); gernotbelger@9271: gernotbelger@9271: return select; gernotbelger@9271: } gernotbelger@9369: gernotbelger@9369: @Override gernotbelger@9369: protected String getDatakey() { gernotbelger@9369: return "scenario_selection"; gernotbelger@9369: } gernotbelger@9369: gernotbelger@9369: @Override gernotbelger@9369: protected String getUIProvider() { gernotbelger@9369: return "salix_scenariotype_radio_panel"; gernotbelger@9369: } gernotbelger@9036: }