<?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="StepOneThetaCalibrationController" factory-method="getInstance"
		class="com.apldbio.sds.calibration.stepone.theta.ThetaCalibrationController" />

	<bean id="steponeThetaCalibrationExperimentProcessor" class="com.apldbio.sds.calibration.stepone.theta.StepOneThetaCalibrationExperimentProcessor" 
		singleton="true">
	</bean>

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

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

	<!-- processor -->
	<bean id="steponePeakCalibrationExperimentProcessor" class="com.apldbio.sds.calibration.stepone.peak.StepOnePeakCalibrationExperimentProcessor" 
		singleton="true">
	</bean>

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

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

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

	<!-- processor -->
	<bean id="steponeBKCalibrationExperimentProcessor" class="com.apldbio.sds.calibration.stepone.background.StepOneBGCalibrationExperimentProcessor" 
		singleton="true">
	</bean>

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

	<!-- task -->
	<bean id="steponeBGCalibrationAnalysisTask" class="com.apldbio.sds.calibration.background.pipeline.BGCalibrationAnalysisTask"
		singleton="false">
		<property name="preprocessing">
			<bean class="com.apldbio.sds.calibration.stepone.background.pipeline.StepOneBGCalibrationAnalysis" />
		</property>
	</bean>	
		
	<bean id="stepOneBackgroundCalibrationWizard" class="com.apldbio.sds.calibration.aztec.wizard.background.BackgroundCalibrationWizard" singleton="false">
    	<property name="controller">
	       	<ref local="StepOneBackgroundCalibrationController" />
		</property>
    	<property name="wizardSteps">
        	<list>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.background.IntroductionPage" singleton="false">
					<property name="controller">
						<ref local="StepOneBackgroundCalibrationController" />
					</property>
        		</bean>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.background.CalibrationPage" singleton="false">
					<property name="controller">
						<ref local="StepOneBackgroundCalibrationController" />
					</property>
        		</bean>
        		<bean class="com.apldbio.sds.calibration.aztec.wizard.background.AnalysisPage" singleton="false">
					<property name="controller">
						<ref local="StepOneBackgroundCalibrationController" />
					</property>
        		</bean>
			</list>
		</property>
	</bean>
	
	<!-- =================================================================== -->
	<!--  pure dye calibration section                                       -->
	<!-- =================================================================== -->
	<bean id="StepOnePureDyeCalibrationController" factory-method="getInstance"
		class="com.apldbio.sds.calibration.stepone.puredye.PureDyeCalibrationController" />		

	<!-- processor -->
	<bean id="steponePureDyeCalibrationExperimentProcessor" class="com.apldbio.sds.calibration.stepone.puredye.StepOnePDCalibrationExperimentProcessor" 
		singleton="true">
	</bean>

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

	<!-- task -->
	<bean id="steponePDCalibAnalysisTask" class="com.apldbio.sds.calibration.puredye.pipeline.PDCalibrationAnalysisTask" 
		singleton="false">
		<property name="calibrationAnalysis">
			<bean class="com.apldbio.sds.calibration.stepone.puredye.pipeline.StepOnePDCalibrationAnalysis" />
		</property>
	</bean>
	
	<bean id="stepOneSystemPuredyeCalibrationWizard" class="com.apldbio.sds.calibration.wizard.puredye.PureDyeCalibrationWizard" singleton="false">
    	<property name="controller">
	       	<ref local="StepOnePureDyeCalibrationController" />
		</property>
    	<property name="wizardSteps">
        	<list>
        		<bean class="com.apldbio.sds.calibration.wizard.puredye.IntroductionPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePureDyeCalibrationController" />
					</property>
        		</bean>
	        	<ref local="puredyeCalibrationWizardPage" />
        		<ref local="puredyeAnalysisWizardPage" /> 
			</list>
		</property>
	</bean>
	
	<bean id="stepOneCustomPuredyeCalibrationWizard" class="com.apldbio.sds.calibration.wizard.puredye.PureDyeCalibrationWizard" singleton="false">
    	<property name="controller">
	       	<ref local="StepOnePureDyeCalibrationController" />
		</property>
    	<property name="wizardSteps">
        	<list>
        		<bean class="com.apldbio.sds.calibration.wizard.puredye.CustomIntroductionPage" singleton="false">
					<property name="controller">
						<ref local="StepOnePureDyeCalibrationController" />
					</property>
        		</bean>
	        	<ref local="puredyeCalibrationWizardPage" />
        		<ref local="puredyeAnalysisWizardPage" /> 
			</list>
		</property>
	</bean>
	
	<bean id="puredyeCalibrationWizardPage" class="com.apldbio.sds.calibration.aztec.wizard.puredye.CalibrationPage"
		singleton="false">
		<property name="controller">
			<ref local="StepOnePureDyeCalibrationController" />
		</property>
	</bean>	
	
	<bean id="puredyeAnalysisWizardPage" class="com.apldbio.sds.calibration.aztec.wizard.puredye.AnalysisPage"
		singleton="false">
		<property name="controller">
			<ref local="StepOnePureDyeCalibrationController" />
		</property>
	</bean>	

	
</beans>
