<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements. See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership. The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied. See the License for the
  specific language governing permissions and limitations
  under the License.
-->

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:tx="http://www.springframework.org/schema/tx" 
  xmlns:aop="http://www.springframework.org/schema/aop"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
                      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                      http://www.springframework.org/schema/tx 
                      http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
                      http://www.springframework.org/schema/aop
                      http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                      http://www.springframework.org/schema/context
                      http://www.springframework.org/schema/context/spring-context-3.0.xsd">                     


<!--
 
  non-OSS deployment configuration
      
  OSS/non-OSS counter-exclusive components and related configurations should be put here
  for example, configurationDaoImpl component, it has exclusive configuration settings in OSS and non-OSS deployment,
  its component declaration should be put in both componentContext.xml.in and nonossComponentContext.xml.in, each with
  independent configuration
    
-->
  <bean id="premiumDatabaseUpgradeChecker" class="com.cloud.upgrade.PremiumDatabaseUpgradeChecker"/>
  <bean id="GlobalLoadBalancingRulesServiceImpl" class ="org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl" >
    <property name="GslbServiceProvider">
      <ref bean="Netscaler"/>
    </property>
  </bean>

  <!--
    DAO with customized configuration under non-OSS deployment
  -->
  <bean id="configurationDaoImpl" class="com.cloud.configuration.dao.ConfigurationDaoImpl">
    <property name="configParams">
      <map>
        <entry key="premium" value="true" />
      </map>
    </property>  
  </bean>

  <!--
    VMware support components
  -->  
  <bean id="VmwareFencer" class="com.cloud.ha.VmwareFencer">
    <property name="name" value="VMwareFenceBuilder"/>
  </bean>
  <bean id="vmwareServerDiscoverer" class="com.cloud.hypervisor.vmware.VmwareServerDiscoverer">
    <property name="name" value="VMware Discover"/>
  </bean>
  <bean id="VMwareGuru" class="com.cloud.hypervisor.guru.VMwareGuru">
    <property name="name" value="VMwareGuru"/>
  </bean>
  <bean id="VmwareInvestigator" class="com.cloud.ha.VmwareInvestigator">
    <property name="name" value="VMwareInvestigator"/>
  </bean>
  <bean id="VmwareManager" class="com.cloud.hypervisor.vmware.manager.VmwareManagerImpl"/>
  <bean id="vmwareContextFactory" class="com.cloud.hypervisor.vmware.resource.VmwareContextFactory" />

  <!--
    Nicira support components
  -->
  <bean id="niciraNvpDaoImpl" class="com.cloud.network.dao.NiciraNvpDaoImpl" />
  <bean id="niciraNvpNicMappingDaoImpl" class="com.cloud.network.dao.NiciraNvpNicMappingDaoImpl" />
  <bean id="niciraNvpRouterMappingDaoImpl" class="com.cloud.network.dao.NiciraNvpRouterMappingDaoImpl" />
  <bean id="NiciraNvpGuestNetworkGuru" class="com.cloud.network.guru.NiciraNvpGuestNetworkGuru">
    <property name="name" value="NiciraNvpGuestNetworkGuru"/>
  </bean>
  <bean id="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement">
    <property name="name" value="NiciraNvp"/>
  </bean>
  
  <!--
      BigSwitch Components
  -->
  <bean id="BigSwitchVns" class="com.cloud.network.element.BigSwitchVnsElement">
    <property name="name" value="BigSwitchVns"/>
  </bean>

  <!--
    Netapp support components
  -->  
  <bean id="lunDaoImpl" class="com.cloud.netapp.dao.LunDaoImpl" />
  <bean id="poolDaoImpl" class="com.cloud.netapp.dao.PoolDaoImpl" />
  <bean id="netappVolumeDaoImpl" class="com.cloud.netapp.dao.VolumeDaoImpl" />
  <bean id="NetappManager" class="com.cloud.netapp.NetappManagerImpl"/>

  <!--
   JuniperSRX support components
  -->
  <bean id="JuniperSRX" class="com.cloud.network.element.JuniperSRXExternalFirewallElement">
    <property name="name" value="JuniperSRX"/>
  </bean>
  
  <!--
    NetScalar support components
  -->
  <bean id="netScalerPodDaoImpl" class="com.cloud.network.dao.NetScalerPodDaoImpl" />
  <bean id="Netscaler" class="com.cloud.network.element.NetscalerElement">
    <property name="name" value="Netscaler"/>
  </bean>
  
  <!--
    F5BigIP support components
  -->
  <bean id="F5BigIP" class="com.cloud.network.element.F5ExternalLoadBalancerElement">
    <property name="name" value="F5BigIP"/>
  </bean>
  
  <!--
    Cisco Nexus support components
  -->  
  <bean id="ciscoNexusVSMDeviceDaoImpl" class="com.cloud.network.dao.CiscoNexusVSMDeviceDaoImpl" />
  <bean id="CiscoNexus1000vVSM" class="com.cloud.network.element.CiscoNexusVSMElement">
    <property name="name" value="CiscoNexus1000vVSM"/>
  </bean>
  
  <!--
    BigSwitch support components
  -->  
  <bean id="bigSwitchVnsDaoImpl" class="com.cloud.network.dao.BigSwitchVnsDaoImpl" />
  <bean id="bigSwitchVnsElement" class="com.cloud.network.element.BigSwitchVnsElement">
    <property name="name" value="BigSwitchVnsElement"/>
  </bean>


  <!--
    Midonet support components
  -->
  <bean id="MidoNetGuestNetworkGuru" class="com.cloud.network.guru.MidoNetGuestNetworkGuru">
    <property name="name" value="MidoNetGuestNetworkGuru"/>
  </bean>
  <bean id="MidoNetElement" class="com.cloud.network.element.MidoNetElement">
    <property name="name" value="MidoNetElement"/>
  </bean>


