bigbluebutton-Github/bigbluebutton-web/grails-app/conf/spring/doc-conversion.xml

119 lines
6.4 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:integration="http://www.springframework.org/schema/integration"
xmlns:jms="http://www.springframework.org/schema/integration/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration-1.0.xsd
http://www.springframework.org/schema/integration/jms
http://www.springframework.org/schema/integration/jms/spring-integration-jms-1.0.xsd
">
<integration:gateway id="documentConversionService" service-interface="org.bigbluebutton.presentation.DocumentConversionService"/>
<integration:channel id="convertChannel"/>
<integration:filter ref="supportedDocumentFilter" method="isSupported" input-channel="convertChannel"
output-channel="docRouterChannel"/>
<bean id="supportedDocumentFilter" class="org.bigbluebutton.presentation.SupportedDocumentFilter">
<property name="conversionProgressNotifier" ref="conversionProgressNotifier"/>
</bean>
<integration:channel id="docRouterChannel"/>
<integration:router ref="fileTypeRouter" input-channel="docRouterChannel"/>
<bean id="fileTypeRouter" class="org.bigbluebutton.presentation.FileTypeRouter"/>
<integration:channel id="officeFileChannel"/>
<integration:channel id="pdfFileChannel"/>
<integration:channel id="imageFileChannel"/>
<integration:channel id="conversionProgressChannel"/>
<integration:gateway id="conversionProgressNotifier" service-interface="org.bigbluebutton.presentation.ConversionProgressNotifier"/>
<integration:service-activator input-channel="officeFileChannel" output-channel="officeToPdfConvertResultChannel"
ref="officeToPdfConversionService" method="convertOfficeToPdf"/>
<bean id="officeToPdfConversionService" class="org.bigbluebutton.presentation.imp.OfficeToPdfConversionService"/>
<integration:channel id="officeToPdfConvertResultChannel"/>
<integration:filter ref="officeToPdfConversionSuccessFilter" method="didConversionSucceed" input-channel="officeToPdfConvertResultChannel"
output-channel="convertChannel"/>
<bean id="officeToPdfConversionSuccessFilter" class="org.bigbluebutton.presentation.OfficeToPdfConversionSuccessFilter">
<property name="conversionProgressNotifier" ref="conversionProgressNotifier"/>
</bean>
<integration:service-activator input-channel="pdfFileChannel" ref="pdfToSwfSlidesGenerationService" method="generateSlides"/>
<integration:channel id="discardChannel"/>
<integration:service-activator input-channel="imageFileChannel" ref="imageToSwfSlidesGenerationService" method="generateSlides"/>
<jms:outbound-channel-adapter id="jmsOut" destination-name="UpdatesQueue" channel="conversionProgressChannel"/>
<bean id="pageExtractor" class="org.bigbluebutton.presentation.imp.GhostscriptPageExtractor">
<property name="ghostscriptExec" value="${ghostScriptExec}"/>
<property name="noPdfMarkWorkaround" value="${noPdfMarkWorkaround}"/>
</bean>
<bean id="imageMagickPageConverter" class="org.bigbluebutton.presentation.imp.ImageMagickPageConverter">
<property name="imageMagickDir" value="${imageMagickDir}"/>
</bean>
<bean id="png2SwfConverter" class="org.bigbluebutton.presentation.imp.Png2SwfPageConverter">
<property name="swfToolsDir" value="${swfToolsDir}"/>
</bean>
<bean id="jpg2SwfConverter" class="org.bigbluebutton.presentation.imp.Jpeg2SwfPageConverter">
<property name="swfToolsDir" value="${swfToolsDir}"/>
</bean>
<bean id="pageCounter" class="org.bigbluebutton.presentation.imp.Pdf2SwfPageCounter">
<property name="swfToolsDir" value="${swfToolsDir}"/>
</bean>
<bean id="pageCounterService" class="org.bigbluebutton.presentation.imp.PageCounterService">
<property name="pageCounter" ref="pageCounter"/>
<property name="maxNumPages" value="${maxNumPages}"/>
</bean>
<bean id="pdf2SwfPageConverter" class="org.bigbluebutton.presentation.imp.Pdf2SwfPageConverter">
<property name="swfToolsDir" value="${swfToolsDir}"/>
<property name="fontsDir" value="${fontsDir}"/>
</bean>
<bean id="imageConvSvc" class="org.bigbluebutton.presentation.imp.PdfPageToImageConversionService">
<property name="pageExtractor" ref="pageExtractor"/>
<property name="pdfToImageConverter" ref="imageMagickPageConverter"/>
<property name="imageToSwfConverter" ref="png2SwfConverter"/>
</bean>
<bean id="thumbCreator" class="org.bigbluebutton.presentation.imp.ThumbnailCreatorImp">
<property name="imageMagickDir" value="${imageMagickDir}"/>
<property name="blankThumbnail" value="${BLANK_THUMBNAIL}"/>
</bean>
<bean id="generatedSlidesInfoHelper" class="org.bigbluebutton.presentation.GeneratedSlidesInfoHelperImp"/>
<bean id="pdfToSwfSlidesGenerationService" class="org.bigbluebutton.presentation.imp.PdfToSwfSlidesGenerationService">
<property name="counterService" ref="pageCounterService"/>
<property name="pageConverter" ref="pdf2SwfPageConverter"/>
<property name="pdfPageToImageConversionService" ref="imageConvSvc"/>
<property name="thumbnailCreator" ref="thumbCreator"/>
<property name="blankSlide" value="${BLANK_SLIDE}"/>
<property name="maxConversionTime" value="${maxConversionTime}"/>
<property name="swfSlidesGenerationProgressNotifier" ref="swfSlidesGenerationProgressNotifier"/>
</bean>
<bean id="imageToSwfSlidesGenerationService" class="org.bigbluebutton.presentation.imp.ImageToSwfSlidesGenerationService">
<property name="pngPageConverter" ref="png2SwfConverter"/>
<property name="jpgPageConverter" ref="jpg2SwfConverter"/>
<property name="thumbnailCreator" ref="thumbCreator"/>
<property name="blankSlide" value="${BLANK_SLIDE}"/>
<property name="maxConversionTime" value="${maxConversionTime}"/>
<property name="swfSlidesGenerationProgressNotifier" ref="swfSlidesGenerationProgressNotifier"/>
</bean>
<bean id="swfSlidesGenerationProgressNotifier" class="org.bigbluebutton.presentation.imp.SwfSlidesGenerationProgressNotifier">
<property name="conversionProgressNotifier" ref="conversionProgressNotifier"/>
<property name="generatedSlidesInfoHelper" ref="generatedSlidesInfoHelper"/>
</bean>
</beans>