18
18
*/
19
19
package org .apache .maven .artifact .repository .metadata ;
20
20
21
+ import javax .xml .stream .XMLStreamException ;
22
+
21
23
import java .io .File ;
22
24
import java .io .IOException ;
23
- import java .io .Reader ;
24
- import java .io .Writer ;
25
+ import java .io .InputStream ;
26
+ import java .io .OutputStream ;
27
+ import java .nio .file .Files ;
25
28
26
29
import org .apache .maven .artifact .Artifact ;
27
30
import org .apache .maven .artifact .metadata .ArtifactMetadata ;
28
31
import org .apache .maven .artifact .repository .ArtifactRepository ;
29
32
import org .apache .maven .artifact .repository .ArtifactRepositoryPolicy ;
30
- import org .apache .maven .artifact .repository .metadata .io .xpp3 .MetadataXpp3Reader ;
31
- import org .apache .maven .artifact .repository .metadata .io .xpp3 .MetadataXpp3Writer ;
32
- import org .codehaus .plexus .util .ReaderFactory ;
33
- import org .codehaus .plexus .util .WriterFactory ;
34
- import org .codehaus .plexus .util .xml .pull .XmlPullParserException ;
33
+ import org .apache .maven .artifact .repository .metadata .io .MetadataStaxReader ;
34
+ import org .apache .maven .artifact .repository .metadata .io .MetadataStaxWriter ;
35
35
36
36
/**
37
37
* Shared methods of the repository metadata handling.
@@ -59,15 +59,13 @@ public void storeInLocalRepository(ArtifactRepository localRepository, ArtifactR
59
59
throws RepositoryMetadataStoreException {
60
60
try {
61
61
updateRepositoryMetadata (localRepository , remoteRepository );
62
- } catch (IOException | XmlPullParserException e ) {
62
+ } catch (IOException | XMLStreamException e ) {
63
63
throw new RepositoryMetadataStoreException ("Error updating group repository metadata" , e );
64
64
}
65
65
}
66
66
67
67
protected void updateRepositoryMetadata (ArtifactRepository localRepository , ArtifactRepository remoteRepository )
68
- throws IOException , XmlPullParserException {
69
- MetadataXpp3Reader mappingReader = new MetadataXpp3Reader ();
70
-
68
+ throws IOException , XMLStreamException {
71
69
Metadata metadata = null ;
72
70
73
71
File metadataFile = new File (
@@ -85,8 +83,8 @@ protected void updateRepositoryMetadata(ArtifactRepository localRepository, Arti
85
83
// to delete on exit
86
84
}
87
85
} else if (metadataFile .exists ()) {
88
- try (Reader reader = ReaderFactory . newXmlReader (metadataFile )) {
89
- metadata = mappingReader .read (reader , false );
86
+ try (InputStream input = Files . newInputStream (metadataFile . toPath () )) {
87
+ metadata = new Metadata ( new MetadataStaxReader () .read (input , false ) );
90
88
}
91
89
}
92
90
@@ -110,10 +108,9 @@ protected void updateRepositoryMetadata(ArtifactRepository localRepository, Arti
110
108
111
109
if (changed || !metadataFile .exists ()) {
112
110
metadataFile .getParentFile ().mkdirs ();
113
- try (Writer writer = WriterFactory .newXmlWriter (metadataFile )) {
114
- MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer ();
115
-
116
- mappingWriter .write (writer , metadata );
111
+ try (OutputStream output = Files .newOutputStream (metadataFile .toPath ())) {
112
+ MetadataStaxWriter mappingWriter = new MetadataStaxWriter ();
113
+ mappingWriter .write (output , metadata .getDelegate ());
117
114
}
118
115
} else {
119
116
metadataFile .setLastModified (System .currentTimeMillis ());
0 commit comments