Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | 22-May-2021 | - | ||||
Handler.cxx | H A D | 22-May-2021 | 7.4 KiB | 345 | 253 | |
Handler.hxx | H A D | 22-May-2021 | 3.9 KiB | 142 | 99 | |
OOXMLBinaryObjectReference.cxx | H A D | 22-May-2021 | 2.2 KiB | 83 | 46 | |
OOXMLBinaryObjectReference.hxx | H A D | 22-May-2021 | 1.6 KiB | 52 | 22 | |
OOXMLDocumentImpl.cxx | H A D | 22-May-2021 | 12.1 KiB | 425 | 329 | |
OOXMLDocumentImpl.hxx | H A D | 22-May-2021 | 4.2 KiB | 129 | 79 | |
OOXMLFactory.cxx | H A D | 22-May-2021 | 10.9 KiB | 363 | 274 | |
OOXMLFactory.hxx | H A D | 22-May-2021 | 5.4 KiB | 176 | 118 | |
OOXMLFastContextHandler.cxx | H A D | 22-May-2021 | 60.5 KiB | 2,313 | 1,877 | |
OOXMLFastContextHandler.hxx | H A D | 22-May-2021 | 20.1 KiB | 638 | 442 | |
OOXMLFastDocumentHandler.cxx | H A D | 22-May-2021 | 6.3 KiB | 230 | 182 | |
OOXMLFastDocumentHandler.hxx | H A D | 22-May-2021 | 4.2 KiB | 112 | 74 | |
OOXMLFastHelper.hxx | H A D | 22-May-2021 | 7.6 KiB | 251 | 177 | |
OOXMLFastTokenHandler.cxx | H A D | 22-May-2021 | 3.7 KiB | 128 | 81 | |
OOXMLFastTokenHandler.hxx | H A D | 22-May-2021 | 2.3 KiB | 62 | 28 | |
OOXMLParserState.cxx | H A D | 22-May-2021 | 6.8 KiB | 316 | 237 | |
OOXMLParserState.hxx | H A D | 22-May-2021 | 3.3 KiB | 116 | 71 | |
OOXMLPropertySet.hxx | H A D | 22-May-2021 | 2.4 KiB | 79 | 43 | |
OOXMLPropertySetImpl.cxx | H A D | 22-May-2021 | 15.4 KiB | 794 | 570 | |
OOXMLPropertySetImpl.hxx | H A D | 22-May-2021 | 7.7 KiB | 286 | 218 | |
OOXMLStreamImpl.cxx | H A D | 22-May-2021 | 10.3 KiB | 314 | 243 | |
OOXMLStreamImpl.hxx | H A D | 22-May-2021 | 3.1 KiB | 88 | 52 | |
README.efforts | H A D | 22-May-2021 | 5.3 KiB | 152 | 107 | |
RefAndPointer.hxx | H A D | 22-May-2021 | 3.1 KiB | 116 | 77 | |
analyzemodel.xsl | H A D | 22-May-2021 | 4.5 KiB | 124 | 97 | |
analyzestage2.xsl | H A D | 22-May-2021 | 1.9 KiB | 52 | 29 | |
analyzestage3.xsl | H A D | 22-May-2021 | 2.2 KiB | 60 | 35 | |
attrsprm.xsl | H A D | 22-May-2021 | 5.5 KiB | 162 | 135 | |
checkmodel.xsl | H A D | 22-May-2021 | 6.2 KiB | 160 | 130 | |
dummyannotate.xsl | H A D | 22-May-2021 | 44 KiB | 839 | 805 | |
effort.xsl | H A D | 22-May-2021 | 2.4 KiB | 66 | 41 | |
efforts.sh | H A D | 22-May-2021 | 1 KiB | 24 | 1 | |
factory.xsl | H A D | 22-May-2021 | 3.2 KiB | 77 | 52 | |
factory_ns.xsl | H A D | 22-May-2021 | 5.7 KiB | 152 | 117 | |
factory_values.xsl | H A D | 22-May-2021 | 3.7 KiB | 88 | 60 | |
factoryimpl.xsl | H A D | 22-May-2021 | 12.2 KiB | 380 | 313 | |
factoryimpl_ns.xsl | H A D | 22-May-2021 | 31.2 KiB | 933 | 845 | |
factoryimpl_values.xsl | H A D | 22-May-2021 | 3.7 KiB | 86 | 59 | |
factoryinc.xsl | H A D | 22-May-2021 | 3.8 KiB | 100 | 71 | |
factorytools.xsl | H A D | 22-May-2021 | 9.8 KiB | 333 | 206 | |
fasttokens.xsl | H A D | 22-May-2021 | 4 KiB | 107 | 75 | |
gperffasttokenhandler.xsl | H A D | 22-May-2021 | 3.7 KiB | 89 | 59 | |
makefile.mk | H A D | 22-May-2021 | 7.5 KiB | 248 | 169 | |
model.xml | H A D | 22-May-2021 | 908.6 KiB | 23,546 | 21,744 | |
modelcleanup | H A D | 22-May-2021 | 1 KiB | 25 | 2 | |
modelcleanup.xsl | H A D | 22-May-2021 | 12.4 KiB | 317 | 279 | |
modelpreprocess.xsl | H A D | 22-May-2021 | 8.2 KiB | 219 | 185 | |
namespaceids.xsl | H A D | 22-May-2021 | 3.7 KiB | 97 | 66 | |
nostatus.xsl | H A D | 22-May-2021 | 1.4 KiB | 40 | 17 | |
ooxmlLoggers.hxx | H A D | 22-May-2021 | 1.2 KiB | 38 | 11 | |
qnametostr.xsl | H A D | 22-May-2021 | 4.7 KiB | 125 | 95 | |
resourceids.xsl | H A D | 22-May-2021 | 3.8 KiB | 98 | 67 | |
rngtocxx | H A D | 22-May-2021 | 4 KiB | 54 | 31 | |
status.sh | H A D | 22-May-2021 | 1.6 KiB | 45 | 18 | |
todo.xsl | H A D | 22-May-2021 | 1.9 KiB | 49 | 25 | |
tokenxmlfooter | H A D | 22-May-2021 | 9 | 2 | 1 | |
tokenxmlheader | H A D | 22-May-2021 | 8 | 2 | 1 |
README.efforts
1 # ************************************************************* 2 # 3 # Licensed to the Apache Software Foundation (ASF) under one 4 # or more contributor license agreements. See the NOTICE file 5 # distributed with this work for additional information 6 # regarding copyright ownership. The ASF licenses this file 7 # to you under the Apache License, Version 2.0 (the 8 # "License"); you may not use this file except in compliance 9 # with the License. You may obtain a copy of the License at 10 # 11 # http://www.apache.org/licenses/LICENSE-2.0 12 # 13 # Unless required by applicable law or agreed to in writing, 14 # software distributed under the License is distributed on an 15 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 # KIND, either express or implied. See the License for the 17 # specific language governing permissions and limitations 18 # under the License. 19 # 20 # ************************************************************* 21 This file describes how the remaining efforts for writerfilter can be 22 extracted from the source code. 23 24 1. Marking up the efforts in the code. 25 26 Efforts are marked up in the code with comments like this: 27 28 /* WRITERFILTERSTATUS: done: <percent done>, planned: <effort planned>, spent: <effort spent, yet> */ 29 30 The comments have to follow a case-label immediately. Consecutive 31 case-labels can be marked up, too. In the latter case the efforts are 32 counted for the preceeding case-labels as a whole. 33 34 2. Extraction process 35 36 2.1. Stage 1: 37 38 This stage is handled in status.sh. An XML-file is generated that 39 contains a top level element <stage1>. <stage1> contains an element 40 <analyze> and several <qname> and <status> elements. 41 42 2.1.1. Use analyzemodel.xsl to extract necessary data from model.xml. 43 44 - Namespaces can be flagged with attribute @todo="ignore" to prevent 45 the namespace being considered. 46 47 - For every <element>/<attribute> an entry in an according element in <analyze> is genereated. These elements look like this: 48 49 <attribute id="..." resource="..." tokenid="..." qname="..." namespace="..." define="..." name="..."/> 50 51 Important for the extraction of efforts: @qname is the identifier used 52 in case-labels in .cxx files and thus links the status mark up 53 comments with elements/attributes in the model.xml. 54 55 2.1.2. Extract status information 56 57 The variable SEARCHIN in status.sh determines in what directory the script will search for case labels and status comments. Only .cxx files are searched. Lines like this 58 59 case NS_rtf::LN_UNUSED4: 60 61 result in elements like this 62 63 <qname file="/DomainMapper.cxx" line="216" qname="NS_rtf::LN_UNUSED4"/>. 64 65 Lines like this 66 67 /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ 68 69 result in elements like this 70 71 <status done="0" planned="0" spent="0"/> 72 73 The <qname> and <status> elements are children of the <stage1> 74 element. The are inserted in the same order as found in the 75 code. Therefore a <status> element corresponds to the group of 76 consecutive preceding <qname> elements. 77 78 2.2. Stage 2 79 80 In this stage analyzestage2.xsl is used on the result of stage 1 to 81 group the <qname> and <status> elements from stage 1. For each 82 <status> element a <qnames> element is generated that contains the 83 <qname> elements that the <status> element refers to, plus the 84 <status> element. 85 86 2.3. Stage 3 87 88 This stage associates the <attribute> and <element> elements in 89 model.xml with the extracted data. It uses analyzestage3.xsl on the 90 result of stage 2 to do this. 91 92 E.g. for given elements from stage 2: 93 94 <attribute 95 id="dml-wordprocessingDrawing:CT_Inline:distR" 96 resource="Properties" 97 tokenid="ooxml:CT_Inline_distR" 98 qname="NS_ooxml::LN_CT_Inline_distR" 99 namespace="dml-wordprocessingDrawing" 100 define="CT_Inline" 101 name="distR"/> 102 103 and 104 105 <qnames> 106 <qname file="/GraphicImport.cxx" line="1078" qname="NS_ooxml::LN_CT_Inline_distT"/> 107 <qname file="/GraphicImport.cxx" line="1079" qname="NS_ooxml::LN_CT_Inline_distB"/> 108 <qname file="/GraphicImport.cxx" line="1080" qname="NS_ooxml::LN_CT_Inline_distL"/> 109 <qname file="/GraphicImport.cxx" line="1081" qname="NS_ooxml::LN_CT_Inline_distR"/> 110 <status done="0" planned="0.5" spent="0"/> 111 </qnames> 112 113 the result of stage 3 will be 114 115 <attribute 116 id="dml-wordprocessingDrawing:CT_Inline:distR" 117 resource="Properties" 118 tokenid="ooxml:CT_Inline_distR" 119 qname="NS_ooxml::LN_CT_Inline_distR" 120 namespace="dml-wordprocessingDrawing" 121 define="CT_Inline" name="distR"> 122 123 <file name="/GraphicImport.cxx" line="1081"> 124 <status done="0" planned="0.5" spent="0" qname-count="4"/> 125 </file> 126 127 </attribute> 128 129 @qname-count is the number of case-labels that the according mark-up comment refers to. 130 131 3. Collect efforts 132 133 This is done by the script efforts.sh. It uses status.sh to extract the status and determines the efforts in two steps. 134 135 3.1. Choose which <attribute>/<element> elements need effort 136 137 This stage uses todo.xsl on the result of 2.3. 138 139 There are two criteria that imply effort: 140 141 - The <attribute>/<element> is not handled in any file. 142 143 - The status for the <attribute>/<element> declares that work is 144 planned for it and less than 100 percent of this work is done. 145 146 3.2. Generate table of efforts in CSV format 147 148 This stage uses effort.xsl on the results of 3.1. and produces the 149 table of efforts. If there is no status defined for an 150 <attribute>/<element> it is assumed that the planned effort is 0.5 151 hours and no work has been done. 152