1
2
3
4
5
6
7
8 package com.soebes.maven.plugins.mlv.model.io.xpp3;
9
10
11
12
13
14 import com.soebes.maven.plugins.mlv.model.LicenseItem;
15 import com.soebes.maven.plugins.mlv.model.LicensesContainer;
16 import com.soebes.maven.plugins.mlv.model.LicensesList;
17 import java.io.OutputStream;
18 import java.io.Writer;
19 import java.text.DateFormat;
20 import java.util.Iterator;
21 import java.util.Locale;
22 import org.codehaus.plexus.util.xml.pull.MXSerializer;
23 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
24
25
26
27
28
29
30 @SuppressWarnings( "all" )
31 public class LicensesXpp3Writer
32 {
33
34
35
36
37
38
39
40
41 private static final String NAMESPACE = null;
42
43
44
45
46
47
48
49
50
51
52
53
54
55 public void write( Writer writer, LicensesContainer licensesContainer )
56 throws java.io.IOException
57 {
58 XmlSerializer serializer = new MXSerializer();
59 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
60 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
61 serializer.setOutput( writer );
62 serializer.startDocument( licensesContainer.getModelEncoding(), null );
63 writeLicensesContainer( licensesContainer, "licenses", serializer );
64 serializer.endDocument();
65 }
66
67
68
69
70
71
72
73
74 public void write( OutputStream stream, LicensesContainer licensesContainer )
75 throws java.io.IOException
76 {
77 XmlSerializer serializer = new MXSerializer();
78 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
79 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
80 serializer.setOutput( stream, licensesContainer.getModelEncoding() );
81 serializer.startDocument( licensesContainer.getModelEncoding(), null );
82 writeLicensesContainer( licensesContainer, "licenses", serializer );
83 serializer.endDocument();
84 }
85
86
87
88
89
90
91
92
93
94 private void writeLicenseItem( LicenseItem licenseItem, String tagName, XmlSerializer serializer )
95 throws java.io.IOException
96 {
97 serializer.startTag( NAMESPACE, tagName );
98 if ( licenseItem.getId() != null )
99 {
100 serializer.startTag( NAMESPACE, "id" ).text( licenseItem.getId() ).endTag( NAMESPACE, "id" );
101 }
102 if ( licenseItem.getDescription() != null )
103 {
104 serializer.startTag( NAMESPACE, "description" ).text( licenseItem.getDescription() ).endTag( NAMESPACE, "description" );
105 }
106 if ( ( licenseItem.getNames() != null ) && ( licenseItem.getNames().size() > 0 ) )
107 {
108 serializer.startTag( NAMESPACE, "names" );
109 for ( Iterator iter = licenseItem.getNames().iterator(); iter.hasNext(); )
110 {
111 String name = (String) iter.next();
112 serializer.startTag( NAMESPACE, "name" ).text( name ).endTag( NAMESPACE, "name" );
113 }
114 serializer.endTag( NAMESPACE, "names" );
115 }
116 if ( ( licenseItem.getUrls() != null ) && ( licenseItem.getUrls().size() > 0 ) )
117 {
118 serializer.startTag( NAMESPACE, "urls" );
119 for ( Iterator iter = licenseItem.getUrls().iterator(); iter.hasNext(); )
120 {
121 String url = (String) iter.next();
122 serializer.startTag( NAMESPACE, "url" ).text( url ).endTag( NAMESPACE, "url" );
123 }
124 serializer.endTag( NAMESPACE, "urls" );
125 }
126 serializer.endTag( NAMESPACE, tagName );
127 }
128
129
130
131
132
133
134
135
136
137 private void writeLicensesContainer( LicensesContainer licensesContainer, String tagName, XmlSerializer serializer )
138 throws java.io.IOException
139 {
140 serializer.startTag( NAMESPACE, tagName );
141 if ( licensesContainer.getValid() != null )
142 {
143 writeLicensesList( (LicensesList) licensesContainer.getValid(), "valid", serializer );
144 }
145 if ( licensesContainer.getInvalid() != null )
146 {
147 writeLicensesList( (LicensesList) licensesContainer.getInvalid(), "invalid", serializer );
148 }
149 if ( licensesContainer.getWarning() != null )
150 {
151 writeLicensesList( (LicensesList) licensesContainer.getWarning(), "warning", serializer );
152 }
153 serializer.endTag( NAMESPACE, tagName );
154 }
155
156
157
158
159
160
161
162
163
164 private void writeLicensesList( LicensesList licensesList, String tagName, XmlSerializer serializer )
165 throws java.io.IOException
166 {
167 serializer.startTag( NAMESPACE, tagName );
168 if ( ( licensesList.getLicenses() != null ) && ( licensesList.getLicenses().size() > 0 ) )
169 {
170 for ( Iterator iter = licensesList.getLicenses().iterator(); iter.hasNext(); )
171 {
172 LicenseItem o = (LicenseItem) iter.next();
173 writeLicenseItem( o, "license", serializer );
174 }
175 }
176 serializer.endTag( NAMESPACE, tagName );
177 }
178
179 }