Clover Coverage Report
Coverage timestamp: Fri Feb 14 2014 07:28:57 UTC
../../../../../../img/srcFileCovDistChart9.png 45% of files have more coverage
16   90   11   3.2
12   42   0.69   5
5     2.2  
1    
 
  ImportListHandler       Line # 31 16 11 87.9% 0.8787879
 
  (117)
 
1    /* This file is part of the project "Hilbert II" - http://www.qedeq.org
2    *
3    * Copyright 2000-2014, Michael Meyling <mime@qedeq.org>.
4    *
5    * "Hilbert II" is free software; you can redistribute
6    * it and/or modify it under the terms of the GNU General Public
7    * License as published by the Free Software Foundation; either
8    * version 2 of the License, or (at your option) any later version.
9    *
10    * This program is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13    * GNU General Public License for more details.
14    */
15   
16    package org.qedeq.kernel.xml.handler.module;
17   
18    import org.qedeq.kernel.se.dto.module.ImportListVo;
19    import org.qedeq.kernel.se.dto.module.ImportVo;
20    import org.qedeq.kernel.xml.common.XmlSyntaxException;
21    import org.qedeq.kernel.xml.handler.common.AbstractSimpleHandler;
22    import org.qedeq.kernel.xml.handler.common.SimpleAttributes;
23   
24   
25    /**
26    * Parse author list.
27    *
28    * @version $Revision: 1.1 $
29    * @author Michael Meyling
30    */
 
31    public class ImportListHandler extends AbstractSimpleHandler {
32   
33    /** Value object with list of all module imports. */
34    private ImportListVo list;
35   
36    /** Handler for a single module specification. */
37    private final SpecificationHandler specificationHandler;
38   
39    /** Label for a single module. */
40    private String label;
41   
42   
43    /**
44    * Handles list of imports.
45    *
46    * @param handler Parent handler.
47    */
 
48  680 toggle public ImportListHandler(final AbstractSimpleHandler handler) {
49  680 super(handler, "IMPORTS");
50  680 specificationHandler = new SpecificationHandler(this);
51    }
52   
 
53  409 toggle public final void init() {
54  409 list = null;
55    }
56   
57    /**
58    * Get parsed result.
59    *
60    * @return Location list.
61    */
 
62  409 toggle public final ImportListVo getImportList() {
63  409 return list;
64    }
65   
 
66  1487 toggle public final void startElement(final String name, final SimpleAttributes attributes)
67    throws XmlSyntaxException {
68  1487 if (getStartTag().equals(name)) {
69  409 list = new ImportListVo();
70  1078 } else if ("IMPORT".equals(name)) {
71  539 label = attributes.getString("label");
72  539 } else if (specificationHandler.getStartTag().equals(name)) {
73  539 changeHandler(specificationHandler, name, attributes);
74    } else {
75  0 throw XmlSyntaxException.createUnexpectedTagException(name);
76    }
77    }
78   
 
79  1487 toggle public final void endElement(final String name) throws XmlSyntaxException {
80  1487 if (getStartTag().equals(name)) {
81    // nothing to do
82  1078 } else if (specificationHandler.getStartTag().equals(name)) {
83    // nothing to do
84  539 } else if ("IMPORT".equals(name)) {
85  539 list.add(new ImportVo(label, specificationHandler.getSpecification()));
86    } else {
87  0 throw XmlSyntaxException.createUnexpectedTagException(name);
88    }
89    }
90    }