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