1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.any23.validator.rule;
19
20 import org.apache.any23.validator.DOMDocument;
21 import org.apache.any23.validator.Fix;
22 import org.apache.any23.validator.Rule;
23 import org.apache.any23.validator.RuleContext;
24 import org.w3c.dom.Node;
25
26 import java.util.List;
27
28
29
30
31
32
33
34
35
36 public class MetaNameMisuseFix implements Fix {
37
38 @Override
39 public String getHRName() {
40 return "meta-name-misuse-fix";
41 }
42
43 @Override
44 @SuppressWarnings("unchecked")
45 public void execute(Rule rule, @SuppressWarnings("rawtypes") RuleContext context, DOMDocument document) {
46 List<Node> nodes = (List<Node>) context.getData(MetaNameMisuseRule.ERRORED_META_NODES);
47 for (Node node : nodes) {
48 final String nameValue = node.getAttributes().getNamedItem("name").getTextContent();
49 node.getAttributes().removeNamedItem("name");
50 Node propertyNode = document.getOriginalDocument().createAttribute("property");
51 propertyNode.setNodeValue(nameValue);
52 node.getAttributes().setNamedItem(propertyNode);
53 }
54 }
55
56 }