/**
*
*/
package org.hibernate.eclipse.launch;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.internal.core.LaunchConfiguration;
import org.eclipse.debug.internal.ui.SWTFactory;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
import org.hibernate.console.ImageConstants;
import org.hibernate.console.preferences.ConsoleConfigurationPreferences.ConfigurationMode;
import org.hibernate.eclipse.console.HibernateConsoleMessages;
import org.hibernate.eclipse.console.HibernateConsolePlugin;
import org.hibernate.eclipse.console.utils.DialogSelectionHelper;
import org.hibernate.eclipse.console.utils.EclipseImages;
import org.hibernate.eclipse.console.utils.ProjectUtils;
import org.hibernate.eclipse.console.wizards.NewConfigurationWizard;
import org.hibernate.eclipse.console.wizards.NewConfigurationWizardPage;
import org.hibernate.eclipse.utils.HibernateEclipseUtils;
import org.hibernate.util.xpl.StringHelper;
import org.jboss.tools.hibernate.runtime.spi.ServiceLookup;
@SuppressWarnings("restriction")
public class ConsoleConfigurationMainTab extends ConsoleConfigurationTab {
protected boolean configurationFileWillBeCreated = false;
private Button coreMode;
private Combo hibernateVersion;
private Button jpaMode;
private Button annotationsMode;
private Button confbutton;
private Button persistenceUnitNameButton;
private Text propertyFileText;
private Text configurationFileText;
private Text projectNameText;
private Text persistenceUnitNameText;
private ConnectionProfileCtrl connectionProfileCtrl;
public String getName() {
return HibernateConsoleMessages.ConsoleConfigurationMainTab_main;
}
public void createControl(Composite parent) {
Font font = parent.getFont();
Composite comp = new Composite(parent, SWT.NONE);
setControl(comp);
GridLayout layout = new GridLayout();
layout.verticalSpacing = 0;
comp.setLayout(layout);
comp.setFont(font);
createConfigurationMode( comp );
createProjectEditor( comp );
createDBConnectConfig(comp);
createPropertyFileEditor(comp);
createConfigurationFileEditor(comp);
createPersistenceUnitEditor( comp );
}
private void createDBConnectConfig(Composite container) {
Group group = SWTFactory.createGroup(container, HibernateConsoleMessages.ConsoleConfigurationMainTab_DatabaseConnection, 3, 2, GridData.FILL_HORIZONTAL);
connectionProfileCtrl = new ConnectionProfileCtrl(group, 1, ""); //$NON-NLS-1$
connectionProfileCtrl.addModifyListener(getChangeListener());
}
private static final Comparator<String> STRING_REVERSE_ALPHABETICAL = new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s2.compareTo(s1);
}
};
private void createConfigurationMode(Composite container) {
Group group = createGroup( container, HibernateConsoleMessages.ConsoleConfigurationMainTab_type);
//group.setLayout( new RowLayout( SWT.HORIZONTAL ) );
group.setLayout(new GridLayout(4, false));
coreMode = new Button(group, SWT.RADIO);
coreMode.setText(HibernateConsoleMessages.ConsoleConfigurationMainTab_core);
coreMode.addSelectionListener( getChangeListener() );
coreMode.setSelection( true );
annotationsMode = new Button(group, SWT.RADIO);
annotationsMode.setText(HibernateConsoleMessages.ConsoleConfigurationMainTab_annotations);
annotationsMode.addSelectionListener( getChangeListener() );
jpaMode = new Button(group, SWT.RADIO);
jpaMode.setText(HibernateConsoleMessages.ConsoleConfigurationMainTab_jpa);
jpaMode.addSelectionListener( getChangeListener() );
new Label(group, SWT.NULL);
Composite comp2 = new Composite(group, SWT.NULL);
comp2.setLayout(new GridLayout(2, false));
comp2.setLayoutData(new GridData(GridData.BEGINNING, -1, false, false, 2, 1));
Label hLabel = new Label(comp2, SWT.NULL);
hLabel.setText(HibernateConsoleMessages.ConsoleConfigurationMainTab_0);
hibernateVersion = new Combo(comp2, SWT.READ_ONLY);
String[] versions = ServiceLookup.getVersions();
Arrays.sort(versions, STRING_REVERSE_ALPHABETICAL);
hibernateVersion.setItems(versions);
hibernateVersion.select(0);
hibernateVersion.setLayoutData(new GridData(53, -1));
hibernateVersion.addModifyListener(getChangeListener());
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
group.setLayoutData( gd );
}
protected void createProjectEditor(Composite parent) {
Group group = createGroup( parent, HibernateConsoleMessages.ConsoleConfigurationMainTab_project );
projectNameText = createBrowseEditor( parent, group);
createBrowseButton( group, new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
handleProjectBrowse();
}
} );
}
private void createPropertyFileEditor(Composite parent) {
Group group = createGroup( parent, HibernateConsoleMessages.ConsoleConfigurationMainTab_property_file );
propertyFileText = createBrowseEditor( parent, group);
createSetupButton( group, new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
handlePropertyFileSetup();
}
} );
}
private void createConfigurationFileEditor(Composite parent) {
Group group = createGroup( parent, HibernateConsoleMessages.ConsoleConfigurationMainTab_configuration_file );
configurationFileText = createBrowseEditor( parent, group);
confbutton = createSetupButton( group, new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
handleConfigurationFileSetup();
}
});
}
private void createPersistenceUnitEditor(Composite parent) {
Group group = createGroup( parent, HibernateConsoleMessages.ConsoleConfigurationMainTab_persistence_unit );
persistenceUnitNameText = createBrowseEditor( parent, group);
persistenceUnitNameButton = createBrowseButton( group, new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
handlePersistenceUnitBrowse();
}
} );
}
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
String projectName = nonEmptyTrimOrNull( projectNameText );
configuration.setAttribute(IConsoleConfigurationLaunchConstants.CONFIGURATION_FACTORY, getConfigurationMode().toString());
configuration.setAttribute(IConsoleConfigurationLaunchConstants.HIBERNATE_VERSION, getHibernateVersion());
configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, projectName);
if (projectName != null){
configuration.setAttribute(LaunchConfiguration.ATTR_MAPPED_RESOURCE_PATHS,
Collections.singletonList(nonEmptyTrimOrNull( projectName )));
configuration.setAttribute(LaunchConfiguration.ATTR_MAPPED_RESOURCE_TYPES, Collections.singletonList(Integer.toString(IResource.PROJECT)));
} else {
configuration.removeAttribute(LaunchConfiguration.ATTR_MAPPED_RESOURCE_PATHS);
configuration.removeAttribute(LaunchConfiguration.ATTR_MAPPED_RESOURCE_TYPES);
}
configuration.setAttribute(IConsoleConfigurationLaunchConstants.PROPERTY_FILE, nonEmptyTrimOrNull(propertyFileText));
configuration.setAttribute(IConsoleConfigurationLaunchConstants.CFG_XML_FILE, nonEmptyTrimOrNull(configurationFileText));
configuration.setAttribute(IConsoleConfigurationLaunchConstants.PERSISTENCE_UNIT_NAME, nonEmptyTrimOrNull(persistenceUnitNameText));
String cpName = nonEmptyTrimOrNull(connectionProfileCtrl.getSelectedConnectionName());
if (ConnectionProfileCtrl.JPA_CONNECTIN_NAME.equals(cpName)){
configuration.setAttribute(IConsoleConfigurationLaunchConstants.USE_JPA_PROJECT_PROFILE, Boolean.toString(true));
configuration.removeAttribute(IConsoleConfigurationLaunchConstants.CONNECTION_PROFILE_NAME);
} else if (ConnectionProfileCtrl.NO_CONNECTIN_NAME.equals(cpName)) {
configuration.setAttribute(IConsoleConfigurationLaunchConstants.CONNECTION_PROFILE_NAME, (String)null);
configuration.removeAttribute(IConsoleConfigurationLaunchConstants.USE_JPA_PROJECT_PROFILE);
} else {
configuration.setAttribute(IConsoleConfigurationLaunchConstants.CONNECTION_PROFILE_NAME, cpName);
configuration.removeAttribute(IConsoleConfigurationLaunchConstants.USE_JPA_PROJECT_PROFILE);
}
}
public void selectConnectionProfile(String cpName){
if (cpName != null){
connectionProfileCtrl.selectValue(cpName);
}
}
public void initializeFrom(ILaunchConfiguration configuration) {
try {
ConfigurationMode cm = ConfigurationMode.parse(configuration.getAttribute( IConsoleConfigurationLaunchConstants.CONFIGURATION_FACTORY, "" )); //$NON-NLS-1$
coreMode.setSelection( cm.equals( ConfigurationMode.CORE ) );
hibernateVersion.setText(configuration.getAttribute( IConsoleConfigurationLaunchConstants.HIBERNATE_VERSION, "")); //$NON-NLS-1$
annotationsMode.setSelection( cm.equals( ConfigurationMode.ANNOTATIONS ) );
jpaMode.setSelection( cm.equals( ConfigurationMode.JPA ) );
projectNameText.setText( configuration.getAttribute( IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "" ) ); //$NON-NLS-1$
propertyFileText.setText( configuration.getAttribute( IConsoleConfigurationLaunchConstants.PROPERTY_FILE, "" ) ); //$NON-NLS-1$
configurationFileText.setText( configuration.getAttribute( IConsoleConfigurationLaunchConstants.CFG_XML_FILE, "" )); //$NON-NLS-1$
persistenceUnitNameText.setText( configuration.getAttribute( IConsoleConfigurationLaunchConstants.PERSISTENCE_UNIT_NAME, "" )); //$NON-NLS-1$
if (Boolean.parseBoolean(configuration.getAttribute(IConsoleConfigurationLaunchConstants.USE_JPA_PROJECT_PROFILE, Boolean.toString(false)))){
connectionProfileCtrl.selectValue(ConnectionProfileCtrl.JPA_CONNECTIN_NAME);
} else
connectionProfileCtrl.selectValue(configuration.getAttribute(IConsoleConfigurationLaunchConstants.CONNECTION_PROFILE_NAME, ConnectionProfileCtrl.NO_CONNECTIN_NAME));
}
catch (CoreException e) {
HibernateConsolePlugin.getDefault().log( e );
}
}
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {}
private void handlePropertyFileSetup() {
int defaultChoice = 0;
IPath initialPath = getPropertyFilePath() != null ? getPropertyFilePath() : null;
if(initialPath!=null) {
defaultChoice = 1;
}
MessageDialog dialog = createSetupDialog(HibernateConsoleMessages.ConsoleConfigurationMainTab_setup_property_file, HibernateConsoleMessages.ConsoleConfigurationMainTab_do_you_want_to_create_new_property_file, defaultChoice);
int answer = dialog.open();
if(answer==0) { // create new
handlePropertyFileCreate();
} else if (answer==1) { // use existing
handlePropertyFileBrowse();
}
}
private void handlePropertyFileBrowse() {
IPath initialPath = getPropertyFilePath() != null ? getPropertyFilePath() : new Path(getProjectName());
IPath[] paths = org.hibernate.eclipse.console.utils.xpl.DialogSelectionHelper.chooseFileEntries(getShell(), initialPath, new IPath[0], HibernateConsoleMessages.ConsoleConfigurationMainTab_select_propertyfile, HibernateConsoleMessages.ConsoleConfigurationMainTab_choose_file_to_use_as_hibernate_properties, new String[] {HibernateConsoleMessages.ConsoleConfigurationMainTab_properties}, false, false, true);
if(paths!=null && paths.length==1) {
propertyFileText.setText( (paths[0]).toOSString() );
}
}
private void handleProjectBrowse() {
IJavaProject paths = DialogSelectionHelper.chooseJavaProject( getShell(), findJavaProject(), HibernateConsoleMessages.ConsoleConfigurationMainTab_select_java_project, HibernateConsoleMessages.ConsoleConfigurationMainTab_java_project_to_determine_default_classpath );
if(paths!=null) {
projectNameText.setText( paths.getProject().getName() );
} else {
projectNameText.setText(""); //$NON-NLS-1$
}
}
private void handlePersistenceUnitBrowse() {
String persistenceUnit = DialogSelectionHelper.choosePersistenceUnit( getShell(), persistenceUnitNameText.getText(), HibernateConsoleMessages.ConsoleConfigurationMainTab_select_persistence_unit, HibernateConsoleMessages.ConsoleConfigurationMainTab_jpa_selected_persistence_unit, findJavaProject() );
if(persistenceUnit!=null) {
persistenceUnitNameText.setText( persistenceUnit );
} else {
persistenceUnitNameText.setText(""); //$NON-NLS-1$
}
}
private IJavaProject findJavaProject(){
IPath path = pathOrNull(getProjectName());
if (path != null && path.segmentCount() >= 1){
String projectName = path.segment(0);
return ProjectUtils.findJavaProject( projectName );
}
return null;
}
private void handlePropertyFileCreate() {
Wizard wizard = new Wizard(){
String pageName = HibernateConsoleMessages.ConsoleConfigurationMainTab_create_property_file;
WizardNewFileCreationPage cPage = null;
@Override
public void addPages() {
StructuredSelection selection = null;
IJavaProject project = findJavaProject();
if (project != null){
selection = new StructuredSelection(project);
} else {
selection = StructuredSelection.EMPTY;
}
cPage = new WizardNewFileCreationPage(pageName, selection);
cPage.setTitle( HibernateConsoleMessages.ConsoleConfigurationMainTab_create_hibernate_properties_file );
cPage.setDescription( HibernateConsoleMessages.ConsoleConfigurationMainTab_create_new_properties_file );
cPage.setFileName("hibernate.properties"); //$NON-NLS-1$
addPage( cPage );
}
@Override
public boolean performFinish() {
final IFile file = cPage.createNewFile();
propertyFileText.setText( file.getFullPath().toOSString() );
return true;
}};
IWorkbenchWindow win = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
WizardDialog wdialog = new WizardDialog(win.getShell(), wizard);
wdialog.open();
}
private MessageDialog createSetupDialog(String title, String question, int defaultChoice){
return new MessageDialog(getShell(),
title,
null,
question,
MessageDialog.QUESTION,
new String[] { HibernateConsoleMessages.ConsoleConfigurationMainTab_create_new, HibernateConsoleMessages.ConsoleConfigurationMainTab_use_existing, IDialogConstants.CANCEL_LABEL},
defaultChoice);
}
private void handleConfigurationFileSetup() {
int defaultChoice = 0;
if(getConfigurationFilePath()!=null) {
defaultChoice = 1;
}
MessageDialog dialog = createSetupDialog(HibernateConsoleMessages.ConsoleConfigurationMainTab_setup_configuration_file, HibernateConsoleMessages.ConsoleConfigurationMainTab_do_you_want_to_create_new_cfgxml, defaultChoice);
int answer = dialog.open();
if(answer==0) { // create new
handleConfigurationFileCreate();
} else if (answer==1) { // use existing
handleConfigurationFileBrowse();
}
}
private void handleConfigurationFileBrowse() {
IPath initialPath = getConfigurationFilePath() != null ? getConfigurationFilePath() : new Path(getProjectName());
IPath[] paths = DialogSelectionHelper.chooseFileEntries(getShell(), initialPath, new IPath[0], HibernateConsoleMessages.ConsoleConfigurationMainTab_select_hibernate_cfg_xml_file, HibernateConsoleMessages.ConsoleConfigurationMainTab_choose_file_to_use_as_hibernate_cfg_xml, new String[] {HibernateConsoleMessages.ConsoleConfigurationMainTab_cfg_xml}, false, false, true);
if(paths!=null && paths.length==1) {
configurationFileText.setText( (paths[0]).toOSString() );
}
}
private void handleConfigurationFileCreate() {
StructuredSelection selection = null;
IJavaProject project = findJavaProject();
if (project != null){
selection = new StructuredSelection(project);
} else {
selection = StructuredSelection.EMPTY;
}
NewConfigurationWizard wizard = new NewConfigurationWizard();
wizard.init(PlatformUI.getWorkbench(), selection );
IWorkbenchWindow win = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
WizardDialog wdialog = new WizardDialog(win.getShell(), wizard);
wdialog.create();
IWizardPage configPage = wizard.getPage(HibernateConsoleMessages.ConsoleConfigurationMainTab_wizard_page);
if (configPage != null && configPage instanceof NewConfigurationWizardPage){
((NewConfigurationWizardPage)configPage).setCreateConsoleConfigurationVisible(false);
String cpName = nonEmptyTrimOrNull(connectionProfileCtrl.getSelectedConnectionName());
if (cpName != null
&& !ConnectionProfileCtrl.JPA_CONNECTIN_NAME.equals(cpName)
&& !ConnectionProfileCtrl.NO_CONNECTIN_NAME.equals(cpName))
((NewConfigurationWizardPage)configPage).setConnectionProfileName(connectionProfileCtrl.getSelectedConnectionName());
}
// This opens a dialog
if (wdialog.open() == Window.OK){
WizardNewFileCreationPage createdFilePath = ((WizardNewFileCreationPage)wizard.getStartingPage());
if(createdFilePath!=null) {
// createNewFile() does not creates new file if it was created by wizard (OK was pressed)
configurationFileText.setText(createdFilePath.createNewFile().getFullPath().toOSString());
}
}
}
private Path pathOrNull(String p) {
if(p==null || p.trim().length()==0) {
return null;
} else {
return new Path(p);
}
}
public Path getConfigurationFilePath() {
return pathOrNull(configurationFileText.getText() );
}
public Path getPropertyFilePath() {
String p = propertyFileText.getText();
return pathOrNull(p);
}
public boolean isValid(ILaunchConfiguration launchConfig) {
setErrorMessage( null );
setMessage( null );
String propertyFilename = propertyFileText.getText();
String configurationFilename = configurationFileText.getText();
boolean modeJPA = getConfigurationMode().equals(ConfigurationMode.JPA);
configurationFileText.setEnabled(!configurationFileWillBeCreated && !modeJPA );
confbutton.setEnabled(!configurationFileWillBeCreated && !modeJPA);
persistenceUnitNameText.setEnabled(modeJPA);
persistenceUnitNameButton.setEnabled(modeJPA);
String cpName = nonEmptyTrimOrNull(connectionProfileCtrl.getSelectedConnectionName());
if(getProjectName()!=null && StringHelper.isNotEmpty(getProjectName().trim())) {
Path projectPath = new Path(getProjectName());
if (projectPath.segmentCount() > 1){
setErrorMessage(HibernateConsoleMessages.ConsoleConfigurationMainTab_path_for_project_must_have_only_one_segment);
return false;
}
IJavaProject findJavaProject = ProjectUtils.findJavaProject( getProjectName() );
if(findJavaProject==null || !findJavaProject.exists()) {
String out = NLS.bind(HibernateConsoleMessages.ConsoleConfigurationMainTab_the_java_project_does_not_exist, getProjectName());
setErrorMessage(out);
return false;
}
if (ConnectionProfileCtrl.JPA_CONNECTIN_NAME.equals(cpName)){
// if (!JpaFacet.isInstalled(findJavaProject.getProject())) {
/* Replaced previous line by next by Koen after Dali API changes */
if (!HibernateEclipseUtils.isJpaFacetInstalled(findJavaProject.getProject())) {
setErrorMessage(NLS.bind(HibernateConsoleMessages.ConsoleConfigurationMainTab_project_must_be_jpa, getProjectName()));
return false;
}
// String projectCPName = JptJpaCorePlugin.getConnectionProfileName(findJavaProject.getProject());
/* Replaced previous line by next by Koen after Dali API changes */
String projectCPName = HibernateEclipseUtils.getConnectionProfileName(findJavaProject.getProject());
if (StringHelper.isEmpty(projectCPName)){
setErrorMessage(NLS.bind(HibernateConsoleMessages.ConsoleConfigurationMainTab_cp_not_specified, getProjectName()));
return false;
}
}
} else {//check if jpa project connection selected
if (ConnectionProfileCtrl.JPA_CONNECTIN_NAME.equals(cpName)){
setErrorMessage(HibernateConsoleMessages.ConsoleConfigurationMainTab_project_must_be_set);
return false;
}
}
if (ConnectionProfileCtrl.JPA_CONNECTIN_NAME.equals(cpName)){
if (!jpaMode.getSelection()){
String out = NLS.bind(HibernateConsoleMessages.ConsoleConfigurationMainTab_mode_must_be_used, jpaMode.getText());
setErrorMessage(out);
return false;
}
}
/* TODO: warn about implicit behavior of loading /hibernate.cfg.xml, /hibernate.properties and /META-INF/persistence.xml
* if (propertyFilename.length() == 0 && configurationFilename.trim().length() == 0) {
setErrorMessage("Property or Configuration file must be specified");
return;
} */
if (propertyFilename.length() > 0) {
//IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(propertyFilename);
//String msg = checkForFile(HibernateConsoleMessages.ConsoleConfigurationMainTab_property_file_2, resource);
String msg = PathHelper.checkFile(propertyFilename, HibernateConsoleMessages.ConsoleConfigurationMainTab_property_file_2, true);
if(msg!=null) {
setErrorMessage(msg);
return false;
}
}
if (!configurationFileWillBeCreated && configurationFilename.length() > 0) {
//IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(configurationFilename);
//String msg = checkForFile(HibernateConsoleMessages.ConsoleConfigurationMainTab_configuration_file_2,resource);
String msg = PathHelper.checkFile(configurationFilename, HibernateConsoleMessages.ConsoleConfigurationMainTab_configuration_file_2, true);
if(msg!=null) {
setErrorMessage(msg);
return false;
}
}
/* This check is not true! The properties in console configuration is used to override things in cfg.xml/persistence.xml.
* Having a /hibernate.properties is not the same as this!
if ((configurationFilename != null && configurationFilename.trim().length() > 0) &&
(propertyFilename != null && propertyFilename.trim().length() > 0)) {
setMessage(HibernateConsoleMessages.ConsoleConfigurationMainTab_both_hibernate_properties_and_hibernate_cfg_xml);
return true;
}*/
/*if((useProjectClassPath() && StringHelper.isEmpty( getProjectName() )) && classPathViewer.getTable().getItemCount()==0) {
setErrorMessage( "Need to specify a project or setup a classpath" );
return;
}
if((!useProjectClassPath() && classPathViewer.getTable().getItemCount()==0)) {
setErrorMessage( "Need to specify a classpath when not using a project classpath" );
return;
} TODO*/
return true;
}
private ConfigurationMode getConfigurationMode() {
if(annotationsMode.getSelection()) {
return ConfigurationMode.ANNOTATIONS;
} else if(jpaMode.getSelection()) {
return ConfigurationMode.JPA;
} else {
return ConfigurationMode.CORE;
}
}
public String getHibernateVersion(){
return "".equals(hibernateVersion.getText()) ? null : hibernateVersion.getText(); //$NON-NLS-1$
}
String getProjectName() {
return projectNameText.getText();
}
public Image getImage() {
return EclipseImages.getImage(ImageConstants.MINI_HIBERNATE);
}
public void markConfigurationFileWillBeCreated() {
configurationFileWillBeCreated = true;
confbutton.setEnabled(false);
configurationFileText.setEnabled(false);
}
}