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 }