ALF-19700 BM-0013: Soak: V420b227_03: Transformation server overloaded

- Modified the way content.transformer.<transformer name>.extensions.<source>.<target>*.*.supported=[true|false] work
     so they are still backward compatible AND one can define if unmatched mimetypes are supported or not. For example:
     content.transformer.remoteServer.extensions.*.*.supported=false
   - Added properties to transformers.properties so that the Transformation server ONLY supports the transformations
     it did in 4.1.5 AND allows customers to change just one property to allow the Transformation Server to do all 
     transformations that it can with the exception of those that go to text, as generally the default transformers do
     a better job and are faster.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@55704 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2013-09-19 18:53:29 +00:00
parent 92e7f0b794
commit 8de8c548e8
3 changed files with 574 additions and 39 deletions

View File

@@ -25,11 +25,6 @@ content.transformer.Archive.extensions.*.txt.priority=50
content.transformer.BinaryPassThrough.priority=20
# Remote transformations (remote alfresco node followed by transformation server)
content.transformer.remote.alfresco.priority=30
content.transformer.remoteServer.priority=40
# Text
# ----
content.transformer.TikaAuto.priority=120
@@ -401,4 +396,480 @@ content.transformer.complex.OpenOffice.Pdf2swf.extensions.ppam.swf.maxSourceSize
content.transformer.complex.OpenOffice.Pdf2swf.extensions.dotm.swf.maxSourceSizeKBytes=256
content.transformer.complex.OpenOffice.Pdf2swf.extensions.doc.swf.maxSourceSizeKBytes=1536
content.transformer.complex.OpenOffice.Pdf2swf.extensions.vsd.swf.maxSourceSizeKBytes=4096
content.transformer.complex.OpenOffice.Pdf2swf.extensions.ppsx.swf.maxSourceSizeKBytes=4096
content.transformer.complex.OpenOffice.Pdf2swf.extensions.ppsx.swf.maxSourceSizeKBytes=4096
# Remote
# ------
# Remote alfresco node
content.transformer.remote.alfresco.priority=30
# Remote transformation server
content.transformer.remoteServer.priority=40
content.transformer.remoteServer.extensions.*.*.supported=false
content.transformer.remoteServer.extensions.*.txt.supported=false
content.transformer.remoteServer.extensions.bmp.bmp.supported=true
content.transformer.remoteServer.extensions.bmp.cgm.supported=true
content.transformer.remoteServer.extensions.bmp.dwt.supported=true
content.transformer.remoteServer.extensions.bmp.gif.supported=true
content.transformer.remoteServer.extensions.bmp.ief.supported=true
content.transformer.remoteServer.extensions.bmp.jp2.supported=true
content.transformer.remoteServer.extensions.bmp.jpg.supported=true
content.transformer.remoteServer.extensions.bmp.pbm.supported=true
content.transformer.remoteServer.extensions.bmp.pgm.supported=true
content.transformer.remoteServer.extensions.bmp.png.supported=true
content.transformer.remoteServer.extensions.bmp.pnm.supported=true
content.transformer.remoteServer.extensions.bmp.ppj.supported=true
content.transformer.remoteServer.extensions.bmp.ppm.supported=true
content.transformer.remoteServer.extensions.bmp.psd.supported=true
content.transformer.remoteServer.extensions.bmp.ras.supported=true
content.transformer.remoteServer.extensions.bmp.tiff.supported=true
content.transformer.remoteServer.extensions.bmp.xbm.supported=true
content.transformer.remoteServer.extensions.bmp.xpm.supported=true
content.transformer.remoteServer.extensions.bmp.xwd.supported=true
content.transformer.remoteServer.extensions.cgm.bmp.supported=true
content.transformer.remoteServer.extensions.cgm.cgm.supported=true
content.transformer.remoteServer.extensions.cgm.dwt.supported=true
content.transformer.remoteServer.extensions.cgm.gif.supported=true
content.transformer.remoteServer.extensions.cgm.ief.supported=true
content.transformer.remoteServer.extensions.cgm.jp2.supported=true
content.transformer.remoteServer.extensions.cgm.jpg.supported=true
content.transformer.remoteServer.extensions.cgm.pbm.supported=true
content.transformer.remoteServer.extensions.cgm.pgm.supported=true
content.transformer.remoteServer.extensions.cgm.png.supported=true
content.transformer.remoteServer.extensions.cgm.pnm.supported=true
content.transformer.remoteServer.extensions.cgm.ppj.supported=true
content.transformer.remoteServer.extensions.cgm.ppm.supported=true
content.transformer.remoteServer.extensions.cgm.psd.supported=true
content.transformer.remoteServer.extensions.cgm.ras.supported=true
content.transformer.remoteServer.extensions.cgm.tiff.supported=true
content.transformer.remoteServer.extensions.cgm.xbm.supported=true
content.transformer.remoteServer.extensions.cgm.xpm.supported=true
content.transformer.remoteServer.extensions.cgm.xwd.supported=true
content.transformer.remoteServer.extensions.doc.gif.supported=true
content.transformer.remoteServer.extensions.doc.jpg.supported=true
content.transformer.remoteServer.extensions.doc.pdf.supported=true
content.transformer.remoteServer.extensions.doc.png.supported=true
content.transformer.remoteServer.extensions.doc.swf.supported=true
content.transformer.remoteServer.extensions.docm.gif.supported=true
content.transformer.remoteServer.extensions.docm.jpg.supported=true
content.transformer.remoteServer.extensions.docm.pdf.supported=true
content.transformer.remoteServer.extensions.docm.png.supported=true
content.transformer.remoteServer.extensions.docm.swf.supported=true
content.transformer.remoteServer.extensions.docx.gif.supported=true
content.transformer.remoteServer.extensions.docx.jpg.supported=true
content.transformer.remoteServer.extensions.docx.pdf.supported=true
content.transformer.remoteServer.extensions.docx.png.supported=true
content.transformer.remoteServer.extensions.docx.swf.supported=true
content.transformer.remoteServer.extensions.dotm.gif.supported=true
content.transformer.remoteServer.extensions.dotm.jpg.supported=true
content.transformer.remoteServer.extensions.dotm.pdf.supported=true
content.transformer.remoteServer.extensions.dotm.png.supported=true
content.transformer.remoteServer.extensions.dotm.swf.supported=true
content.transformer.remoteServer.extensions.dotx.gif.supported=true
content.transformer.remoteServer.extensions.dotx.jpg.supported=true
content.transformer.remoteServer.extensions.dotx.pdf.supported=true
content.transformer.remoteServer.extensions.dotx.png.supported=true
content.transformer.remoteServer.extensions.dotx.swf.supported=true
content.transformer.remoteServer.extensions.dwt.bmp.supported=true
content.transformer.remoteServer.extensions.dwt.cgm.supported=true
content.transformer.remoteServer.extensions.dwt.dwt.supported=true
content.transformer.remoteServer.extensions.dwt.gif.supported=true
content.transformer.remoteServer.extensions.dwt.ief.supported=true
content.transformer.remoteServer.extensions.dwt.jp2.supported=true
content.transformer.remoteServer.extensions.dwt.jpg.supported=true
content.transformer.remoteServer.extensions.dwt.pbm.supported=true
content.transformer.remoteServer.extensions.dwt.pgm.supported=true
content.transformer.remoteServer.extensions.dwt.png.supported=true
content.transformer.remoteServer.extensions.dwt.pnm.supported=true
content.transformer.remoteServer.extensions.dwt.ppj.supported=true
content.transformer.remoteServer.extensions.dwt.ppm.supported=true
content.transformer.remoteServer.extensions.dwt.psd.supported=true
content.transformer.remoteServer.extensions.dwt.ras.supported=true
content.transformer.remoteServer.extensions.dwt.tiff.supported=true
content.transformer.remoteServer.extensions.dwt.xbm.supported=true
content.transformer.remoteServer.extensions.dwt.xpm.supported=true
content.transformer.remoteServer.extensions.dwt.xwd.supported=true
content.transformer.remoteServer.extensions.gif.bmp.supported=true
content.transformer.remoteServer.extensions.gif.cgm.supported=true
content.transformer.remoteServer.extensions.gif.dwt.supported=true
content.transformer.remoteServer.extensions.gif.gif.supported=true
content.transformer.remoteServer.extensions.gif.ief.supported=true
content.transformer.remoteServer.extensions.gif.jp2.supported=true
content.transformer.remoteServer.extensions.gif.jpg.supported=true
content.transformer.remoteServer.extensions.gif.pbm.supported=true
content.transformer.remoteServer.extensions.gif.pgm.supported=true
content.transformer.remoteServer.extensions.gif.png.supported=true
content.transformer.remoteServer.extensions.gif.pnm.supported=true
content.transformer.remoteServer.extensions.gif.ppj.supported=true
content.transformer.remoteServer.extensions.gif.ppm.supported=true
content.transformer.remoteServer.extensions.gif.psd.supported=true
content.transformer.remoteServer.extensions.gif.ras.supported=true
content.transformer.remoteServer.extensions.gif.tiff.supported=true
content.transformer.remoteServer.extensions.gif.xbm.supported=true
content.transformer.remoteServer.extensions.gif.xpm.supported=true
content.transformer.remoteServer.extensions.gif.xwd.supported=true
content.transformer.remoteServer.extensions.ief.bmp.supported=true
content.transformer.remoteServer.extensions.ief.cgm.supported=true
content.transformer.remoteServer.extensions.ief.dwt.supported=true
content.transformer.remoteServer.extensions.ief.gif.supported=true
content.transformer.remoteServer.extensions.ief.ief.supported=true
content.transformer.remoteServer.extensions.ief.jp2.supported=true
content.transformer.remoteServer.extensions.ief.jpg.supported=true
content.transformer.remoteServer.extensions.ief.pbm.supported=true
content.transformer.remoteServer.extensions.ief.pgm.supported=true
content.transformer.remoteServer.extensions.ief.png.supported=true
content.transformer.remoteServer.extensions.ief.pnm.supported=true
content.transformer.remoteServer.extensions.ief.ppj.supported=true
content.transformer.remoteServer.extensions.ief.ppm.supported=true
content.transformer.remoteServer.extensions.ief.psd.supported=true
content.transformer.remoteServer.extensions.ief.ras.supported=true
content.transformer.remoteServer.extensions.ief.tiff.supported=true
content.transformer.remoteServer.extensions.ief.xbm.supported=true
content.transformer.remoteServer.extensions.ief.xpm.supported=true
content.transformer.remoteServer.extensions.ief.xwd.supported=true
content.transformer.remoteServer.extensions.jp2.bmp.supported=true
content.transformer.remoteServer.extensions.jp2.cgm.supported=true
content.transformer.remoteServer.extensions.jp2.dwt.supported=true
content.transformer.remoteServer.extensions.jp2.gif.supported=true
content.transformer.remoteServer.extensions.jp2.ief.supported=true
content.transformer.remoteServer.extensions.jp2.jp2.supported=true
content.transformer.remoteServer.extensions.jp2.jpg.supported=true
content.transformer.remoteServer.extensions.jp2.pbm.supported=true
content.transformer.remoteServer.extensions.jp2.pgm.supported=true
content.transformer.remoteServer.extensions.jp2.png.supported=true
content.transformer.remoteServer.extensions.jp2.pnm.supported=true
content.transformer.remoteServer.extensions.jp2.ppj.supported=true
content.transformer.remoteServer.extensions.jp2.ppm.supported=true
content.transformer.remoteServer.extensions.jp2.psd.supported=true
content.transformer.remoteServer.extensions.jp2.ras.supported=true
content.transformer.remoteServer.extensions.jp2.tiff.supported=true
content.transformer.remoteServer.extensions.jp2.xbm.supported=true
content.transformer.remoteServer.extensions.jp2.xpm.supported=true
content.transformer.remoteServer.extensions.jp2.xwd.supported=true
content.transformer.remoteServer.extensions.jpg.bmp.supported=true
content.transformer.remoteServer.extensions.jpg.cgm.supported=true
content.transformer.remoteServer.extensions.jpg.dwt.supported=true
content.transformer.remoteServer.extensions.jpg.gif.supported=true
content.transformer.remoteServer.extensions.jpg.ief.supported=true
content.transformer.remoteServer.extensions.jpg.jp2.supported=true
content.transformer.remoteServer.extensions.jpg.jpg.supported=true
content.transformer.remoteServer.extensions.jpg.pbm.supported=true
content.transformer.remoteServer.extensions.jpg.pgm.supported=true
content.transformer.remoteServer.extensions.jpg.png.supported=true
content.transformer.remoteServer.extensions.jpg.pnm.supported=true
content.transformer.remoteServer.extensions.jpg.ppj.supported=true
content.transformer.remoteServer.extensions.jpg.ppm.supported=true
content.transformer.remoteServer.extensions.jpg.psd.supported=true
content.transformer.remoteServer.extensions.jpg.ras.supported=true
content.transformer.remoteServer.extensions.jpg.tiff.supported=true
content.transformer.remoteServer.extensions.jpg.xbm.supported=true
content.transformer.remoteServer.extensions.jpg.xpm.supported=true
content.transformer.remoteServer.extensions.jpg.xwd.supported=true
content.transformer.remoteServer.extensions.pbm.bmp.supported=true
content.transformer.remoteServer.extensions.pbm.cgm.supported=true
content.transformer.remoteServer.extensions.pbm.dwt.supported=true
content.transformer.remoteServer.extensions.pbm.gif.supported=true
content.transformer.remoteServer.extensions.pbm.ief.supported=true
content.transformer.remoteServer.extensions.pbm.jp2.supported=true
content.transformer.remoteServer.extensions.pbm.jpg.supported=true
content.transformer.remoteServer.extensions.pbm.pbm.supported=true
content.transformer.remoteServer.extensions.pbm.pgm.supported=true
content.transformer.remoteServer.extensions.pbm.png.supported=true
content.transformer.remoteServer.extensions.pbm.pnm.supported=true
content.transformer.remoteServer.extensions.pbm.ppj.supported=true
content.transformer.remoteServer.extensions.pbm.ppm.supported=true
content.transformer.remoteServer.extensions.pbm.psd.supported=true
content.transformer.remoteServer.extensions.pbm.ras.supported=true
content.transformer.remoteServer.extensions.pbm.tiff.supported=true
content.transformer.remoteServer.extensions.pbm.xbm.supported=true
content.transformer.remoteServer.extensions.pbm.xpm.supported=true
content.transformer.remoteServer.extensions.pbm.xwd.supported=true
content.transformer.remoteServer.extensions.pdf.gif.supported=true
content.transformer.remoteServer.extensions.pdf.jpg.supported=true
content.transformer.remoteServer.extensions.pdf.png.supported=true
content.transformer.remoteServer.extensions.pdf.swf.supported=true
content.transformer.remoteServer.extensions.pgm.bmp.supported=true
content.transformer.remoteServer.extensions.pgm.cgm.supported=true
content.transformer.remoteServer.extensions.pgm.dwt.supported=true
content.transformer.remoteServer.extensions.pgm.gif.supported=true
content.transformer.remoteServer.extensions.pgm.ief.supported=true
content.transformer.remoteServer.extensions.pgm.jp2.supported=true
content.transformer.remoteServer.extensions.pgm.jpg.supported=true
content.transformer.remoteServer.extensions.pgm.pbm.supported=true
content.transformer.remoteServer.extensions.pgm.pgm.supported=true
content.transformer.remoteServer.extensions.pgm.png.supported=true
content.transformer.remoteServer.extensions.pgm.pnm.supported=true
content.transformer.remoteServer.extensions.pgm.ppj.supported=true
content.transformer.remoteServer.extensions.pgm.ppm.supported=true
content.transformer.remoteServer.extensions.pgm.psd.supported=true
content.transformer.remoteServer.extensions.pgm.ras.supported=true
content.transformer.remoteServer.extensions.pgm.tiff.supported=true
content.transformer.remoteServer.extensions.pgm.xbm.supported=true
content.transformer.remoteServer.extensions.pgm.xpm.supported=true
content.transformer.remoteServer.extensions.pgm.xwd.supported=true
content.transformer.remoteServer.extensions.png.bmp.supported=true
content.transformer.remoteServer.extensions.png.cgm.supported=true
content.transformer.remoteServer.extensions.png.dwt.supported=true
content.transformer.remoteServer.extensions.png.gif.supported=true
content.transformer.remoteServer.extensions.png.ief.supported=true
content.transformer.remoteServer.extensions.png.jp2.supported=true
content.transformer.remoteServer.extensions.png.jpg.supported=true
content.transformer.remoteServer.extensions.png.pbm.supported=true
content.transformer.remoteServer.extensions.png.pgm.supported=true
content.transformer.remoteServer.extensions.png.png.supported=true
content.transformer.remoteServer.extensions.png.pnm.supported=true
content.transformer.remoteServer.extensions.png.ppj.supported=true
content.transformer.remoteServer.extensions.png.ppm.supported=true
content.transformer.remoteServer.extensions.png.psd.supported=true
content.transformer.remoteServer.extensions.png.ras.supported=true
content.transformer.remoteServer.extensions.png.tiff.supported=true
content.transformer.remoteServer.extensions.png.xbm.supported=true
content.transformer.remoteServer.extensions.png.xpm.supported=true
content.transformer.remoteServer.extensions.png.xwd.supported=true
content.transformer.remoteServer.extensions.pnm.bmp.supported=true
content.transformer.remoteServer.extensions.pnm.cgm.supported=true
content.transformer.remoteServer.extensions.pnm.dwt.supported=true
content.transformer.remoteServer.extensions.pnm.gif.supported=true
content.transformer.remoteServer.extensions.pnm.ief.supported=true
content.transformer.remoteServer.extensions.pnm.jp2.supported=true
content.transformer.remoteServer.extensions.pnm.jpg.supported=true
content.transformer.remoteServer.extensions.pnm.pbm.supported=true
content.transformer.remoteServer.extensions.pnm.pgm.supported=true
content.transformer.remoteServer.extensions.pnm.png.supported=true
content.transformer.remoteServer.extensions.pnm.pnm.supported=true
content.transformer.remoteServer.extensions.pnm.ppj.supported=true
content.transformer.remoteServer.extensions.pnm.ppm.supported=true
content.transformer.remoteServer.extensions.pnm.psd.supported=true
content.transformer.remoteServer.extensions.pnm.ras.supported=true
content.transformer.remoteServer.extensions.pnm.tiff.supported=true
content.transformer.remoteServer.extensions.pnm.xbm.supported=true
content.transformer.remoteServer.extensions.pnm.xpm.supported=true
content.transformer.remoteServer.extensions.pnm.xwd.supported=true
content.transformer.remoteServer.extensions.potm.gif.supported=true
content.transformer.remoteServer.extensions.potm.jpg.supported=true
content.transformer.remoteServer.extensions.potm.pdf.supported=true
content.transformer.remoteServer.extensions.potm.png.supported=true
content.transformer.remoteServer.extensions.potm.swf.supported=true
content.transformer.remoteServer.extensions.potx.gif.supported=true
content.transformer.remoteServer.extensions.potx.jpg.supported=true
content.transformer.remoteServer.extensions.potx.pdf.supported=true
content.transformer.remoteServer.extensions.potx.png.supported=true
content.transformer.remoteServer.extensions.potx.swf.supported=true
content.transformer.remoteServer.extensions.ppam.gif.supported=true
content.transformer.remoteServer.extensions.ppam.jpg.supported=true
content.transformer.remoteServer.extensions.ppam.pdf.supported=true
content.transformer.remoteServer.extensions.ppam.png.supported=true
content.transformer.remoteServer.extensions.ppam.swf.supported=true
content.transformer.remoteServer.extensions.ppj.bmp.supported=true
content.transformer.remoteServer.extensions.ppj.cgm.supported=true
content.transformer.remoteServer.extensions.ppj.dwt.supported=true
content.transformer.remoteServer.extensions.ppj.gif.supported=true
content.transformer.remoteServer.extensions.ppj.ief.supported=true
content.transformer.remoteServer.extensions.ppj.jp2.supported=true
content.transformer.remoteServer.extensions.ppj.jpg.supported=true
content.transformer.remoteServer.extensions.ppj.pbm.supported=true
content.transformer.remoteServer.extensions.ppj.pgm.supported=true
content.transformer.remoteServer.extensions.ppj.png.supported=true
content.transformer.remoteServer.extensions.ppj.pnm.supported=true
content.transformer.remoteServer.extensions.ppj.ppj.supported=true
content.transformer.remoteServer.extensions.ppj.ppm.supported=true
content.transformer.remoteServer.extensions.ppj.psd.supported=true
content.transformer.remoteServer.extensions.ppj.ras.supported=true
content.transformer.remoteServer.extensions.ppj.tiff.supported=true
content.transformer.remoteServer.extensions.ppj.xbm.supported=true
content.transformer.remoteServer.extensions.ppj.xpm.supported=true
content.transformer.remoteServer.extensions.ppj.xwd.supported=true
content.transformer.remoteServer.extensions.ppm.bmp.supported=true
content.transformer.remoteServer.extensions.ppm.cgm.supported=true
content.transformer.remoteServer.extensions.ppm.dwt.supported=true
content.transformer.remoteServer.extensions.ppm.gif.supported=true
content.transformer.remoteServer.extensions.ppm.ief.supported=true
content.transformer.remoteServer.extensions.ppm.jp2.supported=true
content.transformer.remoteServer.extensions.ppm.jpg.supported=true
content.transformer.remoteServer.extensions.ppm.pbm.supported=true
content.transformer.remoteServer.extensions.ppm.pgm.supported=true
content.transformer.remoteServer.extensions.ppm.png.supported=true
content.transformer.remoteServer.extensions.ppm.pnm.supported=true
content.transformer.remoteServer.extensions.ppm.ppj.supported=true
content.transformer.remoteServer.extensions.ppm.ppm.supported=true
content.transformer.remoteServer.extensions.ppm.psd.supported=true
content.transformer.remoteServer.extensions.ppm.ras.supported=true
content.transformer.remoteServer.extensions.ppm.tiff.supported=true
content.transformer.remoteServer.extensions.ppm.xbm.supported=true
content.transformer.remoteServer.extensions.ppm.xpm.supported=true
content.transformer.remoteServer.extensions.ppm.xwd.supported=true
content.transformer.remoteServer.extensions.ppsm.gif.supported=true
content.transformer.remoteServer.extensions.ppsm.jpg.supported=true
content.transformer.remoteServer.extensions.ppsm.pdf.supported=true
content.transformer.remoteServer.extensions.ppsm.png.supported=true
content.transformer.remoteServer.extensions.ppsm.swf.supported=true
content.transformer.remoteServer.extensions.ppsx.gif.supported=true
content.transformer.remoteServer.extensions.ppsx.jpg.supported=true
content.transformer.remoteServer.extensions.ppsx.pdf.supported=true
content.transformer.remoteServer.extensions.ppsx.png.supported=true
content.transformer.remoteServer.extensions.ppsx.swf.supported=true
content.transformer.remoteServer.extensions.ppt.gif.supported=true
content.transformer.remoteServer.extensions.ppt.jpg.supported=true
content.transformer.remoteServer.extensions.ppt.pdf.supported=true
content.transformer.remoteServer.extensions.ppt.png.supported=true
content.transformer.remoteServer.extensions.ppt.swf.supported=true
content.transformer.remoteServer.extensions.pptm.gif.supported=true
content.transformer.remoteServer.extensions.pptm.jpg.supported=true
content.transformer.remoteServer.extensions.pptm.pdf.supported=true
content.transformer.remoteServer.extensions.pptm.png.supported=true
content.transformer.remoteServer.extensions.pptm.swf.supported=true
content.transformer.remoteServer.extensions.pptx.gif.supported=true
content.transformer.remoteServer.extensions.pptx.jpg.supported=true
content.transformer.remoteServer.extensions.pptx.pdf.supported=true
content.transformer.remoteServer.extensions.pptx.png.supported=true
content.transformer.remoteServer.extensions.pptx.swf.supported=true
content.transformer.remoteServer.extensions.psd.bmp.supported=true
content.transformer.remoteServer.extensions.psd.cgm.supported=true
content.transformer.remoteServer.extensions.psd.dwt.supported=true
content.transformer.remoteServer.extensions.psd.gif.supported=true
content.transformer.remoteServer.extensions.psd.ief.supported=true
content.transformer.remoteServer.extensions.psd.jp2.supported=true
content.transformer.remoteServer.extensions.psd.jpg.supported=true
content.transformer.remoteServer.extensions.psd.pbm.supported=true
content.transformer.remoteServer.extensions.psd.pgm.supported=true
content.transformer.remoteServer.extensions.psd.png.supported=true
content.transformer.remoteServer.extensions.psd.pnm.supported=true
content.transformer.remoteServer.extensions.psd.ppj.supported=true
content.transformer.remoteServer.extensions.psd.ppm.supported=true
content.transformer.remoteServer.extensions.psd.psd.supported=true
content.transformer.remoteServer.extensions.psd.ras.supported=true
content.transformer.remoteServer.extensions.psd.tiff.supported=true
content.transformer.remoteServer.extensions.psd.xbm.supported=true
content.transformer.remoteServer.extensions.psd.xpm.supported=true
content.transformer.remoteServer.extensions.psd.xwd.supported=true
content.transformer.remoteServer.extensions.ras.bmp.supported=true
content.transformer.remoteServer.extensions.ras.cgm.supported=true
content.transformer.remoteServer.extensions.ras.dwt.supported=true
content.transformer.remoteServer.extensions.ras.gif.supported=true
content.transformer.remoteServer.extensions.ras.ief.supported=true
content.transformer.remoteServer.extensions.ras.jp2.supported=true
content.transformer.remoteServer.extensions.ras.jpg.supported=true
content.transformer.remoteServer.extensions.ras.pbm.supported=true
content.transformer.remoteServer.extensions.ras.pgm.supported=true
content.transformer.remoteServer.extensions.ras.png.supported=true
content.transformer.remoteServer.extensions.ras.pnm.supported=true
content.transformer.remoteServer.extensions.ras.ppj.supported=true
content.transformer.remoteServer.extensions.ras.ppm.supported=true
content.transformer.remoteServer.extensions.ras.psd.supported=true
content.transformer.remoteServer.extensions.ras.ras.supported=true
content.transformer.remoteServer.extensions.ras.tiff.supported=true
content.transformer.remoteServer.extensions.ras.xbm.supported=true
content.transformer.remoteServer.extensions.ras.xpm.supported=true
content.transformer.remoteServer.extensions.ras.xwd.supported=true
content.transformer.remoteServer.extensions.tiff.bmp.supported=true
content.transformer.remoteServer.extensions.tiff.cgm.supported=true
content.transformer.remoteServer.extensions.tiff.dwt.supported=true
content.transformer.remoteServer.extensions.tiff.gif.supported=true
content.transformer.remoteServer.extensions.tiff.ief.supported=true
content.transformer.remoteServer.extensions.tiff.jp2.supported=true
content.transformer.remoteServer.extensions.tiff.jpg.supported=true
content.transformer.remoteServer.extensions.tiff.pbm.supported=true
content.transformer.remoteServer.extensions.tiff.pgm.supported=true
content.transformer.remoteServer.extensions.tiff.png.supported=true
content.transformer.remoteServer.extensions.tiff.pnm.supported=true
content.transformer.remoteServer.extensions.tiff.ppj.supported=true
content.transformer.remoteServer.extensions.tiff.ppm.supported=true
content.transformer.remoteServer.extensions.tiff.psd.supported=true
content.transformer.remoteServer.extensions.tiff.ras.supported=true
content.transformer.remoteServer.extensions.tiff.tiff.supported=true
content.transformer.remoteServer.extensions.tiff.xbm.supported=true
content.transformer.remoteServer.extensions.tiff.xpm.supported=true
content.transformer.remoteServer.extensions.tiff.xwd.supported=true
content.transformer.remoteServer.extensions.xbm.bmp.supported=true
content.transformer.remoteServer.extensions.xbm.cgm.supported=true
content.transformer.remoteServer.extensions.xbm.dwt.supported=true
content.transformer.remoteServer.extensions.xbm.gif.supported=true
content.transformer.remoteServer.extensions.xbm.ief.supported=true
content.transformer.remoteServer.extensions.xbm.jp2.supported=true
content.transformer.remoteServer.extensions.xbm.jpg.supported=true
content.transformer.remoteServer.extensions.xbm.pbm.supported=true
content.transformer.remoteServer.extensions.xbm.pgm.supported=true
content.transformer.remoteServer.extensions.xbm.png.supported=true
content.transformer.remoteServer.extensions.xbm.pnm.supported=true
content.transformer.remoteServer.extensions.xbm.ppj.supported=true
content.transformer.remoteServer.extensions.xbm.ppm.supported=true
content.transformer.remoteServer.extensions.xbm.psd.supported=true
content.transformer.remoteServer.extensions.xbm.ras.supported=true
content.transformer.remoteServer.extensions.xbm.tiff.supported=true
content.transformer.remoteServer.extensions.xbm.xbm.supported=true
content.transformer.remoteServer.extensions.xbm.xpm.supported=true
content.transformer.remoteServer.extensions.xbm.xwd.supported=true
content.transformer.remoteServer.extensions.xlam.gif.supported=true
content.transformer.remoteServer.extensions.xlam.jpg.supported=true
content.transformer.remoteServer.extensions.xlam.pdf.supported=true
content.transformer.remoteServer.extensions.xlam.png.supported=true
content.transformer.remoteServer.extensions.xlam.swf.supported=true
content.transformer.remoteServer.extensions.xls.gif.supported=true
content.transformer.remoteServer.extensions.xls.jpg.supported=true
content.transformer.remoteServer.extensions.xls.pdf.supported=true
content.transformer.remoteServer.extensions.xls.png.supported=true
content.transformer.remoteServer.extensions.xls.swf.supported=true
content.transformer.remoteServer.extensions.xlsb.gif.supported=true
content.transformer.remoteServer.extensions.xlsb.jpg.supported=true
content.transformer.remoteServer.extensions.xlsb.pdf.supported=true
content.transformer.remoteServer.extensions.xlsb.png.supported=true
content.transformer.remoteServer.extensions.xlsb.swf.supported=true
content.transformer.remoteServer.extensions.xlsm.gif.supported=true
content.transformer.remoteServer.extensions.xlsm.jpg.supported=true
content.transformer.remoteServer.extensions.xlsm.pdf.supported=true
content.transformer.remoteServer.extensions.xlsm.png.supported=true
content.transformer.remoteServer.extensions.xlsm.swf.supported=true
content.transformer.remoteServer.extensions.xlsx.gif.supported=true
content.transformer.remoteServer.extensions.xlsx.jpg.supported=true
content.transformer.remoteServer.extensions.xlsx.pdf.supported=true
content.transformer.remoteServer.extensions.xlsx.png.supported=true
content.transformer.remoteServer.extensions.xlsx.swf.supported=true
content.transformer.remoteServer.extensions.xltm.gif.supported=true
content.transformer.remoteServer.extensions.xltm.jpg.supported=true
content.transformer.remoteServer.extensions.xltm.pdf.supported=true
content.transformer.remoteServer.extensions.xltm.png.supported=true
content.transformer.remoteServer.extensions.xltm.swf.supported=true
content.transformer.remoteServer.extensions.xltx.gif.supported=true
content.transformer.remoteServer.extensions.xltx.jpg.supported=true
content.transformer.remoteServer.extensions.xltx.pdf.supported=true
content.transformer.remoteServer.extensions.xltx.png.supported=true
content.transformer.remoteServer.extensions.xltx.swf.supported=true
content.transformer.remoteServer.extensions.xpm.bmp.supported=true
content.transformer.remoteServer.extensions.xpm.cgm.supported=true
content.transformer.remoteServer.extensions.xpm.dwt.supported=true
content.transformer.remoteServer.extensions.xpm.gif.supported=true
content.transformer.remoteServer.extensions.xpm.ief.supported=true
content.transformer.remoteServer.extensions.xpm.jp2.supported=true
content.transformer.remoteServer.extensions.xpm.jpg.supported=true
content.transformer.remoteServer.extensions.xpm.pbm.supported=true
content.transformer.remoteServer.extensions.xpm.pgm.supported=true
content.transformer.remoteServer.extensions.xpm.png.supported=true
content.transformer.remoteServer.extensions.xpm.pnm.supported=true
content.transformer.remoteServer.extensions.xpm.ppj.supported=true
content.transformer.remoteServer.extensions.xpm.ppm.supported=true
content.transformer.remoteServer.extensions.xpm.psd.supported=true
content.transformer.remoteServer.extensions.xpm.ras.supported=true
content.transformer.remoteServer.extensions.xpm.tiff.supported=true
content.transformer.remoteServer.extensions.xpm.xbm.supported=true
content.transformer.remoteServer.extensions.xpm.xpm.supported=true
content.transformer.remoteServer.extensions.xpm.xwd.supported=true
content.transformer.remoteServer.extensions.xwd.bmp.supported=true
content.transformer.remoteServer.extensions.xwd.cgm.supported=true
content.transformer.remoteServer.extensions.xwd.dwt.supported=true
content.transformer.remoteServer.extensions.xwd.gif.supported=true
content.transformer.remoteServer.extensions.xwd.ief.supported=true
content.transformer.remoteServer.extensions.xwd.jp2.supported=true
content.transformer.remoteServer.extensions.xwd.jpg.supported=true
content.transformer.remoteServer.extensions.xwd.pbm.supported=true
content.transformer.remoteServer.extensions.xwd.pgm.supported=true
content.transformer.remoteServer.extensions.xwd.png.supported=true
content.transformer.remoteServer.extensions.xwd.pnm.supported=true
content.transformer.remoteServer.extensions.xwd.ppj.supported=true
content.transformer.remoteServer.extensions.xwd.ppm.supported=true
content.transformer.remoteServer.extensions.xwd.psd.supported=true
content.transformer.remoteServer.extensions.xwd.ras.supported=true
content.transformer.remoteServer.extensions.xwd.tiff.supported=true
content.transformer.remoteServer.extensions.xwd.xbm.supported=true
content.transformer.remoteServer.extensions.xwd.xpm.supported=true
content.transformer.remoteServer.extensions.xwd.xwd.supported=true

