Revert "fdo#54609: Exception while importing xlsx."

We fixed a root cause of that exception.

This reverts commit 0f0bd022b6.

Conflicts:
	oox/source/docprop/ooxmldocpropimport.cxx

Change-Id: Ica3691e967a30722516420997e6e49fbf38f20d2
This commit is contained in:
Fridrich Štrba
2012-09-24 10:51:09 +02:00
parent af6b7d8ba3
commit 0671ba1329

View File

@@ -68,7 +68,7 @@ Reference< XInterface > SAL_CALL DocumentPropertiesImport_createInstance( const
namespace { namespace {
Sequence< InputSource > lclGetRelatedStreams( const Reference< XStorage >& rxStorage, const OUString& rStreamType ) throw (Exception) Sequence< InputSource > lclGetRelatedStreams( const Reference< XStorage >& rxStorage, const OUString& rStreamType ) throw (RuntimeException)
{ {
Reference< XRelationshipAccess > xRelation( rxStorage, UNO_QUERY_THROW ); Reference< XRelationshipAccess > xRelation( rxStorage, UNO_QUERY_THROW );
Reference< XHierarchicalStorageAccess > xHierarchy( rxStorage, UNO_QUERY_THROW ); Reference< XHierarchicalStorageAccess > xHierarchy( rxStorage, UNO_QUERY_THROW );
@@ -138,26 +138,19 @@ void SAL_CALL DocumentPropertiesImport::importProperties(
const Reference< XStorage >& rxSource, const Reference< XDocumentProperties >& rxDocumentProperties ) const Reference< XStorage >& rxSource, const Reference< XDocumentProperties >& rxDocumentProperties )
throw (RuntimeException, IllegalArgumentException, SAXException, Exception) throw (RuntimeException, IllegalArgumentException, SAXException, Exception)
{ {
Sequence< InputSource > aCoreStreams;
Sequence< InputSource > aExtStreams;
Sequence< InputSource > aCustomStreams;
if( !mxContext.is() ) if( !mxContext.is() )
throw RuntimeException(); throw RuntimeException();
if( !rxSource.is() || !rxDocumentProperties.is() ) if( !rxSource.is() || !rxDocumentProperties.is() )
throw IllegalArgumentException(); throw IllegalArgumentException();
try { Sequence< InputSource > aCoreStreams = lclGetRelatedStreams( rxSource, CREATE_OFFICEDOC_RELATION_TYPE( "metadata/core-properties" ) );
aCoreStreams = lclGetRelatedStreams( rxSource, CREATE_OFFICEDOC_RELATION_TYPE( "metadata/core-properties" ) ); // MS Office seems to have a bug, so we have to do similar handling
// MS Office seems to have a bug, so we have to do similar handling if( !aCoreStreams.hasElements() )
if( !aCoreStreams.hasElements() ) aCoreStreams = lclGetRelatedStreams( rxSource, CREATE_PACKAGE_RELATION_TYPE( "metadata/core-properties" ) );
aCoreStreams = lclGetRelatedStreams( rxSource, CREATE_PACKAGE_RELATION_TYPE( "metadata/core-properties" ) );
aExtStreams = lclGetRelatedStreams( rxSource, CREATE_OFFICEDOC_RELATION_TYPE( "extended-properties" ) ); Sequence< InputSource > aExtStreams = lclGetRelatedStreams( rxSource, CREATE_OFFICEDOC_RELATION_TYPE( "extended-properties" ) );
aCustomStreams = lclGetRelatedStreams( rxSource, CREATE_OFFICEDOC_RELATION_TYPE( "custom-properties" ) ); Sequence< InputSource > aCustomStreams = lclGetRelatedStreams( rxSource, CREATE_OFFICEDOC_RELATION_TYPE( "custom-properties" ) );
}
catch(Exception) { }
if( aCoreStreams.hasElements() || aExtStreams.hasElements() || aCustomStreams.hasElements() ) if( aCoreStreams.hasElements() || aExtStreams.hasElements() || aCustomStreams.hasElements() )
{ {