teichmann@5831: package org.dive4elements.river.artifacts.states; rrenkert@5310: rrenkert@5310: import org.apache.log4j.Logger; rrenkert@5310: import org.w3c.dom.Element; rrenkert@5310: teichmann@5831: import org.dive4elements.artifacts.Artifact; teichmann@5831: import org.dive4elements.artifacts.CallContext; teichmann@5831: import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; teichmann@5831: import org.dive4elements.river.artifacts.FLYSArtifact; rrenkert@5310: rrenkert@5310: rrenkert@5310: public class HWSDatacageState rrenkert@5310: extends DefaultState rrenkert@5310: { rrenkert@5310: rrenkert@5310: private static final Logger logger = Logger.getLogger(HWSDatacageState.class); rrenkert@5310: rrenkert@5310: @Override rrenkert@5310: protected String getUIProvider() { rrenkert@5310: return "hws_datacage_panel"; rrenkert@5310: } rrenkert@5310: rrenkert@5310: rrenkert@5310: @Override rrenkert@5310: protected Element createStaticData( rrenkert@5310: FLYSArtifact flys, rrenkert@5310: ElementCreator creator, rrenkert@5310: CallContext cc, rrenkert@5310: String name, rrenkert@5310: String value, rrenkert@5310: String type rrenkert@5310: ) { rrenkert@5310: Element dataElement = creator.create("data"); rrenkert@5310: creator.addAttr(dataElement, "name", name, true); rrenkert@5310: creator.addAttr(dataElement, "type", type, true); rrenkert@5310: rrenkert@5310: Element itemElement = creator.create("item"); rrenkert@5310: creator.addAttr(itemElement, "value", value, true); rrenkert@5310: rrenkert@5310: creator.addAttr(itemElement, "label", getLabel(cc, value), true); rrenkert@5310: dataElement.appendChild(itemElement); rrenkert@5310: rrenkert@5310: return dataElement; rrenkert@5310: } rrenkert@5310: rrenkert@5310: rrenkert@5310: public static String getLabel(CallContext cc, String value) { rrenkert@5310: logger.debug("Create label for value: " + value); rrenkert@5310: rrenkert@5310: return value; rrenkert@5310: } rrenkert@5310: rrenkert@5310: rrenkert@5310: @Override rrenkert@5310: public boolean validate(Artifact artifact) rrenkert@5310: throws IllegalArgumentException rrenkert@5310: { rrenkert@5310: FLYSArtifact flys = (FLYSArtifact) artifact; rrenkert@5310: String hws = flys.getDataAsString("uesk.hws"); rrenkert@5310: logger.debug("hws: " + hws); rrenkert@5310: return true; rrenkert@5310: } rrenkert@5310: rrenkert@5310: rrenkert@5310: /** rrenkert@5310: * Returns the DGM specified in the parameters of flys. rrenkert@5310: * rrenkert@5310: * @param flys The FLYSArtifact that knows the ID of a DGM. rrenkert@5310: * rrenkert@5310: * @throws IllegalArgumentException If the FLYSArtifact doesn't know the ID rrenkert@5310: * of a DGM. rrenkert@5310: * rrenkert@5310: * @return the DGM specified by FLYSArtifact's parameters. rrenkert@5310: */ rrenkert@5310: public static String getHWS(FLYSArtifact flys) rrenkert@5310: throws IllegalArgumentException rrenkert@5310: { rrenkert@5310: String hws= flys.getDataAsString("uesk.hws"); rrenkert@5310: if (hws == null) { rrenkert@5310: return null; rrenkert@5310: } rrenkert@5310: rrenkert@5310: logger.debug("Found selected hws: '" + hws + "'"); rrenkert@5310: rrenkert@5310: return hws; rrenkert@5310: } rrenkert@5310: rrenkert@5310: rrenkert@5310: rrenkert@5310: }