mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Refinement of previous check-in re OOo transformations.
I have pulled up the code that handles blocked transformations into a superclass so that the JodConverter-based transformer worker can inherit the same list of blocked transformations. To reiterate, blocked transformations are those that the OOo integration code believes should work but which are broken in practice. These are blocked by the transformers and will always be unavailable regardless of the OOo connection state. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19705 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2010 Alfresco Software Limited.
|
||||
*
|
||||
* This file is part of Alfresco
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.alfresco.repo.content.transform;
|
||||
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
|
||||
/**
|
||||
* A class providing basic OOo-related functionality shared by both
|
||||
* {@link ContentTransformer}s and {@link ContentTransformerWorker}s.
|
||||
*/
|
||||
public class OOoContentTransformerHelper extends ContentTransformerHelper
|
||||
{
|
||||
/**
|
||||
* There are some conversions that fail, despite the converter believing them possible.
|
||||
* This method can be used by subclasses to check if a targetMimetype or source/target
|
||||
* Mimetype pair are blocked.
|
||||
*
|
||||
* @param sourceMimetype
|
||||
* @param targetMimetype
|
||||
* @return <code>true</code> if the mimetypes are blocked, else <code>false</code>
|
||||
*/
|
||||
protected boolean isTransformationBlocked(String sourceMimetype, String targetMimetype)
|
||||
{
|
||||
if (targetMimetype.equals(MimetypeMap.MIMETYPE_XHTML))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (targetMimetype.equals(MimetypeMap.MIMETYPE_WORDPERFECT))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (targetMimetype.equals(MimetypeMap.MIMETYPE_FLASH))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// OpenOffice 3.2.x doesn't seem to support all Office 97 to Office 07 conversions
|
||||
else if (sourceMimetype.equals(MimetypeMap.MIMETYPE_WORD) && targetMimetype.equals(MimetypeMap.MIMETYPE_OPENXML_WORDPROCESSING))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (sourceMimetype.equals(MimetypeMap.MIMETYPE_EXCEL) && targetMimetype.equals(MimetypeMap.MIMETYPE_OPENXML_SPREADSHEET))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (sourceMimetype.equals(MimetypeMap.MIMETYPE_HTML) && targetMimetype.equals(MimetypeMap.MIMETYPE_OPENXML_WORDPROCESSING))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@@ -32,7 +32,6 @@ import net.sf.jooreports.openoffice.converter.AbstractOpenOfficeDocumentConverte
|
||||
import net.sf.jooreports.openoffice.converter.OpenOfficeDocumentConverter;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.service.cmr.repository.ContentIOException;
|
||||
import org.alfresco.service.cmr.repository.ContentReader;
|
||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||
@@ -49,7 +48,7 @@ import org.springframework.core.io.DefaultResourceLoader;
|
||||
*
|
||||
* @author Derek Hulley
|
||||
*/
|
||||
public class OpenOfficeContentTransformerWorker extends ContentTransformerHelper implements ContentTransformerWorker, InitializingBean
|
||||
public class OpenOfficeContentTransformerWorker extends OOoContentTransformerHelper implements ContentTransformerWorker, InitializingBean
|
||||
{
|
||||
private OpenOfficeConnection connection;
|
||||
private AbstractOpenOfficeDocumentConverter converter;
|
||||
@@ -137,29 +136,7 @@ public class OpenOfficeContentTransformerWorker extends ContentTransformerHelper
|
||||
return false;
|
||||
}
|
||||
|
||||
// there are some conversions that fail, despite the converter believing them possible
|
||||
if (targetMimetype.equals(MimetypeMap.MIMETYPE_XHTML))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (targetMimetype.equals(MimetypeMap.MIMETYPE_WORDPERFECT))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (targetMimetype.equals(MimetypeMap.MIMETYPE_FLASH))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// OpenOffice 3.2.x doesn't seem to support all Office 97 to Office 07 conversions
|
||||
else if (sourceMimetype.equals(MimetypeMap.MIMETYPE_WORD) && targetMimetype.equals(MimetypeMap.MIMETYPE_OPENXML_WORDPROCESSING))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (sourceMimetype.equals(MimetypeMap.MIMETYPE_EXCEL) && targetMimetype.equals(MimetypeMap.MIMETYPE_OPENXML_SPREADSHEET))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (sourceMimetype.equals(MimetypeMap.MIMETYPE_HTML) && targetMimetype.equals(MimetypeMap.MIMETYPE_OPENXML_WORDPROCESSING))
|
||||
if (isTransformationBlocked(sourceMimetype, targetMimetype))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user