<!--

  Deployment configurations of various adapters
    
  It determines whether or not a adapter is activated or how it is loaded in order in its managing provider,
     
--> 

  <!-- Security adapters -->
  <bean id="userAuthenticators" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="SHA256SaltedUserAuthenticator"/>
          <ref bean="MD5UserAuthenticator"/>
          <ref bean="LDAPUserAuthenticator"/>
          <ref bean="PlainTextUserAuthenticator"/>
      </list>
    </property>
  </bean>
  <bean id="userPasswordEncoders" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="SHA256SaltedUserAuthenticator"/>
          <ref bean="MD5UserAuthenticator"/>
          <ref bean="LDAPUserAuthenticator"/>
          <ref bean="PlainTextUserAuthenticator"/>
      </list>
    </property>
  </bean>

  <bean id="securityCheckers" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="domainChecker"/>
      </list>
    </property>
  </bean>

  <!-- Resource discoverers -->
  <bean id="resourceDiscoverers" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="XcpServerDiscoverer"/>
          <ref bean="SecondaryStorageDiscoverer"/>
          <ref bean="KvmServerDiscoverer"/>
<!--          
          <ref bean="BareMetalDiscoverer"/>
-->
          <ref bean="OvmDiscoverer"/>
          <ref bean="vmwareServerDiscoverer"/>
      </list>
    </property>
  </bean>

  <!-- HA adapters -->
  <bean id="haInvestigators" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="CheckOnAgentInvestigator"/>
          <ref bean="XenServerInvestigator"/>
          <ref bean="VmwareInvestigator"/>
          <ref bean="UserVmDomRInvestigator"/>
          <ref bean="ManagementIPSystemVMInvestigator"/>
      </list>
    </property>
  </bean>

  <bean id="haFenceBuilders" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="XenServerFencer"/>
          <ref bean="KVMFencer"/>
          <ref bean="OvmFencer"/>
          <ref bean="VmwareFencer"/>
      </list>
    </property>
  </bean>

  <!-- Deployment/allocation adapters -->
  <bean id="deploymentPlanners" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="FirstFitPlanner" />
          <ref bean="UserDispersingPlanner" />
          <ref bean="UserConcentratedPodPlanner" />
          
<!--
          <ref bean="BareMetalPlanner" />
-->
      </list>
    </property>
  </bean>

  <bean id="podAllocators" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="UserConcentratedAllocator"/>
      </list>
    </property>
  </bean>
  
  <bean id="hostAllocators" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="FirstFitRouting"/>
      </list>
    </property>
  </bean>

  <bean id="storagePoolAllocators" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="LocalStoragePoolAllocator"/>
          <ref bean="clusterScopeStoragePoolAllocator"/>
          <ref bean="zoneWideStoragePoolAllocator"/>
          <ref bean="garbageCollectingStoragePoolAllocator"/>
      </list>
    </property>
  </bean>

  <!-- Networking adapters -->
  <bean id="ipDeployers" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="elasticLoadBalancerElement"/>
          <ref bean="VirtualRouter"/>
          <ref bean="VpcVirtualRouter"/>
      </list>
    </property>
  </bean>

  <bean id="dhcpProviders" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="VirtualRouter"/>
          <ref bean="VpcVirtualRouter"/>
<!--          
          <ref bean="BareMetalDhcp"/>
-->    
      </list>
    </property>
  </bean>

  <bean id="networkGurus" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="StorageNetworkGuru"/>
          <ref bean="ExternalGuestNetworkGuru"/>
          <ref bean="PublicNetworkGuru"/>
          <ref bean="PodBasedNetworkGuru"/>
          <ref bean="DirectPodBasedNetworkGuru"/>
          <ref bean="ControlNetworkGuru"/>
          <ref bean="DirectNetworkGuru"/>
          <ref bean="OvsGuestNetworkGuru"/>
          <ref bean="PrivateNetworkGuru"/>
          <ref bean="NiciraNvpGuestNetworkGuru"/>
          <ref bean="MidoNetGuestNetworkGuru"/>
      </list>
    </property>
  </bean>
  
  <bean id="networkElements" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="JuniperSRX"/>
          <ref bean="Netscaler"/>
          <ref bean="F5BigIP"/>
          <ref bean="CiscoNexus1000vVSM"/>
          <ref bean="NiciraNvp" />
          <ref bean="MidoNetElement" />
          <ref bean="bigSwitchVnsElement"/>
          <ref bean="VirtualRouter"/>
          <ref bean="Ovs"/>
          <ref bean="SecurityGroupProvider"/>
          <ref bean="VpcVirtualRouter"/>
<!--
          <ref bean="BareMetalDhcp"/>
          <ref bean="BareMetalPxe"/>
          <ref bean="BareMetalUserdata"/>
-->    
      </list>
    </property>
  </bean>

</beans>
