diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/DefaultTableGenerationWizardPage.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/DefaultTableGenerationWizardPage.java | 340 |
1 files changed, 0 insertions, 340 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/DefaultTableGenerationWizardPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/DefaultTableGenerationWizardPage.java deleted file mode 100644 index 842b8e78ce..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/DefaultTableGenerationWizardPage.java +++ /dev/null @@ -1,340 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ - -package org.eclipse.jpt.ui.internal.wizards.gen; - -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.core.IJavaElement; -import org.eclipse.jdt.core.IJavaModel; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.IPackageFragment; -import org.eclipse.jdt.core.IPackageFragmentRoot; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.internal.ui.JavaPlugin; -import org.eclipse.jdt.internal.ui.wizards.NewWizardMessages; -import org.eclipse.jdt.internal.ui.wizards.TypedElementSelectionValidator; -import org.eclipse.jdt.internal.ui.wizards.TypedViewerFilter; -import org.eclipse.jdt.ui.JavaElementComparator; -import org.eclipse.jdt.ui.JavaElementLabelProvider; -import org.eclipse.jdt.ui.StandardJavaElementContentProvider; -import org.eclipse.jdt.ui.wizards.NewTypeWizardPage; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.ViewerFilter; -import org.eclipse.jface.window.Window; -import org.eclipse.jpt.core.JpaProject; -import org.eclipse.jpt.gen.internal.ORMGenCustomizer; -import org.eclipse.jpt.gen.internal.ORMGenTable; -import org.eclipse.jpt.ui.JptUiPlugin; -import org.eclipse.jpt.ui.internal.JpaHelpContextIds; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Group; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.dialogs.ElementTreeSelectionDialog; -import org.eclipse.ui.help.IWorkbenchHelpSystem; - -/** - * A wizard page allowing the entry of the default table generation - * properties (Java classes package, base class, etc). - * These properties apply to all tables unless explicitly overridden (in the table generation page). - * - * @author Danny Ju - */ -public class DefaultTableGenerationWizardPage extends NewTypeWizardPage { - - private JpaProject jpaProject; - - /*the instance used to get/set the default properties.*/ - private ORMGenTable defaultsTable; - - private ORMGenCustomizer customizer; - - private TableGenPanel defaultTableGenPanel ; - - protected DefaultTableGenerationWizardPage(JpaProject jpaProject) { - super(true, "DefaultTableGenerationWizardPage"); //$NON-NLS-1$ - this.jpaProject = jpaProject; - setTitle(JptUiEntityGenMessages.GenerateEntitiesWizard_defaultTablePage_title); - setDescription( JptUiEntityGenMessages.GenerateEntitiesWizard_defaultTablePage_desc); - } - - - // -------- Initialization --------- - /** - * The wizard owning this page is responsible for calling this method with the - * current selection. The selection is used to initialize the fields of the wizard - * page. - * - * @param selection used to initialize the fields - */ - void init(IStructuredSelection selection) { - IJavaElement jelem = null; - if ( selection.getFirstElement() instanceof IJavaElement ) { - jelem = (IJavaElement) selection.getFirstElement(); - }else{ - jelem = this.jpaProject.getJavaProject(); - } - if( jelem !=null ){ - initContainerPage(jelem); - initTypePage(jelem); - } - } - - public void createControl(Composite parent) { - initializeDialogUnits(parent); - Composite composite = new Composite(parent, SWT.NULL); - int nColumns= 4 ; - GridLayout layout = new GridLayout(); - layout.numColumns = nColumns; - composite.setLayout(layout); - this.getHelpSystem().setHelp(composite, JpaHelpContextIds.GENERATE_ENTITIES_WIZARD_CUSTOMIZE_DEFAULT_ENTITY_GENERATION); - - //Create entity access, collection type, etc - defaultTableGenPanel = new TableGenPanel(composite, 4, true, this); - - createDomainJavaClassesPropertiesGroup(composite, 4); - setControl(composite); - - - this.setPageComplete( true ); - } - - @Override - public void setVisible(boolean visible) { - super.setVisible(visible); - if (visible) { - ORMGenCustomizer customizer = getCustomizer(); - //If user changed the connection or schema - if ( this.customizer != customizer ) { - this.customizer = customizer; - ORMGenTable newTable; - newTable = getCustomizer().createGenTable(null); - this.defaultsTable = newTable; - defaultTableGenPanel.setORMGenTable(newTable); - - //set the super class and implemented interfaces value - String baseClass = defaultsTable.getExtends() == null ?"" : defaultsTable.getExtends(); - setSuperClass(baseClass, true); - setSuperInterfaces(defaultsTable.getImplements(), true); - IPackageFragmentRoot root = getSourceFolder( defaultsTable.getSourceFolder()); - String initPackageName = this.getPackageText(); - if( initPackageName.length()==0 ){ - setPackageName( root, defaultsTable.getPackage() ); - } - setPackageFragmentRoot(root, true/*canBeModified*/); - } - } - } - - private IPackageFragmentRoot getSourceFolder(String srcFodler){ - IPackageFragmentRoot packageFragmentRoot=null; - // Copied from org.eclipse.pde.internal.ui.editor.plugin.JavaAttributeWizardPage - try { - IJavaProject javaProject = jpaProject.getJavaProject(); - - IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); - for (int i = 0; i < roots.length; i++) { - if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { - //Save the default source root - if(i==0) packageFragmentRoot = roots[i]; - //find alternative source root match the saved value - if( roots[i].getPath().toString().equals("/"+srcFodler)){ - packageFragmentRoot=roots[i]; - break; - } - } - } - } catch (CoreException e) { - JptUiPlugin.log(e); - } - return packageFragmentRoot; - } - - private void setPackageName(IPackageFragmentRoot packageFragmentRoot, String packageName) { - if( packageName == null || packageName.length() == 0 || packageFragmentRoot==null) { - return; - } - //IJavaProject javaProject = jpaProject.getJavaProject(); - IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(packageName); - setPackageFragment(packageFragment, true/*canBeModified*/); - } - - - protected void createDomainJavaClassesPropertiesGroup(Composite composite, int columns) { - Group parent = new Group( composite, SWT.NONE); - parent.setText( JptUiEntityGenMessages.GenerateEntitiesWizard_defaultTablePage_domainJavaClass); - parent.setLayout(new GridLayout( columns, false)); - GridData layoutData = new GridData(); - layoutData.horizontalSpan = columns; - layoutData.verticalAlignment = SWT.FILL; - layoutData.horizontalAlignment = SWT.FILL; - layoutData.grabExcessHorizontalSpace = true; - layoutData.grabExcessVerticalSpace = true; - parent.setLayoutData(layoutData); - - //default Java package name only available for default table generation - createPackageControls(parent, columns); - createContainerControls(parent, columns); - createSuperClassControls(parent, columns); - createSuperInterfacesControls(parent, columns); - } - - @Override - protected IStatus packageChanged() { - IStatus status = super.packageChanged(); - IPackageFragment packageFragment = getPackageFragment(); - //String srcFolder = packageFragment.getPath().toPortableString(); - if (defaultsTable != null && !status.matches(IStatus.ERROR)) { - defaultsTable.setPackage(packageFragment.getElementName()); - } - return status; - } - - @Override - protected IStatus superClassChanged() { - IStatus status = super.superClassChanged(); - String baseClass = getSuperClass(); - if (baseClass != null && defaultsTable != null && !status.matches(IStatus.ERROR)) { - String oldBaseClass = defaultsTable.getExtends(); - if ( !baseClass.equals(oldBaseClass)) { - defaultsTable.setExtends(baseClass); - } - } - return status; - } - @Override - protected IStatus containerChanged() { - IStatus status = super.containerChanged(); - String srcFolder = getPackageFragmentRootText(); - if( !status.matches(IStatus.ERROR) ){ - if (defaultsTable != null ) { - defaultsTable.setSourceFolder( srcFolder ); - } - } - return status; - } - - /** Override to allow select source folder in current project only - * @see org.eclipse.jdt.ui.wizards.NewContainerWizardPage#chooseContainer() - */ - @Override - protected IPackageFragmentRoot chooseContainer() { - IJavaElement initElement= getPackageFragmentRoot(); - Class[] acceptedClasses= new Class[] { IPackageFragmentRoot.class, IJavaProject.class }; - TypedElementSelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, false) { - public boolean isSelectedValid(Object element) { - try { - if (element instanceof IJavaProject) { - IJavaProject jproject= (IJavaProject)element; - IPath path= jproject.getProject().getFullPath(); - return (jproject.findPackageFragmentRoot(path) != null); - } else if (element instanceof IPackageFragmentRoot) { - return (((IPackageFragmentRoot)element).getKind() == IPackageFragmentRoot.K_SOURCE); - } - return true; - } catch (JavaModelException e) { - JavaPlugin.log(e.getStatus()); // just log, no UI in validation - } - return false; - } - }; - - acceptedClasses= new Class[] { IJavaModel.class, IPackageFragmentRoot.class, IJavaProject.class }; - ViewerFilter filter= new TypedViewerFilter(acceptedClasses) { - public boolean select(Viewer viewer, Object parent, Object element) { - if (element instanceof IPackageFragmentRoot) { - try { - return (((IPackageFragmentRoot)element).getKind() == IPackageFragmentRoot.K_SOURCE); - } catch (JavaModelException e) { - JavaPlugin.log(e.getStatus()); // just log, no UI in validation - return false; - } - } - return super.select(viewer, parent, element); - } - }; - - StandardJavaElementContentProvider provider= new StandardJavaElementContentProvider(); - ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT); - ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), labelProvider, provider); - dialog.setValidator(validator); - dialog.setComparator(new JavaElementComparator()); - dialog.setTitle(NewWizardMessages.NewContainerWizardPage_ChooseSourceContainerDialog_title); - dialog.setMessage(NewWizardMessages.NewContainerWizardPage_ChooseSourceContainerDialog_description); - dialog.addFilter(filter); - dialog.setInput(JavaCore.create( jpaProject.getProject())); - dialog.setInitialSelection(initElement); - dialog.setHelpAvailable(false); - - if (dialog.open() == Window.OK) { - Object element= dialog.getFirstResult(); - if (element instanceof IJavaProject) { - IJavaProject jproject= (IJavaProject)element; - return jproject.getPackageFragmentRoot(jproject.getProject()); - } else if (element instanceof IPackageFragmentRoot) { - return (IPackageFragmentRoot)element; - } - return null; - } - return null; - } - - @Override - protected void handleFieldChanged(String fieldName) { - super.handleFieldChanged(fieldName); - if (this.fContainerStatus.matches(IStatus.ERROR)) { - updateStatus(fContainerStatus); - }else if( ! this.fPackageStatus.matches(IStatus.OK) ) { - updateStatus(fPackageStatus); - } else if (this.fSuperClassStatus.matches(IStatus.ERROR)) { - updateStatus(fSuperClassStatus); - } else { - updateStatus(Status.OK_STATUS); - } - } - - @Override - @SuppressWarnings("unchecked") - protected IStatus superInterfacesChanged() { - IStatus ret = super.superInterfacesChanged(); - if ( ret.isOK() ) { - List interfaces = getSuperInterfaces(); - if(defaultsTable!=null) - defaultsTable.setImplements(interfaces); - } - return ret; - } - - private ORMGenCustomizer getCustomizer() { - GenerateEntitiesFromSchemaWizard wizard = (GenerateEntitiesFromSchemaWizard) this.getWizard(); - return wizard.getCustomizer(); - } - - @Override - public final void performHelp() { - this.getHelpSystem().displayHelp( GenerateEntitiesFromSchemaWizard.HELP_CONTEXT_ID ); - } - - protected final IWorkbenchHelpSystem getHelpSystem() { - return PlatformUI.getWorkbench().getHelpSystem(); - } -} - |