1. Project Clover database Tue Dec 20 2016 21:24:09 CET
  2. Package org.xwiki.rendering.xdomxml10.internal.parser

File MetaDataBlockParser.java

 

Coverage histogram

../../../../../../img/srcFileCovDistChart8.png
54% of files have more coverage

Code metrics

6
8
5
1
82
53
8
1
1.6
5
1.6

Classes

Class Line # Actions
MetaDataBlockParser 40 8 0% 8 4
0.789473778.9%
 

Contributing tests

This file is covered by 2 tests. .

Source view

1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software 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 GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.rendering.xdomxml10.internal.parser;
21   
22    import java.util.HashSet;
23    import java.util.Set;
24   
25    import javax.inject.Inject;
26    import javax.inject.Named;
27   
28    import org.xml.sax.Attributes;
29    import org.xml.sax.SAXException;
30    import org.xwiki.component.annotation.Component;
31    import org.xwiki.component.annotation.InstantiationStrategy;
32    import org.xwiki.component.descriptor.ComponentInstantiationStrategy;
33    import org.xwiki.properties.ConverterManager;
34    import org.xwiki.rendering.listener.MetaData;
35    import org.xwiki.rendering.xdomxml10.internal.parser.parameter.MetaDataParser;
36   
37    @Component
38    @Named("metadata")
39    @InstantiationStrategy(ComponentInstantiationStrategy.PER_LOOKUP)
 
40    public class MetaDataBlockParser extends DefaultBlockParser
41    {
42    private static final Set<String> NAMES = new HashSet<String>()
43    {
 
44  1 toggle {
45  1 add("metaData");
46    }
47    };
48   
49    @Inject
50    protected ConverterManager converter;
51   
52    protected MetaDataParser metaDataParser;
53   
 
54  4 toggle public MetaDataBlockParser()
55    {
56  4 super(NAMES);
57    }
58   
 
59  4 toggle @Override
60    protected void startElementInternal(String uri, String localName, String qName, Attributes attributes)
61    throws SAXException
62    {
63  4 if (qName.equals("metaData")) {
64  4 this.metaDataParser = new MetaDataParser(this.converter);
65  4 setCurrentHandler(this.metaDataParser);
66    } else {
67  0 super.startElementInternal(uri, localName, qName, attributes);
68    }
69    }
70   
 
71  2 toggle @Override
72    protected void beginBlock() throws SAXException
73    {
74  2 getListener().beginMetaData(this.metaDataParser != null ? this.metaDataParser.getValue() : MetaData.EMPTY);
75    }
76   
 
77  2 toggle @Override
78    protected void endBlock() throws SAXException
79    {
80  2 getListener().endMetaData(this.metaDataParser != null ? this.metaDataParser.getValue() : MetaData.EMPTY);
81    }
82    }