/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.jwebsocket.config.xml; import java.util.List; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import org.jwebsocket.config.AdminConfig; import org.jwebsocket.config.ConfigHandler; import org.jwebsocket.kit.WebSocketRuntimeException; /** * * @author Marcos Antonio González Huerta (markos0886, UCI) */ public class AdminConfigHandler extends JWebSocketConfigHandler implements ConfigHandler { @Override public AdminConfig processConfig(XMLStreamReader aStreamReader) { AdminConfig lConfig = new AdminConfig(); try { while (aStreamReader.hasNext()) { aStreamReader.next(); if (aStreamReader.isStartElement()) { String lElementName = aStreamReader.getLocalName(); if (lElementName.equals(ELEMENT_PLUGINS)) { List<PluginConfig> lPlugins = handlePlugins(aStreamReader); lConfig.setPlugins(lPlugins); } else if (lElementName.equals(ELEMENT_FILTERS)) { List<FilterConfig> lFilters = handleFilters(aStreamReader); lConfig.setFilters(lFilters); } else { // ignore } } if (aStreamReader.isEndElement()) { String lElementName = aStreamReader.getLocalName(); if (lElementName.equals(JWEBSOCKET)) { break; } } } } catch (XMLStreamException lEx) { throw new WebSocketRuntimeException("Error parsing jwsMgmtDesk.xml configuration file", lEx); } return lConfig; } }