diff -r 070fc5844295 -r 590958fcb7d7 htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/ProcessPage.java --- a/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/ProcessPage.java Fri Nov 09 09:00:46 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/** - * Back 2 Browser Bytecode Translator - * Copyright (C) 2012 Jaroslav Tulach - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. Look for COPYING file in the top folder. - * If not, see http://opensource.org/licenses/GPL-2.0. - */ -package org.apidesign.bck2brwsr.htmlpage; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Collections; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -class ProcessPage { - private final Map ids2Elems = new TreeMap(); - - public Set ids() { - return Collections.unmodifiableSet(ids2Elems.keySet()); - } - - public String tagNameForId(String id) { - return ids2Elems.get(id); - } - - public static ProcessPage readPage(InputStream is) throws IOException { - DocumentBuilderFactory f = DocumentBuilderFactory.newInstance(); - f.setValidating(false); - f.setIgnoringComments(true); - - Document doc = null; - try { - DocumentBuilder b = f.newDocumentBuilder(); - doc = b.parse(is); - } catch (IOException ex) { - throw ex; - } catch (Exception e) { - throw new IOException(e); - } - Element root = doc.getDocumentElement(); - - ProcessPage pp = new ProcessPage(); - pp.seekForIds(root); - return pp; - } - - private void seekForIds(Element e) { - String val = e.getAttribute("id"); - if (val != null && !val.isEmpty()) { - String prev = ids2Elems.put(val, e.getTagName()); - } - NodeList arr = e.getChildNodes(); - for (int i = 0; i < arr.getLength(); i++) { - final Node n = arr.item(i); - if (n instanceof Element) { - seekForIds((Element)n); - } - } - } -}