1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.model.transform;
20
21 import java.io.IOException;
22 import java.util.stream.Stream;
23
24 import org.apache.maven.model.transform.pull.BufferingParser;
25 import org.codehaus.plexus.util.xml.pull.XmlPullParser;
26 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
27
28
29
30
31
32
33
34 class RootXMLFilter extends BufferingParser {
35 RootXMLFilter(XmlPullParser xmlPullParser) {
36 super(xmlPullParser);
37 }
38
39 @Override
40 protected boolean accept() throws XmlPullParserException, IOException {
41 if (xmlPullParser.getEventType() == XmlPullParser.START_TAG) {
42 if (xmlPullParser.getDepth() == 1 && "project".equals(xmlPullParser.getName())) {
43 Event event = bufferEvent();
44 event.attributes = Stream.of(event.attributes)
45 .filter(a -> !"root".equals(a.name))
46 .toArray(Attribute[]::new);
47 pushEvent(event);
48 return false;
49 }
50 }
51 return true;
52 }
53 }