View File

@@ -99,48 +99,45 @@ public class TransformerConfigSupported extends TransformerPropertyNameExtractor
return isSupported;
}
// Class contains both supported and unsupported combinations to avoid having to
// add in an extra ANY to ANY combination which could be true or false. Having an
// extra combination might reduce understandability.
private class SupportedAndUnsupportedTransformations
{
DoubleMap<String, String, Boolean> supportedTransformations;
DoubleMap<String, String, Boolean> unsupportedTransformations;
boolean supportedSet = false;
SupportedAndUnsupportedTransformations()
{
}
public void put(String sourceMimetype, String targetMimetype, boolean supported)
{
if (supportedTransformations == null)
{
supportedTransformations = new DoubleMap<String, String, Boolean>(ANY, ANY);
if (supported)
{
supportedSet = true;
}
}
supportedTransformations.put(sourceMimetype, targetMimetype, supported);
}
boolean isSupported(String sourceMimetype, String targetMimetype)
{
boolean isSupported = true;
// To be backward compatible, the default (ANY to ANY) transformation
// needs to be true if only unsupported values are set or neither
// unsupported nor supported values are set. If supported values are
// set the default is false.
boolean isSupported = !supportedSet;
if (supportedTransformations != null)
{
Boolean sup = supportedTransformations.get(sourceMimetype, targetMimetype);
isSupported = sup != null;
}
if (isSupported && unsupportedTransformations != null)
{
Boolean sup = unsupportedTransformations.get(sourceMimetype, targetMimetype);
isSupported = sup == null;
Boolean sup = supportedTransformations.get(sourceMimetype, targetMimetype);
if (sup != null)
{
isSupported = sup;
}
}
return isSupported;
}
public void put(String sourceMimetype, String targetMimetype, boolean supported)
{
if (supported)
{
if (supportedTransformations == null)
{
supportedTransformations = new DoubleMap<String, String, Boolean>(ANY, ANY);
}
supportedTransformations.put(sourceMimetype, targetMimetype, supported);
}
else
{
if (unsupportedTransformations == null)
{
unsupportedTransformations = new DoubleMap<String, String, Boolean>(ANY, ANY);
}
unsupportedTransformations.put(sourceMimetype, targetMimetype, supported);
}
}
}
}

