package org.jboss.tools.hibernate.jpt.ui.internal.persistence.details;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ResourceManager;
import org.eclipse.jpt.common.ui.WidgetFactory;
import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.jpa.ui.editors.JpaEditorPageDefinition;
import org.eclipse.jpt.jpa.ui.internal.jpa2.persistence.PersistenceUnitEditorPageDefinition2_0;
import org.eclipse.swt.widgets.Composite;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
import org.jboss.tools.hibernate.jpt.core.internal.context.basic.BasicHibernateProperties;
public class HibernatePropertiesPageDefinition extends PersistenceUnitEditorPageDefinition2_0 {
// singleton
private static final JpaEditorPageDefinition INSTANCE =
new HibernatePropertiesPageDefinition();
/**
* Return the singleton.
*/
public static JpaEditorPageDefinition instance() {
return INSTANCE;
}
@Override
public String getHelpID() {
// TODO Auto-generated method stub
return null;
}
@Override
public ImageDescriptor getTitleImageDescriptor() {
return null;
}
@Override
public String getTitleText() {
return "Hibernate";
}
@Override
protected void buildEditorPageContent(Composite parent,
WidgetFactory widgetFactory, ResourceManager resourceManager,
PropertyValueModel<PersistenceUnit> persistenceUnitModel) {
new HibernatePropertiesPage(buildBasicHibernatePropertiesHolder(persistenceUnitModel), parent, widgetFactory, resourceManager);
}
protected PropertyValueModel<BasicHibernateProperties> buildBasicHibernatePropertiesHolder(
PropertyValueModel<PersistenceUnit> subjectHolder) {
return new TransformationPropertyValueModel<PersistenceUnit, BasicHibernateProperties>(subjectHolder) {
@Override
protected BasicHibernateProperties transform_(PersistenceUnit value) {
return ((HibernatePersistenceUnit)value).getHibernatePersistenceUnitProperties();
}
};
}
}