This project has retired. For details please refer to its Attic page.
RbacJdoModelStaxWriter xref
View Javadoc

1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 1.7,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.apache.archiva.redback.rbac.jdo.io.stax;
7   
8     //---------------------------------/
9    //- Imported classes and packages -/
10  //---------------------------------/
11  
12  import java.io.IOException;
13  import java.io.OutputStream;
14  import java.io.StringWriter;
15  import java.io.Writer;
16  import java.text.DateFormat;
17  import java.util.Iterator;
18  import java.util.Locale;
19  import java.util.jar.Manifest;
20  import javax.xml.stream.*;
21  import org.apache.archiva.redback.rbac.jdo.JdoOperation;
22  import org.apache.archiva.redback.rbac.jdo.JdoPermission;
23  import org.apache.archiva.redback.rbac.jdo.JdoResource;
24  import org.apache.archiva.redback.rbac.jdo.JdoRole;
25  import org.apache.archiva.redback.rbac.jdo.JdoUserAssignment;
26  import org.apache.archiva.redback.rbac.jdo.RbacDatabase;
27  
28  /**
29   * Class RbacJdoModelStaxWriter.
30   * 
31   * @version $Revision$ $Date$
32   */
33  public class RbacJdoModelStaxWriter
34  {
35  
36        //--------------------------/
37       //- Class/Member Variables -/
38      //--------------------------/
39  
40      /**
41       * Field curId.
42       */
43      private int curId;
44  
45      /**
46       * Field idMap.
47       */
48      private java.util.Map idMap;
49  
50  
51        //----------------/
52       //- Constructors -/
53      //----------------/
54  
55      public RbacJdoModelStaxWriter()
56      {
57          idMap = new java.util.HashMap();
58      } //-- org.apache.archiva.redback.rbac.jdo.io.stax.RbacJdoModelStaxWriter()
59  
60  
61        //-----------/
62       //- Methods -/
63      //-----------/
64  
65      /**
66       * Method write.
67       * 
68       * @param writer
69       * @param rbacDatabase
70       * @throws java.io.IOException
71       * @throws XMLStreamException
72       */
73      public void write( Writer writer, RbacDatabase rbacDatabase )
74          throws java.io.IOException, XMLStreamException
75      {
76          XMLOutputFactory factory = XMLOutputFactory.newInstance();
77          boolean supportWindowsLineEndings = false;
78          if ( factory.isPropertySupported( "com.ctc.wstx.outputEscapeCr" ) )
79          {
80              factory.setProperty( "com.ctc.wstx.outputEscapeCr", Boolean.FALSE );
81              supportWindowsLineEndings = true;
82          }
83          if ( factory.isPropertySupported( "org.codehaus.stax2.automaticEmptyElements" ) )
84          {
85              factory.setProperty( "org.codehaus.stax2.automaticEmptyElements", Boolean.FALSE );
86          }
87          IndentingXMLStreamWriter serializer = new IndentingXMLStreamWriter( factory.createXMLStreamWriter( writer ) );
88          if ( supportWindowsLineEndings )
89          {
90              serializer.setNewLine( serializer.getLineSeparator() );
91          }
92          serializer.writeStartDocument( rbacDatabase.getModelEncoding(), "1.0" );
93          writeRbacDatabase( rbacDatabase, "rbacDatabase", serializer );
94          serializer.writeEndDocument();
95      } //-- void write( Writer, RbacDatabase )
96  
97      /**
98       * Method write.
99       * 
100      * @param stream
101      * @param rbacDatabase
102      * @throws java.io.IOException
103      * @throws XMLStreamException
104      */
105     public void write( OutputStream stream, RbacDatabase rbacDatabase )
106         throws java.io.IOException, XMLStreamException
107     {
108         XMLOutputFactory factory = XMLOutputFactory.newInstance();
109         boolean supportWindowsLineEndings = false;
110         if ( factory.isPropertySupported( "com.ctc.wstx.outputEscapeCr" ) )
111         {
112             factory.setProperty( "com.ctc.wstx.outputEscapeCr", Boolean.FALSE );
113             supportWindowsLineEndings = true;
114         }
115         if ( factory.isPropertySupported( "org.codehaus.stax2.automaticEmptyElements" ) )
116         {
117             factory.setProperty( "org.codehaus.stax2.automaticEmptyElements", Boolean.FALSE );
118         }
119         IndentingXMLStreamWriter serializer = new IndentingXMLStreamWriter( factory.createXMLStreamWriter( stream, rbacDatabase.getModelEncoding() ) );
120         if ( supportWindowsLineEndings )
121         {
122             serializer.setNewLine( serializer.getLineSeparator() );
123         }
124         serializer.writeStartDocument( rbacDatabase.getModelEncoding(), "1.0" );
125         writeRbacDatabase( rbacDatabase, "rbacDatabase", serializer );
126         serializer.writeEndDocument();
127     } //-- void write( OutputStream, RbacDatabase )
128 
129     /**
130      * Method writeJdoOperation.
131      * 
132      * @param jdoOperation
133      * @param serializer
134      * @param tagName
135      * @throws java.io.IOException
136      * @throws XMLStreamException
137      */
138     private void writeJdoOperation( JdoOperation jdoOperation, String tagName, XMLStreamWriter serializer )
139         throws java.io.IOException, XMLStreamException
140     {
141         if ( jdoOperation != null )
142         {
143             serializer.writeStartElement( tagName );
144             if ( jdoOperation.getName() != null )
145             {
146                 serializer.writeStartElement( "name" );
147                 serializer.writeCharacters( jdoOperation.getName() );
148                 serializer.writeEndElement();
149             }
150             if ( jdoOperation.getDescription() != null )
151             {
152                 serializer.writeStartElement( "description" );
153                 serializer.writeCharacters( jdoOperation.getDescription() );
154                 serializer.writeEndElement();
155             }
156             if ( jdoOperation.isPermanent() != false )
157             {
158                 serializer.writeStartElement( "permanent" );
159                 serializer.writeCharacters( String.valueOf( jdoOperation.isPermanent() ) );
160                 serializer.writeEndElement();
161             }
162             if ( jdoOperation.isResourceRequired() != false )
163             {
164                 serializer.writeStartElement( "resourceRequired" );
165                 serializer.writeCharacters( String.valueOf( jdoOperation.isResourceRequired() ) );
166                 serializer.writeEndElement();
167             }
168             serializer.writeEndElement();
169         }
170     } //-- void writeJdoOperation( JdoOperation, String, XMLStreamWriter )
171 
172     /**
173      * Method writeJdoPermission.
174      * 
175      * @param jdoPermission
176      * @param serializer
177      * @param tagName
178      * @throws java.io.IOException
179      * @throws XMLStreamException
180      */
181     private void writeJdoPermission( JdoPermission jdoPermission, String tagName, XMLStreamWriter serializer )
182         throws java.io.IOException, XMLStreamException
183     {
184         if ( jdoPermission != null )
185         {
186             serializer.writeStartElement( tagName );
187             if ( jdoPermission.getName() != null )
188             {
189                 serializer.writeStartElement( "name" );
190                 serializer.writeCharacters( jdoPermission.getName() );
191                 serializer.writeEndElement();
192             }
193             if ( jdoPermission.getDescription() != null )
194             {
195                 serializer.writeStartElement( "description" );
196                 serializer.writeCharacters( jdoPermission.getDescription() );
197                 serializer.writeEndElement();
198             }
199             if ( jdoPermission.isPermanent() != false )
200             {
201                 serializer.writeStartElement( "permanent" );
202                 serializer.writeCharacters( String.valueOf( jdoPermission.isPermanent() ) );
203                 serializer.writeEndElement();
204             }
205             if ( jdoPermission.getOperation() != null )
206             {
207                 serializer.writeStartElement( "operation" );
208                 serializer.writeAttribute( "name", jdoPermission.getOperation().getName() );
209                 serializer.writeEndElement();
210             }
211             if ( jdoPermission.getResource() != null )
212             {
213                 serializer.writeStartElement( "resource" );
214                 serializer.writeAttribute( "identifier", jdoPermission.getResource().getIdentifier() );
215                 serializer.writeEndElement();
216             }
217             serializer.writeEndElement();
218         }
219     } //-- void writeJdoPermission( JdoPermission, String, XMLStreamWriter )
220 
221     /**
222      * Method writeJdoResource.
223      * 
224      * @param jdoResource
225      * @param serializer
226      * @param tagName
227      * @throws java.io.IOException
228      * @throws XMLStreamException
229      */
230     private void writeJdoResource( JdoResource jdoResource, String tagName, XMLStreamWriter serializer )
231         throws java.io.IOException, XMLStreamException
232     {
233         if ( jdoResource != null )
234         {
235             serializer.writeStartElement( tagName );
236             if ( jdoResource.getIdentifier() != null )
237             {
238                 serializer.writeStartElement( "identifier" );
239                 serializer.writeCharacters( jdoResource.getIdentifier() );
240                 serializer.writeEndElement();
241             }
242             if ( jdoResource.isPattern() != false )
243             {
244                 serializer.writeStartElement( "pattern" );
245                 serializer.writeCharacters( String.valueOf( jdoResource.isPattern() ) );
246                 serializer.writeEndElement();
247             }
248             if ( jdoResource.isPermanent() != false )
249             {
250                 serializer.writeStartElement( "permanent" );
251                 serializer.writeCharacters( String.valueOf( jdoResource.isPermanent() ) );
252                 serializer.writeEndElement();
253             }
254             serializer.writeEndElement();
255         }
256     } //-- void writeJdoResource( JdoResource, String, XMLStreamWriter )
257 
258     /**
259      * Method writeJdoRole.
260      * 
261      * @param jdoRole
262      * @param serializer
263      * @param tagName
264      * @throws java.io.IOException
265      * @throws XMLStreamException
266      */
267     private void writeJdoRole( JdoRole jdoRole, String tagName, XMLStreamWriter serializer )
268         throws java.io.IOException, XMLStreamException
269     {
270         if ( jdoRole != null )
271         {
272             serializer.writeStartElement( tagName );
273             if ( jdoRole.getName() != null )
274             {
275                 serializer.writeStartElement( "name" );
276                 serializer.writeCharacters( jdoRole.getName() );
277                 serializer.writeEndElement();
278             }
279             if ( jdoRole.getDescription() != null )
280             {
281                 serializer.writeStartElement( "description" );
282                 serializer.writeCharacters( jdoRole.getDescription() );
283                 serializer.writeEndElement();
284             }
285             if ( jdoRole.isAssignable() != false )
286             {
287                 serializer.writeStartElement( "assignable" );
288                 serializer.writeCharacters( String.valueOf( jdoRole.isAssignable() ) );
289                 serializer.writeEndElement();
290             }
291             if ( jdoRole.isPermanent() != false )
292             {
293                 serializer.writeStartElement( "permanent" );
294                 serializer.writeCharacters( String.valueOf( jdoRole.isPermanent() ) );
295                 serializer.writeEndElement();
296             }
297             if ( ( jdoRole.getChildRoleNames() != null ) && ( jdoRole.getChildRoleNames().size() > 0 ) )
298             {
299                 serializer.writeStartElement( "childRoleNames" );
300                 for ( Iterator iter = jdoRole.getChildRoleNames().iterator(); iter.hasNext(); )
301                 {
302                     String childRoleName = (String) iter.next();
303                     serializer.writeStartElement( "childRoleName" );
304                     serializer.writeCharacters( childRoleName );
305                     serializer.writeEndElement();
306                 }
307                 serializer.writeEndElement();
308             }
309             if ( ( jdoRole.getPermissions() != null ) && ( jdoRole.getPermissions().size() > 0 ) )
310             {
311                 serializer.writeStartElement( "permissions" );
312                 for ( Iterator iter = jdoRole.getPermissions().iterator(); iter.hasNext(); )
313                 {
314                     JdoPermission o = (JdoPermission) iter.next();
315                     serializer.writeStartElement( "permission" );
316                     serializer.writeAttribute( "name", o.getName() );
317                     serializer.writeEndElement();
318                 }
319                 serializer.writeEndElement();
320             }
321             serializer.writeEndElement();
322         }
323     } //-- void writeJdoRole( JdoRole, String, XMLStreamWriter )
324 
325     /**
326      * Method writeJdoUserAssignment.
327      * 
328      * @param jdoUserAssignment
329      * @param serializer
330      * @param tagName
331      * @throws java.io.IOException
332      * @throws XMLStreamException
333      */
334     private void writeJdoUserAssignment( JdoUserAssignment jdoUserAssignment, String tagName, XMLStreamWriter serializer )
335         throws java.io.IOException, XMLStreamException
336     {
337         if ( jdoUserAssignment != null )
338         {
339             serializer.writeStartElement( tagName );
340             if ( jdoUserAssignment.getPrincipal() != null )
341             {
342                 serializer.writeStartElement( "principal" );
343                 serializer.writeCharacters( jdoUserAssignment.getPrincipal() );
344                 serializer.writeEndElement();
345             }
346             if ( jdoUserAssignment.getTimestamp() != null )
347             {
348                 serializer.writeStartElement( "timestamp" );
349                 serializer.writeCharacters( String.valueOf( jdoUserAssignment.getTimestamp().getTime() ) );
350                 serializer.writeEndElement();
351             }
352             if ( jdoUserAssignment.isPermanent() != false )
353             {
354                 serializer.writeStartElement( "permanent" );
355                 serializer.writeCharacters( String.valueOf( jdoUserAssignment.isPermanent() ) );
356                 serializer.writeEndElement();
357             }
358             if ( ( jdoUserAssignment.getRoleNames() != null ) && ( jdoUserAssignment.getRoleNames().size() > 0 ) )
359             {
360                 serializer.writeStartElement( "roleNames" );
361                 for ( Iterator iter = jdoUserAssignment.getRoleNames().iterator(); iter.hasNext(); )
362                 {
363                     String roleName = (String) iter.next();
364                     serializer.writeStartElement( "roleName" );
365                     serializer.writeCharacters( roleName );
366                     serializer.writeEndElement();
367                 }
368                 serializer.writeEndElement();
369             }
370             serializer.writeEndElement();
371         }
372     } //-- void writeJdoUserAssignment( JdoUserAssignment, String, XMLStreamWriter )
373 
374     /**
375      * Method writeRbacDatabase.
376      * 
377      * @param rbacDatabase
378      * @param serializer
379      * @param tagName
380      * @throws java.io.IOException
381      * @throws XMLStreamException
382      */
383     private void writeRbacDatabase( RbacDatabase rbacDatabase, String tagName, XMLStreamWriter serializer )
384         throws java.io.IOException, XMLStreamException
385     {
386         if ( rbacDatabase != null )
387         {
388             serializer.writeStartElement( tagName );
389             if ( ( rbacDatabase.getRoles() != null ) && ( rbacDatabase.getRoles().size() > 0 ) )
390             {
391                 serializer.writeStartElement( "roles" );
392                 for ( Iterator iter = rbacDatabase.getRoles().iterator(); iter.hasNext(); )
393                 {
394                     JdoRole o = (JdoRole) iter.next();
395                     writeJdoRole( o, "role", serializer );
396                 }
397                 serializer.writeEndElement();
398             }
399             if ( ( rbacDatabase.getPermissions() != null ) && ( rbacDatabase.getPermissions().size() > 0 ) )
400             {
401                 serializer.writeStartElement( "permissions" );
402                 for ( Iterator iter = rbacDatabase.getPermissions().iterator(); iter.hasNext(); )
403                 {
404                     JdoPermission o = (JdoPermission) iter.next();
405                     writeJdoPermission( o, "permission", serializer );
406                 }
407                 serializer.writeEndElement();
408             }
409             if ( ( rbacDatabase.getOperations() != null ) && ( rbacDatabase.getOperations().size() > 0 ) )
410             {
411                 serializer.writeStartElement( "operations" );
412                 for ( Iterator iter = rbacDatabase.getOperations().iterator(); iter.hasNext(); )
413                 {
414                     JdoOperation o = (JdoOperation) iter.next();
415                     writeJdoOperation( o, "operation", serializer );
416                 }
417                 serializer.writeEndElement();
418             }
419             if ( ( rbacDatabase.getResources() != null ) && ( rbacDatabase.getResources().size() > 0 ) )
420             {
421                 serializer.writeStartElement( "resources" );
422                 for ( Iterator iter = rbacDatabase.getResources().iterator(); iter.hasNext(); )
423                 {
424                     JdoResource o = (JdoResource) iter.next();
425                     writeJdoResource( o, "resource", serializer );
426                 }
427                 serializer.writeEndElement();
428             }
429             if ( ( rbacDatabase.getUserAssignments() != null ) && ( rbacDatabase.getUserAssignments().size() > 0 ) )
430             {
431                 serializer.writeStartElement( "userAssignments" );
432                 for ( Iterator iter = rbacDatabase.getUserAssignments().iterator(); iter.hasNext(); )
433                 {
434                     JdoUserAssignment o = (JdoUserAssignment) iter.next();
435                     writeJdoUserAssignment( o, "userAssignment", serializer );
436                 }
437                 serializer.writeEndElement();
438             }
439             serializer.writeEndElement();
440         }
441     } //-- void writeRbacDatabase( RbacDatabase, String, XMLStreamWriter )
442 
443 }