package de.mas.jnus.lib.implementations.woomy; import java.io.InputStream; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import de.mas.jnus.lib.utils.XMLParser; import lombok.extern.java.Log; @Log public class WoomyMetaParser extends XMLParser{ private static final String WOOMY_METADATA_NAME = "name"; private static final String WOOMY_METADATA_ICON = "icon"; private static final String WOOMY_METADATA_ENTRIES = "entries"; private static final String WOOMY_METADATA_ENTRY_NAME = "name"; private static final String WOOMY_METADATA_ENTRY_FOLDER = "folder"; private static final String WOOMY_METADATA_ENTRY_ENTRIES = "entries"; /** * Overwrite the default constructor to force the user to use the factory. */ private WoomyMetaParser(){ } public static WoomyMeta parseMeta(InputStream data){ XMLParser parser = new WoomyMetaParser(); WoomyMeta result = new WoomyMeta(); try { parser.loadDocument(data); } catch(Exception e){ log.info("Error while loading the data into the WoomyMetaParser"); return null; } String name = parser.getValueOfElement(WOOMY_METADATA_NAME); if(name != null && !name.isEmpty()){ result.setName(name); } String icon = parser.getValueOfElement(WOOMY_METADATA_ICON); if(icon != null && !icon.isEmpty()){ int icon_val = Integer.parseInt(icon); result.setIcon(icon_val); } Node entries_node = parser.getNodeByValue(WOOMY_METADATA_ENTRIES); NodeList entry_list = entries_node.getChildNodes(); for(int i = 0;i