View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.codehaus.plexus.security.user.jdo.v0_9_0.io.stax;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import java.io.IOException;
15  import java.io.InputStream;
16  import java.io.StringWriter;
17  import java.io.Writer;
18  import java.text.DateFormat;
19  import java.util.Iterator;
20  import java.util.Locale;
21  import java.util.jar.Manifest;
22  import javanet.staxutils.IndentingXMLStreamWriter;
23  import javax.xml.stream.*;
24  import org.codehaus.plexus.security.user.jdo.v0_9_0.JdoUser;
25  import org.codehaus.plexus.security.user.jdo.v0_9_0.UserDatabase;
26  import org.codehaus.plexus.util.xml.Xpp3Dom;
27  
28  /**
29   * Class UserManagementStaxWriter.
30   * 
31   * @version $Revision$ $Date$
32   */
33  public class UserManagementStaxWriter
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 UserManagementStaxWriter()
56      {
57          idMap = new java.util.HashMap();
58      } //-- org.codehaus.plexus.security.user.jdo.v0_9_0.io.stax.UserManagementStaxWriter()
59  
60  
61        //-----------/
62       //- Methods -/
63      //-----------/
64  
65      /**
66       * Method write.
67       * 
68       * @param writer
69       * @param userDatabase
70       * @throws java.io.IOException
71       * @throws XMLStreamException
72       */
73      public void write( Writer writer, UserDatabase userDatabase )
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( userDatabase.getModelEncoding(), "1.0" );
93          writeUserDatabase( userDatabase, "userDatabase", serializer );
94          serializer.writeEndDocument();
95      } //-- void write( Writer, UserDatabase )
96  
97      /**
98       * Method writeDom.
99       * 
100      * @param dom
101      * @param serializer
102      * @throws XMLStreamException
103      */
104     private void writeDom( Xpp3Dom dom, XMLStreamWriter serializer )
105         throws XMLStreamException
106     {
107         serializer.writeStartElement( dom.getName() );
108         String[] attributeNames = dom.getAttributeNames();
109         for ( int i = 0; i < attributeNames.length; i++ )
110         {
111             String attributeName = attributeNames[i];
112             serializer.writeAttribute( attributeName, dom.getAttribute( attributeName ) );
113         }
114         Xpp3Dom[] children = dom.getChildren();
115         for ( int i = 0; i < children.length; i++ )
116         {
117             writeDom( children[i], serializer );
118         }
119         String value = dom.getValue();
120         if ( value != null )
121         {
122             serializer.writeCharacters( value );
123         }
124         serializer.writeEndElement();
125     } //-- void writeDom( Xpp3Dom, XMLStreamWriter )
126 
127     /**
128      * Method writeJdoUser.
129      * 
130      * @param jdoUser
131      * @param serializer
132      * @param tagName
133      * @throws java.io.IOException
134      * @throws XMLStreamException
135      */
136     private void writeJdoUser( JdoUser jdoUser, String tagName, XMLStreamWriter serializer )
137         throws java.io.IOException, XMLStreamException
138     {
139         if ( jdoUser != null )
140         {
141             serializer.writeStartElement( tagName );
142             if ( jdoUser.getUsername() != null )
143             {
144                 serializer.writeStartElement( "username" );
145                 serializer.writeCharacters( jdoUser.getUsername() );
146                 serializer.writeEndElement();
147             }
148             if ( jdoUser.getPassword() != null )
149             {
150                 serializer.writeStartElement( "password" );
151                 serializer.writeCharacters( jdoUser.getPassword() );
152                 serializer.writeEndElement();
153             }
154             if ( jdoUser.getEncodedPassword() != null )
155             {
156                 serializer.writeStartElement( "encodedPassword" );
157                 serializer.writeCharacters( jdoUser.getEncodedPassword() );
158                 serializer.writeEndElement();
159             }
160             if ( jdoUser.getFullName() != null )
161             {
162                 serializer.writeStartElement( "fullName" );
163                 serializer.writeCharacters( jdoUser.getFullName() );
164                 serializer.writeEndElement();
165             }
166             if ( jdoUser.getEmail() != null )
167             {
168                 serializer.writeStartElement( "email" );
169                 serializer.writeCharacters( jdoUser.getEmail() );
170                 serializer.writeEndElement();
171             }
172             if ( jdoUser.getLastPasswordChange() != null )
173             {
174                 serializer.writeStartElement( "lastPasswordChange" );
175                 serializer.writeCharacters( new java.text.SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US ).format( jdoUser.getLastPasswordChange() ) );
176                 serializer.writeEndElement();
177             }
178             if ( jdoUser.getLastLoginDate() != null )
179             {
180                 serializer.writeStartElement( "lastLoginDate" );
181                 serializer.writeCharacters( new java.text.SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US ).format( jdoUser.getLastLoginDate() ) );
182                 serializer.writeEndElement();
183             }
184             if ( jdoUser.getCountFailedLoginAttempts() != 0 )
185             {
186                 serializer.writeStartElement( "countFailedLoginAttempts" );
187                 serializer.writeCharacters( String.valueOf( jdoUser.getCountFailedLoginAttempts() ) );
188                 serializer.writeEndElement();
189             }
190             if ( jdoUser.isLocked() != false )
191             {
192                 serializer.writeStartElement( "locked" );
193                 serializer.writeCharacters( String.valueOf( jdoUser.isLocked() ) );
194                 serializer.writeEndElement();
195             }
196             if ( jdoUser.isPermanent() != false )
197             {
198                 serializer.writeStartElement( "permanent" );
199                 serializer.writeCharacters( String.valueOf( jdoUser.isPermanent() ) );
200                 serializer.writeEndElement();
201             }
202             if ( jdoUser.isValidated() != false )
203             {
204                 serializer.writeStartElement( "validated" );
205                 serializer.writeCharacters( String.valueOf( jdoUser.isValidated() ) );
206                 serializer.writeEndElement();
207             }
208             if ( jdoUser.isPasswordChangeRequired() != false )
209             {
210                 serializer.writeStartElement( "passwordChangeRequired" );
211                 serializer.writeCharacters( String.valueOf( jdoUser.isPasswordChangeRequired() ) );
212                 serializer.writeEndElement();
213             }
214             if ( ( jdoUser.getPreviousEncodedPasswords() != null ) && ( jdoUser.getPreviousEncodedPasswords().size() > 0 ) )
215             {
216                 serializer.writeStartElement( "previousEncodedPasswords" );
217                 for ( Iterator iter = jdoUser.getPreviousEncodedPasswords().iterator(); iter.hasNext(); )
218                 {
219                     String previousEncodedPassword = (String) iter.next();
220                     serializer.writeStartElement( "previousEncodedPassword" );
221                     serializer.writeCharacters( previousEncodedPassword );
222                     serializer.writeEndElement();
223                 }
224                 serializer.writeEndElement();
225             }
226             if ( jdoUser.getAccountCreationDate() != null )
227             {
228                 serializer.writeStartElement( "accountCreationDate" );
229                 serializer.writeCharacters( new java.text.SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US ).format( jdoUser.getAccountCreationDate() ) );
230                 serializer.writeEndElement();
231             }
232             serializer.writeEndElement();
233         }
234     } //-- void writeJdoUser( JdoUser, String, XMLStreamWriter )
235 
236     /**
237      * Method writeUserDatabase.
238      * 
239      * @param userDatabase
240      * @param serializer
241      * @param tagName
242      * @throws java.io.IOException
243      * @throws XMLStreamException
244      */
245     private void writeUserDatabase( UserDatabase userDatabase, String tagName, XMLStreamWriter serializer )
246         throws java.io.IOException, XMLStreamException
247     {
248         if ( userDatabase != null )
249         {
250             serializer.writeStartElement( tagName );
251             if ( ( userDatabase.getUsers() != null ) && ( userDatabase.getUsers().size() > 0 ) )
252             {
253                 serializer.writeStartElement( "users" );
254                 for ( Iterator iter = userDatabase.getUsers().iterator(); iter.hasNext(); )
255                 {
256                     JdoUser o = (JdoUser) iter.next();
257                     writeJdoUser( o, "user", serializer );
258                 }
259                 serializer.writeEndElement();
260             }
261             serializer.writeEndElement();
262         }
263     } //-- void writeUserDatabase( UserDatabase, String, XMLStreamWriter )
264 
265 }