<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-lazy-init="true">

	<!-- =================================================================== -->
	<!--  theta calibration section                                          -->
	<!-- =================================================================== -->
	<bean id="StepOnePlusThetaCalibrationController" factory-method="getInstance"
		class="com.apldbio.sds.calibration.steponeplus.theta.ThetaCalibrationController" />

	<bean id="steponeplusThetaCalibrationExperimentProcessor" class="com.apldbio.sds.calibration.steponeplus.theta.StepOnePlusThetaCalibrationExperimentProcessor" 
		singleton="true">
	</bean>

	<!-- Theta Calibration -->
	<bean id="steponeplusThetaCalibrationAnalysisPipeline" class="com.apldbio.sds.platform.pipeline.AnalysisPipeline"
		singleton="false">
    	<property name="commands">
        	<list>
				<ref local="steponeplusThetaCalibrationAnalysisTask"></ref>
				<ref bean="UpdateScanProfileTask"></ref>
			</list>
		</property>
	</bean>

	<!-- task -->
	<bean id="steponeplusThetaCalibrationAnalysisTask" class="com.apldbio.sds.calibration.theta.pipeline.ThetaCalibrationAnalysisTask"
		singleton="false">
		<property name="preprocessing">
			<bean class="com.apldbio.sds.calibration.steponeplus.theta.pipeline.StepOnePlusThetaCalibrationAnalysis" />
		</property>
	</bean>	
	
	<!-- =================================================================== -->
	<!--  peak calibration section                                       -->
	<!-- =================================================================== -->

	<!-- processor -->
	<bean id="steponeplusPeakCalibrationExperimentProcessor" class="com.apldbio.sds.calibration.steponeplus.peak.StepOnePlusPeakCalibrationExperimentProcessor" 
		singleton="true">
	</bean>

	<!-- pipeline -->
	<bean id="steponeplusPeakCalibAnalysisPipeline" class="com.apldbio.sds.platform.pipeline.AnalysisPipeline">
    	<property name="commands">
        	<list>
				<ref local="steponeplusPeakCalibAnalysisTask"></ref> 
			</list>
		</property>
    </bean>

	<!-- task -->
	<bean id="steponeplusPeakCalibAnalysisTask" class="com.apldbio.sds.calibration.peak.pipeline.PeakCalibrationAnalysisTask" 
		singleton="false">
		<property name="calibrationAnalysis">
			<bean class="com.apldbio.sds.calibration.steponeplus.peak.pipeline.StepOnePlusPeakCalibrationAnalysis" />
		</property>
	</bean>

	<bean id="stepOnePlusThetaCalibrationWizard" class="com.apldbio.sds.calibration.aztec.wizard.theta.ThetaCalibrationWizard" singleton="false">
    	<property name="controller">
	       	<ref local="StepOnePlusThetaCalibrationController" />
		</property>
    	<property name="wizardSteps">
        	<list>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.theta.IntroductionPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePlusThetaCalibrationController" />
					</property>
        		</bean>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.theta.CalibrationPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePlusThetaCalibrationController" />
					</property>
        		</bean>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.theta.AnalysisPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePlusThetaCalibrationController" />
					</property>
        		</bean>
			</list>
		</property>
	</bean>
	
	<!-- =================================================================== -->
	<!--  background calibration section                                     -->
	<!-- =================================================================== -->
	<bean id="StepOnePlusBackgroundCalibrationController" factory-method="getInstance"
		class="com.apldbio.sds.calibration.steponeplus.background.BackgroundCalibrationController" />

	<!-- processor -->
	<bean id="steponeplusBKCalibrationExperimentProcessor" class="com.apldbio.sds.calibration.steponeplus.background.StepOnePlusBGCalibrationExperimentProcessor" 
		singleton="true">
	</bean>

	<!-- pipeline -->
	<bean id="steponeplusBKCalibrationAnalysisPipeline" class="com.apldbio.sds.platform.pipeline.AnalysisPipeline">
    	<property name="commands">
        	<list>
				<ref local="steponeplusBGCalibrationAnalysisTask"></ref> 
			</list>
		</property>
	</bean>

	<!-- task -->
	<bean id="steponeplusBGCalibrationAnalysisTask" class="com.apldbio.sds.calibration.background.pipeline.BGCalibrationAnalysisTask"
		singleton="false">
		<property name="preprocessing">
			<bean class="com.apldbio.sds.calibration.steponeplus.background.pipeline.StepOnePlusBGCalibrationAnalysis" />
		</property>
	</bean>	

	<bean id="stepOnePlusBackgroundCalibrationWizard" class="com.apldbio.sds.calibration.aztec.wizard.background.BackgroundCalibrationWizard" singleton="false">
    	<property name="controller">
	       	<ref local="StepOnePlusBackgroundCalibrationController" />
		</property>
    	<property name="wizardSteps">
        	<list>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.background.IntroductionPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePlusBackgroundCalibrationController" />
					</property>
        		</bean>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.background.CalibrationPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePlusBackgroundCalibrationController" />
					</property>
        		</bean>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.background.AnalysisPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePlusBackgroundCalibrationController" />
					</property>
        		</bean>
			</list>
		</property>
	</bean>
	
	<!-- =================================================================== -->
	<!--  pure dye calibration section                                       -->
	<!-- =================================================================== -->
	<bean id="StepOnePlusPureDyeCalibrationController" factory-method="getInstance"
		class="com.apldbio.sds.calibration.steponeplus.puredye.PureDyeCalibrationController" />		

	<!-- processor -->
	<bean id="steponeplusPureDyeCalibrationExperimentProcessor" class="com.apldbio.sds.calibration.steponeplus.puredye.StepOnePlusPDCalibrationExperimentProcessor" 
		singleton="true">
	</bean>

	<!-- pipeline -->
	<bean id="steponeplusPDCalibAnalysisPipeline" class="com.apldbio.sds.platform.pipeline.AnalysisPipeline">
    	<property name="commands">
        	<list>
        		<ref bean="PreprocessingTask"></ref>
				<ref local="steponeplusPDCalibAnalysisTask"></ref> 
			</list>
		</property>
    </bean>

	<!-- task -->
	<bean id="steponeplusPDCalibAnalysisTask" class="com.apldbio.sds.calibration.puredye.pipeline.PDCalibrationAnalysisTask" 
		singleton="false">
		<property name="calibrationAnalysis">
			<bean class="com.apldbio.sds.calibration.steponeplus.puredye.pipeline.StepOnePlusPDCalibrationAnalysis" />
		</property>
	</bean>
	
	<bean id="stepOnePlusSystemPuredyeCalibrationWizard" class="com.apldbio.sds.calibration.wizard.puredye.PureDyeCalibrationWizard" singleton="false">
    	<property name="controller">
	       	<ref local="StepOnePlusPureDyeCalibrationController" />
		</property>
    	<property name="wizardSteps">
        	<list>
        		<bean class="com.apldbio.sds.calibration.wizard.puredye.IntroductionPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePlusPureDyeCalibrationController" />
					</property>
        		</bean>
	        	<ref local="StepOnePlusPuredyeCalibrationWizardPage" />
        		<ref local="StepOnePlusPuredyeAnalysisWizardPage" /> 
			</list>
		</property>
	</bean>
	
	<bean id="stepOnePlusCustomPuredyeCalibrationWizard" class="com.apldbio.sds.calibration.wizard.puredye.PureDyeCalibrationWizard" singleton="false">
    	<property name="controller">
	       	<ref local="StepOnePlusPureDyeCalibrationController" />
		</property>
    	<property name="wizardSteps">
        	<list>
        		<bean class="com.apldbio.sds.calibration.wizard.puredye.CustomIntroductionPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePlusPureDyeCalibrationController" />
					</property>
        		</bean>
	        	<ref local="StepOnePlusPuredyeCalibrationWizardPage" />
        		<ref local="StepOnePlusPuredyeAnalysisWizardPage" /> 
			</list>
		</property>
	</bean>
	
	<bean id="StepOnePlusPuredyeCalibrationWizardPage" class="com.apldbio.sds.calibration.aztec.wizard.puredye.CalibrationPage"
		singleton="false">
		<property name="controller">
			<ref local="StepOnePlusPureDyeCalibrationController" />
		</property>
	</bean>	
	
	<bean id="StepOnePlusPuredyeAnalysisWizardPage" class="com.apldbio.sds.calibration.aztec.wizard.puredye.AnalysisPage"
		singleton="false">
		<property name="controller">
			<ref local="StepOnePlusPureDyeCalibrationController" />
		</property>
	</bean>	

</beans>
