public static void executeFix() throws SQLException
    {
        try
        {
            Log.info( "Migrating data from Private XML Storage to Pubsub." );
            final List<PrivateXmlRecord> oldRecords = getPrivateXmlStorageData();
            final List<PubsubRecordData> newRecords = transform( oldRecords );
            toPubsubData( newRecords );
            Log.info( "Finished mgrating data from Private XML Storage to Pubsub. {} records migrated.", newRecords.size() );
        }
        catch ( SQLException e )
        {
            Log.error( "An exception occurred while migrating private XML data to PEP!", e );
            throw e;
        }
    }
This class implements a fix for a problem identified as issue OF-1515 in the bugtracker of Openfire.

The code in this class is intended to be executed only once, under very strict circumstances. The only class
responsible for calling this code should be an instance of {@link SchemaManager}. The database update version
corresponding to this fix is 27.

@author Guus der Kinderen, guus.der.kinderen@gmail.com
@see <a href="http://www.igniterealtime.org/issues/browse/OF-1515">Openfire bugtracker: OF-1515</a>
xmppserver/src/main/java/org/jivesoftware/database/bugfix/OF1515.java