View File

@@ -54,7 +54,8 @@ public class TransformerConfigSupportedTest
mockMimetypes(mimetypeService,
"application/pdf", "pdf",
"image/png", "png");
"image/png", "png",
"text/xml", "xml");
}
@Test
@@ -144,6 +145,72 @@ public class TransformerConfigSupportedTest
assertEquals("xyz supported", false, supported);
}
@Test
public void withoutDefaultTest()
{
mockProperties(transformerProperties,
"content.transformer.abc.extensions.pdf.*.supported", "false",
"content.transformer.abc.extensions.pdf.png.supported", "true");
extractor = new TransformerConfigSupported(transformerProperties, mimetypeService);
boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "application/pdf", options);
assertEquals("abc supported", false, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options);
assertEquals("def supported", true, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options);
assertEquals("xyz supported", false, supported); // << not the same in withDefaultTest
}
@Test
public void withDefaultTest()
{
mockProperties(transformerProperties,
"content.transformer.abc.extensions.*.*.supported", "true", // << not the same in withoutDefaultTest
"content.transformer.abc.extensions.pdf.*.supported", "false",
"content.transformer.abc.extensions.pdf.png.supported", "true");
extractor = new TransformerConfigSupported(transformerProperties, mimetypeService);
boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "application/pdf", options);
assertEquals("abc supported", false, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options);
assertEquals("def supported", true, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options);
assertEquals("xyz supported", true, supported); // << not the same in withoutDefaultTest
}
@Test
public void withoutDefaultNegatedTest()
{
mockProperties(transformerProperties,
"content.transformer.abc.extensions.pdf.*.supported", "true",
"content.transformer.abc.extensions.pdf.png.supported", "false");
extractor = new TransformerConfigSupported(transformerProperties, mimetypeService);
boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "application/pdf", options);
assertEquals("abc supported", true, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options);
assertEquals("def supported", false, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options);
assertEquals("xyz supported", true, supported);
}
@Test
public void withDefaultNegatedTest()
{
mockProperties(transformerProperties,
"content.transformer.abc.extensions.*.*.supported", "false",
"content.transformer.abc.extensions.pdf.*.supported", "true",
"content.transformer.abc.extensions.pdf.png.supported", "false");
extractor = new TransformerConfigSupported(transformerProperties, mimetypeService);
boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "application/pdf", options);
assertEquals("abc supported", true, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options);
assertEquals("def supported", false, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options);
assertEquals("xyz supported", false, supported);
}
@Test
public void bothUnsupportedAndSupportedTest()
{