private void saveToXmlVfsBundle ( ) throws CmsException { if ( m_lockedBundleFiles . get ( null ) != null ) { // If the file was not locked, no changes were made, i.e., storing is not necessary. for ( Locale l : m_locales ) { SortedProperties props = m_localizations . get ( l ) ; if ( null != props ) { if ( m_xmlBundle . hasLocale ( l ) ) { m_xmlBundle . removeLocale ( l ) ; } m_xmlBundle . addLocale ( m_cms , l ) ; int i = 0 ; List < Object > keys = new ArrayList < Object > ( props . keySet ( ) ) ; Collections . sort ( keys , CmsCaseInsensitiveStringComparator . getInstance ( ) ) ; for ( Object key : keys ) { if ( ( null != key ) && ! key . toString ( ) . isEmpty ( ) ) { String value = props . getProperty ( key . toString ( ) ) ; if ( ! value . isEmpty ( ) ) { m_xmlBundle . addValue ( m_cms , "Message" , l , i ) ; i ++ ; m_xmlBundle . getValue ( "Message[" + i + "]/Key" , l ) . setStringValue ( m_cms , key . toString ( ) ) ; m_xmlBundle . getValue ( "Message[" + i + "]/Value" , l ) . setStringValue ( m_cms , value ) ; } } } } CmsFile bundleFile = m_lockedBundleFiles . get ( null ) . getFile ( ) ; bundleFile . setContents ( m_xmlBundle . marshal ( ) ) ; m_cms . writeFile ( bundleFile ) ; } } }
Saves messages to a xmlvfsbundle file .