author | František Kučera <franta-hg@frantovo.cz> |
Sat, 07 Jun 2014 21:57:50 +0200 | |
changeset 31 | c9f1e497132e |
parent 30 | f696e73de225 |
child 39 | a5020340362b |
permissions | -rw-r--r-- |
franta-hg@11 | 1 |
/** |
franta-hg@11 | 2 |
* Alt2XML |
franta-hg@11 | 3 |
* Copyright © 2014 František Kučera (frantovo.cz) |
franta-hg@11 | 4 |
* |
franta-hg@11 | 5 |
* This program is free software: you can redistribute it and/or modify |
franta-hg@11 | 6 |
* it under the terms of the GNU General Public License as published by |
franta-hg@11 | 7 |
* the Free Software Foundation, either version 3 of the License, or |
franta-hg@11 | 8 |
* (at your option) any later version. |
franta-hg@11 | 9 |
* |
franta-hg@11 | 10 |
* This program is distributed in the hope that it will be useful, |
franta-hg@11 | 11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
franta-hg@11 | 12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
franta-hg@11 | 13 |
* GNU General Public License for more details. |
franta-hg@11 | 14 |
* |
franta-hg@11 | 15 |
* You should have received a copy of the GNU General Public License |
franta-hg@11 | 16 |
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
franta-hg@11 | 17 |
*/ |
franta-hg@16 | 18 |
package cz.frantovo.alt2xml.cli; |
franta-hg@2 | 19 |
|
franta-hg@21 | 20 |
import java.io.File; |
franta-hg@2 | 21 |
import java.io.OutputStream; |
franta-hg@30 | 22 |
import java.util.Arrays; |
franta-hg@30 | 23 |
import java.util.logging.Level; |
franta-hg@30 | 24 |
import java.util.logging.Logger; |
franta-hg@2 | 25 |
import javax.xml.parsers.SAXParser; |
franta-hg@2 | 26 |
import javax.xml.parsers.SAXParserFactory; |
franta-hg@2 | 27 |
import javax.xml.stream.XMLOutputFactory; |
franta-hg@2 | 28 |
import javax.xml.stream.XMLStreamWriter; |
franta-hg@2 | 29 |
import org.xml.sax.helpers.DefaultHandler; |
franta-hg@2 | 30 |
|
franta-hg@2 | 31 |
/** |
franta-hg@2 | 32 |
* |
franta-hg@19 | 33 |
* @author Ing. František Kučera (frantovo.cz) |
franta-hg@2 | 34 |
*/ |
franta-hg@2 | 35 |
public class CLI { |
franta-hg@2 | 36 |
|
franta-hg@30 | 37 |
private static final Logger log = Logger.getLogger(CLI.class.getName()); |
franta-hg@28 | 38 |
|
franta-hg@30 | 39 |
public static void main(String[] args) { |
franta-hg@16 | 40 |
|
franta-hg@30 | 41 |
try { |
franta-hg@30 | 42 |
File vstup = new File(args[0]); |
franta-hg@30 | 43 |
OutputStream výstup = System.out; |
franta-hg@16 | 44 |
|
franta-hg@30 | 45 |
/** |
franta-hg@30 | 46 |
* Serializujeme data do XML. |
franta-hg@30 | 47 |
* To normálně vůbec není potřeba – data se do tvaru proudu obsahujícího ostré závorky |
franta-hg@30 | 48 |
* vůbec nedostanou – zpracováváme události (volání javovských metod – začátky a konce |
franta-hg@30 | 49 |
* elementů atd.) |
franta-hg@30 | 50 |
* a z nich např. deserializujeme nějaké naše objekty, provádíme nějaké akce, nebo třeba |
franta-hg@30 | 51 |
* stavíme DOM. |
franta-hg@30 | 52 |
*/ |
franta-hg@30 | 53 |
XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newFactory(); |
franta-hg@30 | 54 |
XMLStreamWriter w = xmlOutputFactory.createXMLStreamWriter(výstup); |
franta-hg@30 | 55 |
DefaultHandler h = new EchoContentHandler(w); |
franta-hg@30 | 56 |
|
franta-hg@31 | 57 |
SAXParserFactory t = SAXParserFactory.newInstance(); |
franta-hg@30 | 58 |
SAXParser p = t.newSAXParser(); |
franta-hg@30 | 59 |
p.parse(vstup, h); |
franta-hg@30 | 60 |
} catch (Exception e) { |
franta-hg@30 | 61 |
log.log(Level.SEVERE, "Error during processing: " + Arrays.toString(args), e); |
franta-hg@30 | 62 |
} |
franta-hg@21 | 63 |
|
franta-hg@2 | 64 |
} |
franta-hg@2 | 65 |
} |