1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
package org.xwiki.wysiwyg.server.internal.cleaner; |
21 |
|
|
22 |
|
import java.util.ArrayList; |
23 |
|
import java.util.List; |
24 |
|
import java.util.Map; |
25 |
|
|
26 |
|
import javax.inject.Named; |
27 |
|
import javax.inject.Singleton; |
28 |
|
|
29 |
|
import org.w3c.dom.Document; |
30 |
|
import org.w3c.dom.Element; |
31 |
|
import org.w3c.dom.NodeList; |
32 |
|
import org.xwiki.component.annotation.Component; |
33 |
|
|
34 |
|
|
35 |
|
|
36 |
|
|
37 |
|
|
38 |
|
@version |
39 |
|
|
40 |
|
@Component(roles = {HTMLFilter.class }) |
41 |
|
@Named("emptyLine") |
42 |
|
@Singleton |
|
|
| 61.1% |
Uncovered Elements: 7 (18) |
Complexity: 4 |
Complexity Density: 0.36 |
|
43 |
|
public class EmptyLineFilter extends AbstractHTMLFilter |
44 |
|
{ |
|
|
| 58.8% |
Uncovered Elements: 7 (17) |
Complexity: 4 |
Complexity Density: 0.36 |
|
45 |
13 |
@Override... |
46 |
|
public void filter(Document document, Map<String, String> parameters) |
47 |
|
{ |
48 |
13 |
NodeList paragraphs = document.getElementsByTagName("p"); |
49 |
13 |
List<Element> emptyParagraphs = new ArrayList<Element>(); |
50 |
16 |
for (int i = 0; i < paragraphs.getLength(); i++) { |
51 |
3 |
Element paragraph = (Element) paragraphs.item(i); |
52 |
3 |
if (!paragraph.hasChildNodes()) { |
53 |
0 |
emptyParagraphs.add(paragraph); |
54 |
|
} |
55 |
|
} |
56 |
13 |
for (int i = 0; i < emptyParagraphs.size(); i++) { |
57 |
0 |
Element div = document.createElement("div"); |
58 |
0 |
div.setAttribute("class", "wikimodel-emptyline"); |
59 |
0 |
Element paragraph = emptyParagraphs.get(i); |
60 |
0 |
paragraph.getParentNode().replaceChild(div, paragraph); |
61 |
|
} |
62 |
|
} |
63 |
|
} |