{
m_aTestHelper.Error( "The result of clone is empty!" );
return false;
}
XNameAccess xClonedNameAccess = (XNameAccess) UnoRuntime.queryInterface( XNameAccess.class, xClonedSubStorage );
if ( xClonedNameAccess == null )
{
m_aTestHelper.Error( "XNameAccess is not implemented by the clone!" );
return false;
}
if ( !m_aTestHelper.checkStorageProperties( xClonedSubStorage, "", true, ElementModes.WRITE ) )
return false;
if ( xClonedNameAccess.hasElements() )
{
m_aTestHelper.Error( "The new substorage still was not commited so it must be empty!" );
return false;
}
if ( !m_aTestHelper.disposeStorage( xClonedSubStorage ) )
return false;
xClonedSubStorage = null;
xClonedNameAccess = null;
// the new stream was opened, written and closed, that means flashed
// so the clone must contain all the information
XStream xClonedSubStream = m_aTestHelper.cloneSubStream( xTempStorage, "SubStream1" );
if ( !m_aTestHelper.InternalCheckStream( xClonedSubStream, "SubStream1", "MediaType1", true, pBytes1, true ) )
return false;
if ( !m_aTestHelper.disposeStream( xClonedSubStream, "SubStream1" ) )
return false;
// ==============================
// commit substorage and check cloning
// ==============================
if ( !m_aTestHelper.commitStorage( xTempSubStorage ) )
return false;
xClonedSubStorage = m_aTestHelper.cloneSubStorage( m_xStorageFactory, xTempStorage, "SubStorage1" );
if ( xClonedSubStorage == null )
{
m_aTestHelper.Error( "The result of clone is empty!" );
return false;
}
if ( !m_aTestHelper.checkStorageProperties( xClonedSubStorage, "MediaType4", true, ElementModes.WRITE ) )
return false;
if ( !m_aTestHelper.checkStream( xClonedSubStorage, "SubStream2", "MediaType2", true, pBytes2 ) )
return false;
XStorage xCloneOfRoot = m_aTestHelper.cloneStorage( m_xStorageFactory, xTempStorage );
if ( xCloneOfRoot == null )
{
m_aTestHelper.Error( "The result of root clone is empty!" );
return false;
}
XNameAccess xCloneOfRootNA = (XNameAccess) UnoRuntime.queryInterface( XNameAccess.class, xCloneOfRoot );
if ( xCloneOfRootNA == null )
{
m_aTestHelper.Error( "XNameAccess is not implemented by the root clone!" );
return false;
}
if ( xCloneOfRootNA.hasElements() )
{
m_aTestHelper.Error( "The root storage still was not commited so it's clone must be empty!" );
return false;
}