Clover coverage report - QedeqKernelSe Coverage Report
Coverage timestamp: Sa Dez 22 2007 01:35:21 CET
file stats: LOC: 153   Methods: 5
NCLOC: 88   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
NodeHandler.java 95% 96,4% 100% 96%
coverage coverage
 1    /* $Id: NodeHandler.java,v 1.15 2007/12/21 23:33:46 m31 Exp $
 2    *
 3    * This file is part of the project "Hilbert II" - http://www.qedeq.org
 4    *
 5    * Copyright 2000-2007, Michael Meyling <mime@qedeq.org>.
 6    *
 7    * "Hilbert II" is free software; you can redistribute
 8    * it and/or modify it under the terms of the GNU General Public
 9    * License as published by the Free Software Foundation; either
 10    * version 2 of the License, or (at your option) any later version.
 11    *
 12    * This program is distributed in the hope that it will be useful,
 13    * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 15    * GNU General Public License for more details.
 16    */
 17   
 18    package org.qedeq.kernel.xml.handler.module;
 19   
 20    import org.qedeq.kernel.base.module.Node;
 21    import org.qedeq.kernel.dto.module.NodeVo;
 22    import org.qedeq.kernel.xml.common.XmlSyntaxException;
 23    import org.qedeq.kernel.xml.parser.AbstractSimpleHandler;
 24    import org.qedeq.kernel.xml.parser.SimpleAttributes;
 25   
 26   
 27    /**
 28    * Handles node data.
 29    *
 30    * @version $Revision: 1.15 $
 31    * @author Michael Meyling
 32    */
 33    public class NodeHandler extends AbstractSimpleHandler {
 34   
 35    /** Handler for node name. The node name is a visible, language specific node reference,
 36    * e.g. "Axiom of Choice" or "is set". */
 37    private final LatexListHandler nameHandler;
 38   
 39    /** Handler for title. This is simply the title of this subsection. */
 40    private final LatexListHandler titleHandler;
 41   
 42    /** Handler for the formula preceding text. */
 43    private final LatexListHandler precedingHandler;
 44   
 45    /** Handler for the formula succeeding text. */
 46    private final LatexListHandler succeedingHandler;
 47   
 48    /** Handler for an axiom. */
 49    private final AxiomHandler axiomHandler;
 50   
 51    /** Handler for a predicate definition. */
 52    private final PredicateDefinitionHandler predicateDefinitionHandler;
 53   
 54    /** Handler for a function definition. */
 55    private final FunctionDefinitionHandler functionDefinitionHandler;
 56   
 57    /** Handler for a proposition. */
 58    private final PropositionHandler propositionHandler;
 59   
 60    /** Handler for a rule. */
 61    private final RuleHandler ruleHandler;
 62   
 63    /** Node value object. */
 64    private NodeVo node;
 65   
 66   
 67    /**
 68    * Constructor.
 69    *
 70    * @param handler Parent handler.
 71    */
 72  490 public NodeHandler(final AbstractSimpleHandler handler) {
 73  490 super(handler, "NODE");
 74  490 nameHandler = new LatexListHandler(this, "NAME");
 75  490 titleHandler = new LatexListHandler(this, "TITLE");
 76  490 precedingHandler = new LatexListHandler(this, "PRECEDING");
 77  490 succeedingHandler = new LatexListHandler(this, "SUCCEEDING");
 78  490 axiomHandler = new AxiomHandler(this);
 79  490 predicateDefinitionHandler = new PredicateDefinitionHandler(this);
 80  490 functionDefinitionHandler = new FunctionDefinitionHandler(this);
 81  490 propositionHandler = new PropositionHandler(this);
 82  490 ruleHandler = new RuleHandler(this);
 83    }
 84   
 85  1589 public final void init() {
 86  1589 node = null;
 87    }
 88   
 89    /**
 90    * Get node.
 91    *
 92    * @return Node.
 93    */
 94  1589 public final Node getNode() {
 95  1589 return node;
 96    }
 97   
 98  6834 public final void startElement(final String name, final SimpleAttributes attributes)
 99    throws XmlSyntaxException {
 100  6834 if (getStartTag().equals(name)) {
 101  1589 node = new NodeVo();
 102  1589 node.setId(attributes.getString("id"));
 103  1589 node.setLevel(attributes.getString("level"));
 104  5245 } else if (nameHandler.getStartTag().equals(name)) {
 105  895 changeHandler(nameHandler, name, attributes);
 106  4350 } else if (titleHandler.getStartTag().equals(name)) {
 107  891 changeHandler(titleHandler, name, attributes);
 108  3459 } else if (precedingHandler.getStartTag().equals(name)) {
 109  1480 changeHandler(precedingHandler, name, attributes);
 110  1979 } else if (succeedingHandler.getStartTag().equals(name)) {
 111  390 changeHandler(succeedingHandler, name, attributes);
 112  1589 } else if (axiomHandler.getStartTag().equals(name)) {
 113  296 changeHandler(axiomHandler, name, attributes);
 114  1293 } else if (predicateDefinitionHandler.getStartTag().equals(name)) {
 115  268 changeHandler(predicateDefinitionHandler, name, attributes);
 116  1025 } else if (functionDefinitionHandler.getStartTag().equals(name)) {
 117  192 changeHandler(functionDefinitionHandler, name, attributes);
 118  833 } else if (propositionHandler.getStartTag().equals(name)) {
 119  723 changeHandler(propositionHandler, name, attributes);
 120  110 } else if (ruleHandler.getStartTag().equals(name)) {
 121  110 changeHandler(ruleHandler, name, attributes);
 122    } else {
 123  0 throw XmlSyntaxException.createUnexpectedTagException(name);
 124    }
 125    }
 126   
 127  6834 public void endElement(final String name) throws XmlSyntaxException {
 128  6834 if (getStartTag().equals(name)) {
 129    // thats why we handle it
 130  5245 } else if (nameHandler.getStartTag().equals(name)) {
 131  895 node.setName(nameHandler.getLatexList());
 132  4350 } else if (titleHandler.getStartTag().equals(name)) {
 133  891 node.setTitle(titleHandler.getLatexList());
 134  3459 } else if (precedingHandler.getStartTag().equals(name)) {
 135  1480 node.setPrecedingText(precedingHandler.getLatexList());
 136  1979 } else if (succeedingHandler.getStartTag().equals(name)) {
 137  390 node.setSucceedingText(succeedingHandler.getLatexList());
 138  1589 } else if (axiomHandler.getStartTag().equals(name)) {
 139  296 node.setNodeType(axiomHandler.getAxiom());
 140  1293 } else if (predicateDefinitionHandler.getStartTag().equals(name)) {
 141  268 node.setNodeType(predicateDefinitionHandler.getDefinition());
 142  1025 } else if (functionDefinitionHandler.getStartTag().equals(name)) {
 143  192 node.setNodeType(functionDefinitionHandler.getDefinition());
 144  833 } else if (propositionHandler.getStartTag().equals(name)) {
 145  723 node.setNodeType(propositionHandler.getProposition());
 146  110 } else if (ruleHandler.getStartTag().equals(name)) {
 147  110 node.setNodeType(ruleHandler.getRule());
 148    } else {
 149  0 throw XmlSyntaxException.createUnexpectedTagException(name);
 150    }
 151    }
 152   
 153    }