<beans default-lazy-init="false"
    xmlns="http://www.springframework.org/schema/beans" 	
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
	
	<!--  DI 2	Device Inventory Report By Status-->
	<bean id="DI2" class="gov.va.med.fw.report.ConfigurableReportBuilder">
		<constructor-arg ref="DI2.dataService"/>
		<property name="reportNameResolver"> 
			<bean class="gov.va.med.ccht.service.report.StandardReportNameResolver"/>
		</property>				
		<property name="reportDataService" ref="DI2.dataService"/>
		<property name="reportTemplate" ref="DI2.reportTemplate"/>
	</bean>
	
	<bean
		id="DI2.dataService"
		class="gov.va.med.fw.report.jasperreport.data.JasperReportDataService">

		<property name="reportDataDAOs">
			<map>
				<entry key="DI2.Summary.national.vendor" value="DI2.Summary.national.vendor.dataDAO"/>
				<entry key="DI2.Summary.visn.vendor" value="DI2.Summary.visn.vendor.dataDAO"/>
				<entry key="DI2.Summary.facility.vendor" value="DI2.Summary.facility.vendor.dataDAO"/>
				<entry key="DI2.Summary.national.device" value="DI2.Summary.national.device.dataDAO"/>
				<entry key="DI2.Summary.visn.device" value="DI2.Summary.visn.device.dataDAO"/>
				<entry key="DI2.Summary.facility.device" value="DI2.Summary.facility.device.dataDAO"/>
				
			</map>
		</property>   	
    	
		<property name="metaDataMap">
		    <map>
				<entry key="DI2.Summary.national.vendor">
					<map>
						<entry key="location"><value type="java.lang.Integer">0</value></entry>
						<entry key="vendor_name"><value type="java.lang.Integer">1</value></entry>
						<entry key="model_name"><value type="java.lang.Integer">2</value></entry>					
						<entry key="assigned"><value type="java.lang.Integer">3</value></entry>
						<entry key="available"><value type="java.lang.Integer">4</value></entry>
						<entry key="refurbish"><value type="java.lang.Integer">5</value></entry>
						<entry key="repair"><value type="java.lang.Integer">6</value></entry>
						<entry key="decommissioned"><value type="java.lang.Integer">7</value></entry>
						<entry key="total"><value type="java.lang.Integer">8</value></entry>
						<entry key="glevel"><value type="java.lang.Integer">9</value></entry>						
					</map>
				</entry>
					
				<entry key="DI2.Summary.national.device">
					<map>
						<entry key="location"><value type="java.lang.Integer">0</value></entry>
						<entry key="vendor_name"><value type="java.lang.Integer">1</value></entry>
						<entry key="model_name"><value type="java.lang.Integer">2</value></entry>					
						<entry key="assigned"><value type="java.lang.Integer">3</value></entry>
						<entry key="available"><value type="java.lang.Integer">4</value></entry>
						<entry key="refurbish"><value type="java.lang.Integer">5</value></entry>
						<entry key="repair"><value type="java.lang.Integer">6</value></entry>
						<entry key="decommissioned"><value type="java.lang.Integer">7</value></entry>
						<entry key="total"><value type="java.lang.Integer">8</value></entry>
						<entry key="glevel"><value type="java.lang.Integer">9</value></entry>					
					</map>
				</entry>
									
				<entry key="DI2.Summary.visn.vendor">
					<map>
					    <entry key="visn_name"><value type="java.lang.Integer">0</value></entry>
						<entry key="vendor_name"><value type="java.lang.Integer">1</value></entry>
						<entry key="model_name"><value type="java.lang.Integer">2</value></entry>										    
						<entry key="assigned"><value type="java.lang.Integer">3</value></entry>
						<entry key="available"><value type="java.lang.Integer">4</value></entry>
						<entry key="refurbish"><value type="java.lang.Integer">5</value></entry>
						<entry key="repair"><value type="java.lang.Integer">6</value></entry>
						<entry key="decommissioned"><value type="java.lang.Integer">7</value></entry>
						<entry key="total"><value type="java.lang.Integer">8</value></entry>
						<entry key="glevel"><value type="java.lang.Integer">9</value></entry>
					</map>
				</entry>
					
				<entry key="DI2.Summary.visn.device">
					<map>
					    <entry key="visn_name"><value type="java.lang.Integer">0</value></entry>
						<entry key="vendor_name"><value type="java.lang.Integer">1</value></entry>
						<entry key="model_name"><value type="java.lang.Integer">2</value></entry>										    
						<entry key="assigned"><value type="java.lang.Integer">3</value></entry>
						<entry key="available"><value type="java.lang.Integer">4</value></entry>
						<entry key="refurbish"><value type="java.lang.Integer">5</value></entry>
						<entry key="repair"><value type="java.lang.Integer">6</value></entry>
						<entry key="decommissioned"><value type="java.lang.Integer">7</value></entry>
						<entry key="total"><value type="java.lang.Integer">8</value></entry>
						<entry key="glevel"><value type="java.lang.Integer">9</value></entry>
					</map>
				</entry>
									
				<entry key="DI2.Summary.facility.vendor">
					<map>
					    <entry key="facility_name"><value type="java.lang.Integer">0</value></entry>
						<entry key="vendor_name"><value type="java.lang.Integer">1</value></entry>
						<entry key="model_name"><value type="java.lang.Integer">2</value></entry>										    					    
						<entry key="assigned"><value type="java.lang.Integer">3</value></entry>
						<entry key="available"><value type="java.lang.Integer">4</value></entry>
						<entry key="refurbish"><value type="java.lang.Integer">5</value></entry>
						<entry key="repair"><value type="java.lang.Integer">6</value></entry>
						<entry key="decommissioned"><value type="java.lang.Integer">7</value></entry>
						<entry key="total"><value type="java.lang.Integer">8</value></entry>
						<entry key="glevel"><value type="java.lang.Integer">9</value></entry>
					</map>
				</entry>
				<entry key="DI2.Summary.facility.device">
					<map>
					    <entry key="facility_name"><value type="java.lang.Integer">0</value></entry>
						<entry key="vendor_name"><value type="java.lang.Integer">1</value></entry>
						<entry key="model_name"><value type="java.lang.Integer">2</value></entry>										    					    
						<entry key="assigned"><value type="java.lang.Integer">3</value></entry>
						<entry key="available"><value type="java.lang.Integer">4</value></entry>
						<entry key="refurbish"><value type="java.lang.Integer">5</value></entry>
						<entry key="repair"><value type="java.lang.Integer">6</value></entry>
						<entry key="decommissioned"><value type="java.lang.Integer">7</value></entry>
						<entry key="total"><value type="java.lang.Integer">8</value></entry>
						<entry key="glevel"><value type="java.lang.Integer">9</value></entry>
					</map>
				</entry>				
		    </map>
		</property>
	</bean>
	
		<bean id="DI2.ehCacheStrategy" class="gov.va.med.fw.cache.EHCacheStrategy">
	</bean>
	

	<bean id="DI2.reportTemplate" class="gov.va.med.fw.report.jasperreport.JasperReportTemplate">
		<property name="templateCache" ref="DI2.ehCacheStrategy"/>
		<property name="templates">
			<map>			
				<entry key="DI2.Summary.national.vendor" value="di2_summary_national_vendor.jasper"/>				
				<entry key="DI2.Summary.visn.vendor" value="di2_summary_visn_vendor.jasper"/>
				<entry key="DI2.Summary.facility.vendor" value="di2_summary_facility_vendor.jasper"/>	
				<entry key="DI2.Summary.national.device" value="di2_summary_national_device.jasper"/>				
				<entry key="DI2.Summary.visn.device" value="di2_summary_visn_device.jasper"/>
				<entry key="DI2.Summary.facility.device" value="di2_summary_facility_device.jasper"/>											
			</map>
		</property>
	</bean>
	
	<bean id="DI2.Summary.national.vendor.xls" class="gov.va.med.fw.report.excelreport.ExcelReport">
		<property name="reportTitle" value="National Summary By Vendor"/>
		<property name="summaryRowCells"> 
			<map>   
				<entry key="vendor_name" value-ref="summaryReportTotal"/>
				<entry key="assigned" value-ref="summaryReportFormauale"/>
				<entry key="available" value-ref="summaryReportFormauale"/>
				<entry key="refurbish" value-ref="summaryReportFormauale"/>
				<entry key="repair" value-ref="summaryReportFormauale"/>
				<entry key="decommissioned" value-ref="summaryReportFormauale"/>
				<entry key="total" value-ref="summaryReportFormauale"/>
			</map>
		</property>		
	</bean>
	
	<bean id="DI2.Summary.national.device.xls" class="gov.va.med.fw.report.excelreport.ExcelReport">
		<property name="reportTitle" value="National Summary By Device Model"/>
		<property name="summaryRowCells"> 
			<map>   
				<entry key="vendor_name" value-ref="summaryReportTotal"/>
				<entry key="assigned" value-ref="summaryReportFormauale"/>
				<entry key="available" value-ref="summaryReportFormauale"/>
				<entry key="refurbish" value-ref="summaryReportFormauale"/>
				<entry key="repair" value-ref="summaryReportFormauale"/>
				<entry key="decommissioned" value-ref="summaryReportFormauale"/>
				<entry key="total" value-ref="summaryReportFormauale"/>
			</map>
		</property>		
	</bean>	
	
	<bean id="DI2.Summary.visn.vendor.xls" class="gov.va.med.fw.report.excelreport.ExcelReport">
		<property name="reportTitle" value="VISN Summary By Vendor"/>
		<property name="summaryRowCells"> 
			<map>   
				<entry key="visn_name" value-ref="summaryReportTotal"/>
				<entry key="assigned" value-ref="summaryReportFormauale"/>
				<entry key="available" value-ref="summaryReportFormauale"/>
				<entry key="refurbish" value-ref="summaryReportFormauale"/>
				<entry key="repair" value-ref="summaryReportFormauale"/>
				<entry key="decommissioned" value-ref="summaryReportFormauale"/>
				<entry key="total" value-ref="summaryReportFormauale"/>
			</map>
		</property>
	</bean>
	
	<bean id="DI2.Summary.visn.device.xls" class="gov.va.med.fw.report.excelreport.ExcelReport">
		<property name="reportTitle" value="VISN Summary By Device Model"/>
		<property name="summaryRowCells"> 
			<map>   
				<entry key="visn_name" value-ref="summaryReportTotal"/>
				<entry key="assigned" value-ref="summaryReportFormauale"/>
				<entry key="available" value-ref="summaryReportFormauale"/>
				<entry key="refurbish" value-ref="summaryReportFormauale"/>
				<entry key="repair" value-ref="summaryReportFormauale"/>
				<entry key="decommissioned" value-ref="summaryReportFormauale"/>
				<entry key="total" value-ref="summaryReportFormauale"/>
			</map>
		</property>
	</bean>
		
	<bean id="DI2.Summary.facility.vendor.xls" class="gov.va.med.fw.report.excelreport.ExcelReport">
		<property name="reportTitle" value="Facility Summary By Vendor"/>
		<property name="summaryRowCells"> 
			<map>   
				<entry key="facility_name" value-ref="summaryReportTotal"/>
				<entry key="assigned" value-ref="summaryReportFormauale"/>
				<entry key="available" value-ref="summaryReportFormauale"/>
				<entry key="refurbish" value-ref="summaryReportFormauale"/>
				<entry key="repair" value-ref="summaryReportFormauale"/>
				<entry key="decommissioned" value-ref="summaryReportFormauale"/>
				<entry key="total" value-ref="summaryReportFormauale"/>
			</map>
		</property>
	</bean>
	
	<bean id="DI2.Summary.facility.device.xls" class="gov.va.med.fw.report.excelreport.ExcelReport">
		<property name="reportTitle" value="Facility Summary By Device Model"/>
		<property name="summaryRowCells"> 
			<map>   
				<entry key="facility_name" value-ref="summaryReportTotal"/>
				<entry key="assigned" value-ref="summaryReportFormauale"/>
				<entry key="available" value-ref="summaryReportFormauale"/>
				<entry key="refurbish" value-ref="summaryReportFormauale"/>
				<entry key="repair" value-ref="summaryReportFormauale"/>
				<entry key="decommissioned" value-ref="summaryReportFormauale"/>
				<entry key="total" value-ref="summaryReportFormauale"/>
			</map>
		</property>
	</bean>	
	
	<bean id="DI2.dataDAO.abstract" abstract="true"
		class="gov.va.med.ccht.persistent.hibernate.StandardReportDataDAOImpl">
		<property name="postProcessRequired" value="false"/>
		<property name="paginated" value="false"/>
		<property name="queryName" value="di2_summary_visn"/>
	</bean>
	<bean id="DI2.Summary.national.vendor.dataDAO" parent="DI2.dataDAO.abstract">
		<property name="queryName" value="di2_summary_national_vendor"/>
	</bean>	
	<bean id="DI2.Summary.visn.vendor.dataDAO" parent="DI2.dataDAO.abstract">
		<property name="queryName" value="di2_summary_visn_vendor"/>
	</bean>
	<bean id="DI2.Summary.facility.vendor.dataDAO" parent="DI2.dataDAO.abstract">
		<property name="queryName" value="di2_summary_facility_vendor"/>
	</bean>
	<bean id="DI2.Summary.national.device.dataDAO" parent="DI2.dataDAO.abstract">
		<property name="queryName" value="di2_summary_national_device"/>
	</bean>	
	<bean id="DI2.Summary.visn.device.dataDAO" parent="DI2.dataDAO.abstract">
		<property name="queryName" value="di2_summary_visn_device"/>
	</bean>
	<bean id="DI2.Summary.facility.device.dataDAO" parent="DI2.dataDAO.abstract">
		<property name="queryName" value="di2_summary_facility_device"/>
	</bean>			
</beans>

