package com.tandbergtv.watchpoint.pmm.dao.hibernate;

import org.hibernate.SessionFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.tandbergtv.metadatamanager.search.AssetSearchService;

public class ApplicationContextHelper {

	private ApplicationContext context;
	private static ApplicationContextHelper instance;

	public ApplicationContextHelper(String[] contextConfigFiles) {
		instance = this;
		context = new ClassPathXmlApplicationContext(contextConfigFiles);
	}

	public static synchronized ApplicationContextHelper getInstance() {
		return instance;
	}

	public ApplicationContext getContext() {
		return context;
	}

	public SessionFactory getSessionFactory() {
		return (SessionFactory) context.getBean("sessionFactory");
	}

	public AssetSearchService getAssetSearchService() {
		return (AssetSearchService) context.getBean("assetSearch");
	}
}
