001package jmri.jmrit.logixng.actions.configurexml; 002 003import jmri.*; 004import jmri.configurexml.JmriConfigureXmlException; 005import jmri.jmrit.logixng.*; 006import jmri.jmrit.logixng.actions.AnalogActionLightIntensity; 007import jmri.jmrit.logixng.util.configurexml.LogixNG_SelectNamedBeanXml; 008import jmri.jmrit.logixng.util.parser.ParserException; 009 010import org.jdom2.Element; 011 012 013/** 014 * Handle XML configuration for AnalogActionLightIntensity objects. 015 * 016 * @author Bob Jacobsen Copyright: Copyright (c) 2004, 2008, 2010 017 * @author Daniel Bergqvist Copyright (C) 2019 018 */ 019public class AnalogActionLightIntensityXml extends jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML { 020 021 public AnalogActionLightIntensityXml() { 022 } 023 024 /** 025 * Default implementation for storing the contents of a AnalogActionLightIntensity 026 * 027 * @param o Object to store, of type TripleTurnoutSignalHead 028 * @return Element containing the complete info 029 */ 030 @Override 031 public Element store(Object o) { 032 AnalogActionLightIntensity p = (AnalogActionLightIntensity) o; 033 034 Element element = new Element("AnalogActionLightIntensity"); 035 element.setAttribute("class", this.getClass().getName()); 036 element.addContent(new Element("systemName").addContent(p.getSystemName())); 037 038 storeCommon(p, element); 039 040 var selectNamedBeanXml = new LogixNG_SelectNamedBeanXml<VariableLight>(); 041 element.addContent(selectNamedBeanXml.store(p.getSelectNamedBean(), "namedBean")); 042 043 return element; 044 } 045 046 @Override 047 public boolean load(Element shared, Element perNode) throws JmriConfigureXmlException { 048 049 String sys = getSystemName(shared); 050 String uname = getUserName(shared); 051 AnalogActionLightIntensity h = new AnalogActionLightIntensity(sys, uname); 052 053 loadCommon(h, shared); 054 055 var selectNamedBeanXml = new LogixNG_SelectNamedBeanXml<VariableLight>(); 056 selectNamedBeanXml.load(shared.getChild("namedBean"), h.getSelectNamedBean()); 057 selectNamedBeanXml.loadLegacy(shared, h.getSelectNamedBean(), "variableLight"); 058 059 InstanceManager.getDefault(AnalogActionManager.class).registerAction(h); 060 return true; 061 } 062 063// private final static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(AnalogActionLightIntensityXml.class); 064}