/**
* Copyright (C) Intersect 2012.
*
* This module contains Proprietary Information of Intersect,
* and should be treated as Confidential.
*/
package au.org.intersect.exsite9.service.factory;
import javax.persistence.EntityManagerFactory;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.services.AbstractServiceFactory;
import org.eclipse.ui.services.IServiceLocator;
import au.org.intersect.exsite9.dao.factory.MetadataAttributeDAOFactory;
import au.org.intersect.exsite9.dao.factory.MetadataCategoryDAOFactory;
import au.org.intersect.exsite9.service.MetadataCategoryService;
/**
* Factory responsible for creating {@link MetadataCategoryService}
*/
public final class MetadataCategoryServiceFactory extends AbstractServiceFactory
{
/**
* @{inheritDoc}
*/
@Override
@SuppressWarnings("rawtypes")
public Object create(Class serviceInterface, IServiceLocator parentLocator, IServiceLocator locator)
{
final EntityManagerFactory emf = (EntityManagerFactory) PlatformUI.getWorkbench().getService(EntityManagerFactory.class);
final MetadataCategoryDAOFactory mdcDAOFactory = new MetadataCategoryDAOFactory();
final MetadataAttributeDAOFactory mdaDAOFactory = new MetadataAttributeDAOFactory();
return new MetadataCategoryService(emf, mdcDAOFactory, mdaDAOFactory);
}
}