01: /**
02: * LibreSource
03: * Copyright (C) 2004-2008 Artenum SARL / INRIA
04: * http://www.libresource.org - contact@artenum.com
05: *
06: * This file is part of the LibreSource software,
07: * which can be used and distributed under license conditions.
08: * The license conditions are provided in the LICENSE.TXT file
09: * at the root path of the packaging that enclose this file.
10: * More information can be found at
11: * - http://dev.libresource.org/home/license
12: *
13: * Initial authors :
14: *
15: * Guillaume Bort / INRIA
16: * Francois Charoy / Universite Nancy 2
17: * Julien Forest / Artenum
18: * Claude Godart / Universite Henry Poincare
19: * Florent Jouille / INRIA
20: * Sebastien Jourdain / INRIA / Artenum
21: * Yves Lerumeur / Artenum
22: * Pascal Molli / Universite Henry Poincare
23: * Gerald Oster / INRIA
24: * Mariarosa Penzi / Artenum
25: * Gerard Sookahet / Artenum
26: * Raphael Tani / INRIA
27: *
28: * Contributors :
29: *
30: * Stephane Bagnier / Artenum
31: * Amadou Dia / Artenum-IUP Blois
32: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: */package com.artenum.so6.dataflow.xml;
34:
35: import org.xml.sax.Attributes;
36: import org.xml.sax.SAXException;
37: import org.xml.sax.helpers.DefaultHandler;
38:
39: import java.io.File;
40: import java.io.InputStream;
41:
42: import java.util.ArrayList;
43:
44: import javax.xml.parsers.SAXParser;
45: import javax.xml.parsers.SAXParserFactory;
46:
47: /**
48: * @author smack
49: */
50: public class So6NetworkIndexHandler extends DefaultHandler {
51: public static final String TAG_NAME_WORKSPACE = "Ws";
52: public static final String ATTR_ID = "id";
53: private ArrayList indexOfIds = null;
54:
55: public So6NetworkIndexHandler() {
56: indexOfIds = new ArrayList();
57: }
58:
59: public ArrayList getIndexOfWsId() {
60: return indexOfIds;
61: }
62:
63: public void parseXmlFile(File file) throws Exception {
64: indexOfIds = new ArrayList();
65:
66: SAXParserFactory factory = SAXParserFactory.newInstance();
67: SAXParser saxParser = factory.newSAXParser();
68: saxParser.parse(file, this );
69: }
70:
71: public void parseStream(InputStream in) throws Exception {
72: indexOfIds = new ArrayList();
73:
74: SAXParserFactory factory = SAXParserFactory.newInstance();
75: SAXParser saxParser = factory.newSAXParser();
76: saxParser.parse(in, this );
77: }
78:
79: public void startElement(String namespaceuri, String sname,
80: String qname, Attributes attr) throws SAXException {
81: if (qname.equals(TAG_NAME_WORKSPACE)) {
82: indexOfIds.add(attr.getValue(ATTR_ID));
83: }
84: }
85: }
|