1   package com.atlassian.user.impl.hibernate.configuration;
2   
3   import com.atlassian.user.configuration.*;
4   
5   public class HibernateRepositoryProcessor extends DefaultRepositoryProcessor
6   {
7       public RepositoryAccessor process(RepositoryConfiguration config) throws ConfigurationException
8       {
9           HibernateAccessor accessor;
10          if (config.hasComponent(Configuration.ACCESSOR))
11          {
12              accessor = (HibernateAccessor) config.getComponent(Configuration.ACCESSOR);
13          }
14          else
15          {
16              accessor = (HibernateAccessor) createBean(Configuration.ACCESSOR, config);
17          }
18          config.addComponent(Configuration.HIBERNATE_SESSION_FACTORY, accessor.getSessionFactory());
19  
20          config.addComponent("hibernateProvider", createBean("hibernateProvider", config));
21  
22          if (!config.hasComponent(Configuration.EXTERNAL_ENTITY_DAO))
23          {
24              config.addComponent(Configuration.EXTERNAL_ENTITY_DAO,
25                  createBean(Configuration.EXTERNAL_ENTITY_DAO, config));
26          }
27  
28          return super.process(config);
29      }
